diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/jyzbwcqkPlugin.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/jyzbwcqkPlugin.java new file mode 100644 index 0000000..b71099c --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/jyzbwcqkPlugin.java @@ -0,0 +1,54 @@ + +package com.lideeyunji.core.framework.enhance.example.report.xtsy; + +import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportContext; +import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAfterAdvicePlugin; +import com.lideeyunji.core.framework.utils.Func; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +/** + * 报表-系统首页-单表 + */ +@Component("jyzbwcqkPlugin") +public class jyzbwcqkPlugin implements ReportAfterAdvicePlugin { + + @Override + public void execute(EnhanceReportContext enhanceContext) { + List> records = enhanceContext.getResult().getRecords(); + if (Func.isEmpty(records)) { + return; + } + if (!enhanceContext.getParam().getParams().containsKey("useyear")){ + return; + } + String useyear = enhanceContext.getParam().getParams().get("useyear").toString(); + LocalDateTime now = LocalDateTime.now(); + String currentYear = Integer.toString(now.getYear()); + int currentMonth = now.getMonthValue(); + if (!useyear.equals(currentYear)) { + return; + } + Set monthSet = IntStream.rangeClosed(currentMonth + 1, 12) + .mapToObj(i -> "monthreal" + i) + .collect(Collectors.toSet()); + Set yearSet = IntStream.rangeClosed(currentMonth + 1, 12) + .mapToObj(i -> "yearreal" + i) + .collect(Collectors.toSet()); + for(Map record : records){ + for (String key : monthSet){ + record.remove( key); + } + for (String key : yearSet){ + record.remove( key); + } + } + + } +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiFsBusinessReal.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiFsBusinessReal.java index 6c4bab7..52d1701 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiFsBusinessReal.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiFsBusinessReal.java @@ -4,10 +4,7 @@ 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 com.lideeyunji.tool.framework.yunji.model.global.BaseEntity; import lombok.Data; -import lombok.EqualsAndHashCode; -import com.lideeyunji.tool.framework.yunji.model.global.BaseTenantEntity; import java.io.Serializable; @@ -40,18 +37,33 @@ public class GrBiFsBusinessReal implements Serializable { @TableField(value = "ITEMORDER") private String itemOrder; + /** + * 月度完成情况 + */ @TableField(value = "MONTH_REAL") private String monthReal; + /** + * 年度完成情况 + */ @TableField(value = "YEAR_REAL") private String yearReal; + /** + * 月度差标情况(万) + */ @TableField(value = "MONTH_DIFF") private String monthDiff; + /** + * 全年指标(万) + */ @TableField(value = "YEAR_PLAN") private String yearPlan; + /** + * 年度达成率 + */ @TableField(value = "YEAR_RATE") private String yearRate; diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStLot.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStLot.java index 1b80c48..b9756e6 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStLot.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStLot.java @@ -1,17 +1,13 @@ package com.lideeyunji.core.framework.entity; -import java.io.Serializable; -import java.util.Date; - import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; -import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.TableName; -import com.lideeyunji.tool.framework.yunji.model.global.BaseEntity; import lombok.Data; -import lombok.EqualsAndHashCode; -import com.lideeyunji.tool.framework.yunji.model.global.BaseTenantEntity; + +import java.io.Serializable; +import java.util.Date; /** * 物料产品库存统计表对象 gr_bi_st_lot diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProduct.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProduct.java index a48eff4..23d2e8c 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProduct.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProduct.java @@ -5,10 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import lombok.EqualsAndHashCode; -import com.lideeyunji.tool.framework.yunji.model.global.BaseTenantEntity; import java.io.Serializable; +import java.math.BigDecimal; /** * 库存产品占比表对象 gr_bi_st_product @@ -44,16 +43,16 @@ public class GrBiStProduct implements Serializable private String goodsClassName; @TableField(value = "QTY") - private Long qty; + private BigDecimal qty; @TableField(value = "QTY_PROP") - private Long qtyProp; + private BigDecimal qtyProp; @TableField(value = "MONEY") - private Long money; + private BigDecimal money; @TableField(value = "MONEY_PROP") - private Long moneyProp; + private BigDecimal moneyProp; diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProductAvl.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProductAvl.java index 7054d8f..edbb5a2 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProductAvl.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/GrBiStProductAvl.java @@ -4,12 +4,10 @@ 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 com.lideeyunji.tool.framework.yunji.model.global.BaseEntity; import lombok.Data; -import lombok.EqualsAndHashCode; -import com.lideeyunji.tool.framework.yunji.model.global.BaseTenantEntity; import java.io.Serializable; +import java.math.BigDecimal; /** * 产品可销库存对象 gr_bi_st_product_avl @@ -45,21 +43,21 @@ public class GrBiStProductAvl implements Serializable private Long sort; @TableField(value = "SEMIREM") - private Long semiRem; + private BigDecimal semiRem; @TableField(value = "TODAYIN") private String todayIn; @TableField(value = "REM") - private Long rem; + private BigDecimal rem; @TableField(value = "THISMONTHOUT") - private Long thisMonthOut; + private BigDecimal thisMonthOut; @TableField(value = "LASTMONTHOUT") - private Long lastMonthOut; + private BigDecimal lastMonthOut; @TableField(value = "THISYEAROUT") - private Long thisYearOut; + private BigDecimal thisYearOut; } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiFsBusinessRealServiceImpl.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiFsBusinessRealServiceImpl.java index bebc166..50261a2 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiFsBusinessRealServiceImpl.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/GrBiFsBusinessRealServiceImpl.java @@ -2,6 +2,7 @@ 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.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lideeyunji.core.framework.entity.GrBiFsBusinessReal; @@ -27,6 +28,7 @@ public class GrBiFsBusinessRealServiceImpl extends ServiceImpl implements IGrBiStProductService { @Override + @DSTransactional @DS(value = "#dataSourceType") public void generateStProduct(String dataSourceType) { //获取本地mysql数据库中表中UPDATE_TIME最新的数据