Переглянути джерело

1、添加辅助单位;

zk 2 роки тому
батько
коміт
c082f60510

+ 1 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -1425,7 +1425,7 @@ public class KwoTradeOrderService {
                                     if (eee.getParentId().equals(ee.getId())) {
                                         lossUnit.add(new HashMap<>(NumberConstant.SIXTEEN) {{
                                             put("value", eee.getValue());
-                                            put("lable", eee.getLabel());
+                                            put("label", eee.getLabel());
                                         }});
                                     }
                                 }

+ 34 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/GoodsUnitVo.java

@@ -0,0 +1,34 @@
+package com.sckw.transport.model.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @desc 商品-单位换算
+ * @author zk
+ * @date 2023/12/4 0004
+ */
+@Data
+public class GoodsUnitVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 47804905372870133L;
+
+    /**
+     * 被转换单位
+     */
+    private String fromUnit;
+
+    /**
+     * 转换目标单位
+     */
+    private String toUnit;
+
+    /**
+     * 换算值
+     */
+    private BigDecimal conversionValue;
+}

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

@@ -2,6 +2,7 @@ package com.sckw.transport.model.vo;
 
 import lombok.Data;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * @author lfdc
@@ -26,6 +27,11 @@ public class WaybillOrderLoadingVO {
      */
     private BigDecimal amount;
 
+    /**
+     * 是否为主
+     */
+    private boolean isMain;
+
     public WaybillOrderLoadingVO() {
     }
 

+ 15 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsOrderGoodsService.java

@@ -21,12 +21,14 @@ import com.sckw.transport.model.dto.OrderGoodsLoadingDto;
 import com.sckw.transport.model.dto.OrderManualCompletionDto;
 import com.sckw.transport.model.param.GoodsUnitParam;
 import com.sckw.transport.model.param.LogisticsConsignmentParam;
+import com.sckw.transport.model.vo.GoodsUnitVo;
 import com.sckw.transport.model.vo.LogisticsCountVo;
 import com.sckw.transport.model.vo.WaybillCountVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -262,4 +264,17 @@ public class KwtLogisticsOrderGoodsService {
         return false;
     }
 
+    /**
+     * 获取物流订单辅助单位信息
+     * @param lOrderId 物流订单
+     * @return 辅助单位信息
+     */
+    public List<GoodsUnitVo> assistUnit(Long lOrderId) {
+        List<GoodsUnitVo> units = new ArrayList<>();
+        //辅助单位
+        List<KwtLogisticsOrderGoodsUnit> assistUnit = goodsUnitMapper.findGoodsUnit(new HashMap<>(NumberConstant.SIXTEEN){{
+            put("lOrderId", lOrderId);
+        }});
+        return BeanUtils.copyToList(assistUnit, GoodsUnitVo.class);
+    }
 }

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillManagementService.java

@@ -177,7 +177,7 @@ public class KwtWaybillManagementService {
             BigDecimal loadAmount = info.getLoadAmount() == null ? NumberConstant.ZERO_TWO : info.getLoadAmount();
             BigDecimal unloadAmount = info.getUnloadAmount() == null ? NumberConstant.ZERO_TWO : info.getUnloadAmount();
             BigDecimal deficitRealAmount = commonService.deficitLossAmount( info.getLoadAmount(), loadAmount.subtract(unloadAmount), deficitLoss, info.getLossUnit());
-            waybillTicketVO = kwtWaybillOrderTicketService.agreement(id, String.valueOf(info.getDeficitAmount()), deficitRealAmount.toString());
+            waybillTicketVO = kwtWaybillOrderTicketService.agreement(id, info.getUnit(), String.valueOf(info.getDeficitAmount()), deficitRealAmount.toString());
         }
 
         List<Integer> statuses = initWaybillIndexStatus();

+ 5 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -2137,11 +2137,11 @@ public class KwtWaybillOrderService {
         //装货榜单
         List<KwtWaybillOrderTicket> loadTickets = waybillOrderTicketDao.findWaybillOrderTicket(wOrderId, NumberConstant.ONE);
         KwtWaybillOrderTicket loadTicket = CollectionUtils.isNotEmpty(loadTickets) ? loadTickets.get(NumberConstant.ZERO) : null;
-        List<WaybillOrderLoadingVO> loadLoading = waybillOrderTicketService.agreement(wOrderId, NumberConstant.ONE);
+        List<WaybillOrderLoadingVO> loadLoading = waybillOrderTicketService.agreement(waybillOrder, NumberConstant.ONE);
         //卸货榜单
         List<KwtWaybillOrderTicket> unloadTickets = waybillOrderTicketDao.findWaybillOrderTicket(wOrderId, NumberConstant.TWO);
         KwtWaybillOrderTicket unloadTicket = CollectionUtils.isNotEmpty(unloadTickets) ? unloadTickets.get(NumberConstant.ZERO) : null;
-        List<WaybillOrderLoadingVO> unloadLoading = waybillOrderTicketService.agreement(wOrderId, NumberConstant.TWO);
+        List<WaybillOrderLoadingVO> unloadLoading = waybillOrderTicketService.agreement(waybillOrder, NumberConstant.TWO);
 
         //装货地址
         KwtWaybillOrderAddress loadAddress = this.getAddress(waybillOrder.getId(), NumberConstant.ONE, NumberConstant.TWO);
@@ -2151,6 +2151,8 @@ public class KwtWaybillOrderService {
         KwtLogisticsOrderGoods goods = logisticsOrderGoodsDao.findByGoods(waybillOrder.getLOrderId());
         //审批意见
         KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrack(waybillOrder.getId(), CarWaybillEnum.APPROVAL_NO_PASS.getCode());
+        //辅助单位
+        List<GoodsUnitVo> assistUnit = kwtLogisticsOrderGoodsService.assistUnit(waybillOrder.getLOrderId());
 
         //用户数据集
         List<Long> createBys = new ArrayList() {{
@@ -2193,6 +2195,7 @@ public class KwtWaybillOrderService {
         result.put("approvalTime", track != null ? DateUtils.formatV1(track.getCreateTime()) : null);
         result.put("approvalOpinions", track != null ? track.getRemark() : null);
         result.put("approver", usersMap.get(track != null ? track.getUpdateBy() : null));
+        result.put("assistUnit", assistUnit);
         return HttpResult.ok(result);
     }
 

+ 17 - 8
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderTicketService.java

@@ -9,6 +9,7 @@ import com.sckw.excel.utils.DateUtil;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.transport.dao.*;
+import com.sckw.transport.model.KwtLogisticsOrderGoodsUnit;
 import com.sckw.transport.model.KwtWaybillOrder;
 import com.sckw.transport.model.KwtWaybillOrderTicket;
 import com.sckw.transport.model.dto.WaybillOrderTicketLoadingDto;
@@ -124,11 +125,12 @@ public class KwtWaybillOrderTicketService {
     /**
      * 运单详情单证信息
      * @param wOrderId 运单ID
+     * @param unit 运单委派单位
      * @param deficitAmount 亏吨
      * @param deficitRealAmount 扣亏量
      * @return 单证信息
      */
-    public WaybillTicketVO agreement(Long wOrderId, String deficitAmount, String deficitRealAmount) {
+    public WaybillTicketVO agreement(Long wOrderId, String unit, String deficitAmount, String deficitRealAmount) {
         WaybillTicketVO waybillTicket = new WaybillTicketVO();
         waybillTicket.setDeficitAmount(deficitAmount);
         waybillTicket.setDeficitRealAmount(deficitRealAmount);
@@ -144,7 +146,9 @@ public class KwtWaybillOrderTicketService {
                 SysDictResDto sysDict = unitType != null ? unitType.get(e.getUnit()) : null;
                 waybillTicket.setLoadUrl(FileUtils.splice(e.getUrls()));
                 waybillTicket.setLoadTime(e.getOperateTime() == null ? null : DateUtil.getDateTime(e.getOperateTime()));
-                loadLoading.add(new WaybillOrderLoadingVO(e.getUnit(), sysDict != null ? sysDict.getLabel() : null, e.getAmount()));
+                WaybillOrderLoadingVO loadingVo = new WaybillOrderLoadingVO(e.getUnit(), sysDict != null ? sysDict.getLabel() : null, e.getAmount());
+                loadingVo.setMain(unit.equals(e.getUnit()) ? true : false);
+                loadLoading.add(loadingVo);
             });
             waybillTicket.setLoadLoading(loadLoading);
         }
@@ -154,7 +158,9 @@ public class KwtWaybillOrderTicketService {
                 SysDictResDto sysDict = unitType != null ? unitType.get(e.getUnit()) : null;
                 waybillTicket.setUnloadUrl(FileUtils.splice(e.getUrls()));
                 waybillTicket.setUnloadTime(e.getOperateTime() == null ? null : DateUtil.getDateTime(e.getOperateTime()));
-                unloadLoading.add(new WaybillOrderLoadingVO(e.getUnit(), sysDict != null ? sysDict.getLabel() : null, e.getAmount()));
+                WaybillOrderLoadingVO loadingVo = new WaybillOrderLoadingVO(e.getUnit(), sysDict != null ? sysDict.getLabel() : null, e.getAmount());
+                loadingVo.setMain(unit.equals(e.getUnit()) ? true : false);
+                unloadLoading.add(loadingVo);
             });
             waybillTicket.setUnloadLoading(unloadLoading);
         }
@@ -163,20 +169,23 @@ public class KwtWaybillOrderTicketService {
 
     /**
      * 单证信息
-     * @param wOrderId 运单ID
+     * @param waybillOrder 运单
      * @param type 单证类型
-     * @return
+     * @return 运载信息
      */
-    public List<WaybillOrderLoadingVO> agreement(Long wOrderId, int type) {
+    public List<WaybillOrderLoadingVO> agreement(KwtWaybillOrder waybillOrder, int type) {
+        //运载信息
         List<WaybillOrderLoadingVO> loadLoading = new ArrayList<>();
         //单位数据字典
         Map<String, SysDictResDto> unitType = remoteSystemService.queryDictMapByType(DictTypeEnum.UNIT_TYPE.getType());
         //装载信息
-        List<KwtWaybillOrderTicket> loading = waybillOrderTicketMapper.findWaybillOrderTicket(wOrderId, type);
+        List<KwtWaybillOrderTicket> loading = waybillOrderTicketMapper.findWaybillOrderTicket(waybillOrder.getId(), type);
         if (CollectionUtils.isNotEmpty(loading)) {
             loading.forEach(e -> {
                 SysDictResDto sysDict = unitType != null ? unitType.get(e.getUnit()) : null;
-                loadLoading.add(new WaybillOrderLoadingVO(e.getUnit(), sysDict != null ? sysDict.getLabel() : null, e.getAmount()));
+                WaybillOrderLoadingVO loadingVo = new WaybillOrderLoadingVO(e.getUnit(), sysDict != null ? sysDict.getLabel() : null, e.getAmount());
+                loadingVo.setMain(waybillOrder.getUnit().equals(e.getUnit()) ? true : false);
+                loadLoading.add(loadingVo);
             });
         }
         return loadLoading;