caozj 1 éve
szülő
commit
622263f13e

+ 2 - 1
hx-account/src/main/resources/mapper/account/AccountRequestFundsDetailMapper.xml

@@ -19,6 +19,7 @@
 
     <select id="getListByContractId" resultType="com.fjhx.account.entity.account.vo.AccountRequestFundsDetailVo">
         SELECT
+            t2.rate,
             t2.currency,
             t1.*
         FROM
@@ -27,7 +28,7 @@
         LEFT JOIN account_payment t3 ON t2.id = t3.business_id
         WHERE
             t1.contract_id = #{contractId}
-          AND t3.`status` = 20
+          AND t3.`status` = 10
     </select>
 
     <select id="listByAccountRequestFundsId" resultType="com.fjhx.account.entity.account.vo.AccountRequestFundsDetailVo">

+ 36 - 35
hx-purchase/src/main/java/com/fjhx/purchase/flow/PayFlow.java

@@ -22,6 +22,7 @@ import com.fjhx.purchase.service.pay.PayService;
 import com.fjhx.purchase.service.purchase.PurchaseService;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -102,50 +103,50 @@ public class PayFlow extends FlowDelegate {
         if (ObjectUtils.isEmpty(pay)) {
             throw new ServiceException("采购付款单不存在");
         }
-
         // 修改采购状态为审批通过
         pay.setStatus(PayStatusEnum.PASS.getKey());
         pay.setApprovedDate(new Date());
         payService.updateById(pay);
-        // 添加一条付款流水
-        AccountPayment payment = new AccountPayment();
-        payment.setAccountManagementId(pay.getAccountManagementId());
-        payment.setBusinessId(pay.getId());
-        payment.setCurrency(pay.getCurrency());
-
-        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
-        SysUser sysUser = userService.getOne(IWrapper.<SysUser>getWrapper().eq(SysUser::getUserId, pay.getCreateUser()));
-        DynamicDataSourceContextHolder.poll();
-        if (ObjectUtils.isNotEmpty(sysUser)) {
-            payment.setDepartmentId(sysUser.getDeptId());
+        if(!StringUtils.equals(pay.getPayType(),"3")){
+
+            // 添加一条付款流水
+            AccountPayment payment = new AccountPayment();
+            payment.setAccountManagementId(pay.getAccountManagementId());
+            payment.setBusinessId(pay.getId());
+            payment.setCurrency(pay.getCurrency());
+
+            DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+            SysUser sysUser = userService.getOne(IWrapper.<SysUser>getWrapper().eq(SysUser::getUserId, pay.getCreateUser()));
+            DynamicDataSourceContextHolder.poll();
+            if (ObjectUtils.isNotEmpty(sysUser)) {
+                payment.setDepartmentId(sysUser.getDeptId());
+            }
+            // todo 暂时写死人民币
+            payment.setPaymentRemark(pay.getRemark());
+            payment.setType(PaymentTypeEnum.REJECT.getKey());
+            payment.setStatus(PaymentStatusEnum.UNDER_REVIEW.getKey());
+            payment.setCorporationId(pay.getCorporationId());
+            payment.setAmount(pay.getAmount());
+            payment.setIncomeAmount(pay.getAmount());
+            payment.setName(pay.getName());
+            payment.setDataUser(pay.getCreateUser());
+            payment.setBusinessManagementId(pay.getAccountManagementId());
+            payment.setOpeningBank(pay.getOpeningBank());
+            payment.setBusinessCurrency(pay.getCurrency());
+            payment.setAccountOpening(pay.getAccountOpening());
+            payment.setInterbankNumber(pay.getInterbankNumber());
+            payment.setPaymentMethod(pay.getPayType());
+            payment.setApplyForTime(pay.getCreateTime());//申请时间
+            accountPaymentService.save(payment);
         }
-        // todo 暂时写死人民币
-        payment.setPaymentRemark(pay.getRemark());
-        payment.setType(PaymentTypeEnum.REJECT.getKey());
-        payment.setStatus(PaymentStatusEnum.UNDER_REVIEW.getKey());
-        payment.setCorporationId(pay.getCorporationId());
-        payment.setAmount(pay.getAmount());
-        payment.setIncomeAmount(pay.getAmount());
-        payment.setName(pay.getName());
-        payment.setDataUser(pay.getCreateUser());
-        payment.setBusinessManagementId(pay.getAccountManagementId());
-        payment.setOpeningBank(pay.getOpeningBank());
-        payment.setBusinessCurrency(pay.getCurrency());
-        payment.setAccountOpening(pay.getAccountOpening());
-        payment.setInterbankNumber(pay.getInterbankNumber());
-        payment.setPaymentMethod(pay.getPayType());
-        payment.setApplyForTime(pay.getCreateTime());//申请时间
-        accountPaymentService.save(payment);
-
         // 修改合同付款状态
         updatePurchasePayStatus(businessId);
-
     }
 
-    @Override
-    public void defaultMethod(Long flowId, Long businessId, FlowStatusEnum flowStatusEnum, JSONObject submitData) {
-
-    }
+//    @Override
+//    public void defaultMethod(Long flowId, Long businessId, FlowStatusEnum flowStatusEnum, JSONObject submitData) {
+//
+//    }
 
 
     /**

+ 6 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/po/DocumentsProduct.java

@@ -91,4 +91,10 @@ public class DocumentsProduct extends BasePo {
     @TableField(exist = false)
     private Long productId;
 
+    /**
+     * 装箱明细ID
+     */
+    @TableField(exist = false)
+    private Long packDetailId;
+
 }

+ 7 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/PackDetail.java

@@ -1,6 +1,7 @@
 package com.fjhx.sale.entity.pack.po;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
 import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.math.BigDecimal;
@@ -110,4 +111,10 @@ public class PackDetail extends BasePo {
     @TableField(exist = false)
     private List<PackDetailProduct> packDetailProductList;
 
+    /**
+     * 装箱明细合同产品列表
+     */
+    @TableField(exist = false)
+    private List<DocumentsProduct> documentsProductList;
+
 }

+ 8 - 3
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsServiceImpl.java

@@ -29,6 +29,7 @@ import com.fjhx.sale.entity.documents.po.DocumentsTransport;
 import com.fjhx.sale.entity.documents.vo.DocumentsVo;
 import com.fjhx.sale.entity.pack.po.PackDetail;
 import com.fjhx.sale.entity.pack.po.PackDetailGoods;
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
 import com.fjhx.sale.entity.pack.po.PackShipment;
 import com.fjhx.sale.mapper.documents.DocumentsMapper;
 import com.fjhx.sale.service.contract.ContractProjectService;
@@ -38,6 +39,7 @@ import com.fjhx.sale.service.documents.DocumentsProductService;
 import com.fjhx.sale.service.documents.DocumentsService;
 import com.fjhx.sale.service.documents.DocumentsTransportService;
 import com.fjhx.sale.service.pack.PackDetailGoodsService;
+import com.fjhx.sale.service.pack.PackDetailProductService;
 import com.fjhx.sale.service.pack.PackDetailService;
 import com.fjhx.sale.service.pack.PackShipmentService;
 import com.ruoyi.common.exception.ServiceException;
@@ -74,6 +76,9 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
     private PackDetailGoodsService packDetailGoodsService;
 
     @Autowired
+    private PackDetailProductService packDetailProductService;
+
+    @Autowired
     private DocumentsTransportService documentsTransportService;
 
     @Autowired
@@ -123,7 +128,6 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
             if (ObjectUtil.isNotEmpty(corporationList2)) {
                 record.setSellCorporationName(corporationList2.get(0).getName());
             }
-
         }
         //赋值客户名称
         customerService.attributeAssign(records, DocumentsVo::getBuyCorporationId, (item, customer) -> {
@@ -211,7 +215,7 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
             item.setProductName(product.getName());
             item.setProductSpec(product.getSpec());
         });
-        //查询包装出货主合同
+        Map<Long, List<DocumentsProduct>> docuProductMap = documentsProducts.stream().collect(Collectors.groupingBy(DocumentsProduct::getPackDetailId));
         PackShipment packShipment = packShipmentService.getById(documents.getPackShipmentId());
         //装箱单
         List<PackDetail> packDetailList = new ArrayList<>();
@@ -226,12 +230,13 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
         //装箱商品明细
         List<PackDetailGoods> packDetailGoodsList = new ArrayList<>();
         if (ObjectUtil.isNotEmpty(packShipment)) {//查询装箱单
-            packDetailList = packDetailService.list(Wrappers.<PackDetail>query().lambda().in(PackDetail::getId, Arrays.asList(packShipment.getPackDetailIds())));
+            packDetailList = packDetailService.list(Wrappers.<PackDetail>query().lambda().in(PackDetail::getId, Arrays.asList(packShipment.getPackDetailIds().split(","))));
             List<Long> packDetailIds = packDetailList.stream().map(PackDetail::getId).collect(Collectors.toList());
             packDetailGoodsList = packDetailGoodsService.list(Wrappers.<PackDetailGoods>query().lambda().in(PackDetailGoods::getPackDetailId, packDetailIds));
             Map<Long, List<PackDetailGoods>> packGoodMap = packDetailGoodsList.stream().collect(Collectors.groupingBy(PackDetailGoods::getPackDetailId));
             for (PackDetail p : packDetailList) {
                 p.setPackDetailGoodsList(packGoodMap.getOrDefault(p.getId(), null));
+                p.setDocumentsProductList(docuProductMap.getOrDefault(p.getId(), null));
             }
             sumPackQuantity = packDetailList.stream().map(PackDetail::getPackQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
             sumRoughWeight = packDetailList.stream().map(PackDetail::getRoughWeight).reduce(BigDecimal.ZERO, BigDecimal::add);

+ 5 - 1
hx-sale/src/main/java/com/fjhx/sale/service/statement/impl/SaleStatementServiceImpl.java

@@ -17,6 +17,7 @@ import com.fjhx.account.service.account.AccountRequestFundsService;
 import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.account.service.tax.TaxRefundDetailsService;
 import com.fjhx.common.entity.currency.po.CurrencyRate;
+import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.service.currency.CurrencyRateService;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.purchase.entity.purchase.enums.PurchaseStatusEnum;
@@ -157,8 +158,11 @@ public class SaleStatementServiceImpl implements SaleStatementService {
     private Page<Contract> getContractPage(ProfitSettlementDto dto) {
 
         Page<Contract> page = contractService.page(dto.getPage(), q -> q
+                .orderByDesc(Contract::getCreateTime)
+                .between(Contract::getStatus, FlowStatusEnum1.PASS.getKey(), FlowStatusEnum1.UPDATE.getKey() - 1)
                 .eq(ObjectUtil.isNotEmpty(dto.getSettlementStatus()), Contract::getSettlementStatus, dto.getSettlementStatus())
                 .eq(ObjectUtil.isNotEmpty(dto.getUserId()), Contract::getCreateUser, dto.getUserId())
+                .like(StringUtil.isNotEmpty(dto.getKeyword()),Contract::getCode,dto.getKeyword())
         );
 
         return page;
@@ -341,7 +345,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                 List<Long> warterIds = cList.stream().distinct().map(ClaimContract::getBusinessId).collect(Collectors.toList());
                 if (CollectionUtils.isNotEmpty(warterIds)) {
                     //查出流水
-                    List<AccountRunningWater> accountRunningWaterList = accountRunningWaterService.list(Wrappers.<AccountRunningWater>query().lambda().select(AccountRunningWater::getRate, AccountRunningWater::getId).in(AccountRunningWater::getId, warterIds));
+                    List<AccountRunningWater> accountRunningWaterList = accountRunningWaterService.list(Wrappers.<AccountRunningWater>query().lambda().in(AccountRunningWater::getId, warterIds));
                     Map<Long, BigDecimal> waterMap = accountRunningWaterList.stream().collect(Collectors.toMap(AccountRunningWater::getId, AccountRunningWater::getRate));
                     BigDecimal contractArrival = cList.stream().map(claimContract -> {
                         //获取汇率

+ 2 - 1
hx-sale/src/main/resources/mapper/documents/DocumentsProductMapper.xml

@@ -24,7 +24,8 @@
     <select id="getDpList" resultType="com.fjhx.sale.entity.documents.po.DocumentsProduct">
         SELECT
             t1.*,
-            t2.product_id AS productId
+            t2.product_id AS productId,
+           t2.pack_detail_id
         FROM
             documents_product t1
         LEFT JOIN pack_detail_product t2 ON t1.business_id = t2.id