|
@@ -7,16 +7,20 @@ import com.ruoyi.basicData.domain.FleetCarManage;
|
|
import com.ruoyi.basicData.domain.TCorps;
|
|
import com.ruoyi.basicData.domain.TCorps;
|
|
import com.ruoyi.basicData.mapper.FleetCarManageMapper;
|
|
import com.ruoyi.basicData.mapper.FleetCarManageMapper;
|
|
import com.ruoyi.basicData.mapper.TCorpsMapper;
|
|
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.AjaxResult;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
|
+import com.ruoyi.common.utils.LogUtils;
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.orderPlan.domain.*;
|
|
import com.ruoyi.orderPlan.domain.*;
|
|
import com.ruoyi.orderPlan.mapper.*;
|
|
import com.ruoyi.orderPlan.mapper.*;
|
|
import com.ruoyi.orderPlan.service.IftmsorderbillsService;
|
|
import com.ruoyi.orderPlan.service.IftmsorderbillsService;
|
|
import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
|
|
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.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -32,6 +36,9 @@ import java.util.*;
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
public class FtmsorderbillsServiceImpl implements IftmsorderbillsService {
|
|
public class FtmsorderbillsServiceImpl implements IftmsorderbillsService {
|
|
|
|
+
|
|
|
|
+ protected final Logger logger = LoggerFactory.getLogger(FtmsorderbillsServiceImpl.class);
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private TCorpsMapper tCorpsMapper;
|
|
private TCorpsMapper tCorpsMapper;
|
|
|
|
|
|
@@ -306,6 +313,11 @@ public class FtmsorderbillsServiceImpl implements IftmsorderbillsService {
|
|
map.put("fees", ftmsorderbillsfeesMapper.selectFTmsorderbillsfeesByPId(pId));
|
|
map.put("fees", ftmsorderbillsfeesMapper.selectFTmsorderbillsfeesByPId(pId));
|
|
map.put("plans", ftmsorderbillsplansMapper.selectftmsorderbillsplansByOrgId(pId));
|
|
map.put("plans", ftmsorderbillsplansMapper.selectftmsorderbillsplansByOrgId(pId));
|
|
map.put("scntrs", ftmsorderbillscntrsMapper.selectftmsorderbillscntrsByPId(pId));
|
|
map.put("scntrs", ftmsorderbillscntrsMapper.selectftmsorderbillscntrsByPId(pId));
|
|
|
|
+
|
|
|
|
+ //新增保存后逻辑 20210707 dongyongwei
|
|
|
|
+ //1计划中 状态
|
|
|
|
+ setFtmsorderbillsBillStatus(pId,1L);
|
|
|
|
+
|
|
return AjaxResult.success(map);
|
|
return AjaxResult.success(map);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -712,4 +724,141 @@ public class FtmsorderbillsServiceImpl implements IftmsorderbillsService {
|
|
return ftmsorderbillsMapper.selectftmsorderbillsMapList(ftmsorderbills);
|
|
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);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|