Browse Source

选择应收点击开票后,直接提示开票成功,应该填写开票号、开票时间、开票金额、开票方和税点再开票

lipf 4 tháng trước cách đây
mục cha
commit
f38ec8fb66

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/InsPlyIncomeInvoiceVO.java

@@ -27,4 +27,10 @@ public class InsPlyIncomeInvoiceVO extends InsPlyIncomeInvoice {
      */
     private List<String> incomeIds;
 
+    /**
+     * 发票对应的应收订单的序号
+     * @date 2026/5/26 11:35
+     */
+    private List<String> orderNos;
+
 }

+ 29 - 29
tenant/insurance/quotation-summary/src/main/resources/mapper/InsFeeAuditMapper.xml

@@ -27,20 +27,21 @@
     </sql>
     <select id="queryPage" resultType="com.jzg.commons.entity.orders.vo.FeeAuditVo">
         SELECT
-            ifa.order_no as orderNo,
-            io.company_id,
-            io.company_name as companyName,
-            ioci.license_no AS licenseNo,
-            iocui.name as insurName,
-            CASE io.entry_status
-            WHEN 1 THEN '车险出单'
-            WHEN 2 THEN '代客录单'
-            WHEN 3 THEN '补录订单'
-            ELSE ''
-            END AS order_type,
-            suji.name as name,
-            su.mobile as mobile,
-            CASE suji.type_attr
+                qsu.username ,    -- 业务员登录账号
+        ifa.order_no as orderNo,
+        io.company_id,
+        io.company_name as companyName,
+        ioci.license_no AS licenseNo,
+        iocui.name as insurName,
+        CASE io.entry_status
+        WHEN 1 THEN '车险出单'
+        WHEN 2 THEN '代客录单'
+        WHEN 3 THEN '补录订单'
+        ELSE ''
+        END AS order_type,
+        suji.name as name,
+        qsu.mobile as mobile,
+        CASE suji.type_attr
                 WHEN 1 THEN '前线人员'
                 WHEN 2 THEN '后线人员'
                 WHEN 3 THEN '合伙人'
@@ -65,19 +66,18 @@
                 WHEN 1 THEN '是'
                 ELSE ''
                 END AS isProblem,
-            io.order_source
-        FROM ins_fee_audit ifa
-        LEFT JOIN ins_orders as io on ifa.order_no = io.id
-        LEFT JOIN ins_orders_car_info as ioci on io.id = ioci.order_no
-        LEFT JOIN ins_orders_car_user_info as iocui on io.id = iocui.order_no and iocui.policy_person_type = 3
-        LEFT JOIN sys_user qsu on qsu.mobile = io.real_quote_user_id
-        LEFT JOIN sys_user_jzg_info suji ON suji.user_id = qsu.id and suji.system_code = #{param.systemCode}
-        LEFT JOIN sys_user su on su.id = io.real_quote_user_id
-        LEFT JOIN sys_dept sd on suji.dept_id = sd.id
-        LEFT JOIN ptl_agreement pa on io.agreement_id = pa.id
-        LEFT JOIN sys_user sua on sua.id = pa.custodian_id
-        LEFT JOIN ins_orders_costs ioc on ioc.order_no = io.id
-        LEFT JOIN ins_orders_external_policy ioep on ioep.order_no = io.id
+                io.order_source
+                FROM ins_fee_audit ifa
+                LEFT JOIN ins_orders as io on ifa.order_no = io.id
+                LEFT JOIN ins_orders_car_info as ioci on io.id = ioci.order_no
+                LEFT JOIN ins_orders_car_user_info as iocui on io.id = iocui.order_no and iocui.policy_person_type = 3
+                LEFT JOIN sys_user qsu on qsu.mobile = io.real_quote_user_id
+                LEFT JOIN sys_user_jzg_info suji ON suji.user_id = qsu.id and suji.system_code = #{param.systemCode}
+                LEFT JOIN sys_dept sd on suji.dept_id = sd.id
+                LEFT JOIN ptl_agreement pa on io.agreement_id = pa.id
+                LEFT JOIN sys_user sua on sua.id = pa.custodian_id
+                LEFT JOIN ins_orders_costs ioc on ioc.order_no = io.id
+                LEFT JOIN ins_orders_external_policy ioep on ioep.order_no = io.id
         <where>
             <choose>
                 <when test="param.receiveUser != null and param.receiveUser != ''">
@@ -106,7 +106,7 @@
                 and suji.type_attr = #{param.attrType}
             </if>
             <if test="param.salesman != null and param.salesman != ''">
-                and (su.username = #{param.salesman} or su.mobile = #{param.salesman})
+                and (qsu.username = #{param.salesman} or qsu.mobile = #{param.salesman})
             </if>
             <if test="param.orderStatus != null ">
                 and io.order_status = #{param.orderStatus}
@@ -192,7 +192,7 @@
                 END AS attrType,
                io.signing_time as signingTime,
                io.create_time as quotationTime, sua.username as dockingPerson,
-               pa.agreement_abbreviation as agreementName,io.product_name as productName,
+               pa.agreement_abbreviation as agreementName,io.product_id, io.product_name as productName,
                ioc.jq_premium as jqPremium, ioc.sy_premium as syPremium, ioc.jy_premium as jyPremium,
                ioc.sum_premium as sumPremium,sd.name as deptName,ifa.create_time as createTime,
                ifa.create_by as createBy,io.pay_time as payTime, ifa.audit_time as auditTime,

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -149,7 +149,7 @@ public class ReceivableController {
     public HttpResult<InvoiceingResult> commissionInvoicing(@RequestBody InsPlyIncomeInvoiceVO invoicingVo){
         InvoiceingResult result = receivableService.addInvoicing(invoicingVo);
         if (Objects.nonNull(result)){
-            return HttpResult.ok("开票成功",result);
+            return HttpResult.ok("开票成功,发票号是" + result.getInvoiceId() ,result);
         }
         return HttpResult.error("开票失败");
     }

+ 3 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -495,6 +495,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             invoice.setErrMsg("订单已开票。发票序号是"+ invoiceIds.toString());
             return invoice;
         }
+        invoice.setCanInvoice(true);
         BigDecimal receivableAmount = this.getReceivableAmount(invoicingVo);
         log.info("根据订单号[{}]计算得到的应收金额是[{}]",JSONUtil.toJsonStr(invoicingVo),receivableAmount);
         invoice.setReceivableSupervisePremium(receivableAmount);
@@ -746,6 +747,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         if (Objects.nonNull(result)){
             SettlementVo settlementVo1 = new SettlementVo();
             BeanUtils.copyProperties(settlementVo, settlementVo1);
+            settlementVo1.setInvoicingId(result.getInvoiceId());
             boolean settlement = this.settlement(settlementVo1);
             if(settlement){
                 return HttpResult.ok("开票并结算成功");
@@ -783,6 +785,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             insPlyIncomeInvoiceSettlementMapper.insert(settlement);
 
             if (CollectionUtils.isNotEmpty(settlementVo.getAttachmentIds())) {
+                log.info("结算的凭证是:settlementVo.getAttachmentIds()=[{}]", JSONUtil.toJsonStr(settlementVo.getAttachmentIds()));
                 // 添加发票附件
                 List<InsPlyIncomeInvoiceSettlementFile> files = new ArrayList<>();
                 for (String fileId : settlementVo.getAttachmentIds()) {