liyg 2 年之前
父节点
当前提交
4e301976b0

+ 76 - 1
src/main/java/com/steerinfo/dil/controller/TMSController.java

@@ -536,7 +536,7 @@ public class TMSController extends BaseRESTfulController {
         map.put("userName",userName);
         map.put("businessType",businessType);
         //获取火车运单及计量详情
-        List<Map<String,Object>> orderList = universalMapper.findTrainOrder(map);
+        List<Map<String,Object>> orderList = universalMapper.findTrainWeight(map);
         if (orderList.size() <= 0) {
             throw new Exception("未查询到装车信息,请先上传装车作业!");
         }
@@ -555,6 +555,81 @@ public class TMSController extends BaseRESTfulController {
         return tmsFeign.purchaseTrainWeightList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
     }
 
+    @ApiOperation(value = "采购火运卸车作业")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseTrainUnload")
+//    @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"})
+    public Map<String, Object> purchaseTrainUnload(@RequestBody MultipartFile file,
+                                                   String businessType,
+                                                   String userId,
+                                                   String userName) throws Exception {
+        File excel = ExcelToolUtils.multipartFileToFile(file);
+        FileInputStream is = null;
+        String fileName = excel.getName();
+        // 解决fileName兼容性问题
+        int lastindex = fileName.lastIndexOf("\\");
+        fileName = fileName.substring(lastindex + 1);
+        if (fileName != null && fileName.length() > 0) {
+            is = new FileInputStream(excel);
+        }
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(is, fileName, 0);
+        map.put("list", list);
+        Set<String> capacitySet = new HashSet<>();//车牌号
+        for (Map<String, Object> item : list) {
+            //校验行
+            if(item.get("通知单号")==null || item.get("通知单号").equals("")
+                    || item.get("车号")==null || item.get("车号").equals("")
+                    || item.get("卸车日期")==null || item.get("卸车日期").equals("")
+                    || item.get("净重")==null || item.get("净重").equals("")){
+                throw new Exception("单元格数据异常(通知单号/车号/卸车日期/净重),请检查模板或数据是否正确!");
+            }
+            //校验数据
+            String requirementNumber = item.get("通知单号").toString();
+            if (map.get("requirementNumber") != null) {
+                if (map.get("requirementNumber").equals(requirementNumber)) {
+                    String unloadTime = map.get("unloadTime").toString();
+                    if(!unloadTime.equals(item.get("卸车日期").toString())){
+                        throw new Exception("同一个Excel只允许一批车辆,请检查卸车日期!");
+                    }
+                } else {
+                    throw new Exception("同一个Excel文件中只允许有一个通知单号!");
+                }
+            } else {
+                //不存在,新增
+                map.put("requirementNumber", requirementNumber);
+                map.put("unloadTime",item.get("卸车日期").toString());
+            }
+            //车牌号去重
+            capacitySet.add(item.get("车号").toString());
+        }
+        String[] capacities = capacitySet.toArray(new String[0]);//车牌号
+        if (capacities.length != list.size()) {
+            throw new Exception("车号不允许重复!");
+        }
+        map.put("userId",userId);
+        map.put("userName",userName);
+        map.put("businessType",businessType);
+        //获取火车运单及计量详情
+        List<Map<String,Object>> orderList = universalMapper.findTrainUnload(map);
+        if (orderList.size() <= 0) {
+            throw new Exception("未查询到装车信息,请先上传装车作业!");
+        }
+        map.put("orderList",orderList);
+        //新增TMS
+        return tmsFeign.purchaseTrainUnload(map);
+    }
+
+    @ApiOperation(value = "查询采购火运卸车")
+    @PostMapping("/purchaseTrainUnloadList")
+    public Map<String, Object> purchaseTrainUnloadList(@RequestBody(required = false) Map<String, Object> map,
+                                                       Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return tmsFeign.purchaseTrainUnloadList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
     @ApiOperation(value = "更改销售运输订单状态")
     @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
     @PostMapping(value = "/changeSaleTransOrder")

+ 10 - 0
src/main/java/com/steerinfo/dil/feign/TmsFeign.java

@@ -164,6 +164,13 @@ public interface TmsFeign {
                                               @RequestParam Integer pageNum,
                                               @RequestParam Integer pageSize);
 
+
+    @PostMapping("api/v1/tms/tmsunloadresults/purchaseTrainUnloadList")
+    Map<String, Object> purchaseTrainUnloadList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
     @PostMapping("api/v1/tms/tmsweightresults/purchaseTrainWeight")
     Map<String, Object> purchaseTrainWeight(Map<String, Object> map);
 
@@ -201,6 +208,9 @@ public interface TmsFeign {
     @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoad")
     Map<String, Object> purchaseTrainLoad(Map<String, Object> map);
 
+    @PostMapping("api/v1/tms/tmsunloadresults/purchaseTrainUnload")
+    Map<String, Object> purchaseTrainUnload(Map<String, Object> map);
+
     @PostMapping("api/v1/tms/omstransorders/changeSaleTransOrder")
     Map<String, Object> changeSaleTransOrder(Map<String, Object> map);
 

+ 5 - 2
src/main/java/com/steerinfo/dil/mapper/UniversalMapper.java

@@ -55,8 +55,11 @@ public interface UniversalMapper {
     //查询采购火运重复装车数量
     int countTrainLoad(Map<String, Object> map);
 
-    //查询采购火运对应运单
-    List<Map<String, Object>>  findTrainOrder(Map<String, Object> map);
+    //查询采购火运对应运单及计量实绩
+    List<Map<String, Object>>  findTrainWeight(Map<String, Object> map);
+
+    //查询采购火运对应运单及卸货实绩
+    List<Map<String, Object>>  findTrainUnload(Map<String, Object> map);
 
     List<Map<String, Object>> getBusinessTypeLike(Map<String, Object> map);
 }

+ 1 - 1
src/main/resources/application-prod.yml

@@ -35,7 +35,7 @@ openfeign:
   OMSFeign:
     url: ${OMSFEIGN_URL:172.16.90.214:8095}
   RmsFeign:
-    url: ${RMSFEIGN_URL:localhost:8060}
+    url: ${RMSFEIGN_URL:172.16.90.214:8060}
   IntegrationFeign:
     url: ${INTEGRATIONFEIGN_URL:172.16.90.214:8066}
   OTMSFeign:

+ 21 - 1
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -493,7 +493,7 @@
         </where>
         FETCH NEXT 100 ROWS ONLY
     </select>
-    <select id="findTrainOrder" resultType="java.util.Map">
+    <select id="findTrainWeight" resultType="java.util.Map">
         <foreach collection="list" item="item"  separator=" UNION " >
             SELECT OTO .TRANS_ORDER_ID "transOrderId",
             TWR .RESULT_ID "resultId",
@@ -515,5 +515,25 @@
             </where>
         </foreach>
     </select>
+    <select id="findTrainUnload" resultType="java.util.Map">
+        <foreach collection="list" item="item"  separator=" UNION " >
+            SELECT OTO .TRANS_ORDER_ID "transOrderId",
+            TUR .RESULT_ID "resultId",
+            #{item.车号} "capacityId",
+            #{item.净重} "unloadWeight"
+            FROM 	OMS_TRANS_ORDER OTO
+            LEFT JOIN TMS_UNLOAD_RESULT TUR
+            ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
+            LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
+            LEFT JOIN  AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
+            LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
+            LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
+            <where>
+                OTO.DELETED != 1
+                AND ATR.SERIAL_NUMBER =#{requirementNumber}
+                AND OTO.CAPACITY_ID = #{item.车号}
+            </where>
+        </foreach>
+    </select>
 
 </mapper>