|
@@ -38,7 +38,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
|
|
|
private TmstruckMeasureCommissionServiceImpl tmstruckMeasureCommissionService;
|
|
|
|
|
|
@Autowired
|
|
|
- private TmstruckWeightResultServiceImpl tmstruckWeightResultService;
|
|
|
+ private TmstruckTimeTaskResultServiceImpl tmstruckTimeTaskResultService;
|
|
|
|
|
|
@Autowired
|
|
|
private UtilsServiceImpl utilsService;
|
|
@@ -157,20 +157,11 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
|
|
|
String capacityNumber = (String) mesMap.get("capacityNumber");
|
|
|
BigDecimal resultTotalId = DataChange.dataToBigDecimal(mesMap.get("totalId"));
|
|
|
int orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
|
|
|
- if(orderType == 11){
|
|
|
- //内转订单类型 没有生成实绩 直接新增
|
|
|
- int sqe = DataChange.dataToBigDecimal(mesMap.get("Sqe")).intValue();
|
|
|
- sqe = sqe + 1;
|
|
|
- map.put("resultId", tmstruckEnfactoryResultMapper.selectMaxId()); //插入进厂实绩Id
|
|
|
- map.put("Sqe", sqe); //查询路段顺序号 + 1
|
|
|
- map.put("totalId",resultTotalId);
|
|
|
- i += tmstruckEnfactoryResultMapper.insertSelective(generateEnFactoryResult(map));
|
|
|
- mesMap.put("orderLineSequence", sqe);
|
|
|
- i += utilsService.updateOrderLineSqeByOrderNumber(mesMap); //更新路段顺序号
|
|
|
- utilsService.pushMesToWebsocket(capacityNumber, "车辆进厂");
|
|
|
- return i;
|
|
|
+ if(orderType == 11){//内转计时调用方法
|
|
|
+ return orderType11Use(map, mesMap, capacityNumber, resultTotalId);
|
|
|
+ } else if (orderType == 21){//调用计时作业方法
|
|
|
+ return orderType21Use(map, orderNumber, DataChange.dataToBigDecimal(map.get("orderId")));
|
|
|
}
|
|
|
-
|
|
|
Map<String, Object> selectMap = tmstruckEnfactoryResultMapper.selectEnFactoryResultId(orderNumber);
|
|
|
if(selectMap == null){
|
|
|
throw new Exception("该车已进厂!!");
|
|
@@ -243,6 +234,56 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 计时作业方法
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/3/18 16:57
|
|
|
+ * @param map
|
|
|
+ * @param orderNumber
|
|
|
+ * @param orderId
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+ public int orderType21Use(Map<String, Object> map, String orderNumber, BigDecimal orderId) throws Exception{
|
|
|
+ int gatepostId = DataChange.dataToBigDecimal(map.get("gatepostId")).intValue();
|
|
|
+ if(TmstruckMeasureCommissionServiceImpl.daXingGatepost.contains(gatepostId)){
|
|
|
+ //如果是达兴的门岗扫码则不进行计时判断
|
|
|
+ map.put("inwardTypes",0);
|
|
|
+ map.put("orderNumber",orderNumber);
|
|
|
+ }else {
|
|
|
+ //首先判断是否还有计时开始
|
|
|
+ BigDecimal startTime = utilsMapper.getTime(DataChange.dataToBigDecimal(orderId));
|
|
|
+ //如果计时已经开始
|
|
|
+ if (startTime == null) {
|
|
|
+ map.put("inwardTypes", 1);
|
|
|
+ map.put("orderNumber", orderNumber);
|
|
|
+ } else {
|
|
|
+ map.put("inwardTypes", 3);
|
|
|
+ map.put("orderNumber", orderNumber);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return tmstruckTimeTaskResultService.addTimeTaskResult(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 内转订单类型处理方法
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/3/18 16:59
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+ public int orderType11Use(Map<String, Object> map, Map<String, Object> mesMap, String capacityNumber, BigDecimal resultTotalId){
|
|
|
+ //内转订单类型 没有生成实绩 直接新增
|
|
|
+ int sqe = DataChange.dataToBigDecimal(mesMap.get("Sqe")).intValue();
|
|
|
+ sqe = sqe + 1;
|
|
|
+ map.put("resultId", tmstruckEnfactoryResultMapper.selectMaxId()); //插入进厂实绩Id
|
|
|
+ map.put("Sqe", sqe); //查询路段顺序号 + 1
|
|
|
+ map.put("totalId",resultTotalId);
|
|
|
+ tmstruckEnfactoryResultMapper.insertSelective(generateEnFactoryResult(map));
|
|
|
+ mesMap.put("orderLineSequence", sqe);
|
|
|
+ utilsService.updateOrderLineSqeByOrderNumber(mesMap); //更新路段顺序号
|
|
|
+ utilsService.pushMesToWebsocket(capacityNumber, "车辆进厂");
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 通过门禁进厂
|
|
@@ -258,21 +299,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
|
|
|
String subString = orderNumber.substring(0,orderNumber.length() - 1);
|
|
|
map.putAll(tmstruckEnfactoryResultMapper.selectEnFactoryResultId(subString));
|
|
|
BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
|
|
|
- //调用计时作业方法
|
|
|
- if (orderType.intValue()==21){
|
|
|
- //通过运输订单号查找订单id
|
|
|
- BigDecimal orderId = utilsMapper.getOrderIdByOrderNumber(orderNumber);
|
|
|
- //首先判断是否还有计时开始
|
|
|
- BigDecimal startTime = utilsMapper.getTime(orderId);
|
|
|
- //如果计时已经开始
|
|
|
- if (startTime==null){
|
|
|
- map.put("inwardTypes",1);
|
|
|
- map.put("orderNumber",orderNumber);
|
|
|
- }else {
|
|
|
- map.put("inwardTypes",3);
|
|
|
- map.put("orderNumber",orderNumber);
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
switch (orderType.intValue()){
|
|
|
case 1:
|
|
|
case 4:
|