diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/config/job/GenerateStStatsJob.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/config/job/GenerateStStatsJob.java new file mode 100644 index 0000000..1edc843 --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/config/job/GenerateStStatsJob.java @@ -0,0 +1,29 @@ +package com.lideeyunji.core.framework.config.job; + +import com.lideeyunji.core.framework.service.IGrBiStStatsService; +import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant; +import com.lideeyunji.tool.framework.quartz.core.handler.JobHandler; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * 库存全品种统计表 + * oracle gr_bi_st_stats -> mysql gr_bi_st_stats + */ +@Slf4j +@Component("generateStStatsJob") +public class GenerateStStatsJob implements JobHandler { + + @Resource + private IGrBiStStatsService iGrBiStStatsService; + + @Override + public String execute(String param) throws Exception { + log.info("*********** 开始生成库存全品种统计表 ************"); + iGrBiStStatsService.generateStStats(lideeYunJiBaseConstant.DS_ERP_BI_DATA); + log.info("*********** 生成库存全品种统计表完成 ************"); + return "*********** 生成库存全品种统计表完成 ************"; + } +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStStats.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStStats.java new file mode 100644 index 0000000..07381eb --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStStats.java @@ -0,0 +1,49 @@ +package com.lideeyunji.core.framework.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * 库存全品种统计表 + * + * @author ruoyi + * @date 2026-04-14 + */ +@TableName("gr_bi_st_stats") +@Data +public class GrBiStStats implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(value = "ID", type = IdType.INPUT) + private Long id; + + @TableField(value = "GOODSID") + private String goodsId; + @TableField(value = "GOODSNAME") + private String goodsName; + @TableField(value = "GOODSTYPE") + private String goodsType; + @TableField(value = "GOODSUNIT") + private String goodsUnit; + @TableField(value = "REMQTY") + private String remQty; + @TableField(value = "REMMONEY") + private String remMoney; + @TableField(value = "MONTHSAMONEY") + private String monthSaMoney; + @TableField(value = "SKSA") + private String skSa; + @TableField(value = "THISSAMONEY") + private String thisSaMoney; + @TableField(value = "THISPROFIT") + private String thisProfit; + @TableField(value = "THISPROFITRATE") + private String thisProfitRate; + @TableField(value = "MAXAGE") + private String maxAge; +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/GrBiStStatsMapper.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/GrBiStStatsMapper.java new file mode 100644 index 0000000..a4d1763 --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/GrBiStStatsMapper.java @@ -0,0 +1,70 @@ +package com.lideeyunji.core.framework.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lideeyunji.core.framework.entity.GrBiStStats; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 库存全品种统计表Mapper接口 + * + * @author ruoyi + * @date 2026-03-12 + */ +public interface GrBiStStatsMapper extends BaseMapper +{ + /** + * 查询库存全品种统计表 + * + * @param ID 库存全品种统计表主键 + * @return 库存全品种统计表 + */ + public GrBiStStats selectGrBiStStatsByID(String ID); + + /** + * 查询库存全品种统计表列表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 库存全品种统计表集合 + */ + public List selectGrBiStStatsList(GrBiStStats GrBiStStats); + + /** + * 新增库存全品种统计表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 结果 + */ + public int insertGrBiStStats(GrBiStStats GrBiStStats); + + /** + * 修改库存全品种统计表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 结果 + */ + public int updateGrBiStStats(GrBiStStats GrBiStStats); + + /** + * 删除库存全品种统计表 + * + * @param ID 库存全品种统计表主键 + * @return 结果 + */ + public int deleteGrBiStStatsByID(String ID); + + /** + * 批量删除库存全品种统计表 + * + * @param IDs 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteGrBiStStatsByIDs(String[] IDs); + + @DS(value = "#dataSourceType") + List getBusinessRealList(@Param("dataSourceType") String dataSourceType); + @DS(value = "#dataSourceType") + int deleteOldBusinessReal(@Param("dataSourceType") String dataSourceType); +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/IGrBiStStatsService.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/IGrBiStStatsService.java new file mode 100644 index 0000000..9fd8eb1 --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/IGrBiStStatsService.java @@ -0,0 +1,64 @@ +package com.lideeyunji.core.framework.service; + +import com.lideeyunji.core.framework.entity.GrBiStStats; + +import java.util.List; + +/** + * 库存全品种统计表Service接口 + * + * @author ruoyi + * @date 2026-03-12 + */ +public interface IGrBiStStatsService +{ + /** + * 查询库存全品种统计表 + * + * @param ID 库存全品种统计表主键 + * @return 库存全品种统计表 + */ + public GrBiStStats selectGrBiStStatsByID(String ID); + + /** + * 查询库存全品种统计表列表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 库存全品种统计表集合 + */ + public List selectGrBiStStatsList(GrBiStStats GrBiStStats); + + /** + * 新增库存全品种统计表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 结果 + */ + public int insertGrBiStStats(GrBiStStats GrBiStStats); + + /** + * 修改库存全品种统计表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 结果 + */ + public int updateGrBiStStats(GrBiStStats GrBiStStats); + + /** + * 批量删除库存全品种统计表 + * + * @param IDs 需要删除的库存全品种统计表主键集合 + * @return 结果 + */ + public int deleteGrBiStStatsByIDs(String[] IDs); + + /** + * 删除库存全品种统计表信息 + * + * @param ID 库存全品种统计表主键 + * @return 结果 + */ + public int deleteGrBiStStatsByID(String ID); + + void generateStStats(String dataSourceType); +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiStStatsServiceImpl.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiStStatsServiceImpl.java new file mode 100644 index 0000000..c4edbda --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiStStatsServiceImpl.java @@ -0,0 +1,118 @@ +package com.lideeyunji.core.framework.service.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lideeyunji.core.framework.entity.GrBiStStats; +import com.lideeyunji.core.framework.mapper.GrBiStStatsMapper; +import com.lideeyunji.core.framework.service.IGrBiStStatsService; +import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 库存全品种统计表Service业务层处理 + * + * @author ruoyi + * @date 2026-03-12 + */ +@Slf4j +@Service +public class GrBiStStatsServiceImpl extends ServiceImpl implements IGrBiStStatsService +{ + + + @Override + @DSTransactional + @DS(value = "#dataSourceType") + public void generateStStats(String dataSourceType) { + // 获取数据 + List grBiSaSetdtlList = this.baseMapper.getBusinessRealList(lideeYunJiBaseConstant.DS_ORACLE_GRYYBI); + if (CollUtil.isEmpty(grBiSaSetdtlList)) { + return; + } + //保存数据 + int reNum = this.baseMapper.deleteOldBusinessReal(lideeYunJiBaseConstant.DS_ERP_BI_DATA); + log.info("删除数量:{}", reNum); + for (GrBiStStats grBiSaSetdtl : grBiSaSetdtlList) { + int re = this.baseMapper.insert(grBiSaSetdtl); + if (re < 1) { + throw new RuntimeException("批量新增异常"); + } + } + } + /** + * 查询库存全品种统计表 + * + * @param ID 库存全品种统计表主键 + * @return 库存全品种统计表 + */ + @Override + public GrBiStStats selectGrBiStStatsByID(String ID) + { + return this.baseMapper.selectGrBiStStatsByID(ID); + } + + /** + * 查询库存全品种统计表列表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 库存全品种统计表 + */ + @Override + public List selectGrBiStStatsList(GrBiStStats GrBiStStats) + { + return this.baseMapper.selectGrBiStStatsList(GrBiStStats); + } + + /** + * 新增库存全品种统计表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 结果 + */ + @Override + public int insertGrBiStStats(GrBiStStats GrBiStStats) + { + return this.baseMapper.insertGrBiStStats(GrBiStStats); + } + + /** + * 修改库存全品种统计表 + * + * @param GrBiStStats 库存全品种统计表 + * @return 结果 + */ + @Override + public int updateGrBiStStats(GrBiStStats GrBiStStats) + { + return this.baseMapper.updateGrBiStStats(GrBiStStats); + } + + /** + * 批量删除库存全品种统计表 + * + * @param IDs 需要删除的库存全品种统计表主键 + * @return 结果 + */ + @Override + public int deleteGrBiStStatsByIDs(String[] IDs) + { + return this.baseMapper.deleteGrBiStStatsByIDs(IDs); + } + + /** + * 删除库存全品种统计表信息 + * + * @param ID 库存全品种统计表主键 + * @return 结果 + */ + @Override + public int deleteGrBiStStatsByID(String ID) + { + return this.baseMapper.deleteGrBiStStatsByID(ID); + } +} diff --git a/lidee-core/src/main/resources/mapper/framework/GrBiStStatsMapper.xml b/lidee-core/src/main/resources/mapper/framework/GrBiStStatsMapper.xml new file mode 100644 index 0000000..c392cdd --- /dev/null +++ b/lidee-core/src/main/resources/mapper/framework/GrBiStStatsMapper.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + select ID, GOODSID, GOODSNAME, GOODSTYPE, GOODSUNIT, REMQTY, REMMONEY, MONTHSAMONEY, SKSA, THISSAMONEY, THISPROFIT, THISPROFITRATE,MAXAGE from gr_bi_st_stats + + + + delete from gr_bi_st_stats + + + + + + + insert into gr_bi_st_stats + + ID, + GOODSID, + GOODSNAME, + GOODSTYPE, + GOODSUNIT, + REMQTY, + REMMONEY, + MONTHSAMONEY, + SKSA, + THISSAMONEY, + THISPROFIT, + THISPROFITRATE, + MAXAGE, + + + #{id}, + #{goodsId}, + #{goodsName}, + #{goodsType}, + #{goodsUnit}, + #{remQty}, + #{remMoney}, + #{monthSaMoney}, + #{skSa}, + #{thisSaMoney}, + #{thisProfit}, + #{thisProfitRate}, + #{maxAge}, + + + + + update gr_bi_st_stats + + GOODSID = #{goodsId}, + GOODSNAME = #{goodsName}, + GOODSTYPE = #{goodsType}, + GOODSUNIT = #{goodsUnit}, + REMQTY = #{remQty}, + REMMONEY = #{remMoney}, + MONTHSAMONEY = #{monthSaMoney}, + SKSA = #{skSa}, + THISSAMONEY = #{thisSaMoney}, + THISPROFIT = #{thisProfit}, + THISPROFITRATE = #{thisProfitRate}, + MAXAGE = #{maxAge}, + + where ID = #{ID} + + + + delete from gr_bi_st_stats where ID = #{ID} + + + + delete from gr_bi_st_stats where ID in + + #{ID} + + + \ No newline at end of file