Pārlūkot izejas kodu

Merge branch 'master' of https://gitee.com/antai-wuliu/ANTAI-API

dengpan 1 gadu atpakaļ
vecāks
revīzija
403c83ea79

+ 99 - 1
src/main/java/com/steerinfo/dil/controller/AMScontroller.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.steerinfo.dil.annotaion.LogAround;
 import com.steerinfo.dil.feign.AmsFeign;
 import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ExcelToolUtils;
 import com.steerinfo.framework.controller.RESTfulResult;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -866,10 +867,107 @@ public class AMScontroller  extends BaseRESTfulController {
     RESTfulResult updateBalancePl(@RequestBody Map<String,Object> map) {
         return amsFeign.updateBalancePl(map);
     }
-
     @ApiOperation("重导WMS")
     @PostMapping("/addWMS")
     RESTfulResult addWMS(@RequestBody Map<String,Object> map) {
         return amsFeign.addWMS(map);
     }
+ @ApiOperation("固定需求新增")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @LogAround(foreignKeys = {"fixedNeedsId"}, foreignKeyTypes = {"固定生产需求"})
+    @PostMapping("/fixedNeedsAdd")
+    RESTfulResult fixedNeedsAdd(@RequestBody(required = false) Map<String,Object> map) throws ParseException {
+        map.put("insertUsername", map.get("userName").toString());
+        if (map.containsKey("requirementStartTime")){
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementStartTime = simpleDateFormat.parse(map.get("requirementStartTime").toString());
+            map.put("requirementStartTime", requirementStartTime);
+        }
+
+        if (map.containsKey("requirementEndTime")){
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementEndTime = simpleDateFormat.parse(map.get("requirementEndTime").toString());
+            map.put("requirementEndTime", requirementEndTime);
+        }
+        if (map.containsKey("dueTime")){
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dueTime = simpleDateFormat.parse(map.get("dueTime").toString());
+            map.put("dueTime", dueTime);
+        }
+        return amsFeign.fixedNeedsAdd(map);};
+
+    @ApiOperation(value = "查询固定需求")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getfixdNeedsList")
+    RESTfulResult getfixdNeedsList(@RequestBody(required = false) Map<String, Object> map,
+                                Integer apiId,
+                                Integer pageNum,
+                                Integer pageSize
+    ) {
+        return amsFeign.getfixdNeedsList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+    @ApiOperation(value = "生产固定需求批量修改接口", notes = "生产固定需求批量修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    @PostMapping(value = "/fixedNeedsUpdate")
+    public Map<String, Object> fixedNeedsUpdate(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        map.put("insertUsername", map.get("userName").toString());
+        if (map.containsKey("requirementStartTime")){
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementStartTime = simpleDateFormat.parse(map.get("requirementStartTime").toString());
+            map.put("requirementStartTime", requirementStartTime);
+        }
+
+        if (map.containsKey("requirementEndTime")){
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementEndTime = simpleDateFormat.parse(map.get("requirementEndTime").toString());
+            map.put("requirementEndTime", requirementEndTime);
+        }
+        if (map.containsKey("dueTime")){
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dueTime = simpleDateFormat.parse(map.get("dueTime").toString());
+            map.put("dueTime", dueTime);
+        }
+        return amsFeign.fixedNeedsUpdate(map);
+    }
+    @ApiOperation(value = "生产固定需求逻辑删除", notes = "生产固定需求逻辑删除")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/getfixedNeedsDelete")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> getfixedNeedsDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.getfixedNeedsDelete(map);
+    }
+
+    @ApiOperation(value = "批量生产需求状态修改接口", notes = "生产需求状态修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/fixedNeedsChangeList")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> fixedNeedsChangeList(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.fixedNeedsChangeList(map);
+    }
+
+
+    @ApiOperation(value = "导入固定需求", notes = "导入固定需求")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/readFixedNeedsExcel")
+    public Map<String, Object> readFixedNeedsExcel(MultipartFile file) throws Exception {
+        return amsFeign.readFixedNeedsExcel(file);
+    }
 }

+ 192 - 105
src/main/java/com/steerinfo/dil/controller/TMSController.java

@@ -13,6 +13,7 @@ import com.steerinfo.framework.controller.RESTfulResult;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -431,43 +432,62 @@ public class TMSController extends BaseRESTfulController {
         map.put("list", list);
         //统计通知单的重量车数和车牌号
         Set<String> capacitySet = new HashSet<>();//车牌号
+        List<String> requirementList = new ArrayList<>();
+        String loadDate = null;
         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("")
                     || 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("单元格数据异常(通知单号/车号/装车日期/净重/皮重/毛重),请检查模板或数据是否正确!");
+                throw new Exception("单元格数据异常(通知单号/车号/装车日期/发站/到站/净重/皮重/毛重),请检查模板或数据是否正确!");
             }
+            item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
             //通知单统计
             String requirementNumber = item.get("通知单号").toString();
-            if (map.get("requirementNumber") != null) {
-                if (map.get("requirementNumber").equals(requirementNumber)) {
-                    //已存在,修改
-                    BigDecimal weight = DataChange.dataToBigDecimal(map.get("weight"));
-                    BigDecimal truckNumber = DataChange.dataToBigDecimal(map.get("truckNumber"));
-                    String loadTime = map.get("loadTime").toString();
-                    weight = weight.add(DataChange.dataToBigDecimal(item.get("净重")));
-                    truckNumber = truckNumber.add(new BigDecimal(1));
-                    map.put("weight", weight);
-                    map.put("truckNumber", truckNumber);
-                    if(!loadTime.equals(item.get("装车日期").toString())){
-                        throw new Exception("同一个Excel只允许一批车辆,请检查装车日期!");
-                    }
-                } else {
-                    throw new Exception("同一个Excel文件中只允许有一个通知单号!");
+            if (map.get(requirementNumber) != null) {
+                //已存在,修改
+                Map<String,Object> requirementMap =(Map<String, Object>) map.get(requirementNumber);
+                BigDecimal weight = DataChange.dataToBigDecimal(requirementMap.get("weight"));
+                BigDecimal truckNumber = DataChange.dataToBigDecimal(requirementMap.get("truckNumber"));
+                String loadTime = requirementMap.get("loadTime").toString();
+                List<Map<String,Object>> trainList = (ArrayList) requirementMap.get("trainList");
+                weight = weight.add(DataChange.dataToBigDecimal(item.get("净重")));
+                truckNumber = truckNumber.add(new BigDecimal(1));
+                trainList.add(item);
+                requirementMap.put("weight", weight);
+                requirementMap.put("truckNumber", truckNumber);
+                requirementMap.put("trainList",trainList);
+                if(!loadTime.equals(item.get("装车日期").toString())){
+                    throw new Exception("同一个Excel只允许一批车辆,请检查装车日期!");
                 }
             } else {
                 //不存在,新增
+                Map<String,Object> requirementMap = new HashMap<>();
+                List<Map<String,Object>> trainList = new ArrayList<>();
+                trainList.add(item);
                 BigDecimal weight = DataChange.dataToBigDecimal(item.get("净重"));
                 BigDecimal truckNumber = new BigDecimal(1);
                 String loadTime = item.get("装车日期").toString();
-                map.put("requirementNumber", requirementNumber);
-                map.put("weight", weight);
-                map.put("truckNumber", truckNumber);
-                map.put("loadTime",loadTime);
+                if(loadDate == null){
+                    loadDate = loadTime;
+                    map.put("loadDate",loadDate);
+                }else if(!loadDate.equals(loadTime)){
+                    throw new Exception("同一个Excel只允许一批车辆,请检查装车日期!");
+                }
+                requirementMap.put("requirementNumber", requirementNumber);
+                requirementMap.put("weight", weight);
+                requirementMap.put("truckNumber", truckNumber);
+                requirementMap.put("loadTime",loadTime);
+                requirementMap.put("trainList",trainList);
+                requirementMap.put("userId",userId);
+                requirementMap.put("userName",userName);
+                requirementMap.put("businessType",businessType);
+                requirementList.add(requirementNumber);
+                map.put(requirementNumber, requirementMap);
             }
             //车牌号去重
             capacitySet.add(item.get("车号").toString());
@@ -478,26 +498,23 @@ public class TMSController extends BaseRESTfulController {
         }
         //新增火车运力资源
         String[] capacities = capacitySet.toArray(new String[0]);//车牌号
-        if (capacities.length != list.size()) {
-            throw new Exception("车号不允许重复!");
-        } else {
-            try{
-                new Runnable() {
-                    @Override
-                    public void run() {
-                        Map<String, Object> capacityMap = new HashMap<>();
-                        capacityMap.put("capacities", capacities);
-                        capacityMap.put("userId", userId);
-                        capacityMap.put("userName", userName);
-                        rmsFeign.batchInsertCapacityTrain(capacityMap);
-                    }
-                }.run();
-            }catch (Exception e){e.printStackTrace();}
-        }
+        try{
+            new Runnable() {
+                @Override
+                public void run() {
+                    Map<String, Object> capacityMap = new HashMap<>();
+                    capacityMap.put("capacities", capacities);
+                    capacityMap.put("userId", userId);
+                    capacityMap.put("userName", userName);
+                    rmsFeign.batchInsertCapacityTrain(capacityMap);
+                }
+            }.run();
+        }catch (Exception e){e.printStackTrace();}
         //新增AMS及TMS
         map.put("userId",userId);
         map.put("userName",userName);
         map.put("businessType",businessType);
+        map.put("requirementList",requirementList);
         return tmsFeign.purchaseTrainLoad(map);
     }
 
@@ -511,6 +528,27 @@ public class TMSController extends BaseRESTfulController {
     }
 
 
+    @ApiOperation(value = "查询采购火运装货报表")
+    @PostMapping("/purchaseTrainLoadReport")
+    public Map<String, Object> purchaseTrainLoadReport(@RequestBody(required = false) Map<String, Object> map,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize) {
+        return tmsFeign.purchaseTrainLoadReport(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "修改火运装车")
+    @PostMapping("/updateTrainLoad")
+    public Map<String, Object> updateTrainLoad(@RequestBody(required = false) Map<String, Object> map){
+        return tmsFeign.updateTrainLoad(map);
+    }
+
+    @ApiOperation(value = "修改火运装车序号")
+    @PostMapping("/updateTrainLoadSeq")
+    public Map<String, Object> updateTrainLoadSeq(@RequestBody(required = false) Map<String, Object> map){
+        return tmsFeign.updateTrainLoadSeq(map);
+    }
+
     @ApiOperation(value = "采购火运计量作业")
     @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
     @PostMapping(value = "/purchaseTrainWeight")
@@ -524,37 +562,23 @@ public class TMSController extends BaseRESTfulController {
         List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
         map.put("list", list);
         Set<String> capacitySet = new HashSet<>();//车牌号
+        String weightTime = null;
         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("")
                     || item.get("皮重")==null || item.get("皮重").equals("")
                     || item.get("毛重")==null || item.get("毛重").equals("")){
                 throw new Exception("单元格数据异常(通知单号/车号/计量日期/净重/皮重/毛重),请检查模板或数据是否正确!");
             }
+            item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
             //校验数据
-            String requirementNumber = item.get("通知单号").toString();
-            if (map.get("requirementNumber") != null) {
-                if (map.get("requirementNumber").equals(requirementNumber)) {
-                    String weightTime = map.get("weightTime").toString();
-                    if(!weightTime.equals(item.get("计量日期").toString())){
-                        throw new Exception("同一个Excel只允许一批车辆,请检查计量日期!");
-                    }
-                    //更新重量
-                    BigDecimal weight = DataChange.dataToBigDecimal(map.get("weight"));
-                    weight = weight.add(DataChange.dataToBigDecimal(item.get("净重")));
-                    map.put("weight", weight);
-                } else {
-                    throw new Exception("同一个Excel文件中只允许有一个通知单号!");
-                }
-            } else {
-                //不存在,新增
-                map.put("requirementNumber", requirementNumber);
-                map.put("weightTime",item.get("计量日期").toString());
-                map.put("weight",DataChange.dataToBigDecimal(item.get("净重")));
-            }
+//            if(weightTime == null){
+//                weightTime = item.get("计量日期").toString();
+//            }else if(!weightTime.equals(item.get("计量日期").toString())){
+//                throw new Exception("同一个Excel只允许一批车辆,请检查计量日期!");
+//            }
             //车牌号去重
             capacitySet.add(item.get("车号").toString());
         }
@@ -566,19 +590,52 @@ public class TMSController extends BaseRESTfulController {
         map.put("userName",userName);
         map.put("businessType",businessType);
         //获取火车运单及计量详情
-        List<Map<String,Object>> orderList = universalMapper.findTrainWeight(map);
-        if (orderList.size() <= 0) {
+        List<Map<String,Object>> orderListAll = universalMapper.findTrainWeight(map);
+        if (orderListAll.size() <= 0) {
             throw new Exception("未查询到装车信息,请先上传装车作业!");
-        } else if(orderList.size() != universalMapper.countTransOrder(orderList.get(0))){
-            throw new Exception("计量信息与装车信息数量不一致,请重新上传!");
-        } else if(orderList.get(0).get("unloadResultId")!=null){
-            throw new Exception("车皮已卸车,不允许再上传计量!");
         }
-        map.put("orderList",orderList);
-        map.put("transPlanId",orderList.get(0).get("transPlanId"));
-        map.put("materialId",orderList.get(0).get("materialId"));
-        //新增TMS
-        return tmsFeign.purchaseTrainWeight(map);
+        List<String> requireList = new ArrayList<>();
+        for(Map<String,Object> order : orderListAll){
+            if(order.get("unloadResultId") != null){
+                throw new Exception(order.get("capacityId")+"已卸车,不允许再上传计量!");
+            }
+            String requireNumber = order.get("requireNumber").toString();
+            Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
+            if(requirementMap!=null){
+                List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
+                orderList.add(order);
+                BigDecimal weight = DataChange.dataToBigDecimal(requirementMap.get("weight"));
+                requirementMap.put("weight",weight.add(DataChange.dataToBigDecimal(order.get("netWeight"))));
+                requirementMap.put("orderList",orderList);
+            }else{
+                requirementMap = new HashMap<>();
+                List<Map<String,Object>> orderList = new ArrayList<>();
+                orderList.add(order);
+                BigDecimal weight = DataChange.dataToBigDecimal(order.get("netWeight"));
+                requirementMap.put("transPlanId",order.get("transPlanId"));
+                requirementMap.put("materialId",order.get("materialId"));
+                requirementMap.put("weight",weight);
+                requirementMap.put("weightTime",weightTime);
+                requirementMap.put("userId",userId);
+                requirementMap.put("userName",userName);
+                requirementMap.put("orderList",orderList);
+                requireList.add(requireNumber);
+            }
+            map.put(requireNumber,requirementMap);
+        }
+        Map<String,Object> result = null;
+        for(String requireNumber : requireList){
+            Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
+            List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
+            if(universalMapper.countTransOrder(requirementMap) != orderList.size()){
+                throw new Exception("计量车数与装车车数不一致!");
+            }
+            result = tmsFeign.purchaseTrainWeight(requirementMap);
+            if (!"succeed".equals(result.get("status"))) {
+                throw new Exception("计量上传失败:" + result.get("message"));
+            }
+        }
+        return result;
     }
 
 
@@ -604,33 +661,23 @@ public class TMSController extends BaseRESTfulController {
         List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
         map.put("list", list);
         Set<String> capacitySet = new HashSet<>();//车牌号
+        String unloadTime = null;
         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("")){
+                    || item.get("皮重")==null || item.get("皮重").equals("")
+                    || item.get("毛重")==null || item.get("毛重").equals("")){
                 throw new Exception("单元格数据异常(通知单号/车号/卸车日期/净重),请检查模板或数据是否正确!");
             }
+            item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
             //校验数据
-            String requirementNumber = item.get("通知单号").toString();
-            BigDecimal weight = DataChange.dataToBigDecimal(item.get("净重"));
-            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文件中只允许有一个通知单号!");
-                }
-                map.put("weight", weight.add(DataChange.dataToBigDecimal(map.get("weight"))));
-            } else {
-                //不存在,新增
-                map.put("requirementNumber", requirementNumber);
-                map.put("weight", weight);
-                map.put("unloadTime",item.get("卸车日期").toString());
-            }
+//            if(unloadTime == null){
+//                unloadTime = item.get("卸车日期").toString();
+//            }else if(!unloadTime.equals(item.get("卸车日期").toString())){
+//                throw new Exception("同一个Excel只允许一批车辆,请检查卸车日期!");
+//            }
             //车牌号去重
             capacitySet.add(item.get("车号").toString());
         }
@@ -642,26 +689,50 @@ public class TMSController extends BaseRESTfulController {
         map.put("userName",userName);
         map.put("businessType",businessType);
         //获取火车运单及计量详情
-        List<Map<String,Object>> orderList = universalMapper.findTrainUnload(map);
-        if (orderList.size() <= 0) {
+        List<Map<String,Object>> orderListAll = universalMapper.findTrainUnload(map);
+        if (orderListAll.size() <= 0) {
             throw new Exception("未查询到装车信息,请先上传装车作业!");
-        } else if(orderList.size() != universalMapper.countTransOrder(orderList.get(0))){
-            throw new Exception("卸货信息与装车信息数量不一致,请重新上传!");
         }
-        //获取原本重量之和
-        BigDecimal weightOld = BigDecimal.ZERO;
-        for(Map<String,Object> item : orderList){
-            weightOld = weightOld.add(DataChange.dataToBigDecimal(item.get("unloadWeightOld")));
+        List<String> requireList = new ArrayList<>();
+        for(Map<String,Object> order : orderListAll){
+            if(order.get("unloadResultId") != null){
+                throw new Exception(order.get("capacityId")+"已卸车,不允许再上传!");
+            }
+            String requireNumber = order.get("requireNumber").toString();
+            Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
+            if(requirementMap!=null){
+                List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
+                orderList.add(order);
+                requirementMap.put("orderList",orderList);
+            }else{
+                requirementMap = new HashMap<>();
+                List<Map<String,Object>> orderList = new ArrayList<>();
+                orderList.add(order);
+                requirementMap.put("transPlanId",order.get("transPlanId"));
+                requirementMap.put("materialId",order.get("materialId"));
+                requirementMap.put("unloadPointId",order.get("unloadPointId"));
+                requirementMap.put("unloadTime",unloadTime);
+                requirementMap.put("userId",userId);
+                requirementMap.put("userName",userName);
+                requirementMap.put("orderList",orderList);
+                requirementMap.put("requirementSerialNumber",requireNumber);
+                requireList.add(requireNumber);
+            }
+            map.put(requireNumber,requirementMap);
+        }
+        Map<String,Object> result = null;
+        for(String requireNumber : requireList){
+            Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
+            List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
+//            if(universalMapper.countTransOrder(requirementMap) != orderList.size()){
+//                throw new Exception("卸车车数与装车车数不一致!");
+//            }
+            result = tmsFeign.purchaseTrainUnload(requirementMap);
+            if (!"succeed".equals(result.get("status"))) {
+                throw new Exception("上传失败:" + result.get("message"));
+            }
         }
-        map.put("weightOld",weightOld);
-        map.put("diff",DataChange.dataToBigDecimal(map.get("weight").toString()).subtract(weightOld));
-        map.put("orderList",orderList);
-        map.put("requirementSerialNumber",orderList.get(0).get("requirementSerialNumber"));
-        map.put("transPlanId",orderList.get(0).get("transPlanId"));
-        map.put("materialId",orderList.get(0).get("materialId"));
-        map.put("unloadPointId",orderList.get(0).get("unloadPointId"));
-        //新增TMS
-        return tmsFeign.purchaseTrainUnload(map);
+        return result;
     }
 
     @ApiOperation(value = "查询采购火运卸车")
@@ -797,4 +868,20 @@ public class TMSController extends BaseRESTfulController {
     public RESTfulResult revokeOutBound(@RequestBody Map<String, Object> map) {
         return tmsFeign.revokeOutBound(map);
     }
+
+
+    @ApiOperation(value = "查询车辆登记单信息")
+    @PostMapping("/likeTransitOrders")
+    public Map<String, Object> likeTransitOrders(@RequestBody(required = false) Map<String, Object> map,
+                                                      Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize) {
+        return tmsFeign.likeTransitOrders(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增车辆登记单信息")
+    @PostMapping("/insertTmsTransitOrder")
+    public Map<String,Object> insertTmsTransitOrder(@RequestBody Map<String,Object> map) {
+        return tmsFeign.insertTmsTransitOrder(map);
+    }
 }

+ 22 - 3
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -323,7 +323,26 @@ public interface AmsFeign {
 
     @PostMapping(value = "api/v1/ams/amstransrequirements/updateBalancePl")
     RESTfulResult updateBalancePl(@RequestBody Map<String, Object> map);
-
     @PostMapping(value = "api/v1/ams/amstransrequirements/addWMS")
-    RESTfulResult addWMS(@RequestBody Map<String, Object> map);
-}
+    RESTfulResult addWMS(@RequestBody Map<String, Object> map);  @PostMapping(value = "api/v1/ams/amsfixedneedss/fixedNeedsAdd")
+    RESTfulResult fixedNeedsAdd(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/getfixdNeedsList")
+    RESTfulResult getfixdNeedsList(@RequestBody Map<String, Object> objectMap,
+                                @RequestParam Integer apiId,
+                                @RequestParam Integer pageNum,
+                                @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/fixedNeedsUpdate")
+    Map<String, Object> fixedNeedsUpdate(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/getfixedNeedsDelete")
+    Map<String, Object> getfixedNeedsDelete(@RequestBody(required = false)Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/fixedNeedsChangeList")
+    Map<String, Object> fixedNeedsChangeList(@RequestBody Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/readFixedNeedsExcel", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    Map<String, Object> readFixedNeedsExcel(MultipartFile file );}

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

@@ -172,6 +172,18 @@ public interface TmsFeign {
                                               @RequestParam Integer pageNum,
                                               @RequestParam Integer pageSize);
 
+    @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoadReport")
+    Map<String, Object> purchaseTrainLoadReport(@RequestBody(required = false) Map<String, Object> map,
+                                              @RequestParam Integer apiId,
+                                              @RequestParam Integer pageNum,
+                                              @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/updateTrainLoad")
+    Map<String, Object> updateTrainLoad(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/updateTrainLoadSeq")
+    Map<String, Object> updateTrainLoadSeq(Map<String, Object> map);
+
 
     @PostMapping("api/v1/tms/tmsweightresults/purchaseTrainWeightList")
     Map<String, Object> purchaseTrainWeightList(@RequestBody(required = false) Map<String, Object> map,
@@ -287,6 +299,15 @@ public interface TmsFeign {
 
     @PostMapping(value = "api/v1/tms/omstransorders/revokeOutBound")
     RESTfulResult revokeOutBound(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/likeTransitOrders")
+    Map<String, Object> likeTransitOrders(@RequestBody Map<String, Object> objectMap,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/insertTmsTransitOrder")
+    Map<String, Object> insertTmsTransitOrder(Map<String, Object> map);
 }
 
 

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

@@ -41,7 +41,7 @@ openfeign:
   SSOFeign:
     url: ${SSOFEIGN_URL:172.16.90.202:80}
   WebSocketFeign:
-    url: ${WEBSOCKETFEIGN_URL:172.16.90.214:8000}
+    url: ${WEBSOCKETFEIGN_URL:172.16.90.202:8000}
   REPORTFeign:
     url: ${REPORTFEIGN_URL:172.16.90.202:8000}
 #    url: ${REPORTFEIGN_URL:localhost:8055}

+ 3 - 2
src/main/resources/com/steerinfo/dil/mapper/CommonMapper.xml

@@ -54,11 +54,12 @@
                         )
                     </when>
                     <when test="item == 'businessCompany'">
-                        "businessCompanyId"
-                        in
+                        "businessCompanyId" in(
+                        select COMPANY_ID from RMS_COMPANY where COMPANY_NAME in(select COMPANY_NAME FROM RMS_COMPANY where COMPANY_ID in
                         <foreach collection="dilCompanyList" open="(" close=")" separator="," item="item" index="index">
                             #{item.companyId}
                         </foreach>
+                        ))
                     </when>
                     <when test="item == 'approveBusinessCompany'">
                         "approveBusinessCompanyId"

+ 40 - 36
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -310,7 +310,8 @@
         OPERATION_POINT_ID "value",
         OPERATION_POINT_NAME "OPERATION_POINT_NAME",
         OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "label",
-        OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "text"
+        OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "text",
+        OPERATION_POINT_CODE "code"
         from RMS_OPERATION_POINT
         <where>
             DELETED = 0
@@ -339,7 +340,8 @@
             OPERATION_POINT_ID "value",
             OPERATION_POINT_NAME "OPERATION_POINT_NAME",
             OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "label",
-            OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "text"
+            OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "text",
+            OPERATION_POINT_CODE "code"
             from RMS_OPERATION_POINT
             where  OPERATION_POINT_ID in
             <foreach collection="id" item="item"  open="(" close=")" separator="," >
@@ -474,10 +476,8 @@
         RCA.REMARK1 "remark1",
         RCA.CAPACITY_NUMBER "capacityNumber",
         (case
-        when RCA.deleted = '3' is not null then '维保'
         when oto.capacity_id is null then '空闲'
         when oto.deleted != '2' and oto.capacity_id is not null then '已派'
-        when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
         end) "status",
         RCT.CAPACITY_TYPE_NAME "capacityTypeName",
         'capacityNumber' "prop"
@@ -638,8 +638,10 @@
         else RCA.REMARK1
         end "capacityNumber",
         (case
+        when RCA.deleted = '3' then '维保'
         when oto.capacity_id is null then '空闲'
         when oto.deleted != '2' and oto.capacity_id is not null then '已派'
+        when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
         end) "status",
         RCT.CAPACITY_TYPE_NAME "capacityTypeName",
         'capacityNumber' "prop"
@@ -671,18 +673,6 @@
             ) T ON T."capacityId" = RCA .CAPACITY_ID
         </if>
         WHERE RCA .DELETED = 0
-        <if test="capacityTypeId !=null">
-            AND (RCT.CAPACITY_TYPE_ID in (
-                select rct.capacity_type_id from rms_capacity_type rct
-                START WITH rct.capacity_type_id = #{capacityTypeId}
-                connect BY PRIOR rct.capacity_type_id = rct.p_capacity_type_id
-                )
-                or RCA.CAPACITY_TYPE_ID2 in (
-                select rct.capacity_type_id from rms_capacity_type rct
-                START WITH rct.capacity_type_id = #{capacityTypeId}
-                connect BY PRIOR rct.capacity_type_id = rct.p_capacity_type_id
-            ))
-        </if>
         <if test="capacityType != null and capacityType != '' ">
             AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
         </if>
@@ -850,10 +840,6 @@
         on RC.trans_range_id = t1.trans_range_id
         <where>
             and RC.DELETED = 0
-            <if test="isNc!=null and isNc!=''">
-                and rop_s.alternate_fields1 = 'NC'
-                and rop_e.alternate_fields1 = 'NC'
-            </if>
         </where>
         )
         <where>
@@ -1145,11 +1131,11 @@
         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 TLR.LOAD_START_TIME = to_date(#{loadTime}, 'yyyymmdd')
-            AND OTO.CAPACITY_ID IN
-            <foreach collection="list" item="item"  open="(" close=")" separator="," >
-                #{item.车号}
+            AND TLR.LOAD_START_TIME = to_date(#{loadDate}, 'yyyymmdd')
+            AND
+            <foreach collection="list" item="item"  open="(" close=")" separator="OR" >
+                ATR.SERIAL_NUMBER = #{item.通知单号}
+                AND OTO.CAPACITY_ID = #{item.车号}
             </foreach>
         </where>
     </select>
@@ -1215,21 +1201,26 @@
             APC .MATERIAL_ID "materialId",
             TWR .RESULT_ID "resultId",
             TUR .RESULT_ID "unloadResultId",
+            #{item.通知单号} "requireNumber",
+            #{item.计量日期} "weightTime",
             #{item.车号} "capacityId",
             #{item.净重} "netWeight",
             #{item.皮重} "tareWeight",
             #{item.毛重} "grossWeight"
             FROM 	OMS_TRANS_ORDER OTO
             LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
+            LEFT JOIN TMS_LOAD_RESULT TLR ON TLR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
             LEFT JOIN TMS_WEIGHT_RESULT TWR
-                ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
+                ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{item.计量日期}, 'yyyymmdd')
             LEFT JOIN TMS_UNLOAD_RESULT TUR ON TUR .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 30 >= TO_NUMBER (to_date(#{item.计量日期}, 'yyyymmdd') - TLR.LOAD_START_TIME)
+                AND TO_NUMBER (to_date(#{item.计量日期}, 'yyyymmdd') - TLR.LOAD_START_TIME) >= 0
+                AND ATR.SERIAL_NUMBER =#{item.通知单号}
                 AND OTO.CAPACITY_ID = #{item.车号}
             </where>
         </foreach>
@@ -1244,18 +1235,27 @@
             APC .TRANS_PLAN_ID "transPlanId",
             ARC .RECEIVING_POINT_ID "unloadPointId",
             APC .MATERIAL_ID "materialId",
+            #{item.卸车日期} "unloadTime",
             #{item.车号} "capacityId",
-            #{item.净重} "unloadWeight"
+            #{item.通知单号} "requireNumber",
+            CASE
+                WHEN TWR .NET_WEIGHT > 0 THEN TWR .NET_WEIGHT
+                ELSE TLR .ACTUAL_TONNAGE
+            END  "unloadWeight"
             FROM 	OMS_TRANS_ORDER OTO
             LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
+            LEFT JOIN TMS_LOAD_RESULT TLR ON TLR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
+            LEFT JOIN TMS_WEIGHT_RESULT TWR ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
             LEFT JOIN TMS_UNLOAD_RESULT TUR
-            ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
+            ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{item.卸车日期}, 'yyyymmdd')
             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 30 >= TO_NUMBER (to_date(#{item.卸车日期}, 'yyyymmdd') - TLR.LOAD_START_TIME)
+                AND TO_NUMBER (to_date(#{item.卸车日期}, 'yyyymmdd') - TLR.LOAD_START_TIME) >= 0
+                AND ATR.SERIAL_NUMBER =#{item.通知单号}
                 AND OTO.CAPACITY_ID = #{item.车号}
             </where>
         </foreach>
@@ -1612,9 +1612,7 @@
         RP.PERSONNEL_PHONE "personnelPhone",
         RP.IDENTITY_CARD "personnelCard",
         RP.INNNER_CODE "innerCode",
-        (
-        select count(*) from oms_trans_order oto where oto.driver_id = rp.personnel_id or oto.driver_id2 = rp.personnel_id
-        ) "orders",
+        oto.oto_count+oto2.oto_count "orders",
         to_char(RP.SSO_ID) "ssoId",
         RP.PERSONNEL_ID "id",
         RP.PERSONNEL_ID "value",
@@ -1626,6 +1624,10 @@
         </if>
         FROM
         RMS_PERSONNEL RP
+        left join (select count(*) oto_count,oto.driver_id from oms_trans_order oto group by oto.driver_id) oto
+            on oto.driver_id = RP.PERSONNEL_ID
+        left join (select count(*) oto_count,oto.driver_id2 from oms_trans_order oto group by oto.driver_id2) oto2
+            on oto2.driver_id2 = RP.PERSONNEL_ID
         <if test="capacityId!=null and capacityId!=''">
             LEFT JOIN (
             SELECT DRIVER_ID "driverId",
@@ -1677,9 +1679,7 @@
             RP.PERSONNEL_PHONE "personnelPhone",
             RP.IDENTITY_CARD "personnelCard",
             RP.INNNER_CODE "innerCode",
-            (
-            select count(*) from oms_trans_order oto where oto.driver_id = rp.personnel_id or oto.driver_id2 = rp.personnel_id
-            ) "orders",
+            oto.oto_count+oto2.oto_count "orders",
             to_char(RP.SSO_ID) "ssoId",
             RP.PERSONNEL_ID "id",
             RP.PERSONNEL_ID "value",
@@ -1690,6 +1690,10 @@
                 ,NVL(T ."countNumber",0) "countNumber"
             </if>
             from RMS_PERSONNEL RP
+            left join (select count(*) oto_count,oto.driver_id from oms_trans_order oto group by oto.driver_id) oto
+            on oto.driver_id = RP.PERSONNEL_ID
+            left join (select count(*) oto_count,oto.driver_id2 from oms_trans_order oto group by oto.driver_id2) oto2
+            on oto2.driver_id2 = RP.PERSONNEL_ID
             <if test="capacityId!=null and capacityId!=''">
                 LEFT JOIN (
                 SELECT DRIVER_ID "driverId",