From 2cf72b270e77423297fba29bb5ca16268c0363f1 Mon Sep 17 00:00:00 2001 From: king Date: Tue, 14 Apr 2026 17:10:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E5=90=8C=E6=AD=A5=20?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=85=A8=E5=93=81=E7=A7=8D=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E8=A1=A8=20=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/job/GenerateStStatsJob.java | 29 +++++ .../core/framework/entity/GrBiStStats.java | 49 ++++++++ .../framework/mapper/GrBiStStatsMapper.java | 70 +++++++++++ .../service/IGrBiStStatsService.java | 64 ++++++++++ .../service/impl/GrBiStStatsServiceImpl.java | 118 +++++++++++++++++ .../mapper/framework/GrBiStStatsMapper.xml | 119 ++++++++++++++++++ 6 files changed, 449 insertions(+) create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/config/job/GenerateStStatsJob.java create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStStats.java create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/GrBiStStatsMapper.java create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/service/IGrBiStStatsService.java create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiStStatsServiceImpl.java create mode 100644 lidee-core/src/main/resources/mapper/framework/GrBiStStatsMapper.xml 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