123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549 |
- package com.steerinfo.dil.controller;
- import com.github.pagehelper.PageHelper;
- import com.steerinfo.dil.feign.ColumnDataFeign;
- import com.steerinfo.dil.feign.ESFeign;
- import com.steerinfo.dil.mapper.BmstruckDetailsOrderMapper;
- import com.steerinfo.dil.service.impl.BmstruckDetailsOrderServiceImpl;
- import com.steerinfo.dil.util.BaseRESTfulController;
- import com.steerinfo.dil.util.ColumnDataUtil;
- import com.steerinfo.dil.util.DataChange;
- import com.steerinfo.dil.util.PageListAdd;
- import com.steerinfo.framework.controller.RESTfulResult;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiModelProperty;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Required;
- import org.springframework.web.bind.annotation.*;
- import java.math.BigDecimal;
- import java.text.SimpleDateFormat;
- import java.util.*;
- /**
- * @Description:
- * @Author:HuJianGuo
- * @GreateTime:2021/9/24 17:29
- * @Version:V2.0
- */
- @RestController
- @RequestMapping("/${api.version}/bmstruckdetailsorder")
- public class BmstruckDetailsOrderController extends BaseRESTfulController {
- @Autowired
- BmstruckDetailsOrderServiceImpl bmstruckDetailsOrderService;
- @Autowired
- ColumnDataUtil columnDataUtil;
- @Autowired
- ESFeign esFeign;
- @Autowired
- ColumnDataFeign columnDataFeign;
- @Autowired
- BmstruckDetailsOrderMapper bmstruckDetailsOrderMapper;
- private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- /**
- * 展示汽运详单信息
- *
- * @param mapValue
- * @param pageNum
- * @param pageSize
- * @param apiId
- * @return
- */
- @ApiModelProperty(value = "展示汽运详单信息")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
- @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
- @ApiImplicitParam(name = "apiId", value = "销售:176/采购:140", required = false, dataType = "BigDecimal"),
- @ApiImplicitParam(name = "orderType", value = "1:销售,3:采购", required = false, dataType = "Integer")
- })
- @PostMapping("/getTruckDetailsOrderList")
- public RESTfulResult getTruckDetailsOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
- Integer pageNum,
- Integer pageSize,
- Integer apiId,
- Integer orderType,
- String carrierSsoId) {
- if (mapValue == null) {
- mapValue = new HashMap<>();
- }
- if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
- carrierSsoId = null;
- }
- if (carrierSsoId != null) {
- BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
- mapValue.put("carrierId",carrierId);
- }
- mapValue.put("orderType",orderType);
- //初始化过滤
- List<Map<String, Object>> truckDetailList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapValue);
- PageHelper.startPage(pageNum, pageSize);
- //分页查询数据
- List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapValue);
- PageListAdd data = columnDataUtil.tableColumnData(apiId, truckDetailList, columnList);
- return success(data);
- }
- /**
- * 展示汽运未生成账单的详单信息
- *
- * @param mapValue
- * @param pageNum
- * @param pageSize
- * @param apiId
- * @return
- */
- @ApiModelProperty(value = "展示汽运未生成账单的详单信息")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
- @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
- @ApiImplicitParam(name = "apiId", value = "销售:176", required = false, dataType = "BigDecimal"),
- @ApiImplicitParam(name = "orderType", value = "1:销售", required = false, dataType = "Integer")
- })
- @PostMapping("/getUnFinishedTruckDetailsOrderList")
- public RESTfulResult getUnFinishedTruckDetailsOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
- Integer pageNum,
- Integer pageSize,
- Integer apiId,
- Integer orderType,
- String carrierSsoId) {
- if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
- carrierSsoId = null;
- }
- if (carrierSsoId != null) {
- BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
- mapValue.put("carrierId",carrierId);
- }
- PageHelper.startPage(pageNum, pageSize);
- //分页查询数据
- List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getUnFinishedTruckDetailsOrderList(mapValue, orderType);
- for (Map<String, Object> objectMap : columnList) {
- String priceids = (String) objectMap.get("priceids");
- if (priceids!=null&&"".equals(priceids)){
- String[] split = priceids.split(",");
- String address1="";
- for (String s : split) {
- //查询出运输订单的行
- Map<String, Object> queryaddress = bmstruckDetailsOrderMapper.queryaddress(new BigDecimal(s));
- String address = bmstruckDetailsOrderMapper.queryaddress1((BigDecimal) queryaddress.get("placeid"));
- address1+=address+",";
- }
- objectMap.put("realAddress",address1);
- }
- }
- PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
- return success(data);
- }
- /*
- 内转计重计费详单
- */
- @PostMapping("/getInwardWeightDetailsOrder")
- public RESTfulResult getInwardWeightDetailsOrder(@RequestBody(required = false) Map<String,Object>mapValue,
- Integer pageNum,
- Integer pageSize,
- Integer apiId,
- String carrierSsoId,
- Integer detailStatus,
- Integer orderType,
- String userId,
- String startTime,
- String endTime,
- String capacityNo,
- String shipperNames,
- String transRangeValues,
- String materialTypeNames,
- String isPage){
- if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
- carrierSsoId = null;
- }
- if (carrierSsoId != null) {
- BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
- mapValue.put("carrierId",carrierId);
- }
- if(userId != null && !"null".equals(userId)){
- mapValue.put("userId","%"+ userId +"%");
- }
- if(capacityNo != null && !"null".equals(capacityNo)){
- mapValue.put("capacityNo","%"+ capacityNo +"%");
- }
- if(shipperNames != null && !"null".equals(shipperNames)){
- mapValue.put("shipperNames","%"+ shipperNames +"%");
- }
- if(transRangeValues != null && !"null".equals(transRangeValues)){
- mapValue.put("transRangeValues","%"+ transRangeValues +"%");
- }
- if(materialTypeNames != null && !"null".equals(materialTypeNames)){
- mapValue.put("materialTypeNames","%"+ materialTypeNames +"%");
- }
- DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
- mapValue.put("detailStatus",detailStatus);
- if("yes".equals(isPage)){
- return success(bmstruckDetailsOrderService.getInwardWeightDetailsOrder(mapValue,orderType));
- }
- if (pageNum==null||pageSize==null){
- }else {
- PageHelper.startPage(pageNum, pageSize);
- }
- //分页查询数据
- List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getInwardWeightDetailsOrder(mapValue,orderType);
- PageListAdd data = columnDataUtil.tableColumnData5(apiId, null, columnList);
- return success(data);
- }
- @PostMapping("/getNoInwardDetails")
- public RESTfulResult getNoInwardDetails(@RequestBody(required = false) Map<String,Object>mapValue,
- Integer pageNum,
- Integer pageSize,
- Integer apiId,
- String carrierSsoId,
- String userId,
- String startTime,
- String endTime,
- String orgCode,
- String capacityNo,
- String transRangeValues,
- String materialTypeNames,
- String shipperNames,
- String isPage){
- if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
- carrierSsoId = null;
- }
- if (carrierSsoId != null) {
- BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
- mapValue.put("carrierId",carrierId);
- }
- if(userId != null && !"null".equals(userId)){
- mapValue.put("userId","%"+ userId +"%");
- }
- if(capacityNo != null && !"null".equals(capacityNo)){
- mapValue.put("capacityNo","%"+ capacityNo +"%");
- }
- if(shipperNames != null && !"null".equals(shipperNames)){
- mapValue.put("shipperNames","%"+ shipperNames +"%");
- }
- if(transRangeValues != null && !"null".equals(transRangeValues)){
- mapValue.put("transRangeValues","%"+ transRangeValues +"%");
- }
- if(materialTypeNames != null && !"null".equals(materialTypeNames)){
- mapValue.put("materialTypeNames","%"+ materialTypeNames +"%");
- }
- DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
- if("yes".equals(isPage)){
- return success(bmstruckDetailsOrderService.getNoInwardDetails(mapValue));
- }
- PageHelper.startPage(pageNum, pageSize);
- //分页查询数据
- List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getNoInwardDetails(mapValue);
- PageListAdd data = columnDataUtil.tableColumnData5(apiId, null, columnList);
- return success(data);
- }
- /**
- * 展示汽运实绩信息
- *
- * @param mapVal
- * @param pageNum
- * @param pageSize
- * @param apiId
- * @return
- */
- @ApiModelProperty(value = "展示汽运实绩信息")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
- @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
- @ApiImplicitParam(name = "apiId", value = "销售:177/采购:142", required = false, dataType = "BigDecimal")
- })
- @PostMapping("/getTruckResultList")
- public RESTfulResult getTruckResultList(@RequestBody(required = false) Map<String, Object> mapVal,
- Integer pageNum,
- Integer pageSize,
- Integer apiId,
- BigDecimal orderId) {
- if (mapVal == null) {
- mapVal = new HashMap<>();
- }
- mapVal.put("orderId", orderId);
- List<Map<String, Object>> list = bmstruckDetailsOrderService.getTruckResultList(mapVal);
- PageHelper.startPage(pageNum, pageSize);
- //分页查询数据
- List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getTruckResultList(mapVal);
- PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
- return success(data);
- }
- /**
- * 新增详单
- *
- * @param orderId
- * @return
- */
- @ApiModelProperty(value = "新增详单")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "orderId", value = "汽运计量实绩id", required = false, dataType = "BigDecimal"),
- })
- @PostMapping("/addDetailsOrder/{orderId}")
- public RESTfulResult addDetailsOrder(@PathVariable("orderId") BigDecimal orderId) throws Exception {
- int code = bmstruckDetailsOrderService.insertSelective(orderId);
- return success(code);
- }
- @ApiModelProperty(value = "新增内转计费详单")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "orderId", value = "汽运计量实绩id", required = false, dataType = "BigDecimal"),
- })
- @PostMapping("/addInwardDetailsOrder")
- public synchronized RESTfulResult addInwardDetailsOrder(@RequestBody(required = false) Map<String, Object> mapVal) {
- int code = bmstruckDetailsOrderService.inserInwardOrder(mapVal);
- return success(code);
- }
- /**
- * 修改详单
- *
- * @param mapValue
- * @return
- */
- @ApiModelProperty(value = "修改详单")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "detailsId,priceId", value = "详单id,价格id", required = false, dataType = "BigDecimal"),
- })
- @PostMapping("/updateDetailsOrder")
- public RESTfulResult updateDetailsOrder(@RequestBody Map<String,Object> mapValue) throws Exception {
- int code = bmstruckDetailsOrderService.updateDetailsOrder(mapValue);
- return success(code);
- }
- @ApiModelProperty(value = "批量修改详单")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "detailsId,priceId", value = "详单id,价格id", required = false, dataType = "BigDecimal"),
- })
- @PostMapping("/updateBatchDetailsOrder")
- public RESTfulResult updateBatchDetailsOrder(@RequestBody Map<String,Object> mapValue) throws Exception {
- List<Map<String,Object>> mapList = (List<Map<String,Object>>) mapValue.get("mapList");
- int code = 0;
- // try{
- // for (Map<String,Object> map :mapList) {
- // if(bmstruckDetailsOrderService.getSaleOrderStatus(DataChange.dataToBigDecimal(map.get("saleOrderMaterialId")))!=4){
- // return failed("存在未审核的订单,不允许修改单价!");
- // }
- // }
- // }catch (Exception e) {
- // e.printStackTrace();
- // System.out.println("查询订单状态异常");
- // }
- for (Map<String,Object> map :mapList) {
- map.put("userId",mapValue.get("userId"));
- map.put("updatePlace",mapValue.get("updatePlace"));
- //有运单改运单
- if(map.get("orderId")!=null){
- code += bmstruckDetailsOrderService.updateDetailsOrder(map);
- }
- //有车序号改车序号
- if(map.get("saleOrderMaterialId")!=null){
- code += bmstruckDetailsOrderService.updateAsomPriceId(map);
- }
- if(map.get("orderId") ==null && map.get("saleOrderMaterialId") ==null){
- System.out.println("既没有订单也没有车序号!无法修改单价!");
- }
- }
- return success(code);
- }
- /**addLossFeeOfCoke
- * 增加焦炭途损费
- *
- * @param map
- * @return
- */
- @ApiModelProperty(value = "增加焦炭途损费")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "detailsId", value = "详单id", required = false, dataType = "BigDecimal"),
- })
- @PostMapping("/addLossFeeOfCoke")
- public RESTfulResult addLossFeeOfCoke(@RequestBody Map<String,Object> map) {
- int code = bmstruckDetailsOrderService.addLossFeeOfCoke(map);
- return success(code);
- }
- /**
- * 查询价格和地址
- *
- * @param priceId
- * @return
- */
- @ApiModelProperty(value = "查询价格和地址")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "priceId", value = "价格id", required = false, dataType = "BigDecimal"),
- })
- @PostMapping("/findAddressAndPrice")
- public RESTfulResult findAddressAndPrice(@RequestParam Integer priceId) {
- Map<String,Object> map = bmstruckDetailsOrderService.findAddressAndPrice(priceId);
- return success(map);
- }
- @PostMapping("updateDetails")
- public int updateDetailsOrder(){
- int i = bmstruckDetailsOrderService.updateDetails();
- return i;
- }
- /*
- 内转计重+计时计费详单
- */
- @PostMapping("/getInwardWeightTimeDetailsOrder")
- public RESTfulResult getInwardWeightTimeDetailsOrder(@RequestBody(required = false) Map<String,Object>mapValue,
- Integer pageNum,
- Integer pageSize,
- Integer apiId,
- String carrierSsoId,
- Integer detailStatus,
- Integer orderType,
- String userId,
- String startTime,
- String endTime){
- if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
- carrierSsoId = null;
- }
- if (carrierSsoId != null) {
- BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
- mapValue.put("carrierId",carrierId);
- }
- if(userId != null){
- mapValue.put("userId","%"+ userId +"%");
- }
- DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
- mapValue.put("detailStatus",detailStatus);
- PageHelper.startPage(pageNum, pageSize);
- //分页查询数据
- List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getInwardWeightTimeDetailsOrder(mapValue,orderType);
- PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
- return success(data);
- }
- @ApiOperation(value = "获取钢材运费详单")
- @PostMapping("getSteelTruckDetailsOrder")
- public RESTfulResult getSteelTruckDetailsOrder(@RequestBody(required = false) Map<String, Object> mapValue,
- Integer pageNum,
- Integer pageSize,
- Integer apiId,
- Integer orderType,
- String carrierSsoId,
- String startTime,
- String endTime,
- String con){
- DataChange.queryDataByDateTimeYestDay(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
- if (carrierSsoId != null && !"null".equals(carrierSsoId)) {
- BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
- mapValue.put("carrierId",carrierId);
- }
- if (con != null && !"null".equals(con)){
- mapValue.put("con","%" +con+ "%");
- }
- if(pageNum !=null &&!("".equals(pageNum))&&pageSize!=null&&!("".equals(pageSize))){
- //PageHelper.startPage(pageNum, pageSize);
- }
- List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getSteelTruckDetailsOrder(mapValue);
- List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
- int i=0;
- for (Map<String, Object> columnData : columnDataList) {
- //每个表头字段的过滤条件
- if (DataChange.dataToBigDecimal(columnData.get("isFilter")).intValue() != 0) {
- columnData.put("filters", setListMap(columnList,columnData.get("prop").toString()));
- }
- if (i==1){
- columnData.put("min-width","83");
- }else if (i==2){
- columnData.put("min-width","207");
- }else if (i==5){
- columnData.put("min-width","101");
- }else if (i==8){
- columnData.put("min-width","184");
- }else if (i==10){
- columnData.put("min-width","120");
- }else if (i==15){
- columnData.put("min-width","228");
- }
- i++;
- }
- PageListAdd pageList = new PageListAdd(columnList);
- pageList.setColumnData(columnDataList);
- //PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
- return success(pageList);
- }
- @ApiOperation("根据运输订单ID查询计重结算需要的信息")
- @PostMapping("newInwardSettle")
- public RESTfulResult newInwardSettle(@RequestBody Map<String,Object> map){
- //接收到运输订单号数组
- List<Map<String,Object>> orderIds = (List<Map<String,Object>>)map.get("orderIds");
- int i = bmstruckDetailsOrderService.newInwardSettle(orderIds);
- return success(i);
- }
- @ApiOperation("销售公司已确认")
- @PostMapping("updateDetailsStatus")
- public RESTfulResult updateDetailsStatus(@RequestBody Map<String,Object> map) {
- List<Integer> mapList = (List<Integer>)map.get("orderList");
- List<Map<String,Object>> amsPriceList = (List<Map<String, Object>>) map.get("amsPriceList");
- if (map.get("updateStatus") != null && DataChange.dataToBigDecimal(map.get("updateStatus")).compareTo(new BigDecimal(1)) == 0){
- //取消确认
- int i = bmstruckDetailsOrderService.cancelMakeSure(mapList);
- return success(i);
- }
- if (amsPriceList.size()>0){
- bmstruckDetailsOrderService.insertPriceValue(amsPriceList);
- }
- int i = bmstruckDetailsOrderService.updateDetailsStatus(mapList);
- return success(i);
- }
- private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
- Set<Map<String, Object>> setString = new HashSet<>();
- for (Map<String, Object> map : list) {//遍历每条数据
- Map<String, Object> map1 = new HashMap<>();
- //map.get(name)获取每条数据中对应表头字段的数据
- map1.put("text", map.get(name));
- if (map.get(name) != null) {
- map1.put("value", map.get(name));
- setString.add(map1);
- }
- }
- return setString;
- }
- @ApiOperation("直接修改详单金额")
- @PostMapping("updateTruckDetail")
- public RESTfulResult updateTruckDetail(@RequestBody Map<String,Object> map) {
- try{
- bmstruckDetailsOrderService.updateDetailsDirect(map);
- }catch (Exception e){
- e.printStackTrace();
- return failed("修改失败");
- }
- return success("修改成功");
- }
- @ApiOperation("新增详单,计量实绩为空(冲红)")
- @PostMapping("addTruckDetail")
- public RESTfulResult addTruckDetail(@RequestBody Map<String,Object> map) {
- try{
- bmstruckDetailsOrderService.addTruckDetail(map);
- }catch (Exception e){
- e.printStackTrace();
- return failed("新增失败");
- }
- return success("新增成功");
- }
- }
|