|
@@ -201,28 +201,18 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 国产矿新增导入
|
|
|
|
|
|
+ * 国产矿导入,返回配单信息
|
|
* @param mapValue
|
|
* @param mapValue
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- @Transactional(rollbackFor = {Exception.class})
|
|
|
|
- public int addDomesticLoadResult(Map<String, Object> mapValue) throws Exception {
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<Map<String, Object>> importDomesticLoadResult(Map<String, Object> mapValue) {
|
|
|
|
+ System.out.println("导入Excel:");
|
|
|
|
+ System.out.println(mapValue);
|
|
List<Map<String, Object>> list= (List<Map<String, Object>>) mapValue.get("list");
|
|
List<Map<String, Object>> list= (List<Map<String, Object>>) mapValue.get("list");
|
|
- String userId=null;
|
|
|
|
- if(mapValue.get("userId")!=null)
|
|
|
|
- userId=mapValue.get("userId").toString();
|
|
|
|
- else
|
|
|
|
- throw new Exception("用户id为空,请先登录再操作!");
|
|
|
|
- //装车实绩list
|
|
|
|
- List<TmstrainLoadingResult> loadingResults=new ArrayList<>();
|
|
|
|
//获取分隔符
|
|
//获取分隔符
|
|
List<String> splits=tmstrainLoadingResultMapper.findSplitsForDomestic();
|
|
List<String> splits=tmstrainLoadingResultMapper.findSplitsForDomestic();
|
|
- int i = 0;
|
|
|
|
- for(Map<String,Object> map:list){
|
|
|
|
- TmstrainLoadingResult result=new TmstrainLoadingResult();
|
|
|
|
- //设置序列号主键
|
|
|
|
- BigDecimal maxId = tmstrainLoadingResultMapper.selectMaxId();
|
|
|
|
- result.setResultId(maxId);
|
|
|
|
|
|
+ for(Map<String, Object> map:list){
|
|
//配单
|
|
//配单
|
|
List<Map<String,Object>> orderList= tmstrainLoadingResultMapper.getPurchaseOrderList(map);
|
|
List<Map<String,Object>> orderList= tmstrainLoadingResultMapper.getPurchaseOrderList(map);
|
|
if(orderList.size() <= 0){
|
|
if(orderList.size() <= 0){
|
|
@@ -236,22 +226,78 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ System.out.println("切割后的公司前缀:"+map.get("supplierName"));
|
|
orderList=tmstrainLoadingResultMapper.getPurchaseOrderList(map);
|
|
orderList=tmstrainLoadingResultMapper.getPurchaseOrderList(map);
|
|
|
|
+ map.remove("supplierName");
|
|
}
|
|
}
|
|
- if(orderList.size() > 0){
|
|
|
|
|
|
+ if(orderList.size() == 1){
|
|
|
|
+ //只有采购订单唯一才配单,其他一律原样返回
|
|
Map<String,Object> details=orderList.get(0);
|
|
Map<String,Object> details=orderList.get(0);
|
|
|
|
+ String purchaseOrderNo=(String) details.get("purchaseOrderNo");
|
|
|
|
+ String materialName=(String)details.get("materialName");
|
|
|
|
+ String resultForeignShipName=(String)details.get("resultForeignShipName");
|
|
|
|
+ String supplierName=(String)details.get("supplierName");
|
|
BigDecimal purchaseOrderId=DataChange.dataToBigDecimal(details.get("purchaseOrderId"));
|
|
BigDecimal purchaseOrderId=DataChange.dataToBigDecimal(details.get("purchaseOrderId"));
|
|
BigDecimal materialId=DataChange.dataToBigDecimal(details.get("materialId"));
|
|
BigDecimal materialId=DataChange.dataToBigDecimal(details.get("materialId"));
|
|
BigDecimal supplierId=DataChange.dataToBigDecimal(details.get("supplierId"));
|
|
BigDecimal supplierId=DataChange.dataToBigDecimal(details.get("supplierId"));
|
|
BigDecimal batchId=DataChange.dataToBigDecimal(details.get("batchId"));
|
|
BigDecimal batchId=DataChange.dataToBigDecimal(details.get("batchId"));
|
|
- result.setPurchaseOrderRailPlanId(purchaseOrderId);
|
|
|
|
- result.setMaterialId(materialId);
|
|
|
|
- result.setSendUnitId(supplierId);
|
|
|
|
- result.setBatchId(batchId);
|
|
|
|
|
|
+ map.put("purchaseOrderNo",purchaseOrderNo);
|
|
|
|
+ map.put("materialName",materialName);
|
|
|
|
+ map.put("unloadPoint",resultForeignShipName);
|
|
|
|
+ map.put("supplierName",supplierName);
|
|
|
|
+ map.put("purchaseOrderId",purchaseOrderId);
|
|
|
|
+ map.put("materialId",materialId);
|
|
|
|
+ map.put("supplierId",supplierId);
|
|
|
|
+ map.put("batchId",batchId);
|
|
}else{
|
|
}else{
|
|
- throw new Exception("没有对应的国产矿采购订单号:"+map.get("productName"));
|
|
|
|
|
|
+ map.put("purchaseOrderNo","请手动选择采购订单");
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+ System.out.println("返回配单数据:");
|
|
|
|
+ System.out.println(list);
|
|
|
|
+ return list;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 国产矿新增
|
|
|
|
+ * @param mapValue
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Transactional(rollbackFor = {Exception.class})
|
|
|
|
+ public int addDomesticLoadResult(Map<String, Object> mapValue) throws Exception {
|
|
|
|
+ System.out.println(mapValue);
|
|
|
|
+ List<Map<String, Object>> list= (List<Map<String, Object>>) mapValue.get("list");
|
|
|
|
+ String userId=null;
|
|
|
|
+ if(list.size()<=0){
|
|
|
|
+ throw new Exception("没有传入任何车皮");
|
|
|
|
+ }
|
|
|
|
+ if(mapValue.get("userId")!=null)
|
|
|
|
+ userId=mapValue.get("userId").toString();
|
|
|
|
+ else
|
|
|
|
+ throw new Exception("用户id为空,请先登录再操作!");
|
|
|
|
+ //装车实绩list
|
|
|
|
+ List<TmstrainLoadingResult> loadingResults=new ArrayList<>();
|
|
|
|
+ int i = 0;
|
|
|
|
+ for(Map<String,Object> map:list){
|
|
|
|
+ TmstrainLoadingResult result=new TmstrainLoadingResult();
|
|
|
|
+ //设置序列号主键
|
|
|
|
+ BigDecimal maxId = tmstrainLoadingResultMapper.selectMaxId();
|
|
|
|
+ result.setResultId(maxId);
|
|
//处理实绩表
|
|
//处理实绩表
|
|
|
|
+ BigDecimal purchaseOrderId=DataChange.dataToBigDecimal(map.get("purchaseOrderId"));
|
|
|
|
+ BigDecimal materialId=DataChange.dataToBigDecimal(map.get("materialId"));
|
|
|
|
+ BigDecimal supplierId=DataChange.dataToBigDecimal(map.get("supplierId"));
|
|
|
|
+ BigDecimal batchId=DataChange.dataToBigDecimal(map.get("batchId"));
|
|
|
|
+ if(purchaseOrderId.intValue()==0
|
|
|
|
+ || materialId.intValue()==0
|
|
|
|
+ || supplierId.intValue()==0
|
|
|
|
+ || batchId.intValue()==0){
|
|
|
|
+ throw new Exception("该车皮没有选择采购订单:"+map.get("wagonNo"));
|
|
|
|
+ }
|
|
|
|
+ result.setPurchaseOrderRailPlanId(purchaseOrderId);
|
|
|
|
+ result.setMaterialId(materialId);
|
|
|
|
+ result.setSendUnitId(supplierId);
|
|
|
|
+ result.setBatchId(batchId);
|
|
result.setArrivalStationId(new BigDecimal(map.get("arrivalStationId").toString()));//到站
|
|
result.setArrivalStationId(new BigDecimal(map.get("arrivalStationId").toString()));//到站
|
|
result.setResultLoadingDate(new Date((Long)map.get("resultLoadingDate")));//装车日期
|
|
result.setResultLoadingDate(new Date((Long)map.get("resultLoadingDate")));//装车日期
|
|
result.setResultType(new BigDecimal(map.get("resultType").toString()));//装车类型,国产矿应该为3
|
|
result.setResultType(new BigDecimal(map.get("resultType").toString()));//装车类型,国产矿应该为3
|
|
@@ -285,6 +331,9 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
|
|
addRegularField(result,userId);
|
|
addRegularField(result,userId);
|
|
//通过车皮号计算车皮标重
|
|
//通过车皮号计算车皮标重
|
|
result.setResultBillableTonnage(new BigDecimal(calculateWagonWeight(result.getResultWagonNo())));
|
|
result.setResultBillableTonnage(new BigDecimal(calculateWagonWeight(result.getResultWagonNo())));
|
|
|
|
+ if(result.getResultWagonNo().length()!=7 || result.getResultBillableTonnage().intValue()<=0){
|
|
|
|
+ throw new Exception("车皮号异常:"+result.getResultWagonNo());
|
|
|
|
+ }
|
|
//通过到站ID匹配计量衡 如果是老区轨道衡或者是新区轨道衡 则匹配轨道衡
|
|
//通过到站ID匹配计量衡 如果是老区轨道衡或者是新区轨道衡 则匹配轨道衡
|
|
//如果到站ID是老区轨道衡
|
|
//如果到站ID是老区轨道衡
|
|
BigDecimal arrivalStationId = result.getArrivalStationId();
|
|
BigDecimal arrivalStationId = result.getArrivalStationId();
|
|
@@ -312,7 +361,7 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
|
|
throw new Exception("计量委托发送失败!");
|
|
throw new Exception("计量委托发送失败!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return count;
|
|
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -670,7 +719,7 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public List<Map<String, Object>> getPurchaseOrderList(Map<String, Object> map) {
|
|
public List<Map<String, Object>> getPurchaseOrderList(Map<String, Object> map) {
|
|
- return tmstrainLoadingResultMapper.getPurchaseOrderList(map);
|
|
|
|
|
|
+ return tmstrainLoadingResultMapper.findPurchaseOrder(map);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|