Procházet zdrojové kódy

凯和扣货功能修改

lazhaoqian před 3 roky
rodič
revize
4796679609

+ 1 - 1
ruoyi-shipping/src/main/resources/mapper/shipping/TVoyageMapper.xml

@@ -475,7 +475,7 @@
         <if test="fTel != null  and fTel != ''">and f_tel = #{fTel}</if>
         <if test="fStatus != null  and fStatus != ''">and f_status = #{fStatus}</if>
         <if test="fLaneid != null ">and f_laneid = #{fLaneid}</if>
-        ORDER BY  CONVERT(f_no USING gbk) DESC
+        ORDER BY  f_ETD DESC, CONVERT(f_no USING gbk) DESC
     </select>
     <!--查询航次信息是否重复-->
     <select id="selectTVoyageMessage" parameterType="Long" resultMap="TVoyageResult">

+ 4 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/service/impl/TFeeServiceImpl.java

@@ -831,6 +831,10 @@ public class TFeeServiceImpl implements ITFeeService {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return AjaxResult.error("发票申请提交审核失败,请找管理员");
             }
+            //凯和系统 修改订单的实收实付费用
+            if ("KHSF".equals(fBilltype) || "KHFF".equals(fBilltype)){
+                this.updateMessage(tFee.getfId());
+            }
         }
         return AjaxResult.success("成功", messageMap);
     }

+ 40 - 9
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -1128,12 +1128,28 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 //                Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
             if ("500".equals(code)) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return approvalFlow;
             }
-            return approvalFlow;
         }
+        //获取订舱单位
+        TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid());
+        //应收费用
+        List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
+        //应付费用
+        List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C");
+        warehouseBills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+        warehouseBills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+        if (tCorps.getfCname().equals("青岛凯和志诚物流有限公司")){
+            warehouseBills.setfCaregoStatus("2");
+        }else if (CollectionUtils.isNotEmpty(fd) && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0){
+            warehouseBills.setfCaregoStatus("1");
+        }else{
+            warehouseBills.setfCaregoStatus("0");
+        }
+        tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
         map.put("warehouseBills", warehouseBills);
         map.put("tWarehousebillsCntrs", tWarehousebillsCntrs);
-        return AjaxResult.success("msg", map);
+        return AjaxResult.success("下单成功", map);
     }
 
     /**
@@ -2947,13 +2963,24 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
             map.put("tWarehousebillsCntrList", tWarehousebillsCntrList);
         }
+        //获取订舱单位
+        TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid());
         //应收费用
         List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
         //应付费用
         List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C");
-        warehouseBills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-        warehouseBills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-        tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
+        //查询订单最新信息
+        TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
+        warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+        warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+        if (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3")){
+            warehousebills.setfCaregoStatus("2");
+        }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){
+            warehousebills.setfCaregoStatus("1");
+        }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) == 0){
+            warehousebills.setfCaregoStatus("2");
+        }
+        tWarehouseBillsMapper.updateTWarehousebills(warehousebills);
         return AjaxResult.success("success", map);
     }
 
@@ -8225,9 +8252,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 bills.setfId(item);
                 bills.setfCaregoStatus(tWarehouseBills.getfCaregoStatus());
                 //2 取消扣货 3 扣货
+                //获取订舱单位
+                TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid());
                 if (tWarehouseBills.getfCaregoStatus().equals("2") && warehouseBills.getfCaregoStatus().equals("3")){
                    tWarehouseBillsMapper.updateTWarehousebills(bills);
-                }else if (tWarehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfCaregoStatus().equals("2")){
+                }else if (tWarehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfCaregoStatus().equals("2") && !tCorps.getfCname().equals("青岛凯和志诚物流有限公司")){
+                    tWarehouseBillsMapper.updateTWarehousebills(bills);
+                }else if (tWarehouseBills.getfCaregoStatus().equals("3") && tCorps.getfCname().equals("青岛凯和志诚物流有限公司")){
                     tWarehouseBillsMapper.updateTWarehousebills(bills);
                 }else {
                     stringList.add(warehouseBills.getfMblno());
@@ -8264,11 +8295,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 //如果订舱单位是凯和 应收尾0 也是放货状态
                 //1:  未放货   应收>0  应收>实收
                 //2:放货      应收>0  应收=实收
-                if (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) == 0 ){
+                if (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehouseBills.getfCaregoStatus().equals("3") ){
                     tWarehouseBills.setfCaregoStatus("2");
-                }else if (warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) > 0){
+                }else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) > 0){
                     tWarehouseBills.setfCaregoStatus("1");
-                }else if (warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) == 0){
+                }else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) == 0){
                     tWarehouseBills.setfCaregoStatus("2");
                 }
                 tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);

+ 7 - 8
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -1981,10 +1981,9 @@
         tw.f_due AS fDue,
         tw.f_pay AS fPay,
         CASE
-        WHEN tp.f_name = '青岛凯和志诚物流有限公司' AND tw.f_receivable = '0' AND tw.f_carego_status != '3' THEN '放货'
-        WHEN tw.f_receivable = '0' THEN '录入'
-        WHEN tw.f_receivable > '0' AND tw.f_receivable > tw.f_recycle  THEN '未放货'
-        WHEN tw.f_receivable > '0' AND tw.f_receivable = tw.f_recycle AND tw.f_carego_status != '3' THEN '放货'
+        WHEN tw.f_carego_status = '0' THEN '录入'
+        WHEN tw.f_carego_status = '1' THEN '未放货'
+        WHEN tw.f_carego_status = '2' THEN '放货'
         WHEN tw.f_carego_status = '3' THEN '扣货'
         END AS fCaregoStatus
         FROM
@@ -2025,6 +2024,7 @@
             tw.f_typeid = '1'
             and tw.del_flag = '0'
             <if test="fId != null">and tw.f_id = #{fId}</if>
+            <if test="fCaregoStatus != null and fCaregoStatus != ''">and tw.f_carego_status = #{fCaregoStatus}</if>
             <if test="fCntrno != null and fCntrno != ''">and items.f_cntrno like concat('%', #{fCntrno}, '%')</if>
             <if test="fBillno != null  and fBillno != ''">and tw.f_billno like concat('%',#{fBillno}, '%')</if>
             <if test="fCustomsdeclartion != null  and fCustomsdeclartion != ''">and tw.f_customsdeclartion =
@@ -2543,10 +2543,9 @@
                tw.f_due,
                tw.f_pay,
                CASE
-               WHEN tc.f_name = '青岛凯和志诚物流有限公司' AND tw.f_receivable = '0' AND tw.f_carego_status != '3' THEN '放货'
-               WHEN tw.f_receivable = '0' THEN '录入'
-               WHEN tw.f_receivable > '0' AND tw.f_receivable > tw.f_recycle  THEN '未放货'
-               WHEN tw.f_receivable > '0' AND tw.f_receivable = tw.f_recycle AND tw.f_carego_status != '3' THEN '放货'
+               WHEN tw.f_carego_status = '0' THEN '录入'
+               WHEN tw.f_carego_status = '1' THEN '未放货'
+               WHEN tw.f_carego_status = '2' THEN '放货'
                WHEN tw.f_carego_status = '3' THEN '扣货'
                END AS fCaregoStatus
         FROM t_warehousebills tw