综合销售情况表 调整月度,年度 报表数据
This commit is contained in:
@@ -48,3 +48,7 @@ lideeyunji:
|
|||||||
debug: true #是否开启调试模式
|
debug: true #是否开启调试模式
|
||||||
saveReqLog: false # 是否保存请求日志
|
saveReqLog: false # 是否保存请求日志
|
||||||
saveOpLog: false # 是否保存操作日志
|
saveOpLog: false # 是否保存操作日志
|
||||||
|
|
||||||
|
logging:
|
||||||
|
level:
|
||||||
|
com.lideeyunji.core.framework.mapper: debug
|
||||||
@@ -45,31 +45,31 @@ public class NewGrBiSaAggMonthCountController extends BaseController
|
|||||||
public BaseWebResult getTotalDetail(HttpServletRequest req)
|
public BaseWebResult getTotalDetail(HttpServletRequest req)
|
||||||
{
|
{
|
||||||
Map<String, Object> params = FuncWeb.getParameterBodyMap(req);
|
Map<String, Object> params = FuncWeb.getParameterBodyMap(req);
|
||||||
String groupField = params.containsKey("Group by") ? "usemonth" :params.get("Group by").toString();
|
String groupField = params.containsKey("Group by") ? "useMonth" :params.get("Group by").toString();
|
||||||
SaAggParam saAggParam = new SaAggParam();
|
SaAggParam saAggParam = new SaAggParam();
|
||||||
if (params.containsKey("usemonth")){
|
if (params.containsKey("useMonth")){
|
||||||
saAggParam.setUseMonth(params.get("usemonth").toString());
|
saAggParam.setUseMonth(params.get("useMonth").toString());
|
||||||
}
|
}
|
||||||
if(params.containsKey("useyear")){
|
if(params.containsKey("useYear")){
|
||||||
saAggParam.setUseYear(params.get("useyear").toString());
|
saAggParam.setUseYear(params.get("useYear").toString());
|
||||||
}else{
|
}else{
|
||||||
saAggParam.setUseYear(new SimpleDateFormat("yyyy").format(new Date()));
|
saAggParam.setUseYear(new SimpleDateFormat("yyyy").format(new Date()));
|
||||||
}
|
}
|
||||||
if(params.containsKey("customname")){
|
if(params.containsKey("customName")){
|
||||||
saAggParam.setCustomName(Arrays.asList(params.get("customname").toString().split(",")));
|
saAggParam.setCustomName(Arrays.asList(params.get("customName").toString().split(",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("zonename")){
|
if (params.containsKey("zoneName")){
|
||||||
saAggParam.setZoneName(Arrays.asList(params.get("zonename").toString().split( ",")));
|
saAggParam.setZoneName(Arrays.asList(params.get("zoneName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("saletypename")){
|
if (params.containsKey("saleTypeName")){
|
||||||
saAggParam.setSaleTypeName(Arrays.asList(params.get("saletypename").toString().split( ",")));
|
saAggParam.setSaleTypeName(Arrays.asList(params.get("saleTypeName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.containsKey("salername")){
|
if (params.containsKey("salerName")){
|
||||||
saAggParam.setSalerName(Arrays.asList(params.get("salername").toString().split( ",")));
|
saAggParam.setSalerName(Arrays.asList(params.get("salerName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("dosagename")){
|
if (params.containsKey("dosageName")){
|
||||||
saAggParam.setDosageName(Arrays.asList(params.get("dosagename").toString().split( ",")));
|
saAggParam.setDosageName(Arrays.asList(params.get("dosageName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("stdGoodsName")){
|
if (params.containsKey("stdGoodsName")){
|
||||||
saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ",")));
|
saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ",")));
|
||||||
@@ -80,7 +80,7 @@ public class NewGrBiSaAggMonthCountController extends BaseController
|
|||||||
if (params.containsKey("provinceName")){
|
if (params.containsKey("provinceName")){
|
||||||
saAggParam.setProvinceName(Arrays.asList(params.get("provinceName").toString().split( ",")));
|
saAggParam.setProvinceName(Arrays.asList(params.get("provinceName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("usemonth") || groupField.contains("usemonth")){
|
if (params.containsKey("useMonth") || groupField.contains("useMonth")){
|
||||||
List<NewGrBiSaAggMonthCount> list = newGrBiSaAggMonthCountService.getTotalDetail(saAggParam);
|
List<NewGrBiSaAggMonthCount> list = newGrBiSaAggMonthCountService.getTotalDetail(saAggParam);
|
||||||
return BaseWebResult.success(list);
|
return BaseWebResult.success(list);
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -30,37 +30,37 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
}
|
}
|
||||||
List<String> groupFieldList = Arrays.asList(params.get("Group by").toString().split(","));
|
List<String> groupFieldList = Arrays.asList(params.get("Group by").toString().split(","));
|
||||||
String sql;
|
String sql;
|
||||||
if(!params.containsKey("useyear")){
|
if(!params.containsKey("useYear")){
|
||||||
params.put("useyear", new SimpleDateFormat("yyyy").format(new Date()));
|
params.put("useYear", new SimpleDateFormat("yyyy").format(new Date()));
|
||||||
}
|
}
|
||||||
if((groupFieldList.contains("usemonth") || params.containsKey("usemonth"))){
|
if((groupFieldList.contains("useMonth") || params.containsKey("useMonth"))){
|
||||||
sql = geroupMonthSql(params, groupFieldList);
|
sql = geroupMonthSql(params, groupFieldList);
|
||||||
}else {
|
}else {
|
||||||
StringBuilder executePluginSql = new StringBuilder();
|
StringBuilder executePluginSql = new StringBuilder();
|
||||||
executePluginSql.append(" SELECT \n");
|
executePluginSql.append(" SELECT \n");
|
||||||
executePluginSql.append(" current_year_data.use_year as useyear, \n");
|
executePluginSql.append(" current_year_data.use_year as useYear, \n");
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
||||||
executePluginSql.append(" current_year_data.custom_id as customid, \n");
|
executePluginSql.append(" current_year_data.custom_id as customid, \n");
|
||||||
executePluginSql.append(" current_year_data.custom_name as customname, \n");
|
executePluginSql.append(" current_year_data.custom_name as customName, \n");
|
||||||
}
|
}
|
||||||
if(groupFieldList.contains("useyear") || params.containsKey("useyear")){
|
if(groupFieldList.contains("useYear") || params.containsKey("useYear")){
|
||||||
executePluginSql.append(" current_year_data.use_year as ny, \n"); //年月
|
executePluginSql.append(" current_year_data.use_year as ny, \n"); //年月
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" current_year_data.zone_id, \n");
|
executePluginSql.append(" current_year_data.zone_id, \n");
|
||||||
executePluginSql.append(" current_year_data.zone_name as zonename, \n");
|
executePluginSql.append(" current_year_data.zone_name as zoneName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" current_year_data.sale_type_id, \n");
|
executePluginSql.append(" current_year_data.sale_type_id, \n");
|
||||||
executePluginSql.append(" current_year_data.sale_type_name as saletypename, \n");
|
executePluginSql.append(" current_year_data.sale_type_name as saleTypeName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" current_year_data.saler_id, \n");
|
executePluginSql.append(" current_year_data.saler_id, \n");
|
||||||
executePluginSql.append(" current_year_data.saler_name as salername, \n");
|
executePluginSql.append(" current_year_data.saler_name as salerName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" current_year_data.dosage_id, \n");
|
executePluginSql.append(" current_year_data.dosage_id, \n");
|
||||||
executePluginSql.append(" current_year_data.dosage_name as dosagename, \n");
|
executePluginSql.append(" current_year_data.dosage_name as dosageName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" current_year_data.std_goods_name as stdGoodsName, \n");
|
executePluginSql.append(" current_year_data.std_goods_name as stdGoodsName, \n");
|
||||||
@@ -134,7 +134,7 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" FROM \n");
|
executePluginSql.append(" FROM \n");
|
||||||
executePluginSql.append(" (SELECT use_year , \n");
|
executePluginSql.append(" (SELECT use_year , \n");
|
||||||
executePluginSql.append(" use_year AS ny, \n");
|
executePluginSql.append(" use_year AS ny, \n");
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" custom_id, \n");
|
executePluginSql.append(" custom_id, \n");
|
||||||
executePluginSql.append(" custom_name , \n");
|
executePluginSql.append(" custom_name , \n");
|
||||||
}
|
}
|
||||||
@@ -143,20 +143,20 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" std_goods_name, \n");
|
executePluginSql.append(" std_goods_name, \n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" zone_id, \n");
|
executePluginSql.append(" zone_id, \n");
|
||||||
executePluginSql.append(" zone_name, \n");
|
executePluginSql.append(" zone_name, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" sale_type_id, \n");
|
executePluginSql.append(" sale_type_id, \n");
|
||||||
executePluginSql.append(" sale_type_name, \n");
|
executePluginSql.append(" sale_type_name, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" dosage_id, \n");
|
executePluginSql.append(" dosage_id, \n");
|
||||||
executePluginSql.append(" dosage_name, \n");
|
executePluginSql.append(" dosage_name, \n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" saler_id, \n");
|
executePluginSql.append(" saler_id, \n");
|
||||||
executePluginSql.append(" saler_name, \n");
|
executePluginSql.append(" saler_name, \n");
|
||||||
}
|
}
|
||||||
@@ -170,27 +170,27 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
appendWhere(params,executePluginSql);
|
appendWhere(params,executePluginSql);
|
||||||
executePluginSql.append(" GROUP BY use_year,");
|
executePluginSql.append(" GROUP BY use_year,");
|
||||||
|
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" custom_id,");
|
executePluginSql.append(" custom_id,");
|
||||||
executePluginSql.append(" custom_name,");
|
executePluginSql.append(" custom_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" std_goods_name,");
|
executePluginSql.append(" std_goods_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" zone_id,");
|
executePluginSql.append(" zone_id,");
|
||||||
executePluginSql.append(" zone_name,");
|
executePluginSql.append(" zone_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" sale_type_id,");
|
executePluginSql.append(" sale_type_id,");
|
||||||
executePluginSql.append(" sale_type_name,");
|
executePluginSql.append(" sale_type_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" dosage_id,");
|
executePluginSql.append(" dosage_id,");
|
||||||
executePluginSql.append(" dosage_name,");
|
executePluginSql.append(" dosage_name,");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" saler_id,");
|
executePluginSql.append(" saler_id,");
|
||||||
executePluginSql.append(" saler_name,");
|
executePluginSql.append(" saler_name,");
|
||||||
}
|
}
|
||||||
@@ -210,12 +210,12 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" SUM(this_year_cost) AS last_year_cost, \n");
|
executePluginSql.append(" SUM(this_year_cost) AS last_year_cost, \n");
|
||||||
executePluginSql.append(" SUM(this_year_profit) AS last_year_profit \n");
|
executePluginSql.append(" SUM(this_year_profit) AS last_year_profit \n");
|
||||||
executePluginSql.append(" FROM new_gr_bi_sa_agg_year_count \n");
|
executePluginSql.append(" FROM new_gr_bi_sa_agg_year_count \n");
|
||||||
if(params.containsKey("useyear")){
|
if(params.containsKey("useYear")){
|
||||||
params.put("useyear", Integer.parseInt(params.get("useyear").toString()) - 1);
|
params.put("useYear", Integer.parseInt(params.get("useYear").toString()) - 1);
|
||||||
}
|
}
|
||||||
appendWhere(params, executePluginSql);
|
appendWhere(params, executePluginSql);
|
||||||
if(params.containsKey("useyear")){
|
if(params.containsKey("useYear")){
|
||||||
params.put("useyear", Integer.parseInt(params.get("useyear").toString() ) + 1);
|
params.put("useYear", Integer.parseInt(params.get("useYear").toString() ) + 1);
|
||||||
}
|
}
|
||||||
executePluginSql.append(" GROUP BY use_year,");
|
executePluginSql.append(" GROUP BY use_year,");
|
||||||
// executePluginSql.append(" custom_id, \n");
|
// executePluginSql.append(" custom_id, \n");
|
||||||
@@ -227,23 +227,23 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
appendGroupByField(params, groupFieldList,executePluginSql);
|
appendGroupByField(params, groupFieldList,executePluginSql);
|
||||||
executePluginSql.append(" ) AS last_year_data \n");
|
executePluginSql.append(" ) AS last_year_data \n");
|
||||||
executePluginSql.append(" ON last_year_data.use_year = current_year_data.use_year - 1 \n");
|
executePluginSql.append(" ON last_year_data.use_year = current_year_data.use_year - 1 \n");
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" AND current_year_data.custom_id = last_year_data.custom_id \n");
|
executePluginSql.append(" AND current_year_data.custom_id = last_year_data.custom_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" AND current_year_data.std_goods_name = last_year_data.std_goods_name \n");
|
executePluginSql.append(" AND current_year_data.std_goods_name = last_year_data.std_goods_name \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" AND current_year_data.zone_id = last_year_data.zone_id \n");
|
executePluginSql.append(" AND current_year_data.zone_id = last_year_data.zone_id \n");
|
||||||
}
|
}
|
||||||
// executePluginSql.append(" AND current_month.province_id = last_year_data.province_id \n");
|
// executePluginSql.append(" AND current_month.province_id = last_year_data.province_id \n");
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" AND current_year_data.sale_type_id = last_year_data.sale_type_id \n");
|
executePluginSql.append(" AND current_year_data.sale_type_id = last_year_data.sale_type_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" AND current_year_data.dosage_id = last_year_data.dosage_id \n");
|
executePluginSql.append(" AND current_year_data.dosage_id = last_year_data.dosage_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" AND current_year_data.saler_id = last_year_data.saler_id \n");
|
executePluginSql.append(" AND current_year_data.saler_id = last_year_data.saler_id \n");
|
||||||
}
|
}
|
||||||
// executePluginSql.append(" ON current_year_data.std_goods_name = last_year_data.std_goods_name \n");
|
// executePluginSql.append(" ON current_year_data.std_goods_name = last_year_data.std_goods_name \n");
|
||||||
@@ -261,29 +261,29 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" ON total_year_data.use_year = current_year_data.use_year \n");
|
executePluginSql.append(" ON total_year_data.use_year = current_year_data.use_year \n");
|
||||||
|
|
||||||
// executePluginSql.append(" GROUP BY \n");
|
// executePluginSql.append(" GROUP BY \n");
|
||||||
// if (groupFieldList.contains("customname") || params.containsKey("customname")) {
|
// if (groupFieldList.contains("customName") || params.containsKey("customName")) {
|
||||||
// executePluginSql.append(" current_year_data.custom_id,");
|
// executePluginSql.append(" current_year_data.custom_id,");
|
||||||
// executePluginSql.append(" current_year_data.custom_name,");
|
// executePluginSql.append(" current_year_data.custom_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("useyear") || params.containsKey("useyear")) {
|
// if (groupFieldList.contains("useYear") || params.containsKey("useYear")) {
|
||||||
// executePluginSql.append(" current_year_data.use_year,");
|
// executePluginSql.append(" current_year_data.use_year,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("usemonth") || params.containsKey("usemonth")) {
|
// if (groupFieldList.contains("useMonth") || params.containsKey("useMonth")) {
|
||||||
// executePluginSql.append(" current_year_data.use_month,");
|
// executePluginSql.append(" current_year_data.use_month,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("zonename") || params.containsKey("zonename")) {
|
// if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) {
|
||||||
// executePluginSql.append(" current_year_data.zone_id,");
|
// executePluginSql.append(" current_year_data.zone_id,");
|
||||||
// executePluginSql.append(" current_year_data.zone_name,");
|
// executePluginSql.append(" current_year_data.zone_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) {
|
// if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) {
|
||||||
// executePluginSql.append(" current_year_data.sale_type_id,");
|
// executePluginSql.append(" current_year_data.sale_type_id,");
|
||||||
// executePluginSql.append(" current_year_data.sale_type_name,");
|
// executePluginSql.append(" current_year_data.sale_type_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("salername") || params.containsKey("salername")) {
|
// if (groupFieldList.contains("salerName") || params.containsKey("salerName")) {
|
||||||
// executePluginSql.append(" current_year_data.saler_id,");
|
// executePluginSql.append(" current_year_data.saler_id,");
|
||||||
// executePluginSql.append(" current_year_data.saler_name,");
|
// executePluginSql.append(" current_year_data.saler_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) {
|
// if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) {
|
||||||
// executePluginSql.append(" current_year_data.dosage_id,");
|
// executePluginSql.append(" current_year_data.dosage_id,");
|
||||||
// executePluginSql.append(" current_year_data.dosage_name,");
|
// executePluginSql.append(" current_year_data.dosage_name,");
|
||||||
// }
|
// }
|
||||||
@@ -303,34 +303,34 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
private String geroupMonthSql(Map<String, Object> params, List<String> groupFieldList) {
|
private String geroupMonthSql(Map<String, Object> params, List<String> groupFieldList) {
|
||||||
StringBuilder executePluginSql = new StringBuilder();
|
StringBuilder executePluginSql = new StringBuilder();
|
||||||
executePluginSql.append("select");
|
executePluginSql.append("select");
|
||||||
if (groupFieldList.contains("usemonth") || params.containsKey("usemonth")) { //月
|
if (groupFieldList.contains("useMonth") || params.containsKey("useMonth")) { //月
|
||||||
executePluginSql.append(" current_month.use_year as useyear,");
|
executePluginSql.append(" current_month.use_year as useYear,");
|
||||||
executePluginSql.append(" current_month.use_month as usemonth, \n");
|
executePluginSql.append(" current_month.use_month as useMonth, \n");
|
||||||
if(groupFieldList.contains("useyear") || params.containsKey("useyear")){
|
if(groupFieldList.contains("useYear") || params.containsKey("useYear")){
|
||||||
executePluginSql.append(" current_month.ny, \n"); //年月
|
executePluginSql.append(" current_month.ny, \n"); //年月
|
||||||
}else{
|
}else{
|
||||||
executePluginSql.append(" LPAD(current_month.use_month, 2, '0') as ny, \n");
|
executePluginSql.append(" LPAD(current_month.use_month, 2, '0') as ny, \n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" current_month.custom_id as customid, \n");
|
executePluginSql.append(" current_month.custom_id as customid, \n");
|
||||||
executePluginSql.append(" current_month.custom_name as customname, \n");
|
executePluginSql.append(" current_month.custom_name as customName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" current_month.zone_id, \n");
|
executePluginSql.append(" current_month.zone_id, \n");
|
||||||
executePluginSql.append(" current_month.zone_name as zonename, \n");
|
executePluginSql.append(" current_month.zone_name as zoneName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" current_month.sale_type_id, \n");
|
executePluginSql.append(" current_month.sale_type_id, \n");
|
||||||
executePluginSql.append(" current_month.sale_type_name as saletypename, \n");
|
executePluginSql.append(" current_month.sale_type_name as saleTypeName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" current_month.saler_id, \n");
|
executePluginSql.append(" current_month.saler_id, \n");
|
||||||
executePluginSql.append(" current_month.saler_name as salername, \n");
|
executePluginSql.append(" current_month.saler_name as salerName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" current_month.dosage_id, \n");
|
executePluginSql.append(" current_month.dosage_id, \n");
|
||||||
executePluginSql.append(" current_month.dosage_name as dosagename, \n");
|
executePluginSql.append(" current_month.dosage_name as dosageName, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" current_month.std_goods_name as stdGoodsName, \n");
|
executePluginSql.append(" current_month.std_goods_name as stdGoodsName, \n");
|
||||||
@@ -409,7 +409,7 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" use_year AS use_year, \n");
|
executePluginSql.append(" use_year AS use_year, \n");
|
||||||
executePluginSql.append(" use_month AS use_month, \n");
|
executePluginSql.append(" use_month AS use_month, \n");
|
||||||
|
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" custom_id, \n");
|
executePluginSql.append(" custom_id, \n");
|
||||||
executePluginSql.append(" custom_name , \n");
|
executePluginSql.append(" custom_name , \n");
|
||||||
}
|
}
|
||||||
@@ -418,20 +418,20 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" std_goods_name, \n");
|
executePluginSql.append(" std_goods_name, \n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename") ) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName") ) { //业务区域
|
||||||
executePluginSql.append(" zone_id, \n");
|
executePluginSql.append(" zone_id, \n");
|
||||||
executePluginSql.append(" zone_name, \n");
|
executePluginSql.append(" zone_name, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" sale_type_id, \n");
|
executePluginSql.append(" sale_type_id, \n");
|
||||||
executePluginSql.append(" sale_type_name, \n");
|
executePluginSql.append(" sale_type_name, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" dosage_id, \n");
|
executePluginSql.append(" dosage_id, \n");
|
||||||
executePluginSql.append(" dosage_name, \n");
|
executePluginSql.append(" dosage_name, \n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" saler_id, \n");
|
executePluginSql.append(" saler_id, \n");
|
||||||
executePluginSql.append(" saler_name, \n");
|
executePluginSql.append(" saler_name, \n");
|
||||||
}
|
}
|
||||||
@@ -447,27 +447,27 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
appendWhere(params, executePluginSql);
|
appendWhere(params, executePluginSql);
|
||||||
executePluginSql.append(" GROUP BY use_year,use_month,");
|
executePluginSql.append(" GROUP BY use_year,use_month,");
|
||||||
|
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" custom_id,");
|
executePluginSql.append(" custom_id,");
|
||||||
executePluginSql.append(" custom_name,");
|
executePluginSql.append(" custom_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" std_goods_name,");
|
executePluginSql.append(" std_goods_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" zone_id,");
|
executePluginSql.append(" zone_id,");
|
||||||
executePluginSql.append(" zone_name,");
|
executePluginSql.append(" zone_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" sale_type_id,");
|
executePluginSql.append(" sale_type_id,");
|
||||||
executePluginSql.append(" sale_type_name,");
|
executePluginSql.append(" sale_type_name,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" dosage_id,");
|
executePluginSql.append(" dosage_id,");
|
||||||
executePluginSql.append(" dosage_name,");
|
executePluginSql.append(" dosage_name,");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" saler_id,");
|
executePluginSql.append(" saler_id,");
|
||||||
executePluginSql.append(" saler_name,");
|
executePluginSql.append(" saler_name,");
|
||||||
}
|
}
|
||||||
@@ -489,23 +489,23 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" ON last_month_data.use_year = current_month.use_year - (current_month.use_month = 1)\n");
|
executePluginSql.append(" ON last_month_data.use_year = current_month.use_year - (current_month.use_month = 1)\n");
|
||||||
executePluginSql.append(" AND last_month_data.use_month = IF(current_month.use_month = 1, 12, current_month.use_month - 1)\n");
|
executePluginSql.append(" AND last_month_data.use_month = IF(current_month.use_month = 1, 12, current_month.use_month - 1)\n");
|
||||||
|
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname") ) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName") ) { //客户名称
|
||||||
executePluginSql.append(" AND current_month.custom_id = last_month_data.custom_id \n");
|
executePluginSql.append(" AND current_month.custom_id = last_month_data.custom_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" AND current_month.std_goods_name = last_month_data.std_goods_name \n");
|
executePluginSql.append(" AND current_month.std_goods_name = last_month_data.std_goods_name \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" AND current_month.zone_id = last_month_data.zone_id \n");
|
executePluginSql.append(" AND current_month.zone_id = last_month_data.zone_id \n");
|
||||||
}
|
}
|
||||||
// executePluginSql.append(" AND current_month.province_id = last_month_data.province_id \n");
|
// executePluginSql.append(" AND current_month.province_id = last_month_data.province_id \n");
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" AND current_month.sale_type_id = last_month_data.sale_type_id \n");
|
executePluginSql.append(" AND current_month.sale_type_id = last_month_data.sale_type_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" AND current_month.dosage_id = last_month_data.dosage_id \n");
|
executePluginSql.append(" AND current_month.dosage_id = last_month_data.dosage_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" AND current_month.saler_id = last_month_data.saler_id \n");
|
executePluginSql.append(" AND current_month.saler_id = last_month_data.saler_id \n");
|
||||||
}
|
}
|
||||||
executePluginSql.append(" LEFT JOIN (SELECT use_year, \n");
|
executePluginSql.append(" LEFT JOIN (SELECT use_year, \n");
|
||||||
@@ -524,12 +524,12 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" SUM(this_month_cost) as yoy_month_cost, \n"); // 同比月销售成本
|
executePluginSql.append(" SUM(this_month_cost) as yoy_month_cost, \n"); // 同比月销售成本
|
||||||
executePluginSql.append(" SUM(this_month_profit) AS yoy_month_profit \n"); // 同比月毛利额
|
executePluginSql.append(" SUM(this_month_profit) AS yoy_month_profit \n"); // 同比月毛利额
|
||||||
executePluginSql.append(" FROM new_gr_bi_sa_agg_month_count ");
|
executePluginSql.append(" FROM new_gr_bi_sa_agg_month_count ");
|
||||||
if(params.containsKey("useyear")){
|
if(params.containsKey("useYear")){
|
||||||
params.put("useyear", Integer.parseInt(params.get("useyear").toString()) - 1);
|
params.put("useYear", Integer.parseInt(params.get("useYear").toString()) - 1);
|
||||||
}
|
}
|
||||||
appendWhere(params, executePluginSql);
|
appendWhere(params, executePluginSql);
|
||||||
if(params.containsKey("useyear")){
|
if(params.containsKey("useYear")){
|
||||||
params.put("useyear", Integer.parseInt(params.get("useyear").toString() ) + 1);
|
params.put("useYear", Integer.parseInt(params.get("useYear").toString() ) + 1);
|
||||||
}
|
}
|
||||||
executePluginSql.append(" GROUP BY use_year,use_month,");
|
executePluginSql.append(" GROUP BY use_year,use_month,");
|
||||||
appendGroupByField(params, groupFieldList, executePluginSql);
|
appendGroupByField(params, groupFieldList, executePluginSql);
|
||||||
@@ -538,20 +538,20 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" AND yoy_month.std_goods_name = current_month.std_goods_name \n");
|
executePluginSql.append(" AND yoy_month.std_goods_name = current_month.std_goods_name \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" AND yoy_month.zone_id = current_month.zone_id \n");
|
executePluginSql.append(" AND yoy_month.zone_id = current_month.zone_id \n");
|
||||||
}
|
}
|
||||||
// executePluginSql.append(" AND yoy_month.province_id = current_month.province_id \n");
|
// executePluginSql.append(" AND yoy_month.province_id = current_month.province_id \n");
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" AND yoy_month.sale_type_id = current_month.sale_type_id \n");
|
executePluginSql.append(" AND yoy_month.sale_type_id = current_month.sale_type_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" AND yoy_month.dosage_id = current_month.dosage_id \n");
|
executePluginSql.append(" AND yoy_month.dosage_id = current_month.dosage_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" AND yoy_month.custom_id = current_month.custom_id \n");
|
executePluginSql.append(" AND yoy_month.custom_id = current_month.custom_id \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" AND yoy_month.saler_id = current_month.saler_id \n");
|
executePluginSql.append(" AND yoy_month.saler_id = current_month.saler_id \n");
|
||||||
}
|
}
|
||||||
executePluginSql.append(" LEFT JOIN (\n");
|
executePluginSql.append(" LEFT JOIN (\n");
|
||||||
@@ -564,36 +564,36 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" use_year\n");
|
executePluginSql.append(" use_year\n");
|
||||||
executePluginSql.append(" ) total_month_data ON total_month_data.use_year = current_month.use_year \n");
|
executePluginSql.append(" ) total_month_data ON total_month_data.use_year = current_month.use_year \n");
|
||||||
// executePluginSql.append(" AND total_month_data.use_month = current_month.use_month \n");
|
// executePluginSql.append(" AND total_month_data.use_month = current_month.use_month \n");
|
||||||
if(params.containsKey("useyear")){
|
if(params.containsKey("useYear")){
|
||||||
executePluginSql.append(" where current_month.use_year = " + params.get("useyear"));
|
executePluginSql.append(" where current_month.use_year = " + params.get("useYear"));
|
||||||
if(params.containsKey("usemonth")){
|
if(params.containsKey("useMonth")){
|
||||||
executePluginSql.append(" and current_month.use_month = " + params.get("usemonth"));
|
executePluginSql.append(" and current_month.use_month = " + params.get("useMonth"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// executePluginSql.append(" GROUP BY \n");
|
// executePluginSql.append(" GROUP BY \n");
|
||||||
// if (groupFieldList.contains("customname") || params.containsKey("customname")) {
|
// if (groupFieldList.contains("customName") || params.containsKey("customName")) {
|
||||||
// executePluginSql.append(" current_month.custom_id,");
|
// executePluginSql.append(" current_month.custom_id,");
|
||||||
// executePluginSql.append(" current_month.custom_name,");
|
// executePluginSql.append(" current_month.custom_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("useyear") || params.containsKey("useyear")) {
|
// if (groupFieldList.contains("useYear") || params.containsKey("useYear")) {
|
||||||
// executePluginSql.append(" current_month.use_year,");
|
// executePluginSql.append(" current_month.use_year,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("usemonth") || params.containsKey("usemonth")) {
|
// if (groupFieldList.contains("useMonth") || params.containsKey("useMonth")) {
|
||||||
// executePluginSql.append(" current_month.use_month,");
|
// executePluginSql.append(" current_month.use_month,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("zonename") || params.containsKey("zonename")) {
|
// if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) {
|
||||||
// executePluginSql.append(" current_month.zone_id,");
|
// executePluginSql.append(" current_month.zone_id,");
|
||||||
// executePluginSql.append(" current_month.zone_name,");
|
// executePluginSql.append(" current_month.zone_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) {
|
// if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) {
|
||||||
// executePluginSql.append(" current_month.sale_type_id,");
|
// executePluginSql.append(" current_month.sale_type_id,");
|
||||||
// executePluginSql.append(" current_month.sale_type_name,");
|
// executePluginSql.append(" current_month.sale_type_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("salername") || params.containsKey("salername")) {
|
// if (groupFieldList.contains("salerName") || params.containsKey("salerName")) {
|
||||||
// executePluginSql.append(" current_month.saler_id,");
|
// executePluginSql.append(" current_month.saler_id,");
|
||||||
// executePluginSql.append(" current_month.saler_name,");
|
// executePluginSql.append(" current_month.saler_name,");
|
||||||
// }
|
// }
|
||||||
// if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) {
|
// if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) {
|
||||||
// executePluginSql.append(" current_month.dosage_id,");
|
// executePluginSql.append(" current_month.dosage_id,");
|
||||||
// executePluginSql.append(" current_month.dosage_name,");
|
// executePluginSql.append(" current_month.dosage_name,");
|
||||||
// }
|
// }
|
||||||
@@ -607,7 +607,7 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void appendGroupByField(Map<String, Object> params, List<String> groupFieldList, StringBuilder executePluginSql) {
|
private void appendGroupByField(Map<String, Object> params, List<String> groupFieldList, StringBuilder executePluginSql) {
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" custom_id,");
|
executePluginSql.append(" custom_id,");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -615,68 +615,68 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
|||||||
executePluginSql.append(" std_goods_name,");
|
executePluginSql.append(" std_goods_name,");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" zone_id,");
|
executePluginSql.append(" zone_id,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" sale_type_id,");
|
executePluginSql.append(" sale_type_id,");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" dosage_id,");
|
executePluginSql.append(" dosage_id,");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" saler_id,");
|
executePluginSql.append(" saler_id,");
|
||||||
}
|
}
|
||||||
executePluginSql.deleteCharAt(executePluginSql.length() - 1);
|
executePluginSql.deleteCharAt(executePluginSql.length() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void appendSelectField(Map<String, Object> params, List<String> groupFieldList, StringBuilder executePluginSql) {
|
private void appendSelectField(Map<String, Object> params, List<String> groupFieldList, StringBuilder executePluginSql) {
|
||||||
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
|
if (groupFieldList.contains("customName") || params.containsKey("customName")) { //客户名称
|
||||||
executePluginSql.append(" custom_id, \n");
|
executePluginSql.append(" custom_id, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
|
||||||
executePluginSql.append(" std_goods_name, \n");
|
executePluginSql.append(" std_goods_name, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
|
if (groupFieldList.contains("zoneName") || params.containsKey("zoneName")) { //业务区域
|
||||||
executePluginSql.append(" zone_id, \n");
|
executePluginSql.append(" zone_id, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
|
if (groupFieldList.contains("saleTypeName") || params.containsKey("saleTypeName")) { //销售类型
|
||||||
executePluginSql.append(" sale_type_id, \n");
|
executePluginSql.append(" sale_type_id, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
|
if (groupFieldList.contains("dosageName") || params.containsKey("dosageName")) { //剂型
|
||||||
executePluginSql.append(" dosage_id, \n");
|
executePluginSql.append(" dosage_id, \n");
|
||||||
}
|
}
|
||||||
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
|
if (groupFieldList.contains("salerName") || params.containsKey("salerName")) { //业务员
|
||||||
executePluginSql.append(" saler_id, \n");
|
executePluginSql.append(" saler_id, \n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void appendWhere(Map<String, Object> params, StringBuilder executePluginSql) {
|
private void appendWhere(Map<String, Object> params, StringBuilder executePluginSql) {
|
||||||
executePluginSql.append(" where");
|
executePluginSql.append(" where");
|
||||||
if (params.containsKey("useyear")) {
|
if (params.containsKey("useYear")) {
|
||||||
executePluginSql.append(" use_year = '").append(Integer.parseInt(params.get("useyear").toString())).append("'");
|
executePluginSql.append(" use_year = '").append(Integer.parseInt(params.get("useYear").toString())).append("'");
|
||||||
}
|
}
|
||||||
if (params.containsKey("usemonth")) {
|
if (params.containsKey("useMonth")) {
|
||||||
executePluginSql.append(" AND use_month = '").append(Integer.parseInt(params.get("usemonth").toString())).append("'");
|
executePluginSql.append(" AND use_month = '").append(Integer.parseInt(params.get("useMonth").toString())).append("'");
|
||||||
}
|
}
|
||||||
if (params.containsKey("customname")) {
|
if (params.containsKey("customName")) {
|
||||||
executePluginSql.append(" AND custom_name IN ('").append(params.get("customname").toString().replaceAll(",", "','")).append("')");
|
executePluginSql.append(" AND custom_name IN ('").append(params.get("customName").toString().replaceAll(",", "','")).append("')");
|
||||||
}
|
}
|
||||||
if (params.containsKey("stdGoodsName")) {
|
if (params.containsKey("stdGoodsName")) {
|
||||||
executePluginSql.append(" AND std_goods_name IN ('").append(params.get("stdGoodsName").toString().replaceAll(",", "','")).append("')");
|
executePluginSql.append(" AND std_goods_name IN ('").append(params.get("stdGoodsName").toString().replaceAll(",", "','")).append("')");
|
||||||
}
|
}
|
||||||
if (params.containsKey("zonename")) {
|
if (params.containsKey("zoneName")) {
|
||||||
executePluginSql.append(" AND zone_name IN ('").append(params.get("zonename").toString().replaceAll(",", "','")).append("')");
|
executePluginSql.append(" AND zone_name IN ('").append(params.get("zoneName").toString().replaceAll(",", "','")).append("')");
|
||||||
}
|
}
|
||||||
if (params.containsKey("saletypename")) {
|
if (params.containsKey("saleTypeName")) {
|
||||||
executePluginSql.append(" AND sale_type_name IN ('").append(params.get("saletypename").toString().replaceAll(",", "','")).append("')");
|
executePluginSql.append(" AND sale_type_name IN ('").append(params.get("saleTypeName").toString().replaceAll(",", "','")).append("')");
|
||||||
}
|
}
|
||||||
if (params.containsKey("dosagename")) {
|
if (params.containsKey("dosageName")) {
|
||||||
executePluginSql.append(" AND dosage_name IN ('").append(params.get("dosagename").toString().replaceAll(",", "','")).append("')");
|
executePluginSql.append(" AND dosage_name IN ('").append(params.get("dosageName").toString().replaceAll(",", "','")).append("')");
|
||||||
}
|
}
|
||||||
if (params.containsKey("salername")) {
|
if (params.containsKey("salerName")) {
|
||||||
executePluginSql.append(" AND saler_name IN ('").append(params.get("salername").toString().replaceAll(",", "','")).append("')");
|
executePluginSql.append(" AND saler_name IN ('").append(params.get("salerName").toString().replaceAll(",", "','")).append("')");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,10 @@ import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAr
|
|||||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBeforeAdvicePlugin;
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBeforeAdvicePlugin;
|
||||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAgg;
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAgg;
|
||||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||||
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
|
||||||
import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService;
|
import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService;
|
||||||
import com.lideeyunji.core.framework.service.INewGrBiSaAggService;
|
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.exception.lideeYunJiException;
|
||||||
import com.lideeyunji.tool.framework.yunji.model.ResultDataModel;
|
import com.lideeyunji.tool.framework.yunji.model.ResultDataModel;
|
||||||
import com.lideeyunji.tool.framework.yunji.model.global.BaseWebResult;
|
import com.lideeyunji.tool.framework.yunji.model.global.BaseWebResult;
|
||||||
@@ -18,6 +20,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -30,11 +33,15 @@ import java.util.stream.Collectors;
|
|||||||
@Component("zhxsqkPlugin")
|
@Component("zhxsqkPlugin")
|
||||||
public class zhxsqkPlugin implements ReportAroundAdvicePlugin {
|
public class zhxsqkPlugin implements ReportAroundAdvicePlugin {
|
||||||
|
|
||||||
@Autowired
|
@Resource
|
||||||
INewGrBiSaAggService newGrBiSaAggService;
|
INewGrBiSaAggService newGrBiSaAggService;
|
||||||
@Autowired
|
|
||||||
|
@Resource
|
||||||
INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService;
|
INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
INewGrBiSaAggYearCountService newGrBiSaAggYearCountService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResultDataModel executeAround(EnhanceReportContext enhanceContext) {
|
public ResultDataModel executeAround(EnhanceReportContext enhanceContext) {
|
||||||
log.info("进入=======>zhxsqkLineReportEnhance=======>execute");
|
log.info("进入=======>zhxsqkLineReportEnhance=======>execute");
|
||||||
@@ -46,14 +53,22 @@ public class zhxsqkPlugin implements ReportAroundAdvicePlugin {
|
|||||||
}
|
}
|
||||||
List<String> groupFieldList = Arrays.asList(params.get("Group by").toString().split(","));
|
List<String> groupFieldList = Arrays.asList(params.get("Group by").toString().split(","));
|
||||||
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
||||||
List<NewGrBiSaAggMonthCount> newGrBiSaAggList = newGrBiSaAggMonthCountService.selectNewGrBiSaAggGroupMonthList(params, groupFieldList);
|
if((groupFieldList.contains("useMonth") || params.containsKey("useMonth"))){
|
||||||
PageInfo<NewGrBiSaAggMonthCount> pageInfo = new PageInfo<>(newGrBiSaAggList);
|
List<NewGrBiSaAggMonthCount> newGrBiSaAggList = newGrBiSaAggMonthCountService.selectNewGrBiSaAggGroupMonthList(params, groupFieldList);
|
||||||
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
PageInfo<NewGrBiSaAggMonthCount> pageInfo = new PageInfo<>(newGrBiSaAggList);
|
||||||
return ResultDataModel.fomat(pageInfo.getTotal(),list);
|
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
||||||
|
return ResultDataModel.fomat(pageInfo.getTotal(),list);
|
||||||
|
}else{
|
||||||
|
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());
|
||||||
|
return ResultDataModel.fomat(pageInfo.getTotal(),list);
|
||||||
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
||||||
List<NewGrBiSaAgg> newGrBiSaAggList = newGrBiSaAggService.selectNewGrBiSaAggList(params);
|
List<NewGrBiSaAggMonthCount> newGrBiSaAggList = newGrBiSaAggService.selectNewGrBiSaAggList(params);
|
||||||
PageInfo<NewGrBiSaAgg> pageInfo = new PageInfo<>(newGrBiSaAggList);
|
PageInfo<NewGrBiSaAggMonthCount> pageInfo = new PageInfo<>(newGrBiSaAggList);
|
||||||
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
||||||
return ResultDataModel.fomat(pageInfo.getTotal(),list);
|
return ResultDataModel.fomat(pageInfo.getTotal(),list);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ public class NewGrBiSaAggYearCount implements Serializable
|
|||||||
@TableField(value = "use_year")
|
@TableField(value = "use_year")
|
||||||
private String useYear;
|
private String useYear;
|
||||||
|
|
||||||
|
@TableField(value = "ny")
|
||||||
|
private String ny;
|
||||||
|
|
||||||
@TableField(value = "zone_id")
|
@TableField(value = "zone_id")
|
||||||
private Long zoneId;
|
private Long zoneId;
|
||||||
@@ -135,15 +137,15 @@ public class NewGrBiSaAggYearCount implements Serializable
|
|||||||
|
|
||||||
|
|
||||||
@TableField(value = "this_year_sa_money_growth")
|
@TableField(value = "this_year_sa_money_growth")
|
||||||
private BigDecimal thisYearSaMoneyGrowth;
|
private String thisYearSaMoneyGrowth;
|
||||||
|
|
||||||
|
|
||||||
@TableField(value = "this_year_profit_growth")
|
@TableField(value = "this_year_profit_growth")
|
||||||
private BigDecimal thisYearProfitGrowth;
|
private String thisYearProfitGrowth;
|
||||||
|
|
||||||
|
|
||||||
@TableField(value = "this_year_profit_change")
|
@TableField(value = "this_year_profit_change")
|
||||||
private BigDecimal thisYearProfitChange;
|
private String thisYearProfitChange;
|
||||||
|
|
||||||
@TableField(value = "this_year_sa_money_s")
|
@TableField(value = "this_year_sa_money_s")
|
||||||
private BigDecimal thissamoney_s;
|
private BigDecimal thissamoney_s;
|
||||||
@@ -151,4 +153,17 @@ public class NewGrBiSaAggYearCount implements Serializable
|
|||||||
@TableField(value = "this_year_profit_s")
|
@TableField(value = "this_year_profit_s")
|
||||||
private BigDecimal thisprofit_s;
|
private BigDecimal thisprofit_s;
|
||||||
|
|
||||||
|
|
||||||
|
@TableField(value = "saqty_yoy")
|
||||||
|
private String saqty_yoy;
|
||||||
|
|
||||||
|
@TableField(value = "samoney_yoy")
|
||||||
|
private String samoney_yoy;
|
||||||
|
|
||||||
|
@TableField(value = "profit_yoy")
|
||||||
|
private String profit_yoy;
|
||||||
|
|
||||||
|
@TableField(value = "thisprofitshare")
|
||||||
|
private String thisprofitshare;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
|||||||
import com.lideeyunji.core.framework.entity.GrBiSaAgg;
|
import com.lideeyunji.core.framework.entity.GrBiSaAgg;
|
||||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAgg;
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAgg;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||||
import com.lideeyunji.core.framework.params.SaAggParam;
|
import com.lideeyunji.core.framework.params.SaAggParam;
|
||||||
import com.lideeyunji.tool.framework.permission.core.annotation.DataPermission;
|
import com.lideeyunji.tool.framework.permission.core.annotation.DataPermission;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@@ -71,7 +72,7 @@ public interface NewGrBiSaAggMapper extends BaseMapper<NewGrBiSaAgg>
|
|||||||
*/
|
*/
|
||||||
@DataPermission(enable = false)
|
@DataPermission(enable = false)
|
||||||
@DS(value = "#dataSourceType")
|
@DS(value = "#dataSourceType")
|
||||||
public List<NewGrBiSaAgg> selectNewGrBiSaAggList(@Param("dataSourceType") String dataSourceType,@Param("saAggParam")SaAggParam saAggParam);
|
public List<NewGrBiSaAggMonthCount> selectNewGrBiSaAggList(@Param("dataSourceType") String dataSourceType, @Param("saAggParam")SaAggParam saAggParam);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增综合销售情况明细
|
* 新增综合销售情况明细
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
package com.lideeyunji.core.framework.mapper;
|
package com.lideeyunji.core.framework.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.lideeyunji.core.framework.params.SaAggParam;
|
import com.lideeyunji.core.framework.params.SaAggParam;
|
||||||
|
import com.lideeyunji.tool.framework.permission.core.annotation.DataPermission;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -67,4 +70,15 @@ public interface NewGrBiSaAggYearCountMapper extends BaseMapper<NewGrBiSaAggYear
|
|||||||
|
|
||||||
@DS(value = "#dataSourceType")
|
@DS(value = "#dataSourceType")
|
||||||
List<NewGrBiSaAggYearCount> getTotalDetail(@Param("dataSourceType") String dataSourceType,@Param("saAggParam") SaAggParam saAggParam);
|
List<NewGrBiSaAggYearCount> getTotalDetail(@Param("dataSourceType") String dataSourceType,@Param("saAggParam") SaAggParam saAggParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量查询综合销售情况明细列表 -月度
|
||||||
|
*
|
||||||
|
* @param saAggParam 综合销售情况明细参数
|
||||||
|
* @return 综合销售情况明细集合
|
||||||
|
*/
|
||||||
|
@DataPermission(enable = false)
|
||||||
|
@DS(value = "#dataSourceType")
|
||||||
|
public List<NewGrBiSaAggYearCount> selectNewGrBiSaAggGroupYearList(@Param("dataSourceType") String dataSourceType, @Param("saAggParam") SaAggParam saAggParam, @Param("params") Map<String, Object> params, @Param("groupFieldList")List<String> groupFieldList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAgg;
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAgg;
|
||||||
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,10 +28,10 @@ public interface INewGrBiSaAggService
|
|||||||
/**
|
/**
|
||||||
* 查询综合销售情况明细列表
|
* 查询综合销售情况明细列表
|
||||||
*
|
*
|
||||||
* @param newGrBiSaAgg 综合销售情况明细
|
* @param params 综合销售情况明细
|
||||||
* @return 综合销售情况明细集合
|
* @return 综合销售情况明细集合
|
||||||
*/
|
*/
|
||||||
public List<NewGrBiSaAgg> selectNewGrBiSaAggList(Map<String, Object> params);
|
public List<NewGrBiSaAggMonthCount> selectNewGrBiSaAggList(Map<String, Object> params);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增综合销售情况明细
|
* 新增综合销售情况明细
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.lideeyunji.core.framework.service;
|
package com.lideeyunji.core.framework.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||||
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
|
||||||
import com.lideeyunji.core.framework.params.SaAggParam;
|
import com.lideeyunji.core.framework.params.SaAggParam;
|
||||||
|
|
||||||
@@ -61,4 +64,6 @@ public interface INewGrBiSaAggYearCountService
|
|||||||
public int deleteNewGrBiSaAggYearCountById(Long id);
|
public int deleteNewGrBiSaAggYearCountById(Long id);
|
||||||
|
|
||||||
List<NewGrBiSaAggYearCount> getTotalDetail(SaAggParam saAggParam);
|
List<NewGrBiSaAggYearCount> getTotalDetail(SaAggParam saAggParam);
|
||||||
|
|
||||||
|
public List<NewGrBiSaAggYearCount> selectNewGrBiSaAggGroupYearList(Map<String, Object> params, List<String> groupFieldList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.plugins.IgnoreStrategy;
|
|||||||
import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
|
import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.lideeyunji.core.framework.entity.GrBiSaAgg;
|
import com.lideeyunji.core.framework.entity.GrBiSaAgg;
|
||||||
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||||
import com.lideeyunji.core.framework.params.SaAggParam;
|
import com.lideeyunji.core.framework.params.SaAggParam;
|
||||||
import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService;
|
import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService;
|
||||||
import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService;
|
import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService;
|
||||||
@@ -138,7 +139,7 @@ public class NewGrBiSaAggServiceImpl extends ServiceImpl<NewGrBiSaAggMapper, New
|
|||||||
* @return 综合销售情况明细
|
* @return 综合销售情况明细
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<NewGrBiSaAgg> selectNewGrBiSaAggList(Map<String, Object> params)
|
public List<NewGrBiSaAggMonthCount> selectNewGrBiSaAggList(Map<String, Object> params)
|
||||||
{
|
{
|
||||||
SaAggParam saAggParam = createParam(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);
|
||||||
@@ -147,29 +148,29 @@ public class NewGrBiSaAggServiceImpl extends ServiceImpl<NewGrBiSaAggMapper, New
|
|||||||
|
|
||||||
public static SaAggParam createParam(Map<String, Object> params) {
|
public static SaAggParam createParam(Map<String, Object> params) {
|
||||||
SaAggParam saAggParam = new SaAggParam();
|
SaAggParam saAggParam = new SaAggParam();
|
||||||
if (params.containsKey("useyear")) {
|
if (params.containsKey("useYear")) {
|
||||||
saAggParam.setUseYear(params.get("useyear").toString());
|
saAggParam.setUseYear(params.get("useYear").toString());
|
||||||
}
|
}
|
||||||
if (params.containsKey("usemonth")) {
|
if (params.containsKey("useMonth")) {
|
||||||
saAggParam.setUseMonth(params.get("usemonth").toString());
|
saAggParam.setUseMonth(params.get("useMonth").toString());
|
||||||
}
|
}
|
||||||
if (params.containsKey("customname")) {
|
if (params.containsKey("customName")) {
|
||||||
saAggParam.setCustomName(Arrays.asList(params.get("customname").toString().split( ",")));
|
saAggParam.setCustomName(Arrays.asList(params.get("customName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("stdGoodsName")) {
|
if (params.containsKey("stdGoodsName")) {
|
||||||
saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ",")));
|
saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("zonename")) {
|
if (params.containsKey("zoneName")) {
|
||||||
saAggParam.setZoneName(Arrays.asList(params.get("zonename").toString().split( ",")));
|
saAggParam.setZoneName(Arrays.asList(params.get("zoneName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("saletypename")) {
|
if (params.containsKey("saletypeName")) {
|
||||||
saAggParam.setSaleTypeName(Arrays.asList(params.get("saletypename").toString().split( ",")));
|
saAggParam.setSaleTypeName(Arrays.asList(params.get("saletypeName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("dosagename")) {
|
if (params.containsKey("dosageName")) {
|
||||||
saAggParam.setDosageName(Arrays.asList(params.get("dosagename").toString().split( ",")));
|
saAggParam.setDosageName(Arrays.asList(params.get("dosageName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
if (params.containsKey("salername")) {
|
if (params.containsKey("salerName")) {
|
||||||
saAggParam.setSalerName(Arrays.asList(params.get("salername").toString().split( ",")));
|
saAggParam.setSalerName(Arrays.asList(params.get("salerName").toString().split( ",")));
|
||||||
}
|
}
|
||||||
return saAggParam;
|
return saAggParam;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,10 @@ package com.lideeyunji.core.framework.service.impl;
|
|||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
|
||||||
import com.lideeyunji.core.framework.params.SaAggParam;
|
import com.lideeyunji.core.framework.params.SaAggParam;
|
||||||
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
|
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -95,4 +98,10 @@ public class NewGrBiSaAggYearCountServiceImpl extends ServiceImpl<NewGrBiSaAggYe
|
|||||||
public List<NewGrBiSaAggYearCount> getTotalDetail(SaAggParam saAggParam) {
|
public List<NewGrBiSaAggYearCount> getTotalDetail(SaAggParam saAggParam) {
|
||||||
return this.baseMapper.getTotalDetail(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam);
|
return this.baseMapper.getTotalDetail(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<NewGrBiSaAggYearCount> selectNewGrBiSaAggGroupYearList(Map<String, Object> params, List<String> groupFieldList){
|
||||||
|
SaAggParam saAggParam = NewGrBiSaAggServiceImpl.createParam(params);
|
||||||
|
return this.baseMapper.selectNewGrBiSaAggGroupYearList(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam,params, groupFieldList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,50 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="thisMonthProfit" column="this_month_profit" />
|
<result property="thisMonthProfit" column="this_month_profit" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap type="com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount" id="NewGrBiSaAggMonthCountResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="ny" column="ny" />
|
||||||
|
<result property="useYear" column="use_year" />
|
||||||
|
<result property="useMonth" column="use_month" />
|
||||||
|
<result property="zoneId" column="zone_id" />
|
||||||
|
<result property="zoneName" column="zone_name" />
|
||||||
|
<result property="saleTypeId" column="sale_type_id" />
|
||||||
|
<result property="saleTypeName" column="sale_type_name" />
|
||||||
|
<result property="customId" column="custom_id" />
|
||||||
|
<result property="customName" column="custom_name" />
|
||||||
|
<result property="dosageId" column="dosage_id" />
|
||||||
|
<result property="dosageName" column="dosage_name" />
|
||||||
|
<result property="stdGoodsName" column="std_goods_name" />
|
||||||
|
<result property="provinceId" column="province_id" />
|
||||||
|
<result property="provinceName" column="province_name" />
|
||||||
|
<result property="salerId" column="saler_id" />
|
||||||
|
<result property="salerName" column="saler_name" />
|
||||||
|
<result property="thisMonthSaQty" column="this_month_sa_qty" />
|
||||||
|
<result property="lastMonthSaQty" column="last_month_sa_qty" />
|
||||||
|
<result property="yoyMonthSaQty" column="yoy_month_sa_qty" />
|
||||||
|
<result property="thisMonthSaMoney" column="this_month_sa_money" />
|
||||||
|
<result property="lastMonthSaMoney" column="last_month_sa_money" />
|
||||||
|
<result property="yoyMonthSaMoney" column="yoy_month_sa_money" />
|
||||||
|
<result property="thisMonthProfit" column="this_month_profit" />
|
||||||
|
<result property="lastMonthProfit" column="last_month_profit" />
|
||||||
|
<result property="yoyMonthProfit" column="yoy_month_profit" />
|
||||||
|
<result property="thisMonthCost" column="this_month_cost" />
|
||||||
|
<result property="lastMonthCost" column="last_month_cost" />
|
||||||
|
<result property="yoyMonthCost" column="yoy_month_cost" />
|
||||||
|
<result property="thisMonthProfitRate" column="this_month_profit_rate" />
|
||||||
|
<result property="lastMonthProfitRate" column="last_month_profit_rate" />
|
||||||
|
<result property="lastMonthProfitShare" column="last_month_profit_share" />
|
||||||
|
<result property="thisMonthSaMoneyShare" column="this_month_sa_money_share" />
|
||||||
|
<result property="thisMonthProfitShare" column="this_month_profit_share" />
|
||||||
|
<result property="thisMonthSaMoney_s" column="thissamoney_s" />
|
||||||
|
<result property="thisMonthProfit_s" column="thisprofit_s" />
|
||||||
|
<result property="monthsaqty_yoy" column="monthsaqty_yoy" />
|
||||||
|
<result property="monthsamoney_yoy" column="monthsamoney_yoy" />
|
||||||
|
<result property="lastMonthSaMoney_yoy" column="lastMonthSaMoney_yoy" />
|
||||||
|
<result property="this_month_cost_yoy" column="this_month_cost_yoy" />
|
||||||
|
<result property="monthprofit_yoy" column="monthprofit_yoy" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectNewGrBiSaAggVo">
|
<sql id="selectNewGrBiSaAggVo">
|
||||||
select id, use_year, use_month, zone_id, zone_name, sale_type_id, sale_type_name, custom_id, custom_name, dosage_id, dosage_name, goods_id, goods_name, province_id, province_name, saler_id, saler_name, this_month_sa_qty, this_month_sa_money, this_month_cost, this_month_profit from new_gr_bi_sa_agg
|
select id, use_year, use_month, zone_id, zone_name, sale_type_id, sale_type_name, custom_id, custom_name, dosage_id, dosage_name, goods_id, goods_name, province_id, province_name, saler_id, saler_name, this_month_sa_qty, this_month_sa_money, this_month_cost, this_month_profit from new_gr_bi_sa_agg
|
||||||
</sql>
|
</sql>
|
||||||
@@ -511,7 +555,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
END,
|
END,
|
||||||
this_year_profit_change = ( this_year_profit - last_year_profit);
|
this_year_profit_change = ( this_year_profit - last_year_profit);
|
||||||
</update>
|
</update>
|
||||||
<select id="selectNewGrBiSaAggList" parameterType="com.lideeyunji.core.framework.params.SaAggParam" resultMap="NewGrBiSaAggResult">
|
<select id="selectNewGrBiSaAggList" resultMap="NewGrBiSaAggMonthCountResult">
|
||||||
SELECT
|
SELECT
|
||||||
ANY_VALUE (tbl_lgbsa.id) id,
|
ANY_VALUE (tbl_lgbsa.id) id,
|
||||||
tbl_lgbsa.use_year,
|
tbl_lgbsa.use_year,
|
||||||
@@ -532,7 +576,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
tbl_lgbsa.province_name,
|
tbl_lgbsa.province_name,
|
||||||
tbl_lgbsa.saler_id,
|
tbl_lgbsa.saler_id,
|
||||||
tbl_lgbsa.saler_name,
|
tbl_lgbsa.saler_name,
|
||||||
tbl_lgbsa.this_month_sa_qty AS thisMonthSaQty,
|
tbl_lgbsa.this_month_sa_qty AS this_month_sa_qty,
|
||||||
ROUND(tbl_lgbsa.this_month_sa_money / 10000, 2) AS this_month_sa_money, -- 本月销售金额(元)
|
ROUND(tbl_lgbsa.this_month_sa_money / 10000, 2) AS this_month_sa_money, -- 本月销售金额(元)
|
||||||
ROUND(tbl_lgbsa.this_month_cost / 10000, 2) AS this_month_cost,
|
ROUND(tbl_lgbsa.this_month_cost / 10000, 2) AS this_month_cost,
|
||||||
ROUND(tbl_lgbsa.this_month_profit / 10000, 2) AS this_month_profit,
|
ROUND(tbl_lgbsa.this_month_profit / 10000, 2) AS this_month_profit,
|
||||||
@@ -544,13 +588,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
ROUND(tbl_lgbsa.yoy_month_sa_money / 10000, 2) as yoy_month_sa_money,
|
ROUND(tbl_lgbsa.yoy_month_sa_money / 10000, 2) as yoy_month_sa_money,
|
||||||
ROUND(tbl_lgbsa.yoy_month_profit / 10000, 2) as yoy_month_profit,
|
ROUND(tbl_lgbsa.yoy_month_profit / 10000, 2) as yoy_month_profit,
|
||||||
ROUND(tbl_lgbsa.yoy_month_cost / 10000, 2) as yoy_month_cost,
|
ROUND(tbl_lgbsa.yoy_month_cost / 10000, 2) as yoy_month_cost,
|
||||||
CONCAT(ROUND((SELECT SUM(MONTHSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS monthsaqty_s,
|
# CONCAT(ROUND((SELECT SUM(MONTHSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS monthsaqty_s,
|
||||||
CONCAT(ROUND((SELECT SUM(THISSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS thissaqty_s,
|
# CONCAT(ROUND((SELECT SUM(THISSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS thissaqty_s,
|
||||||
CONCAT(ROUND((SELECT SUM(LASTSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS lastsaqty_s,
|
# CONCAT(ROUND((SELECT SUM(LASTSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS lastsaqty_s,
|
||||||
-- 原本带CAST的字段,简化写法(CONCAT会自动转为字符串)
|
# -- 原本带CAST的字段,简化写法(CONCAT会自动转为字符串)
|
||||||
CONCAT(ROUND((SELECT SUM(MONTHSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS monthsamoney_s,
|
# CONCAT(ROUND((SELECT SUM(MONTHSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS monthsamoney_s,
|
||||||
CONCAT(ROUND((SELECT SUM(THISSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000,2), '亿') AS thissamoney_s,
|
# CONCAT(ROUND((SELECT SUM(THISSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000,2), '亿') AS thissamoney_s,
|
||||||
CONCAT(ROUND((SELECT SUM(LASTSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000,2), '亿') AS lastsamoney_s,
|
# CONCAT(ROUND((SELECT SUM(LASTSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000,2), '亿') AS lastsamoney_s,
|
||||||
CASE
|
CASE
|
||||||
WHEN (CASE WHEN tbl_lgbsa.yoy_month_sa_qty = 0 THEN IF(tbl_lgbsa.this_month_sa_qty > 0, 100, 0)
|
WHEN (CASE WHEN tbl_lgbsa.yoy_month_sa_qty = 0 THEN IF(tbl_lgbsa.this_month_sa_qty > 0, 100, 0)
|
||||||
ELSE (tbl_lgbsa.this_month_sa_qty - tbl_lgbsa.yoy_month_sa_qty) / tbl_lgbsa.yoy_month_sa_qty * 100 END) > 0 THEN
|
ELSE (tbl_lgbsa.this_month_sa_qty - tbl_lgbsa.yoy_month_sa_qty) / tbl_lgbsa.yoy_month_sa_qty * 100 END) > 0 THEN
|
||||||
@@ -601,53 +645,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
FROM
|
FROM
|
||||||
new_gr_bi_sa_agg tbl_lgbsa
|
new_gr_bi_sa_agg tbl_lgbsa
|
||||||
<where>
|
<where>
|
||||||
<if test="useYear != null and useYear != ''"> and use_year = #{useYear}</if>
|
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
|
||||||
<if test="useMonth != null "> and use_month = #{useMonth}</if>
|
<if test="saAggParam.useMonth != null "> and use_month = #{saAggParam.useMonth}</if>
|
||||||
<!--<if test="zoneId != null "> and zone_id = #{zoneId}</if>-->
|
<!--<if test="zoneId != null "> and zone_id = #{zoneId}</if>-->
|
||||||
<if test="zoneName != null and zoneName != ''"> and zone_name in
|
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||||
<foreach collection="zoneName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<!-- <if test="saleTypeId != null "> and sale_type_id = #{saleTypeId}</if>-->
|
<!-- <if test="saleTypeId != null "> and sale_type_id = #{saleTypeId}</if>-->
|
||||||
<if test="saleTypeName != null and saleTypeName != ''"> and sale_type_name in
|
<if test="saAggParam.saleTypeName != null and saAggParam.saleTypeName != ''"> and sale_type_name in
|
||||||
<foreach collection="saleTypeName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.saleTypeName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<!--<if test="customId != null "> and custom_id = #{customId}</if>-->
|
<!--<if test="customId != null "> and custom_id = #{customId}</if>-->
|
||||||
<if test="customName != null and customName != ''"> and custom_name in
|
<if test="saAggParam.customName != null and saAggParam.customName != ''"> and custom_name in
|
||||||
<foreach collection="customName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.customName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<!--<if test="dosageId != null "> and dosage_id = #{dosageId}</if>-->
|
<!--<if test="dosageId != null "> and dosage_id = #{dosageId}</if>-->
|
||||||
<if test="dosageName != null and dosageName != ''"> and dosage_name in
|
<if test="saAggParam.dosageName != null and saAggParam.dosageName != ''"> and dosage_name in
|
||||||
<foreach collection="dosageName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.dosageName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<!--<if test="goodsId != null "> and goods_id = #{goodsId}</if>-->
|
<!--<if test="goodsId != null "> and goods_id = #{goodsId}</if>-->
|
||||||
<if test="goodsName != null and goodsName != ''"> and goods_name in
|
<if test="saAggParam.goodsName != null and saAggParam.goodsName != ''"> and goods_name in
|
||||||
<foreach collection="goodsName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.goodsName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<!--<if test="provinceId != null "> and province_id = #{provinceId}</if>-->
|
<!--<if test="provinceId != null "> and province_id = #{provinceId}</if>-->
|
||||||
<if test="provinceName != null and provinceName != ''"> and province_name in
|
<if test="saAggParam.provinceName != null and saAggParam.provinceName != ''"> and province_name in
|
||||||
<foreach collection="provinceName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.provinceName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<!--<if test="salerId != null "> and saler_id = #{salerId}</if>-->
|
<!--<if test="salerId != null "> and saler_id = #{salerId}</if>-->
|
||||||
<if test="salerName != null and salerName != ''"> and saler_name in
|
<if test="saAggParam.salerName != null and saAggParam.salerName != ''"> and saler_name in
|
||||||
<foreach collection="salerName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.salerName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="stdGoodsName != null and stdGoodsName != ''"> and std_goods_name in
|
<if test="saAggParam.stdGoodsName != null and saAggParam.stdGoodsName != ''"> and std_goods_name in
|
||||||
<foreach collection="stdGoodsName" item="name" open="(" separator="," close=")">
|
<foreach collection="saAggParam.stdGoodsName" item="name" open="(" separator="," close=")">
|
||||||
#{name}
|
#{name}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@@ -248,10 +248,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
<select id="selectNewGrBiSaAggGroupMonthList" resultMap="NewGrBiSaAggMonthCountResult">
|
<select id="selectNewGrBiSaAggGroupMonthList" resultMap="NewGrBiSaAggMonthCountResult">
|
||||||
select
|
select
|
||||||
<if test="groupFieldList.contains('usemonth') || params.containsKey('usemonth')">
|
<if test="groupFieldList.contains('useMonth') || params.containsKey('useMonth')">
|
||||||
current_month.use_month ,
|
current_month.use_month ,
|
||||||
<choose>
|
<choose>
|
||||||
<when test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<when test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
current_month.use_year,
|
current_month.use_year,
|
||||||
current_month.ny as ny,
|
current_month.ny as ny,
|
||||||
</when>
|
</when>
|
||||||
@@ -260,23 +260,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
current_month.custom_id,
|
current_month.custom_id,
|
||||||
current_month.custom_name,
|
current_month.custom_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
current_month.zone_id,
|
current_month.zone_id,
|
||||||
current_month.zone_name,
|
current_month.zone_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
current_month.sale_type_id,
|
current_month.sale_type_id,
|
||||||
current_month.sale_type_name,
|
current_month.sale_type_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
current_month.saler_id,
|
current_month.saler_id,
|
||||||
current_month.saler_name,
|
current_month.saler_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
current_month.dosage_id,
|
current_month.dosage_id,
|
||||||
current_month.dosage_name,
|
current_month.dosage_name,
|
||||||
</if>
|
</if>
|
||||||
@@ -352,11 +352,11 @@ 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_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
|
COALESCE (ROUND( current_month.this_month_profit/total_month_data.this_month_profit_sum * 100, 2), 0 ) as this_month_profit_share
|
||||||
FROM ( SELECT
|
FROM ( SELECT
|
||||||
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
use_year,
|
use_year,
|
||||||
</if>
|
</if>
|
||||||
use_month,
|
use_month,
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
custom_id,
|
custom_id,
|
||||||
custom_name ,
|
custom_name ,
|
||||||
</if>
|
</if>
|
||||||
@@ -365,20 +365,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
std_goods_name,
|
std_goods_name,
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
zone_id,
|
zone_id,
|
||||||
zone_name,
|
zone_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
sale_type_id,
|
sale_type_id,
|
||||||
sale_type_name,
|
sale_type_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
dosage_id,
|
dosage_id,
|
||||||
dosage_name,
|
dosage_name,
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
saler_id,
|
saler_id,
|
||||||
saler_name,
|
saler_name,
|
||||||
</if>
|
</if>
|
||||||
@@ -436,30 +436,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</where>
|
</where>
|
||||||
GROUP BY
|
GROUP BY
|
||||||
<trim suffixOverrides=",">
|
<trim suffixOverrides=",">
|
||||||
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
use_year,
|
use_year,
|
||||||
</if>
|
</if>
|
||||||
use_month,
|
use_month,
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
custom_id,
|
custom_id,
|
||||||
custom_name ,
|
custom_name ,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
std_goods_name,
|
std_goods_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
zone_id,
|
zone_id,
|
||||||
zone_name,
|
zone_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
sale_type_id,
|
sale_type_id,
|
||||||
sale_type_name,
|
sale_type_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
dosage_id,
|
dosage_id,
|
||||||
dosage_name,
|
dosage_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
saler_id,
|
saler_id,
|
||||||
saler_name,
|
saler_name,
|
||||||
</if>
|
</if>
|
||||||
@@ -467,26 +467,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
) AS current_month
|
) AS current_month
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
use_year,
|
use_year,
|
||||||
</if>
|
</if>
|
||||||
use_month,
|
use_month,
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
custom_id,
|
custom_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
std_goods_name,
|
std_goods_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
zone_id,
|
zone_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
sale_type_id,
|
sale_type_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
dosage_id,
|
dosage_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
saler_id,
|
saler_id,
|
||||||
</if>
|
</if>
|
||||||
SUM(this_month_sa_qty) AS last_month_sa_qty,
|
SUM(this_month_sa_qty) AS last_month_sa_qty,
|
||||||
@@ -496,74 +496,74 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
FROM new_gr_bi_sa_agg_month_count
|
FROM new_gr_bi_sa_agg_month_count
|
||||||
GROUP BY
|
GROUP BY
|
||||||
<trim suffixOverrides=",">
|
<trim suffixOverrides=",">
|
||||||
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
use_year,
|
use_year,
|
||||||
</if>
|
</if>
|
||||||
use_month,
|
use_month,
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
custom_id,
|
custom_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
std_goods_name,
|
std_goods_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
zone_id,
|
zone_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
sale_type_id,
|
sale_type_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
dosage_id,
|
dosage_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
saler_id,
|
saler_id,
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
) AS last_month_data
|
) AS last_month_data
|
||||||
ON last_month_data.use_month = IF(current_month.use_month = 1, 12, current_month.use_month - 1)
|
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('useYear')">
|
||||||
AND last_month_data.use_year = current_month.use_year - (current_month.use_month = 1)
|
AND last_month_data.use_year = current_month.use_year - (current_month.use_month = 1)
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
AND current_month.custom_id = last_month_data.custom_id
|
AND current_month.custom_id = last_month_data.custom_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
AND current_month.std_goods_name = last_month_data.std_goods_name
|
AND current_month.std_goods_name = last_month_data.std_goods_name
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
AND current_month.zone_id = last_month_data.zone_id
|
AND current_month.zone_id = last_month_data.zone_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
AND current_month.sale_type_id = last_month_data.sale_type_id
|
AND current_month.sale_type_id = last_month_data.sale_type_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
AND current_month.dosage_id = last_month_data.dosage_id
|
AND current_month.dosage_id = last_month_data.dosage_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
AND current_month.saler_id = last_month_data.saler_id
|
AND current_month.saler_id = last_month_data.saler_id
|
||||||
</if>
|
</if>
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
use_year,
|
use_year,
|
||||||
</if>
|
</if>
|
||||||
use_month,
|
use_month,
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
custom_id,
|
custom_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
std_goods_name,
|
std_goods_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
zone_id,
|
zone_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
sale_type_id,
|
sale_type_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
dosage_id,
|
dosage_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
saler_id,
|
saler_id,
|
||||||
</if>
|
</if>
|
||||||
SUM(this_month_sa_qty) AS yoy_month_sa_qty,
|
SUM(this_month_sa_qty) AS yoy_month_sa_qty,
|
||||||
@@ -618,52 +618,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</where>
|
</where>
|
||||||
GROUP BY
|
GROUP BY
|
||||||
<trim suffixOverrides=",">
|
<trim suffixOverrides=",">
|
||||||
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
use_year,
|
use_year,
|
||||||
</if>
|
</if>
|
||||||
use_month,
|
use_month,
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
custom_id,
|
custom_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
std_goods_name,
|
std_goods_name,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
zone_id,
|
zone_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
sale_type_id,
|
sale_type_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
dosage_id,
|
dosage_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
saler_id,
|
saler_id,
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
) yoy_month ON
|
) yoy_month ON
|
||||||
<trim prefixOverrides="and">
|
<trim prefixOverrides="and">
|
||||||
|
|
||||||
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
and yoy_month.use_year = current_month.use_year - 1
|
and yoy_month.use_year = current_month.use_year - 1
|
||||||
</if>
|
</if>
|
||||||
and yoy_month.use_month = current_month.use_month
|
and yoy_month.use_month = current_month.use_month
|
||||||
<if test="groupFieldList.contains('customname') || params.containsKey('customname')">
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
AND yoy_month.custom_id = current_month.custom_id
|
AND yoy_month.custom_id = current_month.custom_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
AND yoy_month.std_goods_name = current_month.std_goods_name
|
AND yoy_month.std_goods_name = current_month.std_goods_name
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
AND yoy_month.zone_id = current_month.zone_id
|
AND yoy_month.zone_id = current_month.zone_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
AND yoy_month.sale_type_id = current_month.sale_type_id
|
AND yoy_month.sale_type_id = current_month.sale_type_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
AND yoy_month.dosage_id = current_month.dosage_id
|
AND yoy_month.dosage_id = current_month.dosage_id
|
||||||
</if>
|
</if>
|
||||||
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
AND yoy_month.saler_id = current_month.saler_id
|
AND yoy_month.saler_id = current_month.saler_id
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<resultMap type="com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount" id="NewGrBiSaAggYearCountResult">
|
<resultMap type="com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount" id="NewGrBiSaAggYearCountResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="useYear" column="use_year" />
|
<result property="useYear" column="use_year" />
|
||||||
|
<result property="ny" column="ny" />
|
||||||
<result property="zoneId" column="zone_id" />
|
<result property="zoneId" column="zone_id" />
|
||||||
<result property="zoneName" column="zone_name" />
|
<result property="zoneName" column="zone_name" />
|
||||||
<result property="saleTypeId" column="sale_type_id" />
|
<result property="saleTypeId" column="sale_type_id" />
|
||||||
@@ -39,6 +40,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="thisYearProfitChange" column="this_year_profit_change" />
|
<result property="thisYearProfitChange" column="this_year_profit_change" />
|
||||||
<result property="thissamoney_s" column="this_year_sa_money_s" />
|
<result property="thissamoney_s" column="this_year_sa_money_s" />
|
||||||
<result property="thisprofit_s" column="this_year_profit_s" />
|
<result property="thisprofit_s" column="this_year_profit_s" />
|
||||||
|
<result property="saqty_yoy" column="saqty_yoy" />
|
||||||
|
<result property="samoney_yoy" column="samoney_yoy" />
|
||||||
|
<result property="profit_yoy" column="profit_yoy" />
|
||||||
|
<result property="thisprofitshare" column="thisprofitshare" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectNewGrBiSaAggYearCountVo">
|
<sql id="selectNewGrBiSaAggYearCountVo">
|
||||||
@@ -71,13 +76,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<foreach collection="saAggParam.stdGoodsName" item="field" separator="," open="(" close=")">#{field}</foreach>
|
<foreach collection="saAggParam.stdGoodsName" item="field" separator="," open="(" close=")">#{field}</foreach>
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
<!-- <if test="saAggParam.groupFieldList != null and saAggParam.groupFieldList.size() > 0">-->
|
|
||||||
<!-- <!– 这里根据前端传入的参数拼接动态的 GROUP BY 子句 –>-->
|
|
||||||
<!-- GROUP BY-->
|
|
||||||
<!-- <foreach item="field" collection="saAggParam.groupFieldList" separator=",">-->
|
|
||||||
<!-- #{field}-->
|
|
||||||
<!-- </foreach>-->
|
|
||||||
<!-- </if>-->
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectNewGrBiSaAggYearCountList" parameterType="com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount" resultMap="NewGrBiSaAggYearCountResult">
|
<select id="selectNewGrBiSaAggYearCountList" parameterType="com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount" resultMap="NewGrBiSaAggYearCountResult">
|
||||||
@@ -241,4 +239,315 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="selectNewGrBiSaAggGroupYearList" resultMap="NewGrBiSaAggYearCountResult">
|
||||||
|
SELECT
|
||||||
|
current_year_data.use_year,
|
||||||
|
<if test="groupFieldList.contains('useYear') || params.containsKey('useYear')">
|
||||||
|
current_year_data.ny as ny,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
|
current_year_data.custom_id,
|
||||||
|
current_year_data.custom_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
|
current_year_data.zone_id,
|
||||||
|
current_year_data.zone_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
|
current_year_data.sale_type_id,
|
||||||
|
current_year_data.sale_type_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
|
current_year_data.saler_id,
|
||||||
|
current_year_data.saler_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
|
current_year_data.dosage_id,
|
||||||
|
current_year_data.dosage_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
|
current_year_data.std_goods_name,
|
||||||
|
</if>
|
||||||
|
|
||||||
|
current_year_data.this_year_sa_qty AS this_year_sa_qty,
|
||||||
|
ROUND(current_year_data.this_year_sa_money / 10000, 2) AS this_year_sa_money,
|
||||||
|
ROUND(current_year_data.this_year_profit / 10000, 2) AS this_year_profit,
|
||||||
|
ROUND(current_year_data.this_year_cost / 10000, 2) AS this_year_cost,
|
||||||
|
last_year_data.last_year_sa_qty AS last_year_sa_qty,
|
||||||
|
ROUND(last_year_data.last_year_sa_money / 10000, 2) AS last_year_sa_money,
|
||||||
|
ROUND(last_year_data.last_year_profit / 10000, 2) AS last_year_profit,
|
||||||
|
ROUND(last_year_data.last_year_cost / 10000, 2) AS last_year_cost,
|
||||||
|
|
||||||
|
COALESCE(ROUND(current_year_data.this_year_sa_money / total_year_data.this_year_sa_money_sum * 100, 2), 0) AS this_year_sa_money_share,
|
||||||
|
COALESCE (ROUND(current_year_data.this_year_profit/total_year_data.this_year_profit_sum * 100, 2), 0 ) as thisprofitshare,
|
||||||
|
CASE
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_sa_qty = 0 THEN IF(current_year_data.this_year_sa_qty > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_qty - last_year_data.last_year_sa_qty) / last_year_data.last_year_sa_qty * 100 END) > 0 THEN
|
||||||
|
CONCAT('🟢 ', ROUND((CASE WHEN last_year_data.last_year_sa_qty = 0 THEN IF(current_year_data.this_year_sa_qty > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_qty - last_year_data.last_year_sa_qty) / last_year_data.last_year_sa_qty * 100 END), 2))
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_sa_qty = 0 THEN IF(current_year_data.this_year_sa_qty > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_qty - last_year_data.last_year_sa_qty) / last_year_data.last_year_sa_qty * 100 END) < 0 THEN
|
||||||
|
CONCAT('🔴 ', ROUND((CASE WHEN last_year_data.last_year_sa_qty = 0 THEN IF(current_year_data.this_year_sa_qty > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_qty - last_year_data.last_year_sa_qty) / last_year_data.last_year_sa_qty * 100 END), 2))
|
||||||
|
ELSE '0.00'
|
||||||
|
END AS saqty_yoy,
|
||||||
|
CASE
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END) > 0 THEN
|
||||||
|
CONCAT('🟢 ', ROUND((CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END), 2))
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END) < 0 THEN
|
||||||
|
CONCAT('🔴 ', ROUND((CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END), 2))
|
||||||
|
ELSE '0.00'
|
||||||
|
END AS samoney_yoy,
|
||||||
|
CASE
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_profit = 0 THEN IF(current_year_data.this_year_profit > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_profit - last_year_data.last_year_profit) / last_year_data.last_year_profit * 100 END) > 0 THEN
|
||||||
|
CONCAT('🟢 ', ROUND((CASE WHEN last_year_data.last_year_profit = 0 THEN IF(current_year_data.this_year_profit > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_profit - last_year_data.last_year_profit) / last_year_data.last_year_profit * 100 END), 2))
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_profit = 0 THEN IF(current_year_data.this_year_profit > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_profit - last_year_data.last_year_profit) / last_year_data.last_year_profit * 100 END) < 0 THEN
|
||||||
|
CONCAT('🔴 ', ROUND((CASE WHEN last_year_data.last_year_profit = 0 THEN IF(current_year_data.this_year_profit > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_profit - last_year_data.last_year_profit) / last_year_data.last_year_profit * 100 END), 2))
|
||||||
|
ELSE '0.00'
|
||||||
|
END AS profit_yoy,
|
||||||
|
CASE
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END) > 0 THEN
|
||||||
|
CONCAT('🟢 ', ROUND((CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END), 2))
|
||||||
|
WHEN (CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END) < 0 THEN
|
||||||
|
CONCAT('🔴 ', ROUND((CASE WHEN last_year_data.last_year_sa_money = 0 THEN IF(current_year_data.this_year_sa_money > 0, 100, 0)
|
||||||
|
ELSE (current_year_data.this_year_sa_money - last_year_data.last_year_sa_money) / last_year_data.last_year_sa_money * 100 END), 2))
|
||||||
|
ELSE '0.00'
|
||||||
|
END AS this_year_sa_money_growth
|
||||||
|
FROM
|
||||||
|
(SELECT use_year ,
|
||||||
|
use_year AS ny,
|
||||||
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
|
custom_id,
|
||||||
|
custom_name ,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
|
std_goods_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
|
zone_id,
|
||||||
|
zone_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
|
sale_type_id,
|
||||||
|
sale_type_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
|
dosage_id,
|
||||||
|
dosage_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
|
saler_id,
|
||||||
|
saler_name,
|
||||||
|
</if>
|
||||||
|
GROUP_CONCAT(DISTINCT province_id ORDER BY province_id SEPARATOR ',') AS province_id,
|
||||||
|
GROUP_CONCAT(DISTINCT province_name ORDER BY province_name SEPARATOR ',') AS province_name,
|
||||||
|
sum(this_year_sa_qty) AS this_year_sa_qty,
|
||||||
|
sum(this_year_sa_money) AS this_year_sa_money,
|
||||||
|
sum(this_year_cost) AS this_year_cost,
|
||||||
|
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.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||||
|
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.saleTypeName != null and saAggParam.saleTypeName != ''"> and sale_type_name in
|
||||||
|
<foreach collection="saAggParam.saleTypeName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.customName != null and saAggParam.customName != ''"> and custom_name in
|
||||||
|
<foreach collection="saAggParam.customName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.dosageName != null and saAggParam.dosageName != ''"> and dosage_name in
|
||||||
|
<foreach collection="saAggParam.dosageName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.goodsName != null and saAggParam.goodsName != ''"> and goods_name in
|
||||||
|
<foreach collection="saAggParam.goodsName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.provinceName != null and saAggParam.provinceName != ''"> and province_name in
|
||||||
|
<foreach collection="saAggParam.provinceName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.salerName != null and saAggParam.salerName != ''"> and saler_name in
|
||||||
|
<foreach collection="saAggParam.salerName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="saAggParam.stdGoodsName != null and saAggParam.stdGoodsName != ''"> and std_goods_name in
|
||||||
|
<foreach collection="saAggParam.stdGoodsName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY
|
||||||
|
<trim suffixOverrides=",">
|
||||||
|
use_year,
|
||||||
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
|
custom_id,
|
||||||
|
custom_name ,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
|
std_goods_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
|
zone_id,
|
||||||
|
zone_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
|
sale_type_id,
|
||||||
|
sale_type_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
|
dosage_id,
|
||||||
|
dosage_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
|
saler_id,
|
||||||
|
saler_name,
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
|
||||||
|
) as current_year_data
|
||||||
|
LEFT JOIN (SELECT use_year,
|
||||||
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
|
custom_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
|
std_goods_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
|
zone_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
|
sale_type_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
|
dosage_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
|
saler_id,
|
||||||
|
</if>
|
||||||
|
SUM(this_year_sa_qty) AS last_year_sa_qty,
|
||||||
|
SUM(this_year_sa_money) AS last_year_sa_money,
|
||||||
|
SUM(this_year_cost) AS last_year_cost,
|
||||||
|
SUM(this_year_profit) AS last_year_profit
|
||||||
|
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.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
|
||||||
|
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.saleTypeName != null and saAggParam.saleTypeName != ''"> and sale_type_name in
|
||||||
|
<foreach collection="saAggParam.saleTypeName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.customName != null and saAggParam.customName != ''"> and custom_name in
|
||||||
|
<foreach collection="saAggParam.customName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.dosageName != null and saAggParam.dosageName != ''"> and dosage_name in
|
||||||
|
<foreach collection="saAggParam.dosageName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.goodsName != null and saAggParam.goodsName != ''"> and goods_name in
|
||||||
|
<foreach collection="saAggParam.goodsName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.provinceName != null and saAggParam.provinceName != ''"> and province_name in
|
||||||
|
<foreach collection="saAggParam.provinceName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="saAggParam.salerName != null and saAggParam.salerName != ''"> and saler_name in
|
||||||
|
<foreach collection="saAggParam.salerName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="saAggParam.stdGoodsName != null and saAggParam.stdGoodsName != ''"> and std_goods_name in
|
||||||
|
<foreach collection="saAggParam.stdGoodsName" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY
|
||||||
|
<trim suffixOverrides=",">
|
||||||
|
use_year,
|
||||||
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
|
custom_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
|
std_goods_name,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
|
zone_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
|
sale_type_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
|
dosage_id,
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
|
saler_id,
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
|
||||||
|
) AS last_year_data
|
||||||
|
ON last_year_data.use_year = current_year_data.use_year - 1
|
||||||
|
<if test="groupFieldList.contains('customName') || params.containsKey('customName')">
|
||||||
|
AND current_year_data.custom_id = last_year_data.custom_id
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
|
||||||
|
AND current_year_data.std_goods_name = last_year_data.std_goods_name
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('zoneName') || params.containsKey('zoneName')">
|
||||||
|
AND current_year_data.zone_id = last_year_data.zone_id
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('saleTypeName') || params.containsKey('saleTypeName')">
|
||||||
|
AND current_year_data.sale_type_id = last_year_data.sale_type_id
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('dosageName') || params.containsKey('dosageName')">
|
||||||
|
AND current_year_data.dosage_id = last_year_data.dosage_id
|
||||||
|
</if>
|
||||||
|
<if test="groupFieldList.contains('salerName') || params.containsKey('salerName')">
|
||||||
|
AND current_year_data.saler_id = last_year_data.saler_id
|
||||||
|
</if>
|
||||||
|
LEFT JOIN (SELECT use_year,
|
||||||
|
SUM(this_year_sa_money) AS this_year_sa_money_sum,
|
||||||
|
SUM(this_year_profit) AS this_year_profit_sum
|
||||||
|
FROM new_gr_bi_sa_agg_year_count
|
||||||
|
GROUP BY use_year) as total_year_data
|
||||||
|
ON total_year_data.use_year = current_year_data.use_year
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user