Przeglądaj źródła

订单状态更新字典值

dongyongwei 4 lat temu
rodzic
commit
0d46853e22

+ 15 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/fleet/orderPlan/ftmsorderbillsController.java

@@ -156,6 +156,21 @@ public class ftmsorderbillsController extends BaseController {
     }
 
     /**
+     * 提交计划下单
+     * @param id 订单ID
+     * 20210707 dongyongwei
+     */
+    @PreAuthorize("@ss.hasPermi('fleet:ftmsorderbills:add')")
+    @Log(title = "订单提交", businessType = BusinessType.INSERT)
+    @GetMapping(value = "/submit")
+    @RepeatSubmit
+    public AjaxResult submit(Long id) {
+        //更新状态为 2待调度
+        ftmsorderbillsService.setFtmsorderbillsBillStatus(id,2L);
+        return AjaxResult.success();
+    }
+
+    /**
      * 修改订单主
      */
     @PreAuthorize("@ss.hasPermi('fleet:ftmsorderbills:edit')")

+ 8 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/IftmsorderbillsService.java

@@ -107,4 +107,12 @@ public interface IftmsorderbillsService {
      * @return  结果
      */
     public AjaxResult queryHomeInfo();
+
+    /**
+     * 设置订单表的状态方法
+     * @param id 订单主表ID
+     * @param billStatus 数据字典订单状态值
+     * @since 20210707 dongyongwei
+     */
+    public void setFtmsorderbillsBillStatus(Long id,Long billStatus);
 }

+ 149 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillsServiceImpl.java

@@ -7,16 +7,20 @@ import com.ruoyi.basicData.domain.FleetCarManage;
 import com.ruoyi.basicData.domain.TCorps;
 import com.ruoyi.basicData.mapper.FleetCarManageMapper;
 import com.ruoyi.basicData.mapper.TCorpsMapper;
+import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.LogUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.orderPlan.domain.*;
 import com.ruoyi.orderPlan.mapper.*;
 import com.ruoyi.orderPlan.service.IftmsorderbillsService;
 import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -32,6 +36,9 @@ import java.util.*;
  */
 @Service
 public class FtmsorderbillsServiceImpl implements IftmsorderbillsService {
+
+    protected final Logger logger = LoggerFactory.getLogger(FtmsorderbillsServiceImpl.class);
+
     @Autowired
     private TCorpsMapper tCorpsMapper;
 
@@ -306,6 +313,11 @@ public class FtmsorderbillsServiceImpl implements IftmsorderbillsService {
         map.put("fees", ftmsorderbillsfeesMapper.selectFTmsorderbillsfeesByPId(pId));
         map.put("plans", ftmsorderbillsplansMapper.selectftmsorderbillsplansByOrgId(pId));
         map.put("scntrs", ftmsorderbillscntrsMapper.selectftmsorderbillscntrsByPId(pId));
+
+        //新增保存后逻辑 20210707 dongyongwei
+        //1计划中 状态
+        setFtmsorderbillsBillStatus(pId,1L);
+
         return AjaxResult.success(map);
     }
 
@@ -712,4 +724,141 @@ public class FtmsorderbillsServiceImpl implements IftmsorderbillsService {
         return ftmsorderbillsMapper.selectftmsorderbillsMapList(ftmsorderbills);
     }
 
+    /**
+     * 设置订单表的状态方法
+     *
+     * @param id         订单主表ID
+     * @param billStatus 数据字典订单状态值
+     * @since 20210707 dongyongwei
+     */
+    @Override
+    public void setFtmsorderbillsBillStatus(Long id, Long billStatus) {
+
+        logger.debug("setFtmsorderbillsBillStatus,id={},billStatus={}",id,billStatus);
+
+        /*
+        业务逻辑:
+        1计划中 录入单据 
+        2待调度 点击提交计划  
+        3调度中 计划量和调度量比较 计划量大于0 调度量<>0  计划量>调度量
+        4待派车 计划量和调度量比较 计划量大于0 计划量=调度量
+        5派车中 调度量和派车量比较 调度量大于0 派车<>0   调度量>派车
+        6待回单 调度量和派车量比较 调度量大于0 调度量=派车
+        7回单中 派车量和回单量比较 派车量大于0 回单量<>0   派车量>回单量 
+        8回单完成 派车量和回单量比较 派车量大于0 派车量=回单量
+        */
+        //获取正在操作的订单信息
+        Ftmsorderbills ftmsorderbills = ftmsorderbillsMapper.selectftmsorderbillsById(id);
+
+        if("1".equals(String.valueOf(billStatus))){
+            logger.debug("更新状态码为:{}",1);
+           //保存按钮下新增记录,1计划中
+            ftmsorderbills.setBillStatus(billStatus);
+            ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+        }
+
+        if("2".equals(String.valueOf(billStatus))){
+            logger.debug("更新状态码为:{}",2);
+            //保存按钮下新增记录,2待调度
+            ftmsorderbills.setBillStatus(billStatus);
+            ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+        }
+
+        if("3".equals(String.valueOf(billStatus))){
+            //3调度中 计划量和调度量比较 计划量大于0 调度量<>0  计划量>调度量
+            //4待派车 计划量和调度量比较 计划量大于0 计划量=调度量
+            //取订单对应的F_TMSORDERBILLSCNTRS表数据
+            List<Ftmsorderbillscntrs> listFtmsorderbillscntrs = ftmsorderbillscntrsMapper.selectftmsorderbillscntrsByPId(id);
+            if(listFtmsorderbillscntrs.size()>0){
+                //判断>0证明有数据,取出来写相应逻辑
+                Ftmsorderbillscntrs ftmsorderbillscntrs = listFtmsorderbillscntrs.get(0);
+                //1获取计划量
+                Long cntrQty = ftmsorderbillscntrs.getCntrQty();
+                //2获取调度量
+                Long cntrPlanQty = ftmsorderbillscntrs.getCntrPlanQty();
+                //3获取未安排调度量
+                Long cntrBlcQty = ftmsorderbillscntrs.getCntrBlcQty();
+
+                if(cntrQty >0 && cntrPlanQty!=0 && cntrQty>cntrPlanQty){
+                    logger.debug("更新状态码为:{}",3);
+                    ftmsorderbills.setBillStatus(3L);
+                    ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+                }
+                if(cntrQty >0 && cntrQty==cntrPlanQty){
+                    logger.debug("更新状态码为:{}",4);
+                    ftmsorderbills.setBillStatus(4L);
+                    ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+                }
+            }
+
+        }
+
+        if("5".equals(String.valueOf(billStatus))){
+            //派车环节加入判断
+            //5派车中 调度量和派车量比较 调度量大于0 派车<>0   调度量>派车
+            //6待回单 调度量和派车量比较 调度量大于0 调度量=派车
+            //取订单对应的F_TMSORDERBILLSCNTRS表数据
+            List<Ftmsorderbillscntrs> listFtmsorderbillscntrs = ftmsorderbillscntrsMapper.selectftmsorderbillscntrsByPId(id);
+            if(listFtmsorderbillscntrs.size()>0){
+                //判断>0证明有数据,取出来写相应逻辑
+                Ftmsorderbillscntrs ftmsorderbillscntrs = listFtmsorderbillscntrs.get(0);
+                //取调度量
+                Long cntrPlanQty = ftmsorderbillscntrs.getCntrPlanQty();
+                //取派车量
+                Long planQty = ftmsorderbillscntrs.getPlanQty();
+                if(cntrPlanQty>0 && planQty !=0 && cntrPlanQty > planQty){
+                    logger.debug("更新状态码为:{}",5);
+                    ftmsorderbills.setBillStatus(5L);
+                    ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+                }
+                if(cntrPlanQty>0 && cntrPlanQty == planQty){
+                    logger.debug("更新状态码为:{}",6);
+                    ftmsorderbills.setBillStatus(6L);
+                    ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+                }
+
+            }
+
+        }
+
+        if("7".equals(String.valueOf(billStatus))){
+            //7回单中 派车量和回单量比较 派车量大于0 回单量<>0   派车量>回单量 
+            //8回单完成 派车量和回单量比较 派车量大于0 派车量=回单量
+            //取订单对应的F_TMSORDERBILLSCNTRS表数据
+            List<Ftmsorderbillscntrs> listFtmsorderbillscntrs = ftmsorderbillscntrsMapper.selectftmsorderbillscntrsByPId(id);
+            if(listFtmsorderbillscntrs.size()>0){
+                //判断>0证明有数据,取出来写相应逻辑
+                Ftmsorderbillscntrs ftmsorderbillscntrs = listFtmsorderbillscntrs.get(0);
+                //取派车量
+                Long planQty = ftmsorderbillscntrs.getPlanQty();
+                //取回单量
+                Ftmsorderbillscars ftmsorderbillscarsQuery = new Ftmsorderbillscars();
+                ftmsorderbillscarsQuery.setOrgId(id);
+                ftmsorderbillscarsQuery.setOrderStatus(80L);
+                List<Ftmsorderbillscars> ftmsorderbillscarsList = ftmsorderbillscarsMapper.selectftmsorderbillscarsList(ftmsorderbillscarsQuery);
+                //回单量
+                Long carByOrderStatus80 = 0L;
+                if(ftmsorderbillscarsList.size()>0){
+                    for (int i = 0; i < ftmsorderbillscarsList.size(); i++) {
+                        carByOrderStatus80 = carByOrderStatus80 +ftmsorderbillscarsList.get(i).getCntrQty();
+                    }
+                }
+
+                logger.debug("派车量:{},回单量:{}",planQty,carByOrderStatus80);
+
+                if(planQty >0 && carByOrderStatus80 !=0 && planQty>carByOrderStatus80){
+                    logger.debug("更新状态码为:{}",7);
+                    ftmsorderbills.setBillStatus(7L);
+                    ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+                }
+                if(planQty >0 && planQty==carByOrderStatus80){
+                    logger.debug("更新状态码为:{}",8);
+                    ftmsorderbills.setBillStatus(8L);
+                    ftmsorderbillsMapper.updateftmsorderbills(ftmsorderbills);
+                }
+            }
+        }
+
+    }
+
 }

+ 35 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java

@@ -433,6 +433,13 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
                 }
             }
         }
+
+        //新增逻辑20210707 dongyongwei,
+        //更改订单状态为
+        //7回单中 派车量和回单量比较 派车量大于0 回单量<>0   派车量>回单量 
+        //8回单完成 派车量和回单量比较 派车量大于0 派车量=回单量
+        ftmsorderbillsService.setFtmsorderbillsBillStatus(orgId,7L);
+
         return AjaxResult.success(tmsorderbillscars);
     }
 
@@ -798,6 +805,13 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if ("500".equals(ajaxCode)) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             }
+
+            //新增逻辑20210707 dongyongwei,
+            //更改订单状态为
+            //5派车中 调度量和派车量比较 调度量大于0 派车<>0   调度量>派车
+            //6待回单 调度量和派车量比较 调度量大于0 调度量=派车
+            ftmsorderbillsService.setFtmsorderbillsBillStatus(ftmsorderbillscars.getOrgId(),5L);
+
             return result;
         }
         // 变更提交
@@ -807,6 +821,11 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if ("500".equals(ajaxCode)) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             }
+            //新增逻辑20210707 dongyongwei,
+            //更改订单状态为
+            //5派车中 调度量和派车量比较 调度量大于0 派车<>0   调度量>派车
+            //6待回单 调度量和派车量比较 调度量大于0 调度量=派车
+            ftmsorderbillsService.setFtmsorderbillsBillStatus(ftmsorderbillscars.getOrgId(),5L);
             return result;
         }
         // 撤销
@@ -816,6 +835,11 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if ("500".equals(ajaxCode)) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             }
+            //新增逻辑20210707 dongyongwei,
+            //更改订单状态为
+            //5派车中 调度量和派车量比较 调度量大于0 派车<>0   调度量>派车
+            //6待回单 调度量和派车量比较 调度量大于0 调度量=派车
+            ftmsorderbillsService.setFtmsorderbillsBillStatus(ftmsorderbillscars.getOrgId(),5L);
             return result;
         }
         // 删除
@@ -825,8 +849,19 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if ("500".equals(ajaxCode)) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             }
+            //新增逻辑20210707 dongyongwei,
+            //更改订单状态为
+            //5派车中 调度量和派车量比较 调度量大于0 派车<>0   调度量>派车
+            //6待回单 调度量和派车量比较 调度量大于0 调度量=派车
+            ftmsorderbillsService.setFtmsorderbillsBillStatus(ftmsorderbillscars.getOrgId(),5L);
             return result;
         }
+
+        //新增逻辑20210707 dongyongwei,
+        //更改订单状态为
+        //5派车中 调度量和派车量比较 调度量大于0 派车<>0   调度量>派车
+        //6待回单 调度量和派车量比较 调度量大于0 调度量=派车
+        ftmsorderbillsService.setFtmsorderbillsBillStatus(ftmsorderbillscars.getOrgId(),5L);
         return AjaxResult.success();
     }
 

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

@@ -280,6 +280,13 @@ public class FtmsorderbillsplansServiceImpl implements IftmsorderbillsplansServi
         tmsorderbillscntrs.setOrgId(tmsorderbillsplans.getOrgId());
         map.put("plan", tmsorderbillsplans);
         map.put("cntrs", ftmsorderbillscntrsMapper.selectftmsorderbillscntrsList(tmsorderbillscntrs));
+
+        //新增逻辑20210707 dongyongwei,
+        //更改订单状态为
+        // 3调度中 计划量和调度量比较 计划量大于0 调度量<>0  计划量>调度量
+        // 4待派车 计划量和调度量比较 计划量大于0 计划量=调度量
+        ftmsorderbillsService.setFtmsorderbillsBillStatus(pId,3L);
+
         return AjaxResult.success(map);
     }
 
@@ -361,6 +368,13 @@ public class FtmsorderbillsplansServiceImpl implements IftmsorderbillsplansServi
         scntrs.setOrgId(tmsorderbillsplans.getOrgId());
         map.put("plan", tmsorderbillsplans);
         map.put("cntrs", ftmsorderbillscntrsMapper.selectftmsorderbillscntrsList(scntrs));
+
+        //新增逻辑20210707 dongyongwei,
+        //更改订单状态为
+        // 3调度中 计划量和调度量比较 计划量大于0 调度量<>0  计划量>调度量
+        // 4待派车 计划量和调度量比较 计划量大于0 计划量=调度量
+        ftmsorderbillsService.setFtmsorderbillsBillStatus(pId,3L);
+
         return AjaxResult.success(map);
     }
 
@@ -441,6 +455,13 @@ public class FtmsorderbillsplansServiceImpl implements IftmsorderbillsplansServi
         tmsorderbillscntrs.setBillStatus(6L);
         map.put("plan", plans);
         map.put("cntrs", ftmsorderbillscntrsMapper.selectftmsorderbillscntrsList(tmsorderbillscntrs));
+
+        //新增逻辑20210707 dongyongwei,
+        //更改订单状态为
+        // 3调度中 计划量和调度量比较 计划量大于0 调度量<>0  计划量>调度量
+        // 4待派车 计划量和调度量比较 计划量大于0 计划量=调度量
+        ftmsorderbillsService.setFtmsorderbillsBillStatus(pId,3L);
+
         return AjaxResult.success(map);
     }
 
@@ -666,6 +687,13 @@ public class FtmsorderbillsplansServiceImpl implements IftmsorderbillsplansServi
                 return AjaxResult.error("调度安排第" + line + "行未找到车队数据");
             }
         }
+
+        //新增逻辑20210707 dongyongwei,
+        //更改订单状态为
+        // 3调度中 计划量和调度量比较 计划量大于0 调度量<>0  计划量>调度量
+        // 4待派车 计划量和调度量比较 计划量大于0 计划量=调度量
+        ftmsorderbillsService.setFtmsorderbillsBillStatus(pId,3L);
+
         return AjaxResult.success();
     }