公装家装、基材面材逻辑提交
This commit is contained in:
parent
5a7cdb05d0
commit
f59dcdc0e4
@ -8,6 +8,7 @@ import com.actionsoft.sdk.local.SDK;
|
||||
import com.awspaas.user.apps.bnbm.datalinkup.entity.DateRange;
|
||||
import com.awspaas.user.apps.bnbm.datalinkup.entity.Location;
|
||||
import com.awspaas.user.apps.bnbm.datalinkup.service.DataSummaryService;
|
||||
import com.awspaas.user.apps.bnbm.datalinkup.util.SaleUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -288,6 +289,8 @@ public class SaleCountDimensionImpl implements DataSummaryService {
|
||||
LOGGER.info("销量销额数据无数据,停止查询");
|
||||
} else {
|
||||
ArrayList<BO> bos = new ArrayList<>();
|
||||
// 循环外先获取下公装家装、基材面材类别
|
||||
List<BO> gzjzList = SDK.getBOAPI().query("BO_EU_DATALINKUP_CPJZGZJCMC").list();
|
||||
for (RowMap map : maps) {
|
||||
String gc = map.getString("KCZZ");
|
||||
String yearmonth = map.getString("YEARMONTH");
|
||||
@ -315,8 +318,10 @@ public class SaleCountDimensionImpl implements DataSummaryService {
|
||||
Double ssjermb = map.getDouble("SSJERMB");
|
||||
Double xe = map.getDouble("XE");
|
||||
bo.set("XE", ssjermb!=null?ssjermb:xe!=null?(xe*0.13):0.00);
|
||||
bo.set("MC_JC", Math.random()%2==0?"面材":"基材");
|
||||
bo.set("JZ_GZ", Math.random()%2==0?"家装":"工装");
|
||||
// 匹配公装家装类别,如果未匹配到,则默认未其他
|
||||
String[] gzjzStrings = SaleUtil.matchSingleField(bkgs, map.getString("LB_1"), map.getString("LB_2"), gzjzList, "其他", "其他");
|
||||
bo.set("JZ_GZ", gzjzStrings[0]);
|
||||
bo.set("MC_JC", gzjzStrings[1]);
|
||||
bos.add(bo);
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
package com.awspaas.user.apps.bnbm.datalinkup.util;
|
||||
|
||||
import com.actionsoft.bpms.bo.engine.BO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SaleUtil {
|
||||
/**
|
||||
* 单字段匹配:根据源字段(如 BKGS)匹配 BO 中的目标字段(如 BBGS)
|
||||
* @param sourceValue 源字段值(如 BKGS、LB_1、LB_2)
|
||||
* @param targetKey BO 中的目标字段 key(如 "BBGS"、"CPMC"、"CPLB_L2")
|
||||
* @param boList 待匹配的 BO 列表
|
||||
* @param defaultJzgz 匹配失败时默认的 JZGZ 值
|
||||
* @param defaultJcmc 匹配失败时默认的 JCMC 值
|
||||
* @return 匹配结果数组 [JZGZ, JCMC]
|
||||
*/
|
||||
public static String[] matchSingleField(String bbgsSource, String cpmcSource,String cppb_l2Source,
|
||||
List<BO> boList, String defaultJzgz, String defaultJcmc) {
|
||||
if (boList == null || boList.isEmpty()) {
|
||||
return new String[]{defaultJzgz, defaultJcmc};
|
||||
}
|
||||
for (BO bo : boList) {
|
||||
String bbgs = bo.getString("BBGS");
|
||||
String cpmc = bo.getString("CPMC");
|
||||
String cppb_l2 = bo.getString("CPLB_L2");
|
||||
if(bbgs.equals(bbgsSource) && cpmcSource.contains(cpmc) && cppb_l2Source.contains(cppb_l2)) {
|
||||
return new String[]{bo.getString("JZGZ"), bo.getString("JCMC")};
|
||||
}
|
||||
}
|
||||
return new String[]{defaultJzgz, defaultJcmc};
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user