Compare commits

...

3 Commits

Author SHA1 Message Date
zzs01@yunemao.com
afc3b08ce2 fix:出口报关明细报表 2024-09-05 11:15:56 +08:00
zzs01@yunemao.com
c026971b54 fix:合同号查询错误 2024-09-05 10:31:45 +08:00
zzs01@yunemao.com
021d5560d6 feat:出口报关数据修复 2024-09-05 10:31:33 +08:00
2 changed files with 69 additions and 7 deletions

View File

@ -52,6 +52,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData
dataSet = declaredocx.leftJoin(declaredocx_relation)
.on("merged_seq", "rl_merged_seq")
.on("declaredocx_id", "declare_id_gp_fk")
.select(RptUtil.getDataSetFiledAlias(declaredocx), RptUtil.getDataSetFiledAlias(declaredocx_relation))
.finish();
@ -326,11 +327,12 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData
ArrayList<String> selectfields = Lists.newArrayList();
selectfields.add("id declare_id_gp_fk");
selectfields.add("yem_es_declare_ecd.yem_fgseq rl_detail_seq");//商品明细序号
selectfields.add("yem_es_declare_ecd.yem_decsourceentryidtext rl_detail_id");//商品明细分录行id
selectfields.add("yem_es_declare_ecd.yem_decgoodsseq rl_merged_seq");//报关商品序号
DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_es_declaredocx", String.join(",", selectfields), qFilter.toArray());
dataSet = dataSet.select("CAST(rl_detail_seq as Integer) rl_detail_seq, CAST(rl_detail_id as Long) rl_detail_id, CAST(rl_merged_seq as Integer) rl_merged_seq");
dataSet = dataSet.select("CAST(rl_detail_seq as Integer) rl_detail_seq, CAST(rl_detail_id as Long) rl_detail_id, CAST(rl_merged_seq as Integer) rl_merged_seq, declare_id_gp_fk");
DataSet declaredocx_detail = queryDeclareDocx_Detail(param);
@ -353,25 +355,28 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData
.select(RptUtil.getDataSetFiledAlias(dataSet), RptUtil.getDataSetFiledAlias(salesorder))
.finish();
DataSet infoDataSet1 = dataSet.copy().groupBy(new String[]{"rl_merged_seq"})
DataSet infoDataSet1 = dataSet.copy().groupBy(new String[]{"declare_id_gp_fk", "rl_merged_seq"})
.agg(new GroupConcatFunctionByComma(), "yem_bizdate", "yem_shipdate")
.agg(new GroupConcatFunctionByComma(), "yem_contactno", "yem_contactno")
.finish()
.select("rl_merged_seq rl_merged_seq_1, yem_shipdate, yem_contactno");
.select("declare_id_gp_fk declare_id_gp_fk_1, rl_merged_seq rl_merged_seq_1, yem_shipdate, yem_contactno");
DataSet infoDataSet2 = dataSet.copy().groupBy(new String[]{"rl_merged_seq"})
DataSet infoDataSet2 = dataSet.copy().groupBy(new String[]{"declare_id_gp_fk", "rl_merged_seq"})
.agg(new GroupTopOneFunction(), "yem_declarationele", "yem_declarationele")
.agg(new GroupTopOneFunction(), "rl_detail_id", "rl_detail_id")
.agg(new GroupTopOneFunction(), "main_id", "main_id")
.agg(new GroupTopOneFunction(), "yem_orderno", "yem_orderno")
.agg(new GroupTopOneFunction(), "rl_merged_seq", "rl_merged_seq")
.finish()
.select("rl_merged_seq rl_merged_seq_2, yem_declarationele, rl_detail_id, main_id");
.select("declare_id_gp_fk declare_id_gp_fk_2, rl_merged_seq rl_merged_seq_2, yem_declarationele, rl_detail_id, main_id, yem_orderno, rl_merged_seq");
dataSet = infoDataSet1.leftJoin(infoDataSet2)
.on("declare_id_gp_fk_1", "declare_id_gp_fk_2")
.on("rl_merged_seq_1", "rl_merged_seq_2")
.select(RptUtil.getDataSetFiledAlias(infoDataSet1), RptUtil.getDataSetFiledAlias(infoDataSet2))
.finish();
dataSet = dataSet.select(String.join(",", RptUtil.getDataSetFiledAlias(dataSet)) + ", rl_merged_seq_1 rl_merged_seq");
dataSet = dataSet.select(String.join(",", RptUtil.getDataSetFiledAlias(dataSet)) + ", declare_id_gp_fk_1 declare_id_gp_fk");
return dataSet;
}
@ -409,7 +414,11 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData
selectfields.add("yem_bizdate");//业务日期
DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
return dataSet.select("dn_main_id_fk, TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_bizdate");
dataSet = dataSet.select("dn_main_id_fk, TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_bizdate");
dataSet = dataSet.groupBy(new String[]{"dn_main_id_fk"})
.agg(new GroupConcatFunctionByComma(), "yem_bizdate", "yem_bizdate")
.finish();
return dataSet;
}

View File

@ -0,0 +1,53 @@
package com.yem.rf.task;
import com.yem.wm.utils.ContactSignUtils;
import com.yem.wm.utils.DynamicObjectUtil;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.exception.KDException;
import kd.bos.schedule.executor.AbstractTask;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
/**
* @Description: TODO
* @Date: 2024/9/5 9:38
* @Created: by ZZSLL
*/
public class ExportDeclarationDataFIxTask extends AbstractTask {
private static final Logger logger = LoggerFactory.getLogger(ExportDeclarationDataFIxTask.class);
@Override
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
String selectfields = DynamicObjectUtil.getSelectfields("yem_es_declaredocx");
selectfields = DynamicObjectUtil.getEntrySelectfields(selectfields, "yem_es_declaredocx", "yem_es_materialinfo");
selectfields = DynamicObjectUtil.getEntrySelectfields(selectfields, "yem_es_declaredocx", "yem_es_declare_ecd");
DynamicObject[] load = BusinessDataServiceHelper.load("yem_es_declaredocx", selectfields, null);
for (DynamicObject b : load) {
DynamicObjectCollection relation = b.getDynamicObjectCollection("yem_es_declare_ecd");
DynamicObjectCollection m = b.getDynamicObjectCollection("yem_es_materialinfo");
for (DynamicObject r : relation) {
int i = relation.indexOf(r);
String decsourceentryidtext = r.getString("yem_decsourceentryidtext");
if ("0".equals(decsourceentryidtext)) {
logger.info("修复-{}-{}行", b.getString("billno"), i);
int fgseq = r.getInt("yem_fgseq");
if (fgseq - 1 <= m.size()) {
DynamicObject detail = m.get(fgseq - 1);
long id = detail.getLong("id");
r.set("yem_decsourceentryidtext", String.valueOf(id));
logger.info("new Id: {}", id);
}
}
}
}
SaveServiceHelper.save(load);
}
}