|  | @@ -21,6 +21,9 @@ import com.ruoyi.framework.web.service.WechatService;
 | 
	
		
			
				|  |  |  import com.ruoyi.orderPlan.domain.*;
 | 
	
		
			
				|  |  |  import com.ruoyi.orderPlan.mapper.*;
 | 
	
		
			
				|  |  |  import com.ruoyi.system.mapper.SysUserMapper;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.domain.BillnoDel;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.mapper.BillnoDelMapper;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
 | 
	
		
			
				|  |  |  import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  |  import com.ruoyi.orderPlan.service.IftmsorderbillscarsService;
 | 
	
		
			
				|  |  |  import com.ruoyi.statusTracking.domain.Ftmsorderbillsfees;
 | 
	
	
		
			
				|  | @@ -54,9 +57,15 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |      private SysUserMapper sysUserMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | +    private BillnoDelMapper billnoDelMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  |      private FtmsorderbillsMapper ftmsorderbillsMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | +    private BillnoSerialServiceImpl billnoSerialServiceImpl;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  |      private FtmsorderbillsServiceImpl ftmsorderbillsService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
	
		
			
				|  | @@ -457,10 +466,6 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |          ftmsorderbillsattachsMapper.deleteftmsorderbillsattachs(ftmsorderbillsattachs);
 | 
	
		
			
				|  |  |          if ("save".equals(billType)) {
 | 
	
		
			
				|  |  |              // 保存
 | 
	
		
			
				|  |  | -            tmsorderbillsplans.setBillStatus(20L);
 | 
	
		
			
				|  |  | -            tmsorderbillsplans.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -            tmsorderbillsplans.setUpdateBy(loginUser.getUsername());
 | 
	
		
			
				|  |  | -            ftmsorderbillsplansMapper.updateftmsorderbillsplans(tmsorderbillsplans);
 | 
	
		
			
				|  |  |              if (StringUtils.isNotEmpty(cars) && !"[]".equals(cars)) {
 | 
	
		
			
				|  |  |                  JSONArray planJson = JSONArray.parseArray(cars);
 | 
	
		
			
				|  |  |                  List<Ftmsorderbillscars> tmsorderbillscarsList = JSONObject.parseArray(planJson.toJSONString(), Ftmsorderbillscars.class);
 | 
	
	
		
			
				|  | @@ -477,6 +482,16 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            Ftmsorderbillscars ftmsorderbillscars = new Ftmsorderbillscars();
 | 
	
		
			
				|  |  | +            ftmsorderbillscars.setBillStatus(6L);
 | 
	
		
			
				|  |  | +            if (ftmsorderbillscarsMapper.selectftmsorderbillscarsCount(ftmsorderbillscars) > 0) {
 | 
	
		
			
				|  |  | +                tmsorderbillsplans.setBillStatus(20L);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                tmsorderbillsplans.setBillStatus(6L);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            tmsorderbillsplans.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +            tmsorderbillsplans.setUpdateBy(loginUser.getUsername());
 | 
	
		
			
				|  |  | +            ftmsorderbillsplansMapper.updateftmsorderbillsplans(tmsorderbillsplans);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              // 提交
 | 
	
		
			
				|  |  |              tmsorderbillsplans.setBillStatus(60L);
 | 
	
	
		
			
				|  | @@ -584,9 +599,8 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              String ajaxCode = result.get("code").toString();
 | 
	
		
			
				|  |  |              if ("500".equals(ajaxCode)) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | -                return result;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            return AjaxResult.success();
 | 
	
		
			
				|  |  | +            return result;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 变更提交
 | 
	
		
			
				|  |  |          if ("change".equals(status)) {
 | 
	
	
		
			
				|  | @@ -594,8 +608,8 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              String ajaxCode = result.get("code").toString();
 | 
	
		
			
				|  |  |              if ("500".equals(ajaxCode)) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | -                return result;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            return result;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 撤销
 | 
	
		
			
				|  |  |          if ("revoke".equals(status)) {
 | 
	
	
		
			
				|  | @@ -603,7 +617,6 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              String ajaxCode = result.get("code").toString();
 | 
	
		
			
				|  |  |              if ("500".equals(ajaxCode)) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | -                return result;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return result;
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -613,7 +626,6 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              String ajaxCode = result.get("code").toString();
 | 
	
		
			
				|  |  |              if ("500".equals(ajaxCode)) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | -                return result;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return result;
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -677,12 +689,27 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  |      public AjaxResult vehicleChangeAdd(Ftmsorderbillscars ftmsorderbillscars, LoginUser loginUser) {
 | 
	
		
			
				|  |  | +        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  |          Ftmsorderbillsplans ftmsorderbillsplans = ftmsorderbillsplansMapper.selectftmsorderbillsplansById(ftmsorderbillscars.getPId());
 | 
	
		
			
				|  |  |          long carQty = ftmsorderbillsplans.getCarQty() + ftmsorderbillscars.getCntrQty();
 | 
	
		
			
				|  |  |          if (ftmsorderbillsplans.getCntrQty() < carQty) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("派车货量超出调度安排数量,请确认");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          Ftmsorderbills tmsorderbills = ftmsorderbillsMapper.selectftmsorderbillsById(ftmsorderbillsplans.getOrgId());
 | 
	
		
			
				|  |  | +        // 流水号 是否有回收
 | 
	
		
			
				|  |  | +        BillnoDel billnoDel = new BillnoDel();
 | 
	
		
			
				|  |  | +        billnoDel.setBillType("SJLSH");
 | 
	
		
			
				|  |  | +        BillnoDel billnoDels = billnoDelMapper.selectBillnoDelBillNo(billnoDel);
 | 
	
		
			
				|  |  | +        // 如果有数据在删除列表
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(billnoDels)) {
 | 
	
		
			
				|  |  | +            billnoDelMapper.deleteBillnoDelById(billnoDels.getId());
 | 
	
		
			
				|  |  | +            ftmsorderbillscars.setOrderNo(billnoDels.getBillNo());
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            // 生成流水号
 | 
	
		
			
				|  |  | +            Date time = new Date();
 | 
	
		
			
				|  |  | +            String billNo = billnoSerialServiceImpl.getSerialNumber("SJLSH", time);
 | 
	
		
			
				|  |  | +            ftmsorderbillscars.setOrderNo(billNo);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          ftmsorderbillscars.setMblno(tmsorderbills.getMblno());
 | 
	
		
			
				|  |  |          ftmsorderbillscars.setOrgId(ftmsorderbillsplans.getOrgId());
 | 
	
		
			
				|  |  |          ftmsorderbillsplans.setCarQty(carQty);
 | 
	
	
		
			
				|  | @@ -690,6 +717,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |              return AjaxResult.error("更新调度数据失败,若多次失败请联系管理员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        map.put("plan", ftmsorderbillsplans);
 | 
	
		
			
				|  |  |          Ftmsorderbills ftmsorderbills = ftmsorderbillsMapper.selectftmsorderbillsById(ftmsorderbillsplans.getOrgId());
 | 
	
		
			
				|  |  |          Ftmsorderbillscntrs ftmsorderbillscntrs = ftmsorderbillscntrsMapper.selectftmsorderbillscntrsById(ftmsorderbillsplans.getPId());
 | 
	
		
			
				|  |  |          // 应收运价
 | 
	
	
		
			
				|  | @@ -712,6 +740,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |              return AjaxResult.error("更新车辆安排数据失败,若多次失败请联系管理员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        map.put("cars", ftmsorderbillscars);
 | 
	
		
			
				|  |  |          SysUser sysUser = sysUserMapper.selectUserByTel(ftmsorderbillscars.getDriverTel());
 | 
	
		
			
				|  |  |          if (StringUtils.isNotNull(sysUser)) {
 | 
	
		
			
				|  |  |              String openId = sysUser.getOpenId();
 | 
	
	
		
			
				|  | @@ -722,7 +751,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              TCorps corps = tCorpsMapper.selectTCorpsById(tmsorderbills.getCorpId());
 | 
	
		
			
				|  |  |              wechatService.newsPush(openId, nickName, mblno, amtDr + "", corps.getfName(), loadDate, "其他消息暂定", "备注暂定");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return AjaxResult.success(ftmsorderbillscars);
 | 
	
		
			
				|  |  | +        return AjaxResult.success(map);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -732,6 +761,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  |      public AjaxResult vehicleChangeRevoke(Ftmsorderbillscars ftmsorderbillscars, LoginUser loginUser) {
 | 
	
		
			
				|  |  | +        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  |          // 验证司机是否产生费用,若产生的费用已经结算则拦截
 | 
	
		
			
				|  |  |          List<Ftmsorderbillsfees> ftmsorderbillsfeesList = ftmsorderbillsfeesMapper.selectFTmsorderbillsfeesByPId(ftmsorderbillscars.getId());
 | 
	
		
			
				|  |  |          if (ftmsorderbillsfeesList.size() != 0) {
 | 
	
	
		
			
				|  | @@ -744,17 +774,25 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |          if (ftmsorderbillscars.getOrderStatus() > 30) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("该安排车辆已经装卸货,无法撤回");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        ftmsorderbillscars.setBillStatus(3L);
 | 
	
		
			
				|  |  | +        ftmsorderbillscars.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +        ftmsorderbillscars.setUpdateBy(loginUser.getUsername());
 | 
	
		
			
				|  |  | +        ftmsorderbillscarsMapper.updateftmsorderbillscars(ftmsorderbillscars);
 | 
	
		
			
				|  |  |          // 更新业务调度已调度数量
 | 
	
		
			
				|  |  |          Ftmsorderbillsplans tmsorderbillsplans = ftmsorderbillsplansMapper.selectftmsorderbillsplansById(ftmsorderbillscars.getPId());
 | 
	
		
			
				|  |  |          tmsorderbillsplans.setCarQty(tmsorderbillsplans.getCarQty() - ftmsorderbillscars.getCntrQty());
 | 
	
		
			
				|  |  | +        Ftmsorderbillscars cars = new Ftmsorderbillscars();
 | 
	
		
			
				|  |  | +        cars.setBillStatus(6L);
 | 
	
		
			
				|  |  | +        if (ftmsorderbillscarsMapper.selectftmsorderbillscarsCount(cars) <= 0) {
 | 
	
		
			
				|  |  | +            tmsorderbillsplans.setBillStatus(6L);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          if (ftmsorderbillsplansMapper.updateftmsorderbillsplans(tmsorderbillsplans) <= 0) {
 | 
	
		
			
				|  |  | +            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |              return AjaxResult.error("更新调度安排失败,若多次出现请联系管理员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        ftmsorderbillscars.setBillStatus(3L);
 | 
	
		
			
				|  |  | -        ftmsorderbillscars.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -        ftmsorderbillscars.setUpdateBy(loginUser.getUsername());
 | 
	
		
			
				|  |  | -        ftmsorderbillscarsMapper.updateftmsorderbillscars(ftmsorderbillscars);
 | 
	
		
			
				|  |  | -        return AjaxResult.success();
 | 
	
		
			
				|  |  | +        map.put("plan", tmsorderbillsplans);
 | 
	
		
			
				|  |  | +        map.put("cars", ftmsorderbillscars);
 | 
	
		
			
				|  |  | +        return AjaxResult.success(map);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -764,11 +802,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  |      public AjaxResult vehicleChangeRemove(Ftmsorderbillscars ftmsorderbillscars, LoginUser loginUser) {
 | 
	
		
			
				|  |  | +        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  |          // 判断是否卸车
 | 
	
		
			
				|  |  |          Ftmsorderbillscars tmsorderbillscars = ftmsorderbillscarsMapper.selectftmsorderbillscarsById(ftmsorderbillscars.getId());
 | 
	
		
			
				|  |  | -        if (tmsorderbillscars.getBillStatus() == 3) {
 | 
	
		
			
				|  |  | -            return AjaxResult.error("该安排车辆状态已在变更中,无法删除");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |          if (tmsorderbillscars.getBillStatus() == 6) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("该安排车辆状态已提交,无法删除");
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -782,7 +818,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |              return AjaxResult.error("删除车辆信息失败,若多次失败请联系管理员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return AjaxResult.success();
 | 
	
		
			
				|  |  | +        map.put("plan", ftmsorderbillsplansMapper.selectftmsorderbillsplansById(ftmsorderbillscars.getPId()));
 | 
	
		
			
				|  |  | +        map.put("cars", ftmsorderbillscars);
 | 
	
		
			
				|  |  | +        return AjaxResult.success(map);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -792,6 +830,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  |      public AjaxResult vehicleChangeSubmission(Ftmsorderbillscars ftmsorderbillscars, LoginUser loginUser) {
 | 
	
		
			
				|  |  | +        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  |          if (StringUtils.isNull(ftmsorderbillscars.getCarcorPid())) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("未找到车号信息,请确认");
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -808,16 +847,20 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
 | 
	
		
			
				|  |  |              TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |              return AjaxResult.error("更新调度数据失败,若多次失败请联系管理员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        Ftmsorderbills ftmsorderbills = ftmsorderbillsMapper.selectftmsorderbillsById(ftmsorderbillsplans.getOrgId());
 | 
	
		
			
				|  |  |          ftmsorderbillscars.setBillStatus(6L);
 | 
	
		
			
				|  |  |          ftmsorderbillscars.setPlanDate(new Date());
 | 
	
		
			
				|  |  |          ftmsorderbillscars.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +        ftmsorderbillscars.setOrgId(ftmsorderbills.getId());
 | 
	
		
			
				|  |  | +        ftmsorderbillscars.setMblno(ftmsorderbills.getMblno());
 | 
	
		
			
				|  |  |          ftmsorderbillscars.setUpdateBy(loginUser.getUsername());
 | 
	
		
			
				|  |  | -        ftmsorderbillscars.setOrgId(ftmsorderbillsplans.getOrgId());
 | 
	
		
			
				|  |  |          if (ftmsorderbillscarsMapper.updateftmsorderbillscars(ftmsorderbillscars) <= 0) {
 | 
	
		
			
				|  |  |              TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |              return AjaxResult.error("更新车辆数据失败,若多次失败请联系管理员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return AjaxResult.success();
 | 
	
		
			
				|  |  | +        map.put("plan", ftmsorderbillsplans);
 | 
	
		
			
				|  |  | +        map.put("cars", ftmsorderbillscars);
 | 
	
		
			
				|  |  | +        return AjaxResult.success(map);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 |