|
@@ -190,6 +190,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
|
|
|
}catch (Exception e1) {
|
|
|
e1.printStackTrace();
|
|
|
}
|
|
|
+ e.printStackTrace();
|
|
|
System.out.println(map.get("carNo") + e.getMessage() + "传输失败");
|
|
|
return map.get("carNo") + e.getMessage() + "传输失败";
|
|
|
}
|
|
@@ -214,6 +215,16 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
|
|
|
}
|
|
|
int orderType= DataChange.dataToBigDecimal(oneMap.get("orderType")).intValue();
|
|
|
if(orderType == 11 || orderType == 15 || orderType == 16){
|
|
|
+ //计时且多趟过计量
|
|
|
+ String insertUpdateRemark = oneMap.get("insertUpdateRemark").toString();
|
|
|
+ int orderStatus = DataChange.dataToBigDecimal(oneMap.get("orderStatus")).intValue();
|
|
|
+ if(insertUpdateRemark.contains("计时且多趟过计量")){
|
|
|
+ if(orderStatus != 5){
|
|
|
+ System.out.println(map.get("orderNumber") + "该订单未接收");
|
|
|
+ return "该订单未接收";
|
|
|
+ }
|
|
|
+ return insertWeightResultBy11Repeatedly(map, oneMap);
|
|
|
+ }
|
|
|
return insertWeightResultBy11(map, oneMap);
|
|
|
}
|
|
|
//为1的时候计量重新更新单据
|
|
@@ -743,6 +754,89 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
|
|
|
return map.get("orderNumber") + "成功";
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 纯内转订单类型(计时多趟次计量)
|
|
|
+ * @param map
|
|
|
+ * @param oneMap
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public String insertWeightResultBy11Repeatedly(Map<String, Object> map, Map<String, Object> oneMap){
|
|
|
+ TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
|
|
|
+ tmstruckWeightResult.setResultPoundNo((String) map.get("resultPoundNo"));
|
|
|
+ tmstruckWeightResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
|
|
|
+ int sqe = DataChange.dataToBigDecimal(oneMap.get("Sqe")).intValue(); //获取订单路段顺序号
|
|
|
+ sqe = sqe + 1;
|
|
|
+ //更新路段顺序号
|
|
|
+ Map<String, Object> threeMap = new HashMap<>();
|
|
|
+ threeMap.put("orderLineSequence", sqe);
|
|
|
+ threeMap.put("orderNumber", map.get("orderNumber"));
|
|
|
+ utilsMapper.updateLineSeqByOrderIdOrNum2(threeMap);
|
|
|
+ //首先查询这个订单号的这个物资ID是否有计量实绩
|
|
|
+ Map<String, Object> twoMap = tmstruckWeightResultMapper.selectResultIdByOrderNoAndMaterialIdRepeatedly(map); //判断这个物资是否已经计量过
|
|
|
+ Object resultCrossWeightTime = map.get("resultCrossWeightTime");
|
|
|
+ if(twoMap == null
|
|
|
+ || (twoMap.get("netWeight") != null && DataChange.dataToBigDecimal(twoMap.get("netWeight")).doubleValue() > 0)){
|
|
|
+ //如果查出来为空或已存在完整实绩,则进行新增操作
|
|
|
+ tmstruckWeightResult.setId(tmstruckWeightResultMapper.selectMaxId()); //新增主键
|
|
|
+ tmstruckWeightResult.setResultTotalId(DataChange.dataToBigDecimal(oneMap.get("totalId"))); //新增总实绩ID
|
|
|
+ if(resultCrossWeightTime == null || "".equals(String.valueOf(resultCrossWeightTime))){//只有一条数据的情况
|
|
|
+ tmstruckWeightResult.setTareSegmentSqe(new BigDecimal(sqe));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ tmstruckWeightResult.setTareSegmentSqe(new BigDecimal(sqe));
|
|
|
+ tmstruckWeightResult.setGrossSegmentSqe(new BigDecimal(sqe));
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ addWeightResult(tmstruckWeightResult, map);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return e.getMessage();
|
|
|
+ }
|
|
|
+ tmstruckWeightResultMapper.insertSelective(tmstruckWeightResult); //新增计量实绩
|
|
|
+ }else {
|
|
|
+ //如果不为空则证明进行过至少一次计量
|
|
|
+ tmstruckWeightResult.setId(DataChange.dataToBigDecimal(twoMap.get("weightTaskResultId")));
|
|
|
+ //取出计量数据与传进来的毛皮数据进行对比
|
|
|
+ BigDecimal inTareWeight = DataChange.dataToBigDecimal(twoMap.get("resultTareWeight"));
|
|
|
+ if(inTareWeight.compareTo(DataChange.dataToBigDecimal(map.get("resultTareWeight"))) > 0){
|
|
|
+ //如果取出来的皮重 大于 传进来的皮重 则需要调换路段顺序号
|
|
|
+ tmstruckWeightResult.setGrossSegmentSqe(DataChange.dataToBigDecimal(twoMap.get("tareSegmentSqe")));
|
|
|
+ tmstruckWeightResult.setTareSegmentSqe(new BigDecimal(sqe));
|
|
|
+ }else{
|
|
|
+ tmstruckWeightResult.setGrossSegmentSqe(new BigDecimal(sqe));
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ addWeightResult(tmstruckWeightResult, map);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return e.getMessage();
|
|
|
+ }
|
|
|
+ tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
|
|
|
+ }
|
|
|
+ //推送数据
|
|
|
+ utilsService.pushMesToWebsocket((String) oneMap.get("capacityNumber"), "计量");
|
|
|
+ //多趟次计量,净重已出则发送计量委托
|
|
|
+ Object resultNetWeight = map.get("resultNetWeight");
|
|
|
+ if(resultNetWeight != null && !"".equals(resultNetWeight)){
|
|
|
+ try {
|
|
|
+ Map<String, Object> stringObjectMap = tmstruckWeightResultMapper.selectWeightIdByOrderId(map);
|
|
|
+ if(stringObjectMap == null){
|
|
|
+ stringObjectMap = tmstruckWeightResultMapper.selectTotalIdByOrderNo(map);
|
|
|
+ }
|
|
|
+ stringObjectMap.put("materialId", DataChange.dataToBigDecimal(map.get("materialId")).intValue());
|
|
|
+ stringObjectMap.put("asd", 1);
|
|
|
+ Map<String, Object> returnMap = tmstruckFeign.sendMeasureCommission(stringObjectMap);
|
|
|
+ String code = (String) returnMap.get("code");
|
|
|
+ if(!"200".equals(code)){
|
|
|
+ System.out.println(returnMap.get("data"));
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("多趟计量发送委托失败:" + e.getMessage());
|
|
|
+ return e.getMessage();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return map.get("orderNumber") + "成功";
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 处理零星订单多拼方法
|
|
|
* @Author TXF
|