瀏覽代碼

凯和修改

lazhaoqian 3 年之前
父節點
當前提交
94c76083c2

+ 26 - 6
ruoyi-warehouse/src/main/java/com/ruoyi/finance/service/impl/TFeeServiceImpl.java

@@ -847,6 +847,21 @@ public class TFeeServiceImpl implements ITFeeService {
         }
         //凯和收费提交审核时去掉钱
         if (actId >= 430 && actId <= 450){
+            //判断明细客户是否为同一个
+            List<TFeeDo> list = tFeeDoMapper.selectTFeeDoByfPid(tFee.getfId());
+            if (CollectionUtils.isNotEmpty(list)){
+                List<Long> collect = list.stream().filter(e -> e.getfSrcid() != null).map(TFeeDo::getfSrcid).collect(toList());
+                if (CollectionUtils.isNotEmpty(collect)){
+                    List<Long> corpid = tWarehousebillsfeesMapper.getCorpid(collect);
+                    if (CollectionUtils.isNotEmpty(corpid)){
+                        List<Long> longs = corpid.stream().distinct().collect(toList());
+                        if (CollectionUtils.isNotEmpty(longs) && longs.size() >1){
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return AjaxResult.error("费用明细的客户非同一个客户");
+                        }
+                    }
+                }
+            }
             AjaxResult ajaxResult = this.billsfeesFollow(tFee.getfId());
             String code = ajaxResult.get("code").toString();
             if ("500".equals(code)) {
@@ -1833,43 +1848,48 @@ public class TFeeServiceImpl implements ITFeeService {
         Map<String, Object> map = new HashMap<>();
         boolean flag = true;
         TWarehousebillsfees warehousebillsfees = tWarehousebillsfeesMapper.selectTWarehousebillsfeesById(fid);
+        TWarehouseBills bills = tWarehouseBillsMapper.selectTWarehousebillsById(warehousebillsfees.getfPid());
         TFees tFees = tFeesMapper.selectTFeesById(feeId);
         BigDecimal amount = warehousebillsfees.getfAmount();//金额
         BigDecimal accamount = warehousebillsfees.getfAccamount();//对账金额
         BigDecimal stlamount = warehousebillsfees.getfStlamount();//结算金额
         BigDecimal invamount = warehousebillsfees.getfInvamount();//开票金额a
         BigDecimal askamount = warehousebillsfees.getfAskamount();//申请金额
-        if (warehousebillsfees == null) {
+        if (bills == null){
+            flag = false;
+            map.put("message", "费用明细数据有误,请找管理员");
+        }else if (warehousebillsfees == null) {
+            flag = false;
             map.put("message", "费用明细数据有误,请找管理员");
         } else if ("DZ".equals(type) || "KHDZ".equals(type)) {
             BigDecimal subtract = amount.subtract(accamount);
             if (subtract.compareTo(money) < 0) {
                 flag = false;
-                map.put("message", tFees.getfName() + "对账金额超过可对账金额,当前可对账金额为" + subtract + "元");
+                map.put("message", "提单号"+bills.getfMblno()+"的"+tFees.getfName() + "对账金额超过可对账金额,当前可对账金额为" + subtract + "元");
             }
         } else if ("SF".equals(type) || "KHSF".equals(type)) {
             BigDecimal subtract = amount.subtract(stlamount);
             if (subtract.compareTo(money) < 0) {
                 flag = false;
-                map.put("message", tFees.getfName() + "收费金额超过可收费金额,当前可对账金额为" + subtract + "元");
+                map.put("message", "提单号"+bills.getfMblno()+"的"+tFees.getfName() + "收费金额超过可收费金额,当前可对账金额为" + subtract + "元");
             }
         } else if ("FF".equals(type) || "KHFF".equals(type)) {
             BigDecimal subtract = amount.subtract(stlamount);
             if (subtract.compareTo(money) < 0) {
                 flag = false;
-                map.put("message", tFees.getfName() + "付费金额超过可付费金额,当前可对账金额为" + subtract + "元");
+                map.put("message", "提单号"+bills.getfMblno()+"的"+tFees.getfName() + "付费金额超过可付费金额,当前可对账金额为" + subtract + "元");
             }
         } else if ("ApplyFP".equals(type)) {
             BigDecimal subtract = amount.subtract(askamount);
             if (subtract.compareTo(money) < 0) {
                 flag = false;
-                map.put("message", tFees.getfName() + "开票金额超过可开票金额,当前可对账金额为" + subtract + "元");
+                map.put("message", "提单号"+bills.getfMblno()+"的"+tFees.getfName() + "开票金额超过可开票金额,当前可对账金额为" + subtract + "元");
             }
         } else if ("invoiceFP".equals(type)) {
             BigDecimal subtract = amount.subtract(invamount);
             if (subtract.compareTo(money) < 0) {
                 flag = false;
-                map.put("message", tFees.getfName() + "开票金额超过可开票金额,当前可对账金额为" + subtract + "元");
+                map.put("message", "提单号"+bills.getfMblno()+"的"+tFees.getfName() + "开票金额超过可开票金额,当前可对账金额为" + subtract + "元");
             }
         }
         map.put("flag", flag);

+ 2 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehousebillsfeesMapper.java

@@ -179,4 +179,6 @@ public interface TWarehousebillsfeesMapper extends BaseMapper<TWarehousebillsfee
     List<Map<String, Object>> selectBillDetailsSubItemNew(TWarehousebillsfees tWarehousebillsfees);
 
     List<Map<String, Object>> selectFeesBymblnoAndFname(@Param("fMblno") String fMblno,@Param("fCorpid") Long fCorpid,@Param("fDc") String fDc);
+
+    List<Long> getCorpid(@Param("fIds") List<Long> fIds);
 }

+ 37 - 7
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -7467,6 +7467,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     tWarehousebillsfees.setSrcBillNo(warehouseBills.getfBillno());
                     tWarehousebillsfees.setfQty(new BigDecimal(number));
                     tWarehousebillsfees.setfAmount(new BigDecimal(number).multiply(tWarehousebillsfees.getfUnitprice()));
+                    tWarehousebillsfees.setUpdateBy(null);
+                    tWarehousebillsfees.setUpdateTime(null);
+                    tWarehousebillsfees.setfReviewDate(null);
+                    tWarehousebillsfees.setfBillstatus(2L);
+                    tWarehousebillsfees.setfStatementNo(null);
+                    tWarehousebillsfees.setfAccamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfAccamountDate(null);
+                    tWarehousebillsfees.setfStlamountNo(null);
+                    tWarehousebillsfees.setfStlamountDate(null);
+                    tWarehousebillsfees.setfStlamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfInvnos(null);
+                    tWarehousebillsfees.setfInvamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfAskamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfMblno(warehouseBills.getfMblno());
                     tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees);
                 }
                 //应收费用
@@ -7533,6 +7547,21 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     tWarehousebillsfees.setSrcBillNo(warehouseBills.getfBillno());
                     tWarehousebillsfees.setfQty(new BigDecimal(number));
                     tWarehousebillsfees.setfAmount(new BigDecimal(number).multiply(tWarehousebillsfees.getfUnitprice()));
+
+                    tWarehousebillsfees.setUpdateBy(null);
+                    tWarehousebillsfees.setUpdateTime(null);
+                    tWarehousebillsfees.setfReviewDate(null);
+                    tWarehousebillsfees.setfBillstatus(null);
+                    tWarehousebillsfees.setfStatementNo(null);
+                    tWarehousebillsfees.setfAccamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfAccamountDate(null);
+                    tWarehousebillsfees.setfStlamountNo(null);
+                    tWarehousebillsfees.setfStlamountDate(null);
+                    tWarehousebillsfees.setfStlamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfInvnos(null);
+                    tWarehousebillsfees.setfInvamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfAskamount(BigDecimal.ZERO);
+                    tWarehousebillsfees.setfMblno(warehouseBills.getfMblno());
                     tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees);
                 }
             }
@@ -7649,11 +7678,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         if (CollectionUtils.isNotEmpty(WarehousebillsfeesList)) {
             //修改原单费用
             for (TWarehousebillsfees tWarehousebillsfees : WarehousebillsfeesList) {
-                tWarehousebillsfees.setUpdateBy(SecurityUtils.getUsername());
-                tWarehousebillsfees.setUpdateTime(new Date());
-                tWarehousebillsfees.setfQty(tWarehousebillsfees.getfQty().subtract(new BigDecimal(wareHouseBillsCnTr.getfCntrcount())));
-                tWarehousebillsfees.setfAmount(tWarehousebillsfees.getfQty().multiply(tWarehousebillsfees.getfUnitprice()));
-                tWarehousebillsfeesMapper.updateTWarehousebillsfees(tWarehousebillsfees);
+               if (tWarehousebillsfees.getfBillstatus().longValue() <=2L){
+                   tWarehousebillsfees.setUpdateBy(SecurityUtils.getUsername());
+                   tWarehousebillsfees.setUpdateTime(new Date());
+                   tWarehousebillsfees.setfQty(tWarehousebillsfees.getfQty().subtract(new BigDecimal(wareHouseBillsCnTr.getfCntrcount())));
+                   tWarehousebillsfees.setfAmount(tWarehousebillsfees.getfQty().multiply(tWarehousebillsfees.getfUnitprice()));
+                   tWarehousebillsfeesMapper.updateTWarehousebillsfees(tWarehousebillsfees);
+               }
             }
             //应收费用
             List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(selectOne.getfId(), "D");
@@ -8779,7 +8810,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             bills.setfDismountStatus(null);
             bills.setfDue(BigDecimal.ZERO);
             bills.setfPay(BigDecimal.ZERO);
-            bills.setfCaregoStatus(null);
             bills.setfShipTwo(null);
             bills.setfVoyTwo(null);
             tWarehouseBillsMapper.insertTWarehousebills(bills);
@@ -8908,7 +8938,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             bills.setfDismountStatus(null);
             bills.setfDue(BigDecimal.ZERO);
             bills.setfPay(BigDecimal.ZERO);
-            bills.setfCaregoStatus(null);
             bills.setfShipTwo(null);
             bills.setfVoyTwo(null);
             tWarehouseBillsMapper.insertTWarehousebills(bills);
@@ -8965,6 +8994,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     tCntrtracking.setfId(null);
                     tCntrtracking.setfVoy(voyage.getfNo());//航次
                     tCntrtracking.setfVsl(tVessel.getfName());//船名
+                    tCntrtracking.setfMblno(bills.getfMblno());
                     tCntrtrackingMapper.insertTCntrtracking(tCntrtracking);
                 }
             }

+ 1 - 1
ruoyi-warehouse/src/main/resources/mapper/finance/TFeeDoMapper.xml

@@ -296,7 +296,7 @@ FROM
 	LEFT JOIN t_address tre ON tre.f_id = th.f_loadportid
 	LEFT JOIN t_address ts ON ts.f_id = th.f_destportid
 	LEFT JOIN t_fee te ON te.f_id = tf.f_pid
-	LEFT JOIN t_corps AS c ON te.f_corpid = c.f_id
+	LEFT JOIN t_corps AS c ON tw.f_corpid = c.f_id
 	LEFT JOIN t_warehousebills_cntr ti ON ti.f_pid = th.f_id
 	LEFT JOIN t_cntr tn ON tn.f_id = ti.f_cntrid
 	LEFT JOIN t_goods tg ON ti.f_goodsid = tg.f_id

+ 2 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -479,6 +479,8 @@
             <if test="createBy != null and createBy != ''">and bill.create_by = #{createBy}</if>
             <if test="fNewTrademodeid != null ">and bill.f_new_trademodeid = #{fNewTrademodeid}</if>
             <if test="warehouseStatus != null and warehouseStatus != ''">and bill.warehouse_status = #{warehouseStatus}</if>
+            <if test="fVslid != null ">and bill.f_vslid = #{fVslid}</if>
+            <if test="fVoyid != null ">and bill.f_voyid = #{fVoyid}</if>
         </where>
         ${params.dataScope}
         ORDER BY bill.f_bsdate DESC, bill.f_bstime DESC,bill.f_id DESC,bill.f_billstatus

+ 6 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsfeesMapper.xml

@@ -1110,4 +1110,10 @@
         GROUP BY
             feeName
     </select>
+    <select id="getCorpid" resultType="long">
+        SELECT f_corpid FROM  t_warehousebillsfees where f_id in
+        <foreach item="fId" collection="fIds" open="(" separator="," close=")">
+            #{fId}
+        </foreach>
+    </select>
 </mapper>