zss
8 天以前 f85d6c2edfb1a003c299c16b3a7509dbef9c9b2a
采购台账增加审批流程
已修改9个文件
79 ■■■■ 文件已修改
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -14,6 +14,8 @@
import com.ruoyi.other.service.impl.TempFileServiceImpl;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.pojo.CommonFile;
@@ -41,6 +43,9 @@
    @Autowired
    private SalesLedgerMapper salesLedgerMapper;
    @Autowired
    private PurchaseLedgerMapper purchaseLedgerMapper;
    @Autowired
    private SysUserMapper sysUserMapper;
@@ -142,15 +147,24 @@
            approveProcess.setApproveUserCurrentName(approveNode1.getApproveNodeUser());
        }
        approveProcessMapper.updateById(approveProcess);
        //如果是6销售审批通过,对应销售关联的表需要更新
        if (approveProcess.getApproveType()==6 && status==2){
        //如果是6销售审批,对应销售关联的表需要更新
        if (approveProcess.getApproveType()==6){
            List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(Wrappers.<SalesLedger>lambdaQuery().eq(SalesLedger::getSalesContractNo, approveProcess.getApproveReason()));
            if (CollectionUtils.isEmpty(salesLedgers)){
                SalesLedger salesLedger = salesLedgers.get(0);
                salesLedger.setIsPass(1);
                salesLedger.setApprovalStatus(status);
                salesLedgerMapper.updateById(salesLedger);
            }
        }
        //如果是5采购审批,对应采购关联的表需要更新
        if (approveProcess.getApproveType()==5){
            List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(Wrappers.<PurchaseLedger>lambdaQuery().eq(PurchaseLedger::getPurchaseContractNumber, approveProcess.getApproveReason()));
            if (CollectionUtils.isEmpty(purchaseLedgers)){
                PurchaseLedger purchaseLedger = purchaseLedgers.get(0);
                purchaseLedger.setApprovalStatus(status);
                purchaseLedgerMapper.updateById(purchaseLedger);
            }
        }
        // 绑定附件
        if(!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1){
src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
@@ -181,4 +181,10 @@
    @ApiModelProperty(value = "付款方式")
    private String paymentMethod;
    @ApiModelProperty(value = "1-待审核,2-审批中,3-审批通过,4-审批失败")//默认是1
    private Integer approvalStatus;
    // 审批人
    private String approveUserIds;
}
src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
@@ -153,5 +153,8 @@
    @ApiModelProperty(value = "付款方式")
    private String paymentMethod;
    @ApiModelProperty(value = "1-待审核,2-审批中,3-审批通过,4-审批失败")//默认是1
    private Integer approvalStatus;
}
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -10,6 +10,8 @@
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountExpenseService;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.approve.service.IApproveProcessService;
import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.mapper.SupplierManageMapper;
@@ -74,6 +76,7 @@
public class PurchaseLedgerServiceImpl extends ServiceImpl<PurchaseLedgerMapper, PurchaseLedger> implements IPurchaseLedgerService {
    private final AccountExpenseService accountExpenseService;
    private final PurchaseLedgerMapper purchaseLedgerMapper;
    private final IApproveProcessService approveProcessService;
    private final SalesLedgerMapper salesLedgerMapper;
    private final SalesLedgerProductMapper salesLedgerProductMapper;
@@ -180,6 +183,22 @@
            migrateTempFilesToFormal(purchaseLedger.getId(), purchaseLedgerDto.getTempFileIds());
        }
        //6.采购需要审批
        //新增审批数据approve_process
        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
        approveProcessVO.setApproveDeptId(purchaseLedger.getTenantId());
        approveProcessVO.setApproveReason(purchaseLedger.getPurchaseContractNumber());//审批理由是采购合同号用这个来关联
        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        approveProcessVO.setApproveTime(LocalDate.now().format(dateFormat));
        approveProcessVO.setApproveType(5);//5是采购申请
        approveProcessVO.setApproveUser(purchaseLedger.getRecorderId());//录入人=申请人
        approveProcessVO.setApproveUserIds(purchaseLedgerDto.getApproveUserIds());//审批人
        try {
            approveProcessService.addApprove(approveProcessVO);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return 1;
    }
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -58,6 +58,9 @@
    @ApiModelProperty(value = "订单按紧急程度分类(普通/紧急)")
    private String salesType;
    @ApiModelProperty(value = "是否审批通过(1通过/0不通过)")//默认是1
    private int isPass;
    @ApiModelProperty(value = "1-待审核,2-审批中,3-审批通过,4-审批失败")//默认是1
    private Integer approvalStatus;
    // 审批人
    private String approveUserIds;
}
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -129,7 +129,7 @@
    @ApiModelProperty(value = "订单按紧急程度分类(普通/紧急)")
    private String salesType;
    @ApiModelProperty(value = "是否审批通过(1通过/0不通过)")//默认是1
    private int isPass;
    @ApiModelProperty(value = "1-待审核,2-审批中,3-审批通过,4-审批失败")//默认是1
    private Integer approvalStatus;
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -440,9 +440,7 @@
            //6.销售订单按紧急程度分类,如普通订单以及紧急订单;普通订单需流转至业务单据进行审批,紧急订单无需审批。
            if (salesLedger.getSalesType().equals("普通")){
                salesLedger.setIsPass(0);
                salesLedgerMapper.updateById(salesLedger);
                //并且新增审批数据approve_process
                //新增审批数据approve_process
                ApproveProcessVO approveProcessVO = new ApproveProcessVO();
                approveProcessVO.setApproveDeptId(salesLedger.getTenantId());
                approveProcessVO.setApproveReason(salesLedger.getSalesContractNo());//审批理由是销售合同号用这个来关联
@@ -450,12 +448,16 @@
                approveProcessVO.setApproveTime(LocalDate.now().format(dateFormat));
                approveProcessVO.setApproveType(6);//6是销售台账
                approveProcessVO.setApproveUser(Long.parseLong(salesLedger.getEntryPerson()));//录入人=申请人
                approveProcessVO.setApproveUserIds("1");
                approveProcessVO.setApproveUserIds(salesLedgerDto.getApproveUserIds());//审批人
                try {
                    approveProcessService.addApprove(approveProcessVO);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }else {
                //紧急默认通过
                salesLedger.setApprovalStatus(3);
                salesLedgerMapper.updateById(salesLedger);
            }
            return 1;
        } catch (IOException e) {
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -21,6 +21,7 @@
        pl.contract_amount-sum(pr.tickets_amount) AS unReceipt_payment_amount,
        pl.entry_date,
        pl.recorder_name,
        pl.approval_status,
        pl.payment_method
        from purchase_ledger pl
        left join product_record pr on pl.id = pr.purchase_ledger_id
@@ -44,6 +45,9 @@
            <if test="c.entryDateEnd != null and c.entryDateEnd != '' ">
                AND  pl.entry_date &lt;= DATE_FORMAT(#{c.entryDateEnd},'%Y-%m-%d')
            </if>
             <if test="c.approvalStatus != null">
                and pl.approval_status =#{c.approvalStatus}
            </if>
        </where>
        group by pl.id, pl.purchase_contract_number, pl.sales_contract_no, pl.supplier_name,
        pl.project_name,pl.entry_date,
src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -57,7 +57,7 @@
        T1.tenant_id,
        T1.contract_amount,
        T1.execution_date,
        T1.is_pass,
        T1.approval_status,
        T1.sales_type,
        T2.nick_name AS entry_person_name,
        T1.payment_method
@@ -83,8 +83,8 @@
            <if test="salesLedgerDto.entryDateEnd != null and salesLedgerDto.entryDateEnd != '' ">
                AND  T1.entry_date &lt;= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d')
            </if>
             <if test="salesLedgerDto.isPass != null">
                AND  T1.is_pass =#{salesLedgerDto.isPass}
             <if test="salesLedgerDto.approvalStatus != null">
                AND  T1.approval_status =#{salesLedgerDto.approvalStatus}
            </if>
        </where>
    </select>