Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev' into dev

czh 2 rokov pred
rodič
commit
9ec351b259

+ 6 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -182,7 +182,12 @@ public class HttpStatus {
     public static final String MSG_028 = "合同未签约,不能手动完结!";
     public static final String MSG_029 = "合同编号超长!";
     public static final String MSG_030 = "合同名称超长!";
-    public static final String MSG_031 = "您与所选企业存在未完结业务,当前无法删除!";
+    public static final String MSG_031 = "您与所选企业存在未完结销售订单,当前无法删除!";
+
+    public static final String MSG_032 = "您与所选企业存在未完结托运承运订单,当前无法删除!";
+
     public static final String MSG_033 = "当前企业资质在审核中,无法删除!";
 
+    public static final String MSG_034 = "您与所选企业存在未完结对账单,当前无法删除!";
+
 }

+ 6 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/LogisticsOrderDTO.java

@@ -283,4 +283,10 @@ public class LogisticsOrderDTO implements Serializable {
      */
     @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
     private Date createTime;
+
+    /**
+     * 含税金额
+     */
+    @JsonProperty("taxMoney")
+    private BigDecimal taxMoney;
 }

+ 6 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/vo/LogisticsOrderVO.java

@@ -290,4 +290,10 @@ public class LogisticsOrderVO implements Serializable {
      */
     @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
     private Date createTime;
+
+    /**
+     * 含税金额
+     */
+    @JsonProperty("taxMoney")
+    private BigDecimal taxMoney;
 }

+ 5 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverQualificationVo.java

@@ -28,6 +28,11 @@ public class KwfDriverQualificationVo implements Serializable {
      */
     private String type;
 
+    /**
+     * 准驾车型
+     */
+    private String typeName;
+
     /**
      * 有效日期
      */

+ 5 - 3
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfDriverService.java

@@ -111,6 +111,8 @@ public class KwfDriverService {
             KwfDriverQualification qualificationJson = this.findQualificationByKey(driverId);
             KwfDriverQualificationVo qualificationVo = new KwfDriverQualificationVo();
             BeanUtils.copyPropertiesValue(qualificationJson, qualificationVo);
+            value = getDictValue(DictTypeEnum.APPROVED_DRIVING.getType(), qualificationVo.getType());
+            qualificationVo.setTypeName(value);
             driverDetailVo.setDriverQualification(qualificationVo);
 
             //车队班组
@@ -718,15 +720,15 @@ public class KwfDriverService {
      **/
     public HttpResult replacePhone(ReplacePhoneDto params) {
         /**获取信息**/
-        Long driverId = null;//LoginUserHolder.getUserId(); //暂时----------------zk
-        driverId = driverId == null ? params.getDriverId() : driverId;
+        Long driverId = params.getDriverId();
+        driverId = driverId == null ? LoginUserHolder.getUserId() : driverId;
         KwfDriver driver = driverDao.selectById(driverId);
         if (driver == null) {
             return HttpResult.error("信息不存在!");
         }
 
         /**从缓存中取出验证码/校验**/
-        String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, params.getPhone());
+        String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_UPDATE_PASSWORD.getValue(), params.getPhone());
         String smsCaptcha = RedissonUtils.getString(key);
         if (StringUtils.isBlank(smsCaptcha)) {
             return HttpResult.error("验证码已过期,请重新获取!!");

+ 17 - 11
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -3,6 +3,7 @@ package com.sckw.manage.service;
 import java.io.IOException;
 import java.util.Date;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -41,6 +42,8 @@ import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import javax.json.JsonObject;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -196,36 +199,39 @@ public class KwmCooperateManageService {
         Long userId = LoginUserHolder.getUserId();
         Date date = new Date();
         //判断是否可以解除-销售订单
-        Boolean order = tradeOrderInfoService.associateEnt(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviteeEntId());
+        Boolean order = tradeOrderInfoService.associateEnt(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviterEntId());
         if (order)
         {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
         }
 
         //判断是否可以解除-托运和承运
-        HttpResult response = transportDubboService.checkLogisticsOrderIsFinishByEntId(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviteeEntId());
-        Object receivedResult = response.getData();
-        if (receivedResult !=  null)
+        HttpResult response = transportDubboService.checkLogisticsOrderIsFinishByEntId(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviterEntId());
+        log.info("getInviteeEntId-{}",kwmCooperates.get(0).getInviteeEntId());
+        log.info("getInviterEntId-{}",kwmCooperates.get(0).getInviterEntId());
+        log.info("aaaaa-{}",JSONObject.toJSONString(response));
+        Integer receivedResult = response.getCode();
+        if (!receivedResult.toString().equals(String.valueOf(HttpStatus.SUCCESS_CODE)))
         {
-            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_032);
         }
-        Map<OrderEnum, List<String>> ledgerMap = paymentDubboService.checkLedger(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviteeEntId());
+        Map<OrderEnum, List<String>> ledgerMap = paymentDubboService.checkLedger(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviterEntId());
         if (!CollectionUtils.isEmpty(ledgerMap.get(OrderEnum.LOGISTICS)))
         {
-            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_034);
         }
         if (!CollectionUtils.isEmpty(ledgerMap.get(OrderEnum.TRADE)))
         {
-            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_034);
         }
-        Map<OrderEnum,List<String>> settlementMap= paymentDubboService.checkSettlement(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviteeEntId());
+        Map<OrderEnum,List<String>> settlementMap= paymentDubboService.checkSettlement(kwmCooperates.get(0).getInviteeEntId(),kwmCooperates.get(0).getInviterEntId());
         if (!CollectionUtils.isEmpty(settlementMap.get(OrderEnum.LOGISTICS)))
         {
-            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_034);
         }
         if (!CollectionUtils.isEmpty(settlementMap.get(OrderEnum.TRADE)))
         {
-            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_034);
         }
         kwmCooperates.forEach(item -> {
             //运营端可以操作任意状态,企业端只能操作合作中的数据

+ 23 - 61
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwFleetController.java

@@ -1,25 +1,17 @@
 package com.sckw.report.controller;
 
-import com.alibaba.fastjson2.JSON;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.page.PageHelperUtil;
+import com.sckw.core.model.page.PageResult;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.mongo.model.SckwTradeOrder;
-import com.sckw.report.dao.SckwTradeOrderRepository;
-import com.sckw.stream.model.SckwBusSum;
+import com.sckw.report.model.vo.KwfCapacityVo;
+import com.sckw.report.service.KwFleetService;
 import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.stream.function.StreamBridge;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Pageable;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Date;
+import org.springframework.web.bind.annotation.*;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -33,50 +25,20 @@ import java.util.List;
 public class KwFleetController {
 
     @Autowired
-    SckwTradeOrderRepository tradeOrderRepository;
-
-    @Resource
-    StreamBridge streamBridge;
-
-    @GetMapping("/detailV2")
-    public HttpResult selectByKey2(Long id, int method) throws SystemException {
-        SckwTradeOrder order = new SckwTradeOrder();
-        order.setTOrderId(id);
-        order.setTOrderNo("D" + id);
-        order.setContractName(new Date()+"");
-
-        SckwBusSum busSum = new SckwBusSum();
-        busSum.setBusSumType("tradeOrder");
-        busSum.setMethod(method);
-        busSum.setObject(order);
-        streamBridge.send("sckw-busSum", JSON.toJSONString(busSum));
-
-
-        for (int i =0; i<10000; i++) {
-            order.setTOrderId(System.currentTimeMillis());
-            order.setTOrderNo("D" + order.getTOrderId());
-            order.setContractName(new Date()+"");
-            order.setActualAmount(new BigDecimal(0));
-            order.setContractId(1L);
-            order.setContractNo("11");
-            order.setEndTime(LocalDate.now());
-            order.setSupplyEntId(1L);
-
-            busSum.setBusSumType("tradeOrder");
-            busSum.setMethod(method);
-            busSum.setObject(order);
-            streamBridge.send("sckw-busSum", JSON.toJSONString(busSum));
-        }
-
-
-        //根据条件查询所有并排序,且分页
-        Pageable pageable = PageRequest.of(0, 2);
-        Page<SckwTradeOrder> all3 = tradeOrderRepository.findAll(pageable);
-        List<SckwTradeOrder> content = all3.getContent();
-        for (SckwTradeOrder stu : content) {
-            System.out.println(stu);
-        }
-
-        return HttpResult.ok(content);
+    KwFleetService fleetService;
+
+    /**
+     * @param params {page:页数、pageSize:每页条数、。。。}
+     * @desc 分页查询
+     * @author zk
+     * @date 2023/9/1
+     **/
+    @PostMapping("/capacity")
+    public HttpResult capacity(@RequestBody HashMap params) throws SystemException {
+        // 设置分页参数
+        PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
+        List<KwfCapacityVo> list = fleetService.capacity(params);
+        PageResult pageResult = PageHelperUtil.getPageResult(new PageInfo<>(list));
+        return HttpResult.ok(pageResult);
     }
 }

+ 61 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/KwfCapacityVo.java

@@ -0,0 +1,61 @@
+package com.sckw.report.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * desc 运力
+ * author zk
+ * date 2023/9/1 0001
+ */
+@Data
+public class KwfCapacityVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 企业ID
+     */
+    private String entId;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 总车辆数
+     */
+    private Integer capacityTotal;
+
+    /**
+     * 总运量
+     */
+    private Integer capacityAmount;
+
+    /**
+     * 企业联系人
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 企业地址code-----区域表id---实际用途?
+     */
+    private Integer cityCode;
+
+    /**
+     * 企业地址-----区域表id---实际用途?
+     */
+    private String cityName;
+
+    /**
+     * 企业详细地址
+     */
+    private String detailAddress;
+}

+ 14 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwFleetService.java

@@ -1,6 +1,9 @@
 package com.sckw.report.service;
 
+import com.sckw.report.model.vo.KwfCapacityVo;
 import org.springframework.stereotype.Service;
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * @author zk
@@ -9,4 +12,15 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class KwFleetService {
+
+    /**
+     * @param params {page:页数、pageSize:每页条数、。。。}
+     * @desc 分页查询
+     * @author zk
+     * @date 2023/9/1
+     **/
+    public List<KwfCapacityVo> capacity(HashMap params) {
+
+        return null;
+    }
 }

+ 26 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java

@@ -9,6 +9,7 @@ import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
+import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.CollectionUtils;
@@ -509,6 +510,31 @@ public class TransportCommonService {
                         .eq(KwtLogisticsOrderAddress::getLOrderId, logisticsOrderDTO.getLOrderId())
                         .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO)
                 );
+                KwtLogisticsOrderContract contract = logisticsOrderContractMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderContract>()
+                        .eq(KwtLogisticsOrderContract::getLOrderId, logisticsOrderDTO.getLOrderId())
+                );
+
+                KwtLogisticsOrderGoods orderGoods = logisticsOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderGoods>()
+                        .eq(KwtLogisticsOrderGoods::getLOrderId, logisticsOrderDTO.getLOrderId())
+                );
+                logisticsOrderDTO.setGoodsName(orderGoods == null ? null : orderGoods.getGoodsName());
+
+                String billingMode = logisticsOrderDTO.getBillingMode();
+                BigDecimal actualAmount = new BigDecimal("0.00");
+                if (DictEnum.CHARGING_TYPE_1.equals(billingMode)) {
+                    actualAmount = logisticsOrderDTO.getLoadAmount();
+                } else if (DictEnum.CHARGING_TYPE_2.equals(billingMode)) {
+                    actualAmount = logisticsOrderDTO.getUnloadAmount();
+                } else {
+                    throw new BusinessException("单据计费方式错误!");
+                }
+                BigDecimal price = logisticsOrderDTO.getPrice() == null ? new BigDecimal("0.00") : logisticsOrderDTO.getPrice();
+                logisticsOrderDTO.setTaxMoney(actualAmount.multiply(price));
+//                logisticsOrderDTO.setContractId();
+                logisticsOrderDTO.setContractName(contract.getContractName());
+                logisticsOrderDTO.setContractNo(contract.getContractNo());
+                logisticsOrderDTO.setGoodsPriceLabel(priceDictData.get(logisticsOrderDTO.getPriceType()));
+                logisticsOrderDTO.setCreateByName(remoteSystemService.queryUserCacheById(logisticsOrderDTO.getCreateBy())==null?null:remoteSystemService.queryUserCacheById(logisticsOrderDTO.getCreateBy()).getName());
                 logisticsOrderDTO.setLoadAddress(loadOrderAddress.getDetailAddress());
                 logisticsOrderDTO.setLoadName(loadOrderAddress.getName());
                 logisticsOrderDTO.setLoadContacts(loadOrderAddress.getContacts());

+ 34 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/dubbo/TransportDubboServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.google.common.collect.Lists;
 import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
@@ -41,6 +42,7 @@ import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -75,6 +77,9 @@ public class TransportDubboServiceImpl implements TransportDubboService {
     @Autowired
     private KwtLogisticsOrderTrackMapper logisticsOrderTrackMapper;
 
+    @Autowired
+    private KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
+
     /**
      * 对账管理-ids查询
      *
@@ -130,6 +135,30 @@ public class TransportDubboServiceImpl implements TransportDubboService {
                         .eq(KwtLogisticsOrderAddress::getLOrderId, logisticsOrderDTO.getLOrderId())
                         .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO)
                 );
+                KwtLogisticsOrderContract contract = logisticsOrderContractMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderContract>()
+                        .eq(KwtLogisticsOrderContract::getLOrderId, logisticsOrderDTO.getLOrderId())
+                );
+
+                KwtLogisticsOrderGoods orderGoods = logisticsOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderGoods>()
+                        .eq(KwtLogisticsOrderGoods::getLOrderId, logisticsOrderDTO.getLOrderId())
+                );
+                logisticsOrderDTO.setGoodsName(orderGoods == null ? null : orderGoods.getGoodsName());
+                String billingMode = logisticsOrderDTO.getBillingMode();
+                BigDecimal actualAmount = new BigDecimal("0.00");
+                if (DictEnum.CHARGING_TYPE_1.equals(billingMode)) {
+                    actualAmount = logisticsOrderDTO.getLoadAmount();
+                } else if (DictEnum.CHARGING_TYPE_2.equals(billingMode)) {
+                    actualAmount = logisticsOrderDTO.getUnloadAmount();
+                } else {
+                    throw new BusinessException("单据计费方式错误!");
+                }
+                BigDecimal price = logisticsOrderDTO.getPrice() == null ? new BigDecimal("0.00") : logisticsOrderDTO.getPrice();
+                logisticsOrderDTO.setTaxMoney(actualAmount.multiply(price));
+//                logisticsOrderDTO.setContractId();
+                logisticsOrderDTO.setContractName(contract.getContractName());
+                logisticsOrderDTO.setContractNo(contract.getContractNo());
+                logisticsOrderDTO.setGoodsPriceLabel(priceDictData.get(logisticsOrderDTO.getPriceType()));
+                logisticsOrderDTO.setCreateByName(remoteSystemService.queryUserCacheById(logisticsOrderDTO.getCreateBy()) == null ? null : remoteSystemService.queryUserCacheById(logisticsOrderDTO.getCreateBy()).getName());
                 logisticsOrderDTO.setLoadAddress(loadOrderAddress.getDetailAddress());
                 logisticsOrderDTO.setLoadName(loadOrderAddress.getName());
                 logisticsOrderDTO.setLoadContacts(loadOrderAddress.getContacts());
@@ -391,7 +420,11 @@ public class TransportDubboServiceImpl implements TransportDubboService {
         orderStatus.add(LogisticsOrderEnum.HAVE_RECONCILED.getCode());
 //        orderStatus.add(LogisticsOrderEnum.HAVE_ALREADY_SETTLED.getCode());
         List<String> logisticsNo = logisticsOrderMapper.checkLogisticsOrderIsFinishByEntId(consignEntId, acceptCarriageEntId, orderStatus);
-        return HttpResult.ok(logisticsNo);
+        if (CollectionUtils.isNotEmpty(logisticsNo)) {
+            return HttpResult.error("", logisticsNo);
+        } else {
+            return HttpResult.ok();
+        }
     }
 
 

+ 5 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -192,13 +192,17 @@
         a.payment AS payment,
         a.billing_mode AS billingMode,
         c.contract_id AS contractId,
+        c.contract_no AS contractNo,
+        c.contract_name AS contractName,
         b.goods_name AS goodsName,
         a.amount,
+        a.remark as remark,
         a.unit ,
         a.ignore_amount AS ignoreAmount,
         a.price,
         a.price_type as priceType,
         a.goods_price AS goodsPrice,
+        a.goods_price_unit AS goodsPriceUnit,
         a.loss,
         a.loss_unit AS lossUnit,
         a.tax_rate as taxRate,
@@ -523,6 +527,7 @@
         c.contract_id AS contractId,
         b.goods_name AS goodsName,
         a.amount,
+        a.remark as remark,
         a.unit ,
         a.ignore_amount AS ignoreAmount,
         a.price,