Compare commits
2 Commits
b600436243
...
471ce4c28f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
471ce4c28f | ||
|
|
77e334728c |
@@ -45,16 +45,23 @@ public class NewGrBiSaAggMonthCountController extends BaseController
|
||||
public BaseWebResult getTotalDetail(HttpServletRequest req)
|
||||
{
|
||||
Map<String, Object> params = FuncWeb.getParameterBodyMap(req);
|
||||
String groupField = params.containsKey("Group by") ? params.get("Group by").toString() : "useMonth";
|
||||
String groupField = params.containsKey("Group by") ? params.get("Group by").toString() : "";
|
||||
SaAggParam saAggParam = new SaAggParam();
|
||||
if (params.containsKey("useMonth")){
|
||||
saAggParam.setUseMonth(params.get("useMonth").toString());
|
||||
if(groupField.contains("useMonth")){
|
||||
if (params.containsKey("useMonthStart")){
|
||||
saAggParam.setUseMonthStart(params.get("useMonthStart").toString());
|
||||
}
|
||||
if(params.containsKey("useYear")){
|
||||
saAggParam.setUseYear(params.get("useYear").toString());
|
||||
}else{
|
||||
saAggParam.setUseYear(new SimpleDateFormat("yyyy").format(new Date()));
|
||||
if (params.containsKey("useMonthEnd")){
|
||||
saAggParam.setUseMonthEnd(params.get("useMonthEnd").toString());
|
||||
}
|
||||
}
|
||||
if(params.containsKey("useYearStart")){
|
||||
saAggParam.setUseYearStart(params.get("useYearStart").toString());
|
||||
}
|
||||
if(params.containsKey("useYearEnd")){
|
||||
saAggParam.setUseYearEnd(params.get("useYearEnd").toString());
|
||||
}
|
||||
|
||||
if(params.containsKey("customName")){
|
||||
saAggParam.setCustomName(Arrays.asList(params.get("customName").toString().split(",")));
|
||||
}
|
||||
@@ -80,7 +87,7 @@ public class NewGrBiSaAggMonthCountController extends BaseController
|
||||
if (params.containsKey("provinceName")){
|
||||
saAggParam.setProvinceName(Arrays.asList(params.get("provinceName").toString().split( ",")));
|
||||
}
|
||||
if (params.containsKey("useMonth") || groupField.contains("useMonth")){
|
||||
if (groupField.contains("useMonth")){
|
||||
List<NewGrBiSaAggMonthCount> list = newGrBiSaAggMonthCountService.getTotalDetail(saAggParam);
|
||||
return BaseWebResult.success(list);
|
||||
}else{
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
|
||||
package com.lideeyunji.core.framework.enhance.example.report.record;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
|
||||
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
|
||||
import com.lideeyunji.core.framework.mapper.BusinessRealRecordMapper;
|
||||
import com.lideeyunji.tool.framework.common.constant.ByglConstant;
|
||||
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
|
||||
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 保养管理-保养工单
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("businessRealRecordPlugin")
|
||||
public class BusinessRealRecordPlugin implements AroundAdvicePlugin {
|
||||
|
||||
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
|
||||
|
||||
private static final String ORDER_ID_PREFIX = "GD";
|
||||
|
||||
@Autowired
|
||||
private BusinessRealRecordMapper businessRealRecordMapper;
|
||||
|
||||
@Override
|
||||
public void beforeExecute(EnhanceContext enhanceContext) {
|
||||
Map<String, Object> params = enhanceContext.getParam().getParams();
|
||||
//新增方法默认状态字段
|
||||
params.put("order_state",ByglConstant.GD_STATE_DKS);
|
||||
String useyear = lideeYunJiUtils.getMap2Str(params, "useyear");
|
||||
String revenueYearplan = lideeYunJiUtils.getMap2Str(params, "revenue_yearplan");
|
||||
String revenueYearrate = lideeYunJiUtils.getMap2Str(params, "revenue_yearrate");
|
||||
String profitYearplan = lideeYunJiUtils.getMap2Str(params, "profit_yearplan");
|
||||
String profitYearrate = lideeYunJiUtils.getMap2Str(params, "profit_yearrate");
|
||||
List<Map<String, Object>> record = businessRealRecordMapper.getLastMonth(lideeYunJiBaseConstant.DS_ERP_BI_DATA,useyear);
|
||||
if (CollUtil.isEmpty(record)) {
|
||||
throw new RuntimeException("请选择正确的年,当前年月没有指标");
|
||||
}
|
||||
String last_month = (String) record.get(0).get("last_month");
|
||||
businessRealRecordMapper.updateByRecord(lideeYunJiBaseConstant.DS_ERP_BI_DATA, useyear, last_month, "1", revenueYearplan, revenueYearrate);
|
||||
businessRealRecordMapper.updateByRecord(lideeYunJiBaseConstant.DS_ERP_BI_DATA, useyear, last_month, "4", profitYearplan, profitYearrate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterExecute(EnhanceContext enhanceContext) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2,12 +2,11 @@
|
||||
package com.lideeyunji.core.framework.enhance.example.report.xtsy;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportContext;
|
||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAroundAdvicePlugin;
|
||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBeforeAdvicePlugin;
|
||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAgg;
|
||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
|
||||
import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService;
|
||||
@@ -15,9 +14,7 @@ import com.lideeyunji.core.framework.service.INewGrBiSaAggService;
|
||||
import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService;
|
||||
import com.lideeyunji.tool.framework.exception.lideeYunJiException;
|
||||
import com.lideeyunji.tool.framework.yunji.model.ResultDataModel;
|
||||
import com.lideeyunji.tool.framework.yunji.model.global.BaseWebResult;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -44,7 +41,7 @@ public class zhxsqkPlugin implements ReportAroundAdvicePlugin {
|
||||
|
||||
@Override
|
||||
public ResultDataModel executeAround(EnhanceReportContext enhanceContext) {
|
||||
log.info("进入=======>zhxsqkLineReportEnhance=======>execute");
|
||||
log.info("进入=======>zhxsqkPlugin=======>execute");
|
||||
Map<String, Object> params = enhanceContext.getParam().getParams();
|
||||
|
||||
if (params.containsKey("Group by")) {
|
||||
@@ -55,13 +52,48 @@ public class zhxsqkPlugin implements ReportAroundAdvicePlugin {
|
||||
if(!groupFieldList.contains("useYear") && !params.containsKey("useYear")){
|
||||
throw new lideeYunJiException("维度“年” 和 查询条件“年” 不能同时为空!");
|
||||
}
|
||||
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
||||
Page<Object> page = PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
||||
if(groupFieldList.contains("useMonth") || params.containsKey("useMonth")){
|
||||
setMonthOrderBy(params, page);
|
||||
List<NewGrBiSaAggMonthCount> newGrBiSaAggList = newGrBiSaAggMonthCountService.selectNewGrBiSaAggGroupMonthList(params, groupFieldList);
|
||||
PageInfo<NewGrBiSaAggMonthCount> pageInfo = new PageInfo<>(newGrBiSaAggList);
|
||||
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
||||
return ResultDataModel.fomat(pageInfo.getTotal(),list);
|
||||
}else{
|
||||
if(params.containsKey("column")){
|
||||
String orderBy = "";
|
||||
if ("thisYearSaQty".equals(params.get("column"))) {
|
||||
orderBy = "this_year_sa_qty " + params.get("order").toString();
|
||||
}
|
||||
if ("saqty_yoy".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(saqty_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
if ("thisYearSaMoney".equals(params.get("column"))) {
|
||||
orderBy = "this_year_sa_money " + params.get("order").toString();
|
||||
}
|
||||
if ("samoney_yoy".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(samoney_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
if ("thisYearProfit".equals(params.get("column"))) {
|
||||
orderBy = "this_year_profit " + params.get("order").toString();
|
||||
}
|
||||
if ("profit_yoy".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(profit_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
if ("thisYearCost".equals(params.get("column"))) {
|
||||
orderBy = "this_year_cost " + params.get("order").toString();
|
||||
}
|
||||
if ("thisYearSaMoneyShare".equals(params.get("column"))) {
|
||||
orderBy = "this_year_sa_money_share " + params.get("order").toString();
|
||||
}
|
||||
if ("thisprofitshare".equals(params.get("column"))) {
|
||||
orderBy = "thisprofitshare " + params.get("order").toString();
|
||||
}
|
||||
if ("thisYearSaMoneyGrowth".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(this_year_sa_money_growth, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
page.setUnsafeOrderBy(orderBy);
|
||||
}
|
||||
List<NewGrBiSaAggYearCount> newGrBiSaAggList = newGrBiSaAggYearCountService.selectNewGrBiSaAggGroupYearList(params, groupFieldList);
|
||||
PageInfo<NewGrBiSaAggYearCount> pageInfo = new PageInfo<>(newGrBiSaAggList);
|
||||
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
||||
@@ -69,11 +101,49 @@ public class zhxsqkPlugin implements ReportAroundAdvicePlugin {
|
||||
}
|
||||
|
||||
}else {
|
||||
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
||||
Page<Object> page = PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
||||
setMonthOrderBy(params, page);
|
||||
List<NewGrBiSaAggMonthCount> newGrBiSaAggList = newGrBiSaAggService.selectNewGrBiSaAggList(params);
|
||||
PageInfo<NewGrBiSaAggMonthCount> pageInfo = new PageInfo<>(newGrBiSaAggList);
|
||||
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
||||
return ResultDataModel.fomat(pageInfo.getTotal(),list);
|
||||
}
|
||||
}
|
||||
|
||||
private void setMonthOrderBy(Map<String, Object> params, Page<Object> page) {
|
||||
if(params.containsKey("column")){
|
||||
String orderBy = "";
|
||||
if ("thisMonthSaQty".equals(params.get("column"))) {
|
||||
orderBy = "this_month_sa_qty " + params.get("order").toString();
|
||||
}
|
||||
if ("monthsaqty_yoy".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(monthsaqty_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
if ("thisMonthSaMoney".equals(params.get("column"))) {
|
||||
orderBy = "this_month_sa_money " + params.get("order").toString();
|
||||
}
|
||||
if ("monthsamoney_yoy".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(monthsamoney_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
if ("thisMonthProfit".equals(params.get("column"))) {
|
||||
orderBy = "this_month_profit " + params.get("order").toString();
|
||||
}
|
||||
if ("monthprofit_yoy".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(monthprofit_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
if ("thisMonthCost".equals(params.get("column"))) {
|
||||
orderBy = "this_month_cost " + params.get("order").toString();
|
||||
}
|
||||
if ("thisMonthSaMoneyShare".equals(params.get("column"))) {
|
||||
orderBy = "this_month_sa_money_share " + params.get("order").toString();
|
||||
}
|
||||
if ("thisMonthProfitShare".equals(params.get("column"))) {
|
||||
orderBy = "this_month_profit_share " + params.get("order").toString();
|
||||
}
|
||||
if ("lastMonthSaMoney_yoy".equals(params.get("column"))) {
|
||||
orderBy = "CAST(TRIM(REGEXP_SUBSTR(lastMonthSaMoney_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString();
|
||||
}
|
||||
page.setUnsafeOrderBy(orderBy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
package com.lideeyunji.core.framework.mapper;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.dynamic.datasource.annotation.Master;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Master
|
||||
public interface BusinessRealRecordMapper {
|
||||
|
||||
@DS(value = "#dataSourceType")
|
||||
List<Map<String,Object>> getRecord(@Param("dataSourceType") String dataSourceType, String year);
|
||||
@DS(value = "#dataSourceType")
|
||||
List<Map<String,Object>> getLastMonth(@Param("dataSourceType") String dataSourceType, String year);
|
||||
@DS(value = "#dataSourceType")
|
||||
int updateByRecord(@Param("dataSourceType") String dataSourceType, String year, String month, String itemid, String yearplan, String yearrate);
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public interface NewGrBiSaAggMapper extends BaseMapper<NewGrBiSaAgg>
|
||||
*/
|
||||
@DataPermission(enable = false)
|
||||
@DS(value = "#dataSourceType")
|
||||
public List<NewGrBiSaAggMonthCount> selectNewGrBiSaAggList(@Param("dataSourceType") String dataSourceType, @Param("saAggParam")SaAggParam saAggParam);
|
||||
public List<NewGrBiSaAggMonthCount> selectNewGrBiSaAggList(@Param("dataSourceType") String dataSourceType, @Param("saAggParam")SaAggParam saAggParam, @Param("params") Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 新增综合销售情况明细
|
||||
|
||||
@@ -6,8 +6,10 @@ import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SaAggParam {
|
||||
private String useYear;
|
||||
private String useMonth;
|
||||
private String useYearStart;
|
||||
private String useYearEnd;
|
||||
private String useMonthStart;
|
||||
private String useMonthEnd;
|
||||
private List<String> customName;
|
||||
private List<String> zoneName;
|
||||
private List<String> saleTypeName;
|
||||
|
||||
@@ -142,17 +142,23 @@ public class NewGrBiSaAggServiceImpl extends ServiceImpl<NewGrBiSaAggMapper, New
|
||||
public List<NewGrBiSaAggMonthCount> selectNewGrBiSaAggList(Map<String, Object> params)
|
||||
{
|
||||
SaAggParam saAggParam = createParam(params);
|
||||
return this.baseMapper.selectNewGrBiSaAggList(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam);
|
||||
return this.baseMapper.selectNewGrBiSaAggList(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam, params);
|
||||
}
|
||||
|
||||
|
||||
public static SaAggParam createParam(Map<String, Object> params) {
|
||||
SaAggParam saAggParam = new SaAggParam();
|
||||
if (params.containsKey("useYear")) {
|
||||
saAggParam.setUseYear(params.get("useYear").toString());
|
||||
if (params.containsKey("useYearStart")) {
|
||||
saAggParam.setUseYearStart(params.get("useYearStart").toString());
|
||||
}
|
||||
if (params.containsKey("useMonth")) {
|
||||
saAggParam.setUseMonth(params.get("useMonth").toString());
|
||||
if (params.containsKey("useYearEnd")) {
|
||||
saAggParam.setUseYearEnd(params.get("useYearEnd").toString());
|
||||
}
|
||||
if (params.containsKey("useMonthStart")) {
|
||||
saAggParam.setUseMonthStart(params.get("useMonthStart").toString());
|
||||
}
|
||||
if (params.containsKey("useMonthEnd")) {
|
||||
saAggParam.setUseMonthEnd(params.get("useMonthEnd").toString());
|
||||
}
|
||||
if (params.containsKey("customName")) {
|
||||
saAggParam.setCustomName(Arrays.asList(params.get("customName").toString().split( ",")));
|
||||
|
||||
@@ -645,8 +645,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
FROM
|
||||
new_gr_bi_sa_agg tbl_lgbsa
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
|
||||
<if test="saAggParam.useMonth != null "> and use_month = #{saAggParam.useMonth}</if>
|
||||
<!-- 使用 (use_year * 100 + use_month) 组合成年月数值进行比较 -->
|
||||
<if test="saAggParam.useYearStart != null and saAggParam.useYearStart != '' and saAggParam.useMonthStart != null and saAggParam.useMonthStart != ''">
|
||||
AND (use_year * 100 + use_month) >= (#{saAggParam.useYearStart} * 100 + #{saAggParam.useMonthStart})
|
||||
</if>
|
||||
<if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != '' and saAggParam.useMonthEnd != null and saAggParam.useMonthEnd != ''">
|
||||
AND (use_year * 100 + use_month) <= (#{saAggParam.useYearEnd} * 100 + #{saAggParam.useMonthEnd})
|
||||
</if>
|
||||
<!--<if test="zoneId != null "> and zone_id = #{zoneId}</if>-->
|
||||
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||
|
||||
@@ -58,8 +58,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
ROUND(SUM(this_month_profit) / 10000, 2) AS this_month_profit_s
|
||||
FROM new_gr_bi_sa_agg_month_count
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
|
||||
<if test="saAggParam.useMonth != null and saAggParam.useMonth != ''"> and use_month = #{saAggParam.useMonth}</if>
|
||||
<!--<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
|
||||
<if test="saAggParam.useMonth != null and saAggParam.useMonth != ''"> and use_month = #{saAggParam.useMonth}</if>-->
|
||||
<!-- <if test="saAggParam.useYearStart != null and saAggParam.useYearStart != ''"> and use_year > #{saAggParam.useYearStart}</if>-->
|
||||
<!-- <if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != ''"> and use_year < #{saAggParam.useYearEnd}</if>-->
|
||||
<!-- <if test="saAggParam.useMonthStart != null and saAggParam.useMonthStart != ''"> and use_month > #{saAggParam.useMonthStart}</if>-->
|
||||
<!-- <if test="saAggParam.useMonthEnd != null and saAggParam.useMonthEnd != ''"> and use_month < #{saAggParam.useMonthEnd}</if>-->
|
||||
|
||||
<if test="saAggParam.useYearStart != null and saAggParam.useYearStart != '' and saAggParam.useMonthStart != null and saAggParam.useMonthStart != ''">
|
||||
AND (use_year * 100 + use_month) >= (#{saAggParam.useYearStart} * 100 + #{saAggParam.useMonthStart})
|
||||
</if>
|
||||
<if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != '' and saAggParam.useMonthEnd != null and saAggParam.useMonthEnd != ''">
|
||||
AND (use_year * 100 + use_month) <= (#{saAggParam.useYearEnd} * 100 + #{saAggParam.useMonthEnd})
|
||||
</if>
|
||||
<if test="saAggParam.customName != null and saAggParam.customName != ''"> and custom_name in
|
||||
<foreach collection="saAggParam.customName" item="field" separator="," open="(" close=")">#{field}</foreach>
|
||||
</if>
|
||||
@@ -248,10 +259,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="selectNewGrBiSaAggGroupMonthList" resultMap="NewGrBiSaAggMonthCountResult">
|
||||
select
|
||||
<if test="groupFieldList.contains('useMonth') || params.containsKey('useMonth')">
|
||||
current_month.use_month ,
|
||||
<choose>
|
||||
<when test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<when test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
current_month.use_year,
|
||||
current_month.ny as ny,
|
||||
</when>
|
||||
@@ -259,7 +269,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
LPAD(current_month.use_month, 2, '0') as ny,
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||
current_month.custom_id,
|
||||
current_month.custom_name,
|
||||
@@ -352,7 +361,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
COALESCE (ROUND( current_month.this_month_sa_money/total_month_data.this_month_sa_money_sum * 100, 2), 0 ) as this_month_sa_money_share,
|
||||
COALESCE (ROUND( current_month.this_month_profit/total_month_data.this_month_profit_sum * 100, 2), 0 ) as this_month_profit_share
|
||||
FROM ( SELECT
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
use_year,
|
||||
</if>
|
||||
use_month,
|
||||
@@ -390,8 +399,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
FROM
|
||||
new_gr_bi_sa_agg_month_count
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
|
||||
<if test="saAggParam.useMonth != null and saAggParam.useMonth != ''"> and use_month = #{saAggParam.useMonth}</if>
|
||||
<!-- <if test="saAggParam.useYearStart != null and saAggParam.useYearStart != ''"> and use_year > #{saAggParam.useYearStart}</if>-->
|
||||
<!-- <if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != ''"> and use_year < #{saAggParam.useYearEnd}</if>-->
|
||||
<!-- <if test="saAggParam.useMonthStart != null and saAggParam.useMonthStart != ''"> and use_month > #{saAggParam.useMonthStart}</if>-->
|
||||
<!-- <if test="saAggParam.useMonthEnd != null and saAggParam.useMonthEnd != ''"> and use_month < #{saAggParam.useMonthEnd}</if>-->
|
||||
<if test="saAggParam.useYearStart != null and saAggParam.useYearStart != '' and saAggParam.useMonthStart != null and saAggParam.useMonthStart != ''">
|
||||
AND (use_year * 100 + use_month) >= (#{saAggParam.useYearStart} * 100 + #{saAggParam.useMonthStart})
|
||||
</if>
|
||||
<if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != '' and saAggParam.useMonthEnd != null and saAggParam.useMonthEnd != ''">
|
||||
AND (use_year * 100 + use_month) <= (#{saAggParam.useYearEnd} * 100 + #{saAggParam.useMonthEnd})
|
||||
</if>
|
||||
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||
#{name}
|
||||
@@ -436,7 +453,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</where>
|
||||
GROUP BY
|
||||
<trim suffixOverrides=",">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
use_year,
|
||||
</if>
|
||||
use_month,
|
||||
@@ -467,7 +484,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
) AS current_month
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
use_year,
|
||||
</if>
|
||||
use_month,
|
||||
@@ -496,7 +513,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
FROM new_gr_bi_sa_agg_month_count
|
||||
GROUP BY
|
||||
<trim suffixOverrides=",">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
use_year,
|
||||
</if>
|
||||
use_month,
|
||||
@@ -521,7 +538,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</trim>
|
||||
) AS last_month_data
|
||||
ON last_month_data.use_month = IF(current_month.use_month = 1, 12, current_month.use_month - 1)
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
AND last_month_data.use_year = current_month.use_year - (current_month.use_month = 1)
|
||||
</if>
|
||||
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||
@@ -544,7 +561,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</if>
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
use_year,
|
||||
</if>
|
||||
use_month,
|
||||
@@ -572,8 +589,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
SUM(this_month_profit) AS yoy_month_profit
|
||||
FROM new_gr_bi_sa_agg_month_count
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear }- 1</if>
|
||||
<if test="saAggParam.useMonth != null and saAggParam.useMonth != ''"> and use_month = #{saAggParam.useMonth}</if>
|
||||
<!-- <if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear }- 1</if>-->
|
||||
<!-- <if test="saAggParam.useMonth != null and saAggParam.useMonth != ''"> and use_month = #{saAggParam.useMonth}</if>-->
|
||||
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||
#{name}
|
||||
@@ -618,7 +635,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</where>
|
||||
GROUP BY
|
||||
<trim suffixOverrides=",">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
use_year,
|
||||
</if>
|
||||
use_month,
|
||||
@@ -644,7 +661,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
) yoy_month ON
|
||||
<trim prefixOverrides="and">
|
||||
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart')|| params.containsKey('useYearEnd')">
|
||||
and yoy_month.use_year = current_month.use_year - 1
|
||||
</if>
|
||||
and yoy_month.use_month = current_month.use_month
|
||||
@@ -678,8 +695,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
use_year
|
||||
) total_month_data ON total_month_data.use_year = current_month.use_year
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and current_month.use_year = #{saAggParam.useYear}</if>
|
||||
<if test="saAggParam.useMonth != null and saAggParam.useMonth != ''"> and current_month.use_month = #{saAggParam.useMonth}</if>
|
||||
<if test="saAggParam.useYearStart != null and saAggParam.useYearStart != '' and saAggParam.useMonthStart != null and saAggParam.useMonthStart != ''">
|
||||
AND (current_month.use_year * 100 + current_month.use_month) >= (#{saAggParam.useYearStart} * 100 + #{saAggParam.useMonthStart})
|
||||
</if>
|
||||
<if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != '' and saAggParam.useMonthEnd != null and saAggParam.useMonthEnd != ''">
|
||||
AND (current_month.use_year * 100 + current_month.use_month) <= (#{saAggParam.useYearEnd} * 100 + #{saAggParam.useMonthEnd})
|
||||
</if>
|
||||
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and current_month.zone_name in
|
||||
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||
#{name}
|
||||
|
||||
@@ -56,7 +56,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
ROUND(SUM(this_year_profit) / 10000, 2) AS this_year_profit_s
|
||||
FROM new_gr_bi_sa_agg_year_count
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
|
||||
<!-- <if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>-->
|
||||
|
||||
<if test="saAggParam.useYearStart != null and saAggParam.useYearStart != ''"> and use_year >= #{saAggParam.useYearStart}</if>
|
||||
<if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != ''"> and use_year <= #{saAggParam.useYearEnd}</if>
|
||||
<if test="saAggParam.customName != null and saAggParam.customName != ''"> and custom_name in
|
||||
<foreach collection="saAggParam.customName" item="field" separator="," open="(" close=")">#{field}</foreach>
|
||||
</if>
|
||||
@@ -243,7 +246,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="selectNewGrBiSaAggGroupYearList" resultMap="NewGrBiSaAggYearCountResult">
|
||||
SELECT
|
||||
current_year_data.use_year,
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||
<if test="groupFieldList.contains('useYear') || params.containsKey('useYearStart') || params.containsKey('useYearEnd')">
|
||||
current_year_data.ny as ny,
|
||||
</if>
|
||||
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||
@@ -359,7 +362,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
sum(this_year_profit) AS this_year_profit
|
||||
FROM new_gr_bi_sa_agg_year_count
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
|
||||
<!--<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>-->
|
||||
|
||||
<if test="saAggParam.useYearStart != null and saAggParam.useYearStart != ''"> and use_year >= #{saAggParam.useYearStart}</if>
|
||||
<if test="saAggParam.useYearEnd != null and saAggParam.useYearEnd != ''"> and use_year <= #{saAggParam.useYearEnd}</if>
|
||||
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||
#{name}
|
||||
@@ -457,7 +463,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
FROM new_gr_bi_sa_agg_year_count
|
||||
|
||||
<where>
|
||||
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear} -1</if>
|
||||
<!--<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear} -1</if>-->
|
||||
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||
#{name}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.lideeyunji.core.framework.mapper.BusinessRealRecordMapper">
|
||||
|
||||
<select id="getRecord" resultType="java.util.Map">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
USEYEAR,
|
||||
USEMONTH AS last_month,
|
||||
ITEMID,
|
||||
YEAR_PLAN,
|
||||
YEAR_RATE,
|
||||
ROW_NUMBER() OVER (PARTITION BY USEYEAR, ITEMID ORDER BY USEYEAR DESC, CAST(USEMONTH AS UNSIGNED) DESC) AS rn
|
||||
FROM
|
||||
GR_BI_FS_BUSINESS_REAL_RATE
|
||||
where
|
||||
USEYEAR = #{year}
|
||||
) tn
|
||||
WHERE
|
||||
tn.rn = 1
|
||||
</select>
|
||||
|
||||
<select id="getLastMonth" resultType="java.util.Map">
|
||||
SELECT
|
||||
USEMONTH AS last_month
|
||||
FROM
|
||||
GR_BI_FS_BUSINESS_REAL
|
||||
where
|
||||
USEYEAR = #{year}
|
||||
ORDER BY
|
||||
CAST(USEMONTH AS UNSIGNED) DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<insert id="updateByRecord">
|
||||
INSERT INTO gr_bi_fs_business_real_rate (YEAR_PLAN, YEAR_RATE, USEYEAR,USEMONTH,ITEMID)
|
||||
VALUES (#{yearplan}, #{yearrate}, #{year}, #{month}, #{itemid})
|
||||
ON DUPLICATE KEY UPDATE
|
||||
YEAR_PLAN = #{yearplan},
|
||||
YEAR_RATE = #{yearrate}
|
||||
</insert>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user