liujie
2025-11-04 ee327d5f52ccdb0765fe5e5a4d5e2c314ba5260f
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong
6个文件已修改
111 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierVerifyServiceImpl.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysNoticeServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVerifyVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysNoticeVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCrmSupplierVerifyMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java
@@ -6,10 +6,8 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.system.model.TCrmClinic;
import com.ruoyi.system.model.TErpProcurement;
import com.ruoyi.system.service.TCrmClinicService;
import com.ruoyi.system.service.TErpProcurementService;
import com.ruoyi.system.model.*;
import com.ruoyi.system.service.*;
import com.ruoyi.system.utils.util.AIUtil;
import com.ruoyi.system.vo.TCrmClinicVO;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +36,12 @@
    private TCrmClinicService crmClinicService;
    @Autowired
    private TErpProcurementService erpProcurementService;
    @Autowired
    private TCrmSupplierService crmSupplierService;
    @Autowired
    private TCrmSupplierVerifyService crmSupplierVerifyService;
    @Autowired
    private TSysOtherConfigService sysOtherConfigService;
    @Scheduled(fixedRate = 86460000)
//    @Scheduled(cron = "10 0 0 * * ?")
@@ -97,4 +101,79 @@
        }
    }
    @Scheduled(cron = "0 0 1 * * ?")
    public void dayUpdateSupplierVerify() {
        try {
            // 每天1点生成供应商周期性的核查
            List<TCrmSupplier> crmSuppliers = crmSupplierService.list();
            if(!CollectionUtils.isEmpty(crmSuppliers)){
                // 查询核查周期配置
                TSysOtherConfig sysOtherConfig = sysOtherConfigService.getById(1);
                List<String> supplierIds = crmSuppliers.stream().map(TCrmSupplier::getId).collect(Collectors.toList());
                // 查询审核列表
                List<TCrmSupplierVerify> crmSupplierVerifies = crmSupplierVerifyService.list(Wrappers.lambdaQuery(TCrmSupplierVerify.class)
                        .in(TCrmSupplierVerify::getSupplierId, supplierIds)
                        .orderByDesc(TCrmSupplierVerify::getGenerateTime));
                for (TCrmSupplier crmSupplier : crmSuppliers) {
                    List<TCrmSupplierVerify> supplierVerifies = crmSupplierVerifies.stream().filter(crmSupplierVerify -> crmSupplier.getId().equals(crmSupplierVerify.getSupplierId())).collect(Collectors.toList());
                    Integer verifyUnit = sysOtherConfig.getVerifyUnit();
                    Integer verifyValue = sysOtherConfig.getVerifyValue();
                    if (!CollectionUtils.isEmpty(supplierVerifies)) {
                        // 根据最新的核查进行比较核查周期
                        TCrmSupplierVerify tCrmSupplierVerify = supplierVerifies.get(0);
                        LocalDate generateTime = tCrmSupplierVerify.getGenerateTime();
                        LocalDate nextVerifyDate = calculateNextVerifyDate(generateTime, verifyUnit, verifyValue);
                        if (nextVerifyDate != null && nextVerifyDate.isEqual(LocalDate.now())) {
                            createSupplierVerify(crmSupplier);
                        }
                    } else {
                        // 根据供应商添加时间进行比较核查周期
                        LocalDate createTime = crmSupplier.getCreateTime().toLocalDate();
                        LocalDate nextVerifyDate = calculateNextVerifyDate(createTime, verifyUnit, verifyValue);
                        if (nextVerifyDate != null && nextVerifyDate.isEqual(LocalDate.now())) {
                            createSupplierVerify(crmSupplier);
                        }
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 计算下一次供应商核查时间
     * @param baseDate
     * @param verifyUnit
     * @param verifyValue
     * @return
     */
    private LocalDate calculateNextVerifyDate(LocalDate baseDate, Integer verifyUnit, Integer verifyValue) {
        switch (verifyUnit) {
            case 1:
                return baseDate.plusDays(verifyValue);
            case 2:
                return baseDate.plusMonths(verifyValue);
            case 3:
                return baseDate.plusYears(verifyValue);
            default:
                return null;
        }
    }
    /**
     *  供应商周期核查
     * @param crmSupplier
     */
    private void createSupplierVerify(TCrmSupplier crmSupplier) {
        TCrmSupplierVerify crmSupplierVerify = new TCrmSupplierVerify();
        crmSupplierVerify.setSupplierId(crmSupplier.getId());
        crmSupplierVerify.setGenerateTime(LocalDate.now());
        crmSupplierVerify.setStatus(1);
        crmSupplierVerifyService.save(crmSupplierVerify);
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierVerifyServiceImpl.java
@@ -9,6 +9,7 @@
import com.ruoyi.system.vo.TCrmDeviceVO;
import com.ruoyi.system.vo.TCrmSupplierVerifyVO;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysNoticeServiceImpl.java
@@ -11,8 +11,10 @@
import com.ruoyi.system.query.TSysNoticeQuery;
import com.ruoyi.system.service.TSysNoticeService;
import com.ruoyi.system.vo.TSysNoticeVO;
import io.jsonwebtoken.lang.Collections;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
@@ -41,6 +43,20 @@
    public PageInfo<TSysNoticeVO> pageList(TSysNoticeQuery query) {
        PageInfo<TSysNoticeVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TSysNoticeVO> list = this.baseMapper.pageList(query,pageInfo);
        if(Collections.isEmpty(list)){
            return pageInfo;
        }
        for (TSysNoticeVO tSysNoticeVO : list) {
            if(tSysNoticeVO.getStartTime().isAfter(LocalDateTime.now())){
                tSysNoticeVO.setShowStatus(1);
            }
            if(tSysNoticeVO.getStartTime().isBefore(LocalDateTime.now()) && tSysNoticeVO.getEndTime().isAfter(LocalDateTime.now())){
                tSysNoticeVO.setShowStatus(2);
            }
            if(tSysNoticeVO.getEndTime().isBefore(LocalDateTime.now())){
                tSysNoticeVO.setShowStatus(3);
            }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVerifyVO.java
@@ -22,6 +22,9 @@
    @ApiModelProperty(value = "联系电话")
    private String phone;
    @ApiModelProperty(value = "状态 1=使用中 2=冻结")
    private Integer status;
    @ApiModelProperty(value = "备注")
    private String remarks;
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysNoticeVO.java
@@ -10,6 +10,6 @@
public class TSysNoticeVO extends TSysNotice {
    @ApiModelProperty(value = "显示状态 1=未开始 2=展示中 3=已结束")
    private String showStatus;
    private Integer showStatus;
}
ruoyi-system/src/main/resources/mapper/system/TCrmSupplierVerifyMapper.xml
@@ -20,7 +20,7 @@
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TCrmSupplierVerifyVO">
        SELECT tcsv.id, tcsv.supplier_id, tcsv.status, tcsv.verify_remark, tcsv.generate_time, tcsv.verify_time, tcsv.operation_name, tcsv.operation_time,
               tcs.supplier_name, tcs.supplier_contact, tcs.phone, tcs.remarks
               tcs.supplier_name, tcs.supplier_contact, tcs.phone, tcs.remarks,tcs.status
        FROM t_crm_supplier_verify tcsv
        LEFT JOIN t_crm_supplier tcs ON tcsv.supplier_id = tcs.id
        <where>