Kaynağa Gözat

运营端-基础档案管理-合同查询

lengfaqiang 2 yıl önce
ebeveyn
işleme
1b187d56df

+ 19 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/operationManagement/ManagementLogisticsOrderController.java

@@ -7,6 +7,7 @@ import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.config.easyexcel.RequestHolder;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.transport.model.param.LogisticsOrderQuery;
+import com.sckw.transport.model.param.ManagementContractParam;
 import com.sckw.transport.model.param.ManagementLogisticsOrderQuery;
 import com.sckw.transport.model.vo.execlVo.ManagementLogisticsOrderExcelVo;
 import com.sckw.transport.service.ManagementLogisticsOrderService;
@@ -129,4 +130,22 @@ public class ManagementLogisticsOrderController {
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
+
+    /**
+     * 基础档案-物流合同档案-根据合同id获取托运订单列表
+     *
+     * @param contractParam 请求参数[合同ids]
+     * @return
+     */
+    @RequestMapping(value = "/getLogisticsContract", method = RequestMethod.POST)
+    public HttpResult getLogisticsContract(@Valid @RequestBody ManagementContractParam contractParam) {
+        log.info("基础档案-物流合同档案-根据合同id获取托运订单列表 query:{}",JSONObject.toJSONString(contractParam));
+        try {
+            return managementLogisticsOrderService.getLogisticsContract(contractParam);
+        } catch (Exception e) {
+            log.error("基础档案-物流合同档案-根据合同id获取托运订单列表 error:{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
 }

+ 21 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/ManagementContractParam.java

@@ -0,0 +1,21 @@
+package com.sckw.transport.model.param;
+
+import com.sckw.core.model.page.PageRequest;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 合同查询列表param
+ * @date 2023-08-03 13:08:51
+ */
+@Data
+public class ManagementContractParam extends PageRequest {
+
+    /**
+     * 合同id  “,”隔开
+     */
+    @NotBlank(message = "合同ids不能为空")
+    private String contractIds;
+
+}

+ 38 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ManagementLogisticsOrderService.java

@@ -29,10 +29,12 @@ import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.param.LogisticsOrderQuery;
+import com.sckw.transport.model.param.ManagementContractParam;
 import com.sckw.transport.model.param.ManagementLogisticsOrderQuery;
 import com.sckw.transport.model.vo.CarWaybillVO;
 import com.sckw.transport.model.vo.ManagementLogisticsOrderVO;
 import com.sckw.transport.model.vo.OrderDetailVO;
+import com.sckw.transport.model.vo.SckwLogisticsOrderVO;
 import com.sckw.transport.model.vo.execlVo.ManagementLogisticsOrderExcelVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -631,4 +633,40 @@ public class ManagementLogisticsOrderService {
         PageResult result = PageResult.build(orderDto.getPage(), orderDto.getPageSize(), returnList.stream().count(), collect);
         return HttpResult.ok(result);
     }
+
+
+    public HttpResult getLogisticsContract(ManagementContractParam contractParam) {
+        List<Long> contractIds = StringUtils.splitStrToList(contractParam.getContractIds(), Long.class);
+        List<SckwLogisticsOrderVO> list = logisticsOrderMapper.selectOrderListByContractId(null, null, contractIds);
+        List<SckwLogisticsOrderVO> returnList = new ArrayList<>();
+        /**计量单位*/
+        Map<String, String> dictResDtoMap = commonService.getDictData(DictTypeEnum.UNIT_TYPE.getType());
+        /**支付方式*/
+        Map<String, String> tradeTypeDictData = commonService.getDictData(DictTypeEnum.TRADE_TYPE.getType());
+        /**运价方式*/
+//        Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
+        /**计费方式*/
+//        Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
+        /**结算周期*/
+        Map<String, String> settlementDictData = commonService.getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
+        /**签约方式*/
+//        Map<String, String> signingWay = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
+        /**合理损耗*/
+        Map<String, String> taxRateTypeDictData = commonService.getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (SckwLogisticsOrderVO vo : list) {
+                vo.setPaymentLabel(vo.getPayment() == null ? null : tradeTypeDictData.get(vo.getPayment().toString()));
+                vo.setStatusLabel(LogisticsOrderEnum.getDestination(vo.getStatus()));
+                vo.setLossUnitLabel(vo.getLossUnit() == null ? null : taxRateTypeDictData.get(vo.getLossUnit()));
+                vo.setUnitLabel(vo.getUnit() == null ? null : dictResDtoMap.get(vo.getUnit()));
+                vo.setGoodsPriceUnitLabel(vo.getGoodsPriceUnit() == null ? null : dictResDtoMap.get(vo.getGoodsPriceUnit()));
+                vo.setSettlementCycleLabel(vo.getSettlementCycle() == null ? null : settlementDictData.get(vo.getSettlementCycle().toString()));
+                UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(vo.getCreateBy());
+                vo.setCreateByName(userCacheResDto == null ? null : userCacheResDto.getName());
+            }
+            returnList = list.stream().skip((contractParam.getPage() - 1) * contractParam.getPageSize()).limit(contractParam.getPageSize()).collect(Collectors.toList());
+        }
+        PageResult build = PageResult.build(contractParam.getPage(), contractParam.getPageSize(), list.stream().count(), returnList);
+        return HttpResult.ok(build);
+    }
 }