| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |