Browse Source

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

18482106067 2 years ago
parent
commit
d35c51b019

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

@@ -181,5 +181,6 @@ 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 = "您与所选企业存在未完结业务,当前无法删除!";
 
 }

+ 7 - 0
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/OrderDetailRes.java

@@ -11,6 +11,7 @@ import java.io.Serial;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -149,6 +150,12 @@ public class OrderDetailRes implements Serializable {
      */
     private String createByName;
 
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
     /**
      * 商品信息
      */

+ 1 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml

@@ -95,6 +95,7 @@
                  e.firm_name like concat('%', #{keywords}, '%') or
                  b.contacts like concat('%', #{keywords}, '%') or
                  b.phone like concat('%', #{keywords}, '%') or
+                 a.contract_no like concat('%', #{keywords}, '%') or
                  b.sign_phone like concat('%', #{keywords}, '%'))
         </if>
         <if test="idList != null and idList.size() > 0">

+ 12 - 0
sckw-modules/sckw-manage/pom.xml

@@ -68,6 +68,18 @@
             <version>1.0.0</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-order-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-transport-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-payment-api</artifactId>
+        </dependency>
     </dependencies>
     <build>
         <plugins>

+ 37 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -29,7 +29,11 @@ import com.sckw.manage.model.vo.req.CooperateManageQueryReqVo;
 import com.sckw.manage.model.vo.req.FindCooperateByEntReqVo;
 import com.sckw.manage.model.vo.req.FindEntCooperateReqVo;
 import com.sckw.manage.model.vo.res.*;
+import com.sckw.payment.api.model.constant.OrderEnum;
 import com.sckw.system.api.RemoteSystemService;
+import com.sckw.order.api.dubbo.TradeOrderInfoService;
+import com.sckw.transport.api.dubbo.TransportDubboService;
+import com.sckw.payment.api.dubbo.PaymentDubboService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -61,6 +65,15 @@ public class KwmCooperateManageService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteSystemService remoteSystemService;
 
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private TradeOrderInfoService tradeOrderInfoService;
+
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private TransportDubboService transportDubboService;
+
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private PaymentDubboService paymentDubboService;
+
 
     /**
      * @param reqVo 分页入参
@@ -171,6 +184,7 @@ public class KwmCooperateManageService {
     @Transactional(rollbackFor = {})
     public void dissolve(String ids, Integer type) {
         //todo 判断是否可以解除(若和所选企业有未完结的业务单据(销售订单/采购订单、托运订单/承运订单、对账单、结算单),不支持解除合作)
+
         //提示:您与所选企业存在未完结业务,当前无法删除!
         List<KwmCooperate> kwmCooperates = kwmCooperateMapper.selectBatchIds(Arrays.asList(ids.split(Global.COMMA)));
         if (CollectionUtils.isEmpty(kwmCooperates)) {
@@ -178,6 +192,29 @@ public class KwmCooperateManageService {
         }
         Long userId = LoginUserHolder.getUserId();
         Date date = new Date();
+        //判断是否可以解除-销售订单
+        Boolean order = tradeOrderInfoService.associateEnt(kwmCooperates.get(0).getEntId());
+        if (!order)
+        {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+        }
+
+        //判断是否可以解除-托运和承运
+        Boolean sport = transportDubboService.checkLogisticsOrderFinishByEntId(kwmCooperates.get(0).getEntId());
+        if (!sport)
+        {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+        }
+        Map<OrderEnum, List<String>> ledgerMap = paymentDubboService.checkLedger(kwmCooperates.get(0).getEntId());
+        if (!ledgerMap.isEmpty())
+        {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+        }
+        Map<OrderEnum,List<String>> settlementMap= paymentDubboService.checkSettlement(kwmCooperates.get(0).getEntId());
+        if (!settlementMap.isEmpty())
+        {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_031);
+        }
         kwmCooperates.forEach(item -> {
             //运营端可以操作任意状态,企业端只能操作合作中的数据
             if (SystemTypeEnum.MANAGE.getCode().equals(LoginUserHolder.getSystemType())) {

+ 7 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderDetailRes.java

@@ -12,6 +12,7 @@ import java.io.Serial;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -150,6 +151,12 @@ public class OrderDetailRes implements Serializable {
      */
     private String createByName;
 
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
     /**
      * 商品信息
      */

+ 17 - 9
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -1618,11 +1618,19 @@ public class KwtWaybillOrderService {
         if (ticket == null) {
             return HttpResult.error("车辆运单榜单信息不存在!");
         }
+        if (params.getType() == Global.NUMERICAL_ONE && (waybillOrder.getStatus() != CarWaybillEnum.COMPLETION_LOADING.getCode()
+                && waybillOrder.getStatus() != CarWaybillEnum.WAIT_UNLOADING.getCode()
+                && waybillOrder.getStatus() != CarWaybillEnum.COMPLETION_UNLOADING.getCode())) {
+            return HttpResult.error("当前运单不能编辑装货榜单!");
+        }
+        if (params.getType() == Global.NUMERICAL_TWO && waybillOrder.getStatus() != CarWaybillEnum.COMPLETION_UNLOADING.getCode()) {
+            return HttpResult.error("当前运单不能编辑卸货榜单!");
+        }
 
         /**2更新车辆运单信息**/
         KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
-        waybillOrder.setLoadAmount(params.getType() == 1 ? params.getAmount() : waybillOrder.getLoadAmount());
-        waybillOrder.setUnloadAmount(params.getType() == 2 ? params.getAmount() : waybillOrder.getUnloadAmount());
+        waybillOrder.setLoadAmount(params.getType() == Global.NUMERICAL_ONE ? params.getAmount() : waybillOrder.getLoadAmount());
+        waybillOrder.setUnloadAmount(params.getType() == Global.NUMERICAL_TWO ? params.getAmount() : waybillOrder.getUnloadAmount());
         waybillOrder.setDeficitAmount(waybillOrder.getLoadAmount().subtract(waybillOrder.getUnloadAmount()));
         BigDecimal deficitPrice = deficitPrice(waybillOrder.getLoadAmount(), waybillOrder.getDeficitAmount(),
                 logisticsOrder.getLoss(), logisticsOrder.getGoodsPrice());
@@ -1638,14 +1646,14 @@ public class KwtWaybillOrderService {
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
         wOrder.setLoadAmount(waybillOrder.getLoadAmount());
-        wOrder.setLoadTime(params.getType() == 1 ? params.getOperateTime() : null);
-        wOrder.setUnloadUrls(params.getType() == 1 ? params.getUrls() : null);
+        wOrder.setLoadTime(params.getType() == Global.NUMERICAL_ONE ? params.getOperateTime() : null);
+        wOrder.setUnloadUrls(params.getType() == Global.NUMERICAL_ONE ? params.getUrls() : null);
         wOrder.setUnloadAmount(waybillOrder.getUnloadAmount());
-        wOrder.setUnloadTime(params.getType() == 2 ? params.getOperateTime() : null);
-        wOrder.setLoadUrls(params.getType() == 2 ? params.getUrls() : null);
+        wOrder.setUnloadTime(params.getType() == Global.NUMERICAL_TWO ? params.getOperateTime() : null);
+        wOrder.setLoadUrls(params.getType() == Global.NUMERICAL_TWO ? params.getUrls() : null);
         wOrder.setDeficitAmount(waybillOrder.getDeficitAmount());
         wOrder.setDeficitPrice(waybillOrder.getDeficitPrice());
-        editSckwWaybillOrder(wOrder, waybillOrder, 2);
+        editSckwWaybillOrder(wOrder, waybillOrder, Global.NUMERICAL_TWO);
 
         //2承运订单
         /*SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
@@ -1756,7 +1764,7 @@ public class KwtWaybillOrderService {
             /**5更新承运订单信息**/
             Map queryParams = new HashMap();
             queryParams.put("lOrderId", waybillOrder.getLOrderId());
-            queryParams.put("passStatus", 1);
+            queryParams.put("passStatus", Global.NUMERICAL_ONE);
             WaybillCountVo waybillCount = waybillOrderDao.findWaybillOrderCount(queryParams);
 
             //更新卸货量/卸货时间/亏吨/亏吨扣款
@@ -1790,7 +1798,7 @@ public class KwtWaybillOrderService {
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
-        editSckwWaybillOrder(wOrder, waybillOrder, 2);
+        editSckwWaybillOrder(wOrder, waybillOrder, Global.NUMERICAL_TWO);
 
         /**8发送消息**/