package com.steerinfo.dil.controller; import com.steerinfo.dil.annotaion.LogAround; import com.steerinfo.dil.annotaion.RequestLimit; import com.steerinfo.dil.feign.AmsFeign; import com.steerinfo.dil.feign.RmsFeign; import com.steerinfo.dil.feign.TmsFeign; import com.steerinfo.dil.mapper.UniversalMapper; 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; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileInputStream; import java.math.BigDecimal; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import com.steerinfo.dil.util.DataChange; import org.springframework.web.multipart.MultipartRequest; /** * @author luobang * @create 2021-09-17 14:11 */ @RestController @RequestMapping("${api.version}/tms") public class TMSController extends BaseRESTfulController { @Autowired private TmsFeign tmsFeign; @Autowired private AmsFeign amsFeign; @Autowired private RmsFeign rmsFeign; @Autowired private UniversalMapper universalMapper; @ApiOperation(value = "车辆实绩") @ApiImplicitParams({ @ApiImplicitParam(name = "map", 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 = "/getcomprehensiveresults") public Map getecomprehensiveresultslist(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getAmsSalaryContracList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "新增车辆实绩") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"}) @PostMapping("/addcomprehensiveresults") public Map insertcomprehensiveresults(@RequestBody(required = false) Map map) throws ParseException { if (!map.isEmpty()) { if (!map.get("resultTime").toString().isEmpty()) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date resultTime = simpleDateFormat.parse(map.get("resultTime").toString()); map.put("resultTime", resultTime); } } map.put("insertUsername", map.get("userName").toString()); return tmsFeign.insertAmsSalaryContrac(map); } @ApiOperation(value = "车辆实绩删除") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PutMapping(value = "/comprehensiveresultslogicdelete") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"}) public Map comprehensiveresultsLogicDelete(@RequestBody(required = false) Map map) { return tmsFeign.logicdeleteAmsSaalryContrac(map); } @ApiOperation(value = "修改车辆实绩") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PutMapping(value = "/comprehensiveresultsupadete/{id}") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"}) public Map comprehensiveresultsUpdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map map) { map.put("updateUsername", map.get("userName").toString()); return tmsFeign.updateAmsSalaryContrac(id, map); } @ApiOperation(value = "派发运输订单") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/dispatchOrder") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"}) public Map dispatchOrder(@RequestBody(required = false) Map map) { return tmsFeign.dispatchOrder(map); } @ApiOperation(value = "批量派发运输订单") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/batchDispatch") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"}) public Map batchDispatch(@RequestBody(required = false) Map map) { return tmsFeign.batchDispatch(map); } @ApiOperation(value = "修改运输订单") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/updateTransOrder") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"}) public Map updateTransOrder(@RequestBody(required = false) Map map) { return tmsFeign.updateTransOrder(map); } @ApiOperation(value = "合并运输订单") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/mergeTransOrder") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"}) public Map mergeTransOrder(@RequestBody(required = false) Map map) { return tmsFeign.mergeTransOrder(map); } @ApiOperation(value = "更改运输订单状态") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/changeTransOrder") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"}) public Map changeTransOrder(@RequestBody(required = false) Map map) { return tmsFeign.changeTransOrder(map); } @ApiOperation(value = "司机接收运单") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/receiptOrder") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"}) public Map receiptOrder(@RequestBody(required = false) Map map) { return tmsFeign.receiptOrder(map); } @ApiOperation(value = "查询运输订单") @PostMapping("/getTransOrderList") public Map getTransOrderList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getTransOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询运输订单所有运输实绩") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/getTransResult") public Map getTransResult(@RequestBody(required = false) Map map) { return tmsFeign.getTransResult(map); } @ApiOperation(value = "同步进厂") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/syncEnfactoryResult") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"进厂实绩"}) public Map syncEnfactoryResult(@RequestBody(required = false) Map map) { return tmsFeign.syncEnfactoryResult(map); } @ApiOperation(value = "同步出厂") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/syncOutfactoryResult") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"出厂实绩"}) public Map syncOutfactoryResult(@RequestBody(required = false) Map map) { return tmsFeign.syncOutfactoryResult(map); } @ApiOperation(value = "同步计量") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/syncWeightResult") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计量实绩"}) public Map syncWeightResult(@RequestBody(required = false) Map map) { return tmsFeign.syncWeightResult(map); } @ApiOperation(value="计时") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/startend") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计时"}) @RequestLimit public Map start(@RequestBody(required = false) Map map) { return tmsFeign.startend(map); } @ApiOperation(value = "查询计时") @PostMapping("/tmstimingresultsList") public Map tmstimingresultsList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.tmstimingresultsList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "修改计时") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/tmstimingresultsUpdate") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"修改计时"}) public Map tmstimingresultsUpdate(@RequestBody(required = false) Map map) { return tmsFeign.tmstimingresultsUpdate(map); } @ApiOperation(value = "销售派发运输订单") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/saleDispatchOrder") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"}) public Map saleDispatchOrder(@RequestBody(required = false) Map map) { return tmsFeign.saleDispatchOrder(map); } @ApiOperation(value = "查询销售运输订单") @PostMapping("/getSaleTransOrderList") public Map getSaleTransOrderList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getSaleTransOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "同步质检") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/syncQualityResult") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"质检实绩"}) public Map syncQualityResult(@RequestBody(required = false) Map map) { return tmsFeign.syncQualityResult(map); } @ApiOperation(value = "签到") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/signIn") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签到实绩"}) public Map signIn(@RequestBody(required = false) Map map) { return tmsFeign.signIn(map); } @ApiOperation(value = "换车头") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/replaceFront") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"换车头实绩"}) public Map replaceFront(@RequestBody(required = false) Map map) { return tmsFeign.replaceFront(map); } @ApiOperation(value = "装货") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/load") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"}) public Map load(@RequestBody(required = false) Map map) { return tmsFeign.load(map); } @ApiOperation(value = "装货修改") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/loadUpd") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"}) public Map loadUpd(@RequestBody(required = false) Map map) { return tmsFeign.loadUpd(map); } @ApiOperation(value = "卸货") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/unload") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"}) public Map unload(@RequestBody(required = false) Map map) { return tmsFeign.unload(map); } @ApiOperation(value = "卸货修改") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/unloadUpd") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"}) public Map unloadUpd(@RequestBody(required = false) Map map) { return tmsFeign.unloadUpd(map); } @ApiOperation(value = "抵达") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/arrival") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"抵达实绩"}) public Map arrival(@RequestBody(required = false) Map map) { return tmsFeign.arrival(map); } @ApiOperation(value = "签收") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/receipt") @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签收实绩"}) public Map receipt(@RequestBody(required = false) Map map) { return tmsFeign.receipt(map); } @ApiOperation(value = "查询厂内车辆数") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/getCountEnfactory") public Map getCountEnfactory(@RequestBody(required = false) Map map) { return tmsFeign.getCountEnfactory(map == null ? new HashMap<>() : map); } @ApiOperation(value = "查询签到") @PostMapping("/getSignInResultList") public Map getSignInResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getSignInResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询换车头") @PostMapping("/getReplaceFrontResultList") public Map getReplaceFrontResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getReplaceFrontResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询进厂") @PostMapping("/getEnfactoryResultList") public Map getEnfactoryResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getEnfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询出厂") @PostMapping("/getOutfactoryResultList") public Map getTmsOutfactoryResultList (@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getOutfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询装货") @PostMapping("/getLoadResultList") public Map getLoadResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getLoadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询卸货") @PostMapping("/getUnloadResultList") public Map getUnloadResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getUnloadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询计量") @PostMapping("/getWeightResultList") public Map getWeightResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getWeightResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询质检") @PostMapping("/getQualityResultList") public Map getQualityResult(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getQualityResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询抵达") @PostMapping("/getArrivalResultList") public Map getArrivalResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getArrivalResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询签收") @PostMapping("/getReceiptResultList") public Map getReceiptResultList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getReceiptResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "采购火运装货作业") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/purchaseTrainLoad") // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"装货实绩"}) public Map purchaseTrainLoad(@RequestBody MultipartFile file, String businessType, String userId, String userName) throws Exception { Map map = new HashMap<>(); //获取Excel中包含的对象数组 List> list = ExcelToolUtils.getExcelList(file, 0); map.put("list", list); //统计通知单的重量车数和车牌号 Set capacitySet = new HashSet<>();//车牌号 for (Map 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("单元格数据异常(通知单号/车号/装车日期/净重/皮重/毛重),请检查模板或数据是否正确!"); } //通知单统计 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文件中只允许有一个通知单号!"); } } else { //不存在,新增 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); } //车牌号去重 capacitySet.add(item.get("车号").toString()); } //校验当前excel是否已经导入过 if (universalMapper.countTrainLoad(map) > 0) { throw new Exception("存在重复的装车信息!不允许重复导入!"); } //新增火车运力资源 String[] capacities = capacitySet.toArray(new String[0]);//车牌号 if (capacities.length != list.size()) { throw new Exception("车号不允许重复!"); } else { try{ new Runnable() { @Override public void run() { Map 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); return tmsFeign.purchaseTrainLoad(map); } @ApiOperation(value = "查询采购火运装货") @PostMapping("/purchaseTrainLoadList") public Map purchaseTrainLoadList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.purchaseTrainLoadList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "采购火运计量作业") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/purchaseTrainWeight") // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"}) public Map purchaseTrainWeight(@RequestBody MultipartFile file, String businessType, String userId, String userName) throws Exception { Map map = new HashMap<>(); //获取Excel中包含的对象数组 List> list = ExcelToolUtils.getExcelList(file, 0); map.put("list", list); Set capacitySet = new HashSet<>();//车牌号 for (Map 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("单元格数据异常(通知单号/车号/计量日期/净重/皮重/毛重),请检查模板或数据是否正确!"); } //校验数据 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只允许一批车辆,请检查计量日期!"); } } else { throw new Exception("同一个Excel文件中只允许有一个通知单号!"); } } else { //不存在,新增 map.put("requirementNumber", requirementNumber); map.put("weightTime",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> orderList = universalMapper.findTrainWeight(map); if (orderList.size() <= 0) { throw new Exception("未查询到装车信息,请先上传装车作业!"); } map.put("orderList",orderList); //新增TMS return tmsFeign.purchaseTrainWeight(map); } @ApiOperation(value = "查询采购火运计量") @PostMapping("/purchaseTrainWeightList") public Map purchaseTrainWeightList(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.purchaseTrainWeightList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "采购火运卸车作业") @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map") @PostMapping(value = "/purchaseTrainUnload") // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"}) public Map purchaseTrainUnload(@RequestBody MultipartFile file, String businessType, String userId, String userName) throws Exception { Map map = new HashMap<>(); //获取Excel中包含的对象数组 List> list = ExcelToolUtils.getExcelList(file, 0); map.put("list", list); Set capacitySet = new HashSet<>();//车牌号 for (Map 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(); 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()); } //车牌号去重 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> 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 purchaseTrainUnloadList(@RequestBody(required = false) Map 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") @PostMapping(value = "/changeSaleTransOrder") @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"销售运输订单"}) public Map changeSaleTransOrder(@RequestBody(required = false) Map map) { return tmsFeign.changeSaleTransOrder(map); } @ApiOperation(value = "查询司机运输汇总") @PostMapping("/getDriverTotalResult") public Map getDriverTotalResult(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getDriverTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation(value = "查询车辆运输汇总") @PostMapping("/getCapacityTotalResult") public Map getCapacityTotalResult(@RequestBody(required = false) Map map, Integer apiId, Integer pageNum, Integer pageSize) { return tmsFeign.getDriverTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize); } @ApiOperation("生产物流-调度任务新增") @PostMapping("/dispatchTask") Map dispatchTask(@RequestBody Map map) { return tmsFeign.dispatchTask(map); } @ApiOperation("获取销售派车单信息") @PostMapping("/getDlivDirnoSeqList/{id}") public RESTfulResult getDlivDirnoSeqList(@PathVariable("id") String id) { return tmsFeign.getDlivDirnoSeqList(id); } @ApiOperation("修改销售派车单信息") @PostMapping("/updateDlivDirnoSeq") @LogAround(foreignKeys = {"planChildId"}, foreignKeyTypes = {"修改销售运单"}) public RESTfulResult updateDlivDirnoSeq(@RequestBody Map map) { return tmsFeign.updateDlivDirnoSeq(map); } @ApiOperation("查询销售派车单装车信息") @PostMapping("/selectDlivDirnoSeqDetails") public RESTfulResult selectDlivDirnoSeqDetails(@RequestBody Map map) { return tmsFeign.selectDlivDirnoSeqDetails(map); } @ApiOperation("查询订单厂内轨迹") @PostMapping("/getPathByOrder") public RESTfulResult getPathByOrder(@RequestBody Map map) { return tmsFeign.getPathByOrder(map); } @ApiOperation("上传定位,更新路径") @PostMapping("/uploadLocation") public RESTfulResult uploadLocation(@RequestBody Map map) { return tmsFeign.uploadLocation(map); } }