zss
8 天以前 b6b4cbf1fb72c21ad27a49f3231fb77bb96e221f
销售台账增加类型区分普通和紧急,普通需要走审批流程
已修改6个文件
73 ■■■■■ 文件已修改
src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
@@ -23,7 +23,7 @@
@ApiModel
public class ApproveProcess{
    /**
     *
     *
     */
    @TableId(type = IdType.AUTO)
    private Long id;
@@ -134,6 +134,13 @@
    /**
     * 审批类型
     *     0: "协同审批管理表",
     *     1: "公出管理审批表",
     *     2: "请假管理审批表",
     *     3: "出差管理审批表",
     *     4: "报销管理审批表",
     *     5: "采购申请审批表",
     *     6: "销售订单审批表",
     */
    private Integer approveType;
@@ -151,4 +158,4 @@
    private static final long serialVersionUID = 1L;
}
}
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.approve.mapper.ApproveNodeMapper;
import com.ruoyi.approve.mapper.ApproveProcessMapper;
@@ -14,7 +15,9 @@
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +38,9 @@
    private  ApproveNodeMapper approveNodeMapper;
    @Autowired
    private ApproveProcessMapper approveProcessMapper;
    @Autowired
    private SalesLedgerMapper salesLedgerMapper;
    @Autowired
    private SysUserMapper sysUserMapper;
@@ -136,6 +142,15 @@
            approveProcess.setApproveUserCurrentName(approveNode1.getApproveNodeUser());
        }
        approveProcessMapper.updateById(approveProcess);
        //如果是6销售审批通过,对应销售关联的表需要更新
        if (approveProcess.getApproveType()==6 && status==2){
            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);
                salesLedgerMapper.updateById(salesLedger);
            }
        }
        // 绑定附件
        if(!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1){
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -54,4 +54,10 @@
    @ApiModelProperty(value = "付款方式")
    private String paymentMethod;
    @ApiModelProperty(value = "订单按紧急程度分类(普通/紧急)")
    private String salesType;
    @ApiModelProperty(value = "是否审批通过(1通过/0不通过)")//默认是1
    private int isPass;
}
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -125,5 +125,11 @@
    @ApiModelProperty(value = "付款方式")
    private String paymentMethod;
    @ApiModelProperty(value = "订单按紧急程度分类(普通/紧急)")
    private String salesType;
    @ApiModelProperty(value = "是否审批通过(1通过/0不通过)")//默认是1
    private int isPass;
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -11,6 +11,8 @@
import com.ruoyi.account.pojo.AccountExpense;
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.approve.service.IApproveProcessService;
import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.enums.FileNameType;
@@ -36,6 +38,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -46,6 +49,7 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.YearMonth;
@@ -68,6 +72,8 @@
    private final AccountIncomeService accountIncomeService;
    private final SalesLedgerMapper salesLedgerMapper;
    private final IApproveProcessService approveProcessService;
    private final CustomerMapper customerMapper;
@@ -431,6 +437,26 @@
            if (salesLedgerDto.getTempFileIds() != null && !salesLedgerDto.getTempFileIds().isEmpty()) {
                migrateTempFilesToFormal(salesLedger.getId(), salesLedgerDto.getTempFileIds());
            }
            //6.销售订单按紧急程度分类,如普通订单以及紧急订单;普通订单需流转至业务单据进行审批,紧急订单无需审批。
            if (salesLedger.getSalesType().equals("普通")){
                salesLedger.setIsPass(0);
                salesLedgerMapper.updateById(salesLedger);
                //并且新增审批数据approve_process
                ApproveProcessVO approveProcessVO = new ApproveProcessVO();
                approveProcessVO.setApproveDeptId(salesLedger.getTenantId());
                approveProcessVO.setApproveReason(salesLedger.getSalesContractNo());//审批理由是销售合同号用这个来关联
                DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                approveProcessVO.setApproveTime(LocalDate.now().format(dateFormat));
                approveProcessVO.setApproveType(6);//6是销售台账
                approveProcessVO.setApproveUser(Long.parseLong(salesLedger.getEntryPerson()));//录入人=申请人
                approveProcessVO.setApproveUserIds("1");
                try {
                    approveProcessService.addApprove(approveProcessVO);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            return 1;
        } catch (IOException e) {
            throw new BaseException("文件迁移失败: " + e.getMessage());
src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -10,7 +10,7 @@
        WHERE sales_contract_no LIKE CONCAT('%',#{datePart},'%')
    </select>
    <select id="getSalesNo" resultType="com.ruoyi.sales.pojo.SalesLedger">
    </select>
    <select id="selectSalesLedgerList" resultType="com.ruoyi.sales.pojo.SalesLedger">
@@ -57,6 +57,8 @@
        T1.tenant_id,
        T1.contract_amount,
        T1.execution_date,
        T1.is_pass,
        T1.sales_type,
        T2.nick_name AS entry_person_name,
        T1.payment_method
        FROM
@@ -81,6 +83,9 @@
            <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>
        </where>
    </select>
</mapper>
</mapper>