|
@@ -140,66 +140,48 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * PDA新增销售钢材装车实绩 (如果是多种物资【多拼】,通过物资Id和运输订单号来确定唯一的装车实绩进行修改)
|
|
|
- * orderNumber 运输订单号
|
|
|
- * insertUpdateRemark 备注 scanText 扫描结果
|
|
|
+ * 钢材装车
|
|
|
+ * orderNumber materialId loadStartTime loadEndTime personnelSsoId warehouseId insertUpdateRemark
|
|
|
* @param map
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional
|
|
|
public int addXSLoadResult(Map<String, Object> map){
|
|
|
- //通过扫描结果截取物资唯一编码
|
|
|
- String scanText = (String) map.get("scanText");
|
|
|
- String[] split = scanText.split("-");
|
|
|
- String materialOnlyCode = split[7];
|
|
|
- //通过物资唯一编码查找物资Id
|
|
|
- BigDecimal materialId = tmstruckLoadResultMapper.getMaterialIdByMaterialCode(materialOnlyCode);
|
|
|
- //通过运输订单号查找总实绩ID
|
|
|
- Map<String,Object> orderMap = tmstruckEnfactoryResultMapper.selectTotalResultIdByCpAndOn(map);
|
|
|
- BigDecimal resultTotalId = (BigDecimal) orderMap.get("resultTotalId");
|
|
|
- map.put("resultTotalId", resultTotalId.intValue());
|
|
|
- //通过总实绩ID与物资ID查找 装车实绩主键ID
|
|
|
- Map<String, Object> resultIdMap = tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(null);
|
|
|
+ //通过运输订单号查询实绩
|
|
|
+ String orderNumber = (String) map.get("orderNumber");
|
|
|
+ Map<String, Object> steelMesMap = tmstruckLoadResultMapper.getSteelLoadResult(orderNumber);
|
|
|
+ if(steelMesMap == null){
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
|
|
|
- tmstruckLoadResult.setStatus(new BigDecimal(0)); // 添加状态0:正常
|
|
|
- //编辑装车实绩主键ID对应的各个字段
|
|
|
- tmstruckLoadResult.setResultId(DataChange.dataToBigDecimal(resultIdMap.get("resultId")));
|
|
|
- // 获取扫描实绩最小Id 添加扫描开始时间
|
|
|
- map.put("materialId", materialId);
|
|
|
- Map<String, Object> scanMap = tmstruckLoadResultMapper.getMinScanIdByOrderNum(map);
|
|
|
- Date resultLoadStartTime = tmstruckLoadResultMapper.selectLoadTimeByResultId(DataChange.dataToBigDecimal(scanMap.get("resultId")));
|
|
|
- tmstruckLoadResult.setResultLoadStartTime(resultLoadStartTime);
|
|
|
- // 添加装卸工Id
|
|
|
- tmstruckLoadResult.setLoaderId(DataChange.dataToBigDecimal(scanMap.get("loadId")));
|
|
|
- // 添加扫描结束时间 以调用当前接口时间为结束时间
|
|
|
- Date resultLoadEndTime = new Date();
|
|
|
- tmstruckLoadResult.setResultLoadEndTime(resultLoadEndTime);
|
|
|
- // 添加装车实绩时长 ---- 计算装车时长
|
|
|
- long time = (resultLoadEndTime.getTime() - resultLoadStartTime.getTime()) / 60000; // 分钟
|
|
|
- tmstruckLoadResult.setResultLoadDuration(new BigDecimal(time));
|
|
|
- //添加装车标准时长
|
|
|
- setLoadStandardTimeId((String)map.get("orderNumber"), tmstruckLoadResult);
|
|
|
- Object platformName = map.get("platformName");
|
|
|
- if(platformName != null){
|
|
|
- // 如果月台不为空则更新月台
|
|
|
- Integer platformId = utilsService.queryPlatformIdByName((String) platformName);
|
|
|
- tmstruckLoadResult.setLoadingId(new BigDecimal(platformId));
|
|
|
+ //总实绩ID 开始时间 结束时间 装车时长 物资Id 装卸工ID 装货点Id 备注
|
|
|
+ tmstruckLoadResult.setResultId(DataChange.dataToBigDecimal(steelMesMap.get("resultId")));
|
|
|
+ long loadStartTime = (long) map.get("loadStartTime");
|
|
|
+ tmstruckLoadResult.setResultLoadStartTime(new Date(loadStartTime));
|
|
|
+ long loadEndTime = (long) map.get("loadEndTime");
|
|
|
+ tmstruckLoadResult.setResultLoadEndTime(new Date(loadEndTime));
|
|
|
+ long duration = (loadEndTime - loadStartTime) / (60000);
|
|
|
+ tmstruckLoadResult.setResultLoadDuration(new BigDecimal(duration));
|
|
|
+ if(map.get("personnelSsoId") != null){
|
|
|
+ //通过SSo主键查询人员管理主键
|
|
|
+ Integer personnelId = utilsMapper.getPersonnelIdBySsoId((String) map.get("personnelSsoId"));
|
|
|
+ if(personnelId != null){
|
|
|
+ tmstruckLoadResult.setLoaderId(new BigDecimal(personnelId));
|
|
|
+ }
|
|
|
}
|
|
|
- // 添加备注
|
|
|
+ tmstruckLoadResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
|
|
|
+ tmstruckLoadResult.setLoadingId(DataChange.dataToBigDecimal(map.get("warehouseId")));
|
|
|
tmstruckLoadResult.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
|
|
|
- int i = tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
|
|
|
- //更新汽车衡
|
|
|
- i += tmstruckWeightResultService.calculateTruckCalculate(map, resultTotalId.intValue());
|
|
|
- //发送计毛委托 订单类型:1
|
|
|
-// map.put("orderTypee", 1);
|
|
|
-// tmstruckMeasureCommissionService.addMaoMeasureCommission(map);
|
|
|
- return i;
|
|
|
+ tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
|
|
|
+ //更新路段顺序号
|
|
|
+ utilsService.updateOrderLineSequence(steelMesMap); //orderId segmentSqe
|
|
|
+ utilsService.pushMesToWebsocket((String) steelMesMap.get("capacityNumber"), "装货");
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * PDA新增销售钢渣、水渣、危化品装车实绩 采购内转
|
|
|
+ * PDA新增装车实绩 (非钢材)
|
|
|
* loadStartTime 装车开始时间
|
|
|
- * warehouseId 仓库Id orderNumber 运输订单号 / orderId insertUpdateRemark 备注
|
|
|
* @param map
|
|
|
* @return
|
|
|
*/
|