Просмотр исходного кода

对账界面新增页面数据

lengfaqiang 2 лет назад
Родитель
Сommit
3e47a81abc

+ 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;
 }

+ 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());

+ 32 - 3
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,9 +420,9 @@ 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);
-        if (CollectionUtils.isNotEmpty(logisticsNo)){
-            return HttpResult.error("",logisticsNo);
-        }else {
+        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,