| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757 |
- 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<String, Object> getecomprehensiveresultslist(@RequestBody(required = false) Map<String, Object> 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<String, Object>")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
- @PostMapping("/addcomprehensiveresults")
- public Map<String, Object> insertcomprehensiveresults(@RequestBody(required = false) Map<String, Object> 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<String, Object>")
- @PutMapping(value = "/comprehensiveresultslogicdelete")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
- public Map<String, Object> comprehensiveresultsLogicDelete(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.logicdeleteAmsSaalryContrac(map);
- }
- @ApiOperation(value = "修改车辆实绩")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/comprehensiveresultsupadete")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
- public Map<String, Object> comprehensiveresultsUpdate(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.updateAmsSalaryContrac(map);
- }
- @ApiOperation(value = "派发运输订单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/dispatchOrder")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> dispatchOrder(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.dispatchOrder(map);
- }
- @ApiOperation(value = "批量派发运输订单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/batchDispatch")
- @RequestLimit(seconds = 100)
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> batchDispatch(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.batchDispatch(map);
- }
- @ApiOperation(value = "批量派发运输订单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/batchDispatchSc")
- @RequestLimit(seconds = 100)
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> batchDispatchSc(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.batchDispatchSc(map);
- }
- @ApiOperation(value = "修改运输订单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/updateTransOrder")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> updateTransOrder(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.updateTransOrder(map);
- }
- @ApiOperation(value = "合并运输订单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/mergeTransOrder")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> mergeTransOrder(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.mergeTransOrder(map);
- }
- @ApiOperation(value = "更改运输订单状态")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/changeTransOrder")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> changeTransOrder(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.changeTransOrder(map);
- }
- @ApiOperation(value = "司机接收运单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/receiptOrder")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> receiptOrder(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.receiptOrder(map);
- }
- @ApiOperation(value = "查询运输订单")
- @PostMapping("/getTransOrderList")
- public Map<String, Object> getTransOrderList(@RequestBody(required = false) Map<String, Object> 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<String, Object>")
- @PostMapping(value = "/getTransResult")
- public Map<String, Object> getTransResult(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.getTransResult(map);
- }
- @ApiOperation(value = "同步进厂")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/syncEnfactoryResult")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"进厂实绩"})
- public Map<String, Object> syncEnfactoryResult(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.syncEnfactoryResult(map);
- }
- @ApiOperation(value = "同步出厂")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/syncOutfactoryResult")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"出厂实绩"})
- public Map<String, Object> syncOutfactoryResult(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.syncOutfactoryResult(map);
- }
- @ApiOperation(value = "同步计量")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/syncWeightResult")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计量实绩"})
- public Map<String, Object> syncWeightResult(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.syncWeightResult(map);
- }
- @ApiOperation(value="计时")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/startend")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计时"})
- @RequestLimit
- public Map<String, Object> start(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.startend(map);
- }
- @ApiOperation(value = "查询计时")
- @PostMapping("/tmstimingresultsList")
- public Map<String, Object> tmstimingresultsList(@RequestBody(required = false) Map<String, Object> 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<String, Object>")
- @PostMapping(value = "/tmstimingresultsUpdate")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"修改计时"})
- public Map<String, Object> tmstimingresultsUpdate(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.tmstimingresultsUpdate(map);
- }
- @ApiOperation(value = "销售派发运输订单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/saleDispatchOrder")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> saleDispatchOrder(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.saleDispatchOrder(map);
- }
- @ApiOperation(value = "批量销售派发运输订单")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/saleDispatchOrderList")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
- public Map<String, Object> saleDispatchOrderList(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.saleDispatchOrderList(map);
- }
- @ApiOperation(value = "查询销售运输订单")
- @PostMapping("/getSaleTransOrderList")
- public Map<String, Object> getSaleTransOrderList(@RequestBody(required = false) Map<String, Object> 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<String, Object>")
- @PostMapping(value = "/syncQualityResult")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"质检实绩"})
- public Map<String, Object> syncQualityResult(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.syncQualityResult(map);
- }
- @ApiOperation(value = "签到")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/signIn")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签到实绩"})
- public Map<String, Object> signIn(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.signIn(map);
- }
- @ApiOperation(value = "换车头")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/replaceFront")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"换车头实绩"})
- public Map<String, Object> replaceFront(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.replaceFront(map);
- }
- @ApiOperation(value = "装货")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/load")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"})
- public Map<String, Object> load(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.load(map);
- }
- @ApiOperation(value = "装货修改")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/loadUpd")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"})
- public Map<String, Object> loadUpd(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.loadUpd(map);
- }
- @ApiOperation(value = "卸货")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/unload")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"})
- public Map<String, Object> unload(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.unload(map);
- }
- @ApiOperation(value = "卸货修改")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/unloadUpd")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"})
- public Map<String, Object> unloadUpd(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.unloadUpd(map);
- }
- @ApiOperation(value = "抵达")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/arrival")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"抵达实绩"})
- public Map<String, Object> arrival(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.arrival(map);
- }
- @ApiOperation(value = "签收")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/receipt")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签收实绩"})
- public Map<String, Object> receipt(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.receipt(map);
- }
- @ApiOperation(value = "查询厂内车辆数")
- @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
- @PostMapping(value = "/getCountEnfactory")
- public Map<String, Object> getCountEnfactory(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.getCountEnfactory(map == null ? new HashMap<>() : map);
- }
- @ApiOperation(value = "查询签到")
- @PostMapping("/getSignInResultList")
- public Map<String, Object> getSignInResultList(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getSignInResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询换车头")
- @PostMapping("/getReplaceFrontResultList")
- public Map<String, Object> getReplaceFrontResultList(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getReplaceFrontResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询进厂")
- @PostMapping("/getEnfactoryResultList")
- public Map<String, Object> getEnfactoryResultList(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getEnfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询出厂")
- @PostMapping("/getOutfactoryResultList")
- public Map<String, Object> getTmsOutfactoryResultList
- (@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getOutfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询装货")
- @PostMapping("/getLoadResultList")
- public Map<String, Object> getLoadResultList(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getLoadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询卸货")
- @PostMapping("/getUnloadResultList")
- public Map<String, Object> getUnloadResultList(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getUnloadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询计量")
- @PostMapping("/getWeightResultList")
- public Map<String, Object> getWeightResultList(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getWeightResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询质检")
- @PostMapping("/getQualityResultList")
- public Map<String, Object> getQualityResult(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getQualityResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询抵达")
- @PostMapping("/getArrivalResultList")
- public Map<String, Object> getArrivalResultList(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getArrivalResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询签收")
- @PostMapping("/getReceiptResultList")
- public Map<String, Object> getReceiptResultList(@RequestBody(required = false) Map<String, Object> 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<String, Object>")
- @PostMapping(value = "/purchaseTrainLoad")
- // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"装货实绩"})
- public Map<String, Object> purchaseTrainLoad(@RequestBody MultipartFile file,
- String businessType,
- String userId,
- String userName) throws Exception {
- Map<String, Object> map = new HashMap<>();
- //获取Excel中包含的对象数组
- List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 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("")
- || 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<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);
- return tmsFeign.purchaseTrainLoad(map);
- }
- @ApiOperation(value = "查询采购火运装货")
- @PostMapping("/purchaseTrainLoadList")
- public Map<String, Object> purchaseTrainLoadList(@RequestBody(required = false) Map<String, Object> 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<String, Object>")
- @PostMapping(value = "/purchaseTrainWeight")
- // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"})
- public Map<String, Object> purchaseTrainWeight(@RequestBody MultipartFile file,
- String businessType,
- String userId,
- String userName) throws Exception {
- Map<String, Object> map = new HashMap<>();
- //获取Excel中包含的对象数组
- List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 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("")
- || 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只允许一批车辆,请检查计量日期!");
- }
- //更新重量
- 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("净重")));
- }
- //车牌号去重
- 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.findTrainWeight(map);
- if (orderList.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);
- }
- @ApiOperation(value = "查询采购火运计量")
- @PostMapping("/purchaseTrainWeightList")
- public Map<String, Object> purchaseTrainWeightList(@RequestBody(required = false) Map<String, Object> 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<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 {
- Map<String, Object> map = new HashMap<>();
- //获取Excel中包含的对象数组
- List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 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();
- 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<Map<String,Object>> orderList = universalMapper.findTrainUnload(map);
- if (orderList.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")));
- }
- 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);
- }
- @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")
- @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"销售运输订单"})
- public Map<String, Object> changeSaleTransOrder(@RequestBody(required = false) Map<String, Object> map) {
- return tmsFeign.changeSaleTransOrder(map);
- }
- @ApiOperation(value = "查询司机运输汇总")
- @PostMapping("/getDriverTotalResult")
- public Map<String, Object> getDriverTotalResult(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getDriverTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation(value = "查询车辆运输汇总")
- @PostMapping("/getCapacityTotalResult")
- public Map<String, Object> getCapacityTotalResult(@RequestBody(required = false) Map<String, Object> map,
- Integer apiId,
- Integer pageNum,
- Integer pageSize) {
- return tmsFeign.getDriverTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
- }
- @ApiOperation("生产物流-调度任务新增")
- @PostMapping("/dispatchTask")
- Map<String,Object> dispatchTask(@RequestBody Map<String,Object> 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<String,Object> map) {
- return tmsFeign.updateDlivDirnoSeq(map);
- }
- @ApiOperation("查询销售派车单装车信息")
- @PostMapping("/selectDlivDirnoSeqDetails")
- public RESTfulResult selectDlivDirnoSeqDetails(@RequestBody Map<String,Object> map) {
- return tmsFeign.selectDlivDirnoSeqDetails(map);
- }
- @ApiOperation("查询订单厂内轨迹")
- @PostMapping("/getPathByOrder")
- public RESTfulResult getPathByOrder(@RequestBody Map<String,Object> map) {
- return tmsFeign.getPathByOrder(map);
- }
- @ApiOperation("上传定位,更新路径")
- @PostMapping("/uploadLocation")
- public RESTfulResult uploadLocation(@RequestBody Map<String,Object> map) {
- return tmsFeign.uploadLocation(map);
- }
- @ApiOperation("实收吨数")
- @PostMapping("/updateWeight")
- public RESTfulResult updateWeight(@RequestBody Map<String,Object> map) {
- return tmsFeign.updateWeight(map);
- }
- @ApiOperation("checkWeightResult")
- @PostMapping("/checkWeightResult")
- @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计量实绩"})
- public Map<String,Object> checkWeightResult(@RequestBody Map<String,Object> map) {
- return tmsFeign.checkWeightResult(map);
- }
- }
|