Преглед изворни кода

解决禅道生成运单号、撤销数据不显示等问题

阿伏兔 пре 4 година
родитељ
комит
531e611de1

+ 3 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillsplansServiceImpl.java

@@ -284,6 +284,7 @@ public class FtmsorderbillsplansServiceImpl implements IftmsorderbillsplansServi
         Ftmsorderbillscntrs ftmsorderbillscntrs = ftmsorderbillscntrsMapper.selectftmsorderbillscntrsById(tmsorderbillsplans.getPId());
         long qty = ftmsorderbillscntrs.getCntrPlanQty() + tmsorderbillsplans.getCntrQty();
         if (ftmsorderbillscntrs.getCntrBlcQty() < tmsorderbillsplans.getCntrQty()) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return AjaxResult.error("调度数量超出计划箱量不可提交");
         }
         ftmsorderbillscntrs.setCntrPlanQty(qty);
@@ -603,6 +604,8 @@ public class FtmsorderbillsplansServiceImpl implements IftmsorderbillsplansServi
     public AjaxResult insertftmsorderbills(String tmsorder, String attachs, String fees, String plans, LoginUser loginUser) {
         Ftmsorderbills tmsorderbills = JSONArray.parseObject(tmsorder, Ftmsorderbills.class);
         Ftmsorderbills ftmsorderbills = ftmsorderbillsMapper.selectftmsorderbillsById(tmsorderbills.getId());
+        ftmsorderbills.setTransUserId(loginUser.getUser().getUserId());
+        ftmsorderbills.setTransUserName(loginUser.getUser().getNickName());
         ftmsorderbills.setBillStatus(60L);
         ftmsorderbills.setUpdateTime(new Date());
         ftmsorderbills.setUpdateBy(loginUser.getUsername());

+ 2 - 0
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillscarsMapper.xml

@@ -515,6 +515,8 @@
             AND dic.dict_type = 'data_cntrId'
             LEFT JOIN fleet_driver_msg driver ON driver.id = c.driver_user_id
         <where>
+            t.bill_status != 3 or t.bill_status != 30
+            AND c.bill_status != 3
             <if test="corpId != null">and t.corp_id = #{corpId}</if>
             <if test="billType != null">and t.bill_type = #{billType}</if>
             <if test="transType != null">and t.trans_type = #{transType}</if>

+ 1 - 1
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillsplansMapper.xml

@@ -107,7 +107,7 @@
             LEFT JOIN sys_user a ON a.user_id = f.trans_user_id
             LEFT JOIN t_goods g ON g.f_id = f.goods_id
         WHERE
-            f.id != ''
+            plan.bill_status != 3
             <if test="corpId != null and corpId != ''">
                 AND f.corp_id = #{corpId}
             </if>

+ 26 - 3
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/BillnoSerialServiceImpl.java

@@ -91,7 +91,7 @@ public class BillnoSerialServiceImpl implements IBillnoSerialService {
             billNo = "SFDZ" + billNo;
         } else if ("JSSF".equals(billType)) {
             billNo = "JSSF" + billNo;
-        }  else if ("JSFF".equals(billType)) {
+        } else if ("JSFF".equals(billType)) {
             billNo = "JSFF" + billNo;
         } else if ("HWTG".equals(billType)) {
             billNo = "HWTG" + billNo;
@@ -152,7 +152,7 @@ public class BillnoSerialServiceImpl implements IBillnoSerialService {
         } else {
             yyMMdd = DateFormatUtils.format(time, "yyMMdd");
         }
-        if ("RK".equals(billType) || "CK".equals(billType) || "DB".equals(billType) ){
+        if ("RK".equals(billType) || "CK".equals(billType) || "DB".equals(billType)) {
             // 流水号 是否有回收
             BillnoDel billnoDel = new BillnoDel();
             billnoDel.setBillType(billType);
@@ -164,11 +164,29 @@ public class BillnoSerialServiceImpl implements IBillnoSerialService {
                 return billNo;
             }
         }
+        boolean tms = false;
+        if ("SJLSH".equals(billType)) {
+            tms = true;
+        }
         BillnoSerial billnoSerial = new BillnoSerial();
         billnoSerial.setBillType(billType);
         billnoSerial.setBillPrefix(yyMMdd);
         BillnoSerial billnoSerials = billnoSerialMapper.selectBillnoSerial(billnoSerial);
         if (StringUtils.isNotNull(billnoSerials)) {
+            if (tms) {
+                if (billnoSerials.getSerial() <= 9) {
+                    billNo = yyMMdd + "000" + billnoSerials.getSerial();
+                } else if (billnoSerials.getSerial() <= 99) {
+                    billNo = yyMMdd + "00" + billnoSerials.getSerial();
+                } else if (billnoSerials.getSerial() <= 999) {
+                    billNo = yyMMdd + "0" + billnoSerials.getSerial();
+                } else if (billnoSerials.getSerial() <= 9999) {
+                    billNo = yyMMdd + "" + billnoSerials.getSerial();
+                }
+                billnoSerials.setSerial(billnoSerials.getSerial() + 1);
+                billnoSerialMapper.updateBillnoSerial(billnoSerials);
+                return billNo;
+            }
             if (billnoSerials.getSerial() <= 9) {
                 billNo = yyMMdd + "00" + billnoSerials.getSerial();
             } else if (billnoSerials.getSerial() <= 99) {
@@ -179,8 +197,13 @@ public class BillnoSerialServiceImpl implements IBillnoSerialService {
             billnoSerials.setSerial(billnoSerials.getSerial() + 1);
             billnoSerialMapper.updateBillnoSerial(billnoSerials);
         } else {
-            billNo = yyMMdd + "001";
             billnoSerial.setSerial(2);
+            if (tms) {
+                billNo = yyMMdd + "0001";
+                billnoSerialMapper.insertBillnoSerial(billnoSerial);
+                return billNo;
+            }
+            billNo = yyMMdd + "001";
             billnoSerialMapper.insertBillnoSerial(billnoSerial);
         }
         billNo = billType + billNo;