|
@@ -137,7 +137,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
|
|
|
utilsService.pushMesToWebsocket((String) map.get("carNo"), "计量");
|
|
|
return map.get("carNo") + "传输成功";
|
|
|
} catch (Exception e) {
|
|
|
- System.out.println(map.get("carNo") + "传输失败");
|
|
|
+ System.out.println(map.get("carNo") + e.getMessage() + "传输失败");
|
|
|
return map.get("carNo") + e.getMessage() + "传输失败";
|
|
|
}
|
|
|
}
|
|
@@ -208,6 +208,9 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
|
|
|
//磅单号
|
|
|
tmstruckWeightResult.setResultPoundNo((String) map.get("resultPoundNo"));
|
|
|
String resultCrossWeightTime = (String) map.get("resultCrossWeightTime");
|
|
|
+ if(map.get("orderNumber") != null) {
|
|
|
+ tmstruckWeightResult.setInsertUpdateRemark((String)map.get("orderNumber"));
|
|
|
+ }
|
|
|
//根据传输过来的物资名称和规格型号
|
|
|
Object resultNetWeight = map.get("resultNetWeight");
|
|
|
if(resultNetWeight != null && !"".equals(resultNetWeight)) {
|
|
@@ -223,6 +226,24 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
|
|
|
}
|
|
|
tmstruckWeightResult.setMaterialId(materialId);
|
|
|
tmstruckWeightResult.setMaterialNum(DataChange.dataToBigDecimal(map.get("goodNum")));
|
|
|
+ BigDecimal materialNum = DataChange.dataToBigDecimal(map.get("goodNum"));
|
|
|
+ //通过订单ID和物资id,查询当单个物资的理重方便后续计算
|
|
|
+ Map<String, Object> saleMaterialMes = tmstruckWeightResultMapper.getSaleOrderMaterialNum(map);
|
|
|
+ if(saleMaterialMes == null) {
|
|
|
+ throw new Exception("该订单没有该物资分录");
|
|
|
+ }
|
|
|
+ BigDecimal saleMaterialId = DataChange.dataToBigDecimal(saleMaterialMes.get("saleMaterialId"));//销售订单存放物资子表id
|
|
|
+ BigDecimal materialWeight = DataChange.dataToBigDecimal(saleMaterialMes.get("materialWeight"));//旧总理重
|
|
|
+ BigDecimal newWeight = null;
|
|
|
+ if (materialWeight.intValue() != 0) { //如果总重量不为0,才进行重量更新
|
|
|
+ BigDecimal orderMaterialNumber = DataChange.dataToBigDecimal(saleMaterialMes.get("orderMaterialNumber"));//旧件数
|
|
|
+ BigDecimal theoreticalWeight = materialWeight.multiply(materialNum);
|
|
|
+ newWeight = theoreticalWeight.divide(orderMaterialNumber,3, 4);//得到现有理重
|
|
|
+ map.put("newWeight",newWeight);
|
|
|
+ //更新运输订单物资子表的件数和理论重量
|
|
|
+ }
|
|
|
+ tmstruckWeightResultMapper.updateOrderMaterial(map);
|
|
|
+ tmstruckWeightResultMapper.updateSaleMaterialId(saleMaterialId,materialNum,newWeight);
|
|
|
}
|
|
|
addWeightResult(tmstruckWeightResult, map); //添加计量实绩数据
|
|
|
// 更新订单中路段顺序号,如果毛重时间为空则为计皮:也就是销售第一次计皮,反之有毛重时间则为计毛
|