Эх сурвалжийг харах

到账认领取消认领增加流程、
到账认领流水增加合同搜索

caozj 1 жил өмнө
parent
commit
8f118da16d

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountRunningWaterSelectDto.java

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 账户资金流水表列表查询入参实体
@@ -79,4 +80,8 @@ public class AccountRunningWaterSelectDto extends BaseSelectDto {
      */
     private String stopTime;
 
+    /**
+     * 流水ID
+     */
+    private List<Long> accountWaterIdList;
 }

+ 3 - 1
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -97,7 +97,9 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
         //摘要
         wrapper.like(ObjectUtil.isNotEmpty(dto.getRemarks()), "arw.remarks", dto.getRemarks());
         if (StringUtils.isNotEmpty(dto.getKeyword())) {
-            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword()).or().like("arw.name", dto.getKeyword()));
+            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword())
+                    .or().like("arw.name", dto.getKeyword())
+                    .or().in("arw.id",dto.getAccountWaterIdList()));
         }
         if (ObjectUtil.isNotEmpty(dto.getDataType()) && dto.getDataType() == 1) {// 到账认领数据
             wrapper.eq("arw.received", 10);

+ 48 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/claim/SaleAccountRunningWaterController.java

@@ -0,0 +1,48 @@
+package com.fjhx.sale.controller.claim;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterSelectDto;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
+import com.fjhx.account.service.account.AccountRunningWaterService;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.sale.service.claim.SaleAccountRunningWaterService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * <p>
+ * 账户资金流水表 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-04-06
+ */
+@DS(SourceConstant.ACCOUNT)
+@RestController
+@RequestMapping("/sale/accountRunningWater")
+public class SaleAccountRunningWaterController {
+
+    @Autowired
+    private SaleAccountRunningWaterService saleAccountRunningWaterService;
+
+    /**
+     * 账户资金流水表分页
+     */
+    @PostMapping("/page")
+    public Page<AccountRunningWaterVo> page(@RequestBody AccountRunningWaterSelectDto dto) {
+        return saleAccountRunningWaterService.getPage(dto);
+    }
+
+}

+ 144 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/ClaimDelFlow.java

@@ -0,0 +1,144 @@
+package com.fjhx.sale.flow;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.service.account.AccountRunningWaterService;
+import com.fjhx.area.utils.CustomizeAreaUtil;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.enums.CodingRuleEnum;
+import com.fjhx.common.enums.FlowStatusEnum1;
+import com.fjhx.common.service.coding.CodingRuleService;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.flow.core.FlowDelegate;
+import com.fjhx.flow.enums.FlowStatusEnum;
+import com.fjhx.sale.entity.claim.po.Claim;
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import com.fjhx.sale.entity.contract.dto.ContractDto;
+import com.fjhx.sale.entity.contract.po.Contract;
+import com.fjhx.sale.entity.contract.po.ContractProduct;
+import com.fjhx.sale.entity.contract.po.ContractProject;
+import com.fjhx.sale.entity.contract.po.ContractShipment;
+import com.fjhx.sale.service.claim.ClaimContractService;
+import com.fjhx.sale.service.claim.ClaimService;
+import com.fjhx.sale.service.contract.ContractProductService;
+import com.fjhx.sale.service.contract.ContractProjectService;
+import com.fjhx.sale.service.contract.ContractService;
+import com.fjhx.sale.service.contract.ContractShipmentService;
+import com.ruoyi.common.annotation.LogicIgnore;
+import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 外销合同流程
+ *
+ * @Author:caozj
+ * @DATE:2023/4/3 17:38
+ */
+@Component
+@DS(SourceConstant.SALE)
+public class ClaimDelFlow extends FlowDelegate {
+
+    @Autowired
+    private ClaimService claimService;
+
+    @Autowired
+    private AccountRunningWaterService accountRunningWaterService;
+
+    @Autowired
+    private ClaimContractService claimContractService;
+
+    @Override
+    public String getFlowKey() {
+        return "claim_del_flow";
+    }
+
+    /**
+     * 发起流程
+     *
+     * @param flowId     流程ID
+     * @param submitData
+     * @return 业务id
+     */
+    @Override
+    public Long start(Long flowId, JSONObject submitData) {
+        AccountRunningWater water = submitData.toJavaObject(AccountRunningWater.class);
+        return water.getId();
+    }
+
+    /**
+     * 结束流程
+     *
+     * @param flowId     流程ID
+     * @param businessId 业务ID
+     * @param submitData 数据
+     */
+    @Override
+    @DSTransactional
+    public void end(Long flowId, Long businessId, JSONObject submitData) {
+        //通过流水ID查找出到账认领的数据
+        List<Claim> claimList = claimService.list(Wrappers.<Claim>query().lambda().eq(Claim::getBusinessId, businessId));
+        if (CollectionUtils.isEmpty(claimList)) {
+            throw new ServiceException("当前流水暂无认领合同,不能取消认领");
+        }
+        List<Long> claimIds = claimList.stream().map(Claim::getId).collect(Collectors.toList());
+        claimService.removeBatchByIds(claimIds);
+        claimContractService.remove(Wrappers.<ClaimContract>query().lambda().in(ClaimContract::getClaimId, claimIds));
+        //更新流水数据为认领状态---已认领金额还原
+        AccountRunningWater water = new AccountRunningWater();
+        water.setId(businessId);
+        water.setIsClaim(0);//未认领状态
+        water.setClaimAmount(BigDecimal.ZERO);
+        accountRunningWaterService.updateById(water);
+    }
+
+    /**
+     * 重新发起
+     * @param flowId
+     * @param businessId
+     * @param flowStatus
+     * @param submitData
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void relaunch(Long flowId, Long businessId, FlowStatusEnum flowStatus, JSONObject submitData) {
+
+    }
+
+    /**
+     * 驳回
+     * @param flowId
+     * @param businessId
+     * @param flowStatus
+     */
+    @Override
+    public void reject(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
+
+    }
+
+    /**
+     * 退回发起人
+     * @param flowId
+     * @param businessId
+     * @param flowStatus
+     */
+    @Override
+    public void cancellation(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
+
+    }
+}

+ 7 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/claim/ClaimContractMapper.java

@@ -31,4 +31,11 @@ public interface ClaimContractMapper extends BaseMapper<ClaimContract> {
      * @return
      */
     List<ClaimContract> getListByContractIds(@Param("ew") IWrapper<ClaimContract> wrapper);
+
+    /**
+     * 根据合同号查询流水ID
+     * @param contractCode
+     * @return
+     */
+    List<Long> getAccountWaterIdsByContractCode(@Param("contractCode") String contractCode);
 }

+ 7 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/ClaimContractService.java

@@ -53,4 +53,11 @@ public interface ClaimContractService extends BaseService<ClaimContract> {
      * @return
      */
     List<ClaimContract> getListByContractIds(List<Long> contractIds);
+
+    /**
+     * 根据合同号查询流水ID
+     * @param code
+     * @return
+     */
+    List<Long> getAccountWaterIdsByContractCode(String code);
 }

+ 31 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/SaleAccountRunningWaterService.java

@@ -0,0 +1,31 @@
+package com.fjhx.sale.service.claim;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterSelectDto;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.ruoyi.common.core.service.BaseService;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * <p>
+ * 账户资金流水表 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-06
+ */
+public interface SaleAccountRunningWaterService  {
+
+    /**
+     * 账户资金流水表分页
+     */
+    Page<AccountRunningWaterVo> getPage(AccountRunningWaterSelectDto dto);
+
+}

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/ClaimContractServiceImpl.java

@@ -68,4 +68,14 @@ public class ClaimContractServiceImpl extends ServiceImpl<ClaimContractMapper, C
         return baseMapper.getListByContractIds(wrapper);
     }
 
+    /**
+     * 根据合同号查询流水ID
+     * @param code
+     * @return
+     */
+    @Override
+    public List<Long> getAccountWaterIdsByContractCode(String code) {
+        return baseMapper.getAccountWaterIdsByContractCode(code);
+    }
+
 }

+ 75 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/SaleAccountRunningWaterServiceImpl.java

@@ -0,0 +1,75 @@
+package com.fjhx.sale.service.claim.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.account.entity.account.bo.AccountRunningWaterBo;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterSelectDto;
+import com.fjhx.account.entity.account.po.AccountManagement;
+import com.fjhx.account.entity.account.po.AccountRemainder;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
+import com.fjhx.account.entity.tax.po.TaxRefundDetails;
+import com.fjhx.account.mapper.account.AccountRunningWaterMapper;
+import com.fjhx.account.service.account.AccountManagementService;
+import com.fjhx.account.service.account.AccountRemainderService;
+import com.fjhx.account.service.account.AccountRunningWaterService;
+import com.fjhx.account.service.tax.TaxRefundDetailsService;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.entity.corporation.po.Corporation;
+import com.fjhx.common.service.corporation.CorporationService;
+import com.fjhx.common.utils.Assert;
+import com.fjhx.common.utils.ExchangeRateUtil;
+import com.fjhx.item.util.excel.util.ExcelUtil;
+import com.fjhx.sale.service.claim.ClaimContractService;
+import com.fjhx.sale.service.claim.SaleAccountRunningWaterService;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+/**
+ * <p>
+ * 账户资金流水表 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-06
+ */
+@Service
+public class SaleAccountRunningWaterServiceImpl implements SaleAccountRunningWaterService {
+
+    @Autowired
+    private ClaimContractService claimContractService;
+
+    @Autowired
+    private AccountRunningWaterService accountRunningWaterService;
+
+
+    @Override
+    public Page<AccountRunningWaterVo> getPage(AccountRunningWaterSelectDto dto) {
+        if (StringUtils.isNotEmpty(dto.getKeyword())) {
+            List<Long> accountIdList = claimContractService.getAccountWaterIdsByContractCode(dto.getKeyword());
+            dto.setAccountWaterIdList(accountIdList);
+        }
+        Page<AccountRunningWaterVo> page = accountRunningWaterService.getPage(dto);
+        return page;
+    }
+}

+ 9 - 0
hx-sale/src/main/resources/mapper/claim/ClaimContractMapper.xml

@@ -24,4 +24,13 @@
         LEFT JOIN claim t2 ON t1.claim_id = t2.id
             ${ew.customSqlSegment}
     </select>
+    <select id="getAccountWaterIdsByContractCode" resultType="java.lang.Long">
+        SELECT
+            business_id
+        FROM
+            claim_contract t1
+                LEFT JOIN claim t2 ON t1.claim_id = t2.id
+        WHERE
+            t1.contract_code LIKE concat('%',#{contractCode},'%')
+    </select>
 </mapper>