| 
					
				 | 
			
			
				@@ -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 
			 |