fix:报关单报关对比
This commit is contained in:
parent
5d6265f122
commit
5f7948991f
@ -0,0 +1,459 @@
|
||||
package com.yem.wm.es.declaredocx.op;
|
||||
|
||||
import com.yem.wm.utils.DynamicObjectUtil;
|
||||
import com.yem.wm.utils.YEM;
|
||||
import kd.bos.coderule.api.CodeRuleInfo;
|
||||
import kd.bos.data.BusinessDataReader;
|
||||
import kd.bos.dataentity.OperateOption;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.dataentity.metadata.IDataEntityType;
|
||||
import kd.bos.entity.EntityMetadataCache;
|
||||
import kd.bos.entity.MainEntityType;
|
||||
import kd.bos.entity.botp.runtime.ConvertOperationResult;
|
||||
import kd.bos.entity.botp.runtime.PushArgs;
|
||||
import kd.bos.entity.datamodel.IRefrencedataProvider;
|
||||
import kd.bos.entity.datamodel.ListSelectedRow;
|
||||
import kd.bos.entity.operate.result.IOperateInfo;
|
||||
import kd.bos.entity.operate.result.OperationResult;
|
||||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||
import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
|
||||
import kd.bos.exception.KDBizException;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.botp.ConvertServiceHelper;
|
||||
import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
|
||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author ljw
|
||||
* @date 2024/9/26 10:24
|
||||
* @description DeclaredocxComparisonOp
|
||||
*/
|
||||
public class DeclaredocxComparisonOp extends AbstractOperationServicePlugIn {
|
||||
@Override
|
||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||
super.onPreparePropertys(e);
|
||||
List<String> fieldKeys = e.getFieldKeys();
|
||||
fieldKeys.addAll(this.billEntityType.getAllFields().keySet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endOperationTransaction(EndOperationTransactionArgs e) {
|
||||
super.endOperationTransaction(e);
|
||||
DynamicObject[] eDataEntities = e.getDataEntities();
|
||||
extracted(eDataEntities);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bosUser
|
||||
*/
|
||||
private void extracted(DynamicObject[] bosUser) {
|
||||
for (DynamicObject user : bosUser) {
|
||||
//新增日志
|
||||
DynamicObject data = BusinessDataServiceHelper.newDynamicObject("yem_es_declarationlog");
|
||||
//单一窗口报关单map
|
||||
Map<String, DynamicObject> maps = new HashMap<String, DynamicObject>();
|
||||
//提单号
|
||||
String yemBillno = user.getString("yem_billno");
|
||||
String yemEntryid = user.getString("yem_entryid");
|
||||
//但一窗口报关单id
|
||||
long id = user.getLong("id");
|
||||
//单一窗口报关单分录
|
||||
DynamicObjectCollection yemCaCddetailedentry = user.getDynamicObjectCollection("yem_ca_cddetailedentry");
|
||||
for (DynamicObject dynamicObject : yemCaCddetailedentry) {
|
||||
//商品编码(商品编码)
|
||||
String yemCodets = dynamicObject.getString("yem_codets");
|
||||
//商品名称(报关名称)
|
||||
String yemGname = dynamicObject.getString("yem_gname");
|
||||
//成交数量(数量)
|
||||
BigDecimal yemGqty = dynamicObject.getBigDecimal("yem_gqty");
|
||||
//单价(单价)
|
||||
BigDecimal yemDeclprice = dynamicObject.getBigDecimal("yem_declprice");
|
||||
//总价(金额)
|
||||
BigDecimal yemDecltotal = dynamicObject.getBigDecimal("yem_decltotal");
|
||||
//币别
|
||||
DynamicObject yemTradecurr = dynamicObject.getDynamicObject("yem_tradecurr");
|
||||
String number = "";
|
||||
if (yemTradecurr != null) {
|
||||
number = yemTradecurr.getString("number");
|
||||
}
|
||||
//拼接KEY 去掉"-" + billno + 加上 商品编码
|
||||
String string = yemCodets + "-" + yemGname + "-" + yemGqty + "-" + yemDeclprice + "-" + yemDecltotal + "-" + number;
|
||||
maps.put(string, dynamicObject);
|
||||
}
|
||||
//出口报关单
|
||||
QFilter yemRealbringbillno = new QFilter("yem_realbringbillno", QCP.equals, yemBillno);
|
||||
yemRealbringbillno.or(new QFilter("yem_bringbillno", QCP.equals, yemBillno));
|
||||
String selectfield = DynamicObjectUtil.getSelectfields("yem_es_declaredocx", false);
|
||||
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_es_declaredocx", "yem_es_declare_ec", false);
|
||||
DynamicObject declaredocx = BusinessDataServiceHelper.loadSingle("yem_es_declaredocx", selectfields
|
||||
, new QFilter[]{yemRealbringbillno});
|
||||
if (null != declaredocx) {
|
||||
//申报状态
|
||||
String yemDeclarationstatus = declaredocx.getString("yem_declarationstatus");
|
||||
//单一窗口报关单id
|
||||
Long yemCustomsdocumentid = declaredocx.getLong("yem_customsdocumentid");
|
||||
if (!"结关".equals(yemDeclarationstatus)) {
|
||||
if (yemCustomsdocumentid != 0) {
|
||||
//单一窗口报关单
|
||||
String yemCaCusdec = DynamicObjectUtil.getSelectfields("yem_ca_cusdec", false);
|
||||
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("yem_ca_cusdec", yemCaCusdec
|
||||
, new QFilter[]{new QFilter("id", QCP.equals, yemCustomsdocumentid)});
|
||||
String yemCusdecstatusname = "";
|
||||
if (dynamicObject != null) {
|
||||
yemCusdecstatusname = dynamicObject.getString("yem_cusdecstatusname");//申报状态
|
||||
declaredocx.set("yem_declarationstatus", yemCusdecstatusname);
|
||||
|
||||
} else {
|
||||
declaredocx.set("yem_customsdocumentid", 0);
|
||||
}
|
||||
|
||||
SaveServiceHelper.update(declaredocx);
|
||||
SaveServiceHelper.save(new DynamicObject[]{declaredocx});
|
||||
if ("结关".equals(yemCusdecstatusname)) {
|
||||
extracted(Long.valueOf(declaredocx.getPkValue().toString()));
|
||||
}
|
||||
} else {
|
||||
//出口报关单分录
|
||||
DynamicObjectCollection dynamicObjectCollection = declaredocx.getDynamicObjectCollection("yem_es_declare_ec");
|
||||
//结算币别
|
||||
DynamicObject yemCurrency = declaredocx.getDynamicObject("yem_currency");
|
||||
String aLong = "";
|
||||
if (yemCurrency != null) {
|
||||
aLong = yemCurrency.getString("number");
|
||||
}
|
||||
//单据编号
|
||||
String declaredocxbillno = declaredocx.getString("billno");
|
||||
int i = dynamicObjectCollection.size();
|
||||
String seq = "";
|
||||
for (DynamicObject object : dynamicObjectCollection) {
|
||||
//海关商品编码
|
||||
DynamicObject yemCusboxgoods = object.getDynamicObject("yem_cushscode");
|
||||
String billno = "";
|
||||
if (yemCusboxgoods != null) {
|
||||
billno = yemCusboxgoods.getString("number");
|
||||
}
|
||||
//报关名称
|
||||
String yemDecmatericalname = object.getString("yem_decmatericalname");
|
||||
//数量
|
||||
BigDecimal yemCusqty = object.getBigDecimal("yem_cusqty");
|
||||
//单价
|
||||
BigDecimal yemCusconsalesprice = object.getBigDecimal("yem_cusconsalesprice");
|
||||
//金额
|
||||
BigDecimal yemCusamount = object.getBigDecimal("yem_cusamount");
|
||||
//拼接KEY + "-" + billno
|
||||
String yemErroriskey = billno + "-" + yemDecmatericalname + "-" + yemCusqty + "-" + yemCusconsalesprice + "-" + yemCusamount + "-" + aLong;
|
||||
DynamicObject dynamicObject = maps.get(yemErroriskey);
|
||||
if (dynamicObject != null) {
|
||||
i = i - 1;
|
||||
} else {
|
||||
seq = seq + object.getString("seq") + ",";
|
||||
}
|
||||
}
|
||||
if (i != 0) {
|
||||
extracted(data, "出口报关报关单号【" + declaredocxbillno + "】,第" + seq + "行未匹配到单一窗口报关单;\n", id, declaredocxbillno, yemBillno);
|
||||
} else {
|
||||
String yemCusdecstatusname = user.getString("yem_cusdecstatusname");//申报状态
|
||||
Date yemFiedatets = user.getDate("yem_fiedatets");//出口日期
|
||||
extracted(data, "出口报关报关单号【" + declaredocxbillno + "】成功匹配单一窗口报关单;\n", id, declaredocxbillno, yemBillno);
|
||||
declaredocx.set("yem_declarationstatus", yemCusdecstatusname);
|
||||
declaredocx.set("yem_customsnumber", yemEntryid);
|
||||
declaredocx.set("yem_exportdate", yemFiedatets);
|
||||
declaredocx.set("yem_customsdocumentid", id);
|
||||
BigDecimal exchangeRate = YEM.getExchangeRate(declaredocx.getDynamicObject("yem_exratetable")
|
||||
, declaredocx.getDynamicObject("yem_currencybase")
|
||||
, declaredocx.getDynamicObject("yem_usdcurrency")
|
||||
, yemFiedatets);
|
||||
declaredocx.set("yem_usbexrate", exchangeRate);
|
||||
|
||||
SaveServiceHelper.update(declaredocx);
|
||||
SaveServiceHelper.save(new DynamicObject[]{declaredocx});
|
||||
if ("结关".equals(yemCusdecstatusname) && !YEM.isEmpty(yemFiedatets)) {
|
||||
extracted(Long.valueOf(declaredocx.getPkValue().toString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成日志
|
||||
*
|
||||
* @param data
|
||||
* @param declaredocxbillno
|
||||
* @param id
|
||||
* @param declaredocxbillno1
|
||||
* @param yemBillno
|
||||
*/
|
||||
private static void extracted(DynamicObject data, String declaredocxbillno, long id, String declaredocxbillno1, String yemBillno) {
|
||||
data.set("yem_errorissues", declaredocxbillno);
|
||||
data.set("yem_customsid", id);
|
||||
data.set("yem_customsnumber", declaredocxbillno1);
|
||||
data.set("yem_billno", yemBillno);
|
||||
data.set("billstatus", "A");
|
||||
CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(data.getDataEntityType().getName(), data, null);
|
||||
String number = CodeRuleServiceHelper.getNumber(codeRule, data);
|
||||
data.set("billno", number);
|
||||
SaveServiceHelper.save(new DynamicObject[]{data});
|
||||
SaveServiceHelper.update(data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 单一窗口报关单反写出口报关单
|
||||
*
|
||||
* @param bos_user
|
||||
*/
|
||||
// private static void extractede(DynamicObject[] bos_user) {
|
||||
// for (DynamicObject user : bos_user) {
|
||||
// DynamicObject data = BusinessDataServiceHelper.newDynamicObject("yem_es_declarationlog");
|
||||
// //单一窗口报关单map
|
||||
// Map<Long, DynamicObject> maps = new HashMap<Long, DynamicObject>();
|
||||
// long id = user.getLong("id");//关务单id
|
||||
// String yemBillno = user.getString("yem_billno");//提单号
|
||||
// DynamicObjectCollection yemCaCddetailedentry = user.getDynamicObjectCollection("yem_ca_cddetailedentry");
|
||||
// for (DynamicObject dynamicObject : yemCaCddetailedentry) {
|
||||
// Long yemCodets = dynamicObject.getLong("id");//商品编号
|
||||
// maps.put(yemCodets, dynamicObject);
|
||||
// }
|
||||
// QFilter yemRealbringbillno = new QFilter("yem_realbringbillno", QCP.equals, yemBillno);
|
||||
// yemRealbringbillno.or(new QFilter("yem_bringbillno", QCP.equals, yemBillno));
|
||||
// String selectfield = DynamicObjectUtil.getSelectfields("yem_es_declaredocx", false);
|
||||
// String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_es_declaredocx", "yem_es_declare_ec", false);
|
||||
// DynamicObject declaredocx = BusinessDataServiceHelper.loadSingle("yem_es_declaredocx", selectfields
|
||||
// , new QFilter[]{yemRealbringbillno});
|
||||
// if (null != declaredocx) {
|
||||
// DynamicObjectCollection dynamicObjectCollection = declaredocx.getDynamicObjectCollection("yem_es_declare_ec");
|
||||
// DynamicObject yemCurrency = declaredocx.getDynamicObject("yem_currency");//结算币别
|
||||
// long aLong = 0L;
|
||||
// if (yemCurrency != null) {
|
||||
// aLong = yemCurrency.getLong("id");
|
||||
// }
|
||||
// String declaredocxbillno = declaredocx.getString("billno");
|
||||
// String yemErroriskey = "";
|
||||
// for (DynamicObject object : dynamicObjectCollection) {
|
||||
// DynamicObject yemCusboxgoods = object.getDynamicObject("yem_cushscode");//商品编码
|
||||
// String yemDecmatericalname = object.getString("yem_decmatericalname");//报关名称
|
||||
// BigDecimal yemCusqty = object.getBigDecimal("yem_cusqty");//数量
|
||||
// BigDecimal yemCusconsalesprice = object.getBigDecimal("yem_cusconsalesprice");//单价
|
||||
// BigDecimal yemCusamount = object.getBigDecimal("yem_cusamount");//金额
|
||||
// DynamicObject yemCusunit = object.getDynamicObject("yem_cushscode");//计量单位
|
||||
// DynamicObject yemHscode = object.getDynamicObject("yem_cushscode");//海关编码
|
||||
// long yem_sourcebillentryid = object.getLong("yem_sourcebillentryid");
|
||||
// String yemHscodenumber = "";
|
||||
// if (null != yemHscode) {
|
||||
// yemHscodenumber = yemHscode.getString("number");
|
||||
// }
|
||||
// String boxgoodsname = "";
|
||||
// if (yemCusboxgoods != null) {
|
||||
// boxgoodsname = yemCusboxgoods.getString("number");
|
||||
// }
|
||||
// DynamicObject dynamicObject = maps.get(yem_sourcebillentryid);
|
||||
// if (dynamicObject != null) {
|
||||
// BigDecimal yemGqty = dynamicObject.getBigDecimal("yem_gqty");//成交数量
|
||||
// DynamicObject yem_gunit = dynamicObject.getDynamicObject("yem_unit1");//成交计量单位
|
||||
// DynamicObject yem_tradecurr = dynamicObject.getDynamicObject("yem_tradecurr");//币别
|
||||
// DynamicObject yemCodets = dynamicObject.getDynamicObject("yem_codets");//商品编码
|
||||
// String yemCodetsString = "";
|
||||
// if (yemCodets != null) {
|
||||
// yemCodetsString = yemCodets.getString("number");
|
||||
// }
|
||||
// long aLong1 = 0L;
|
||||
// if (yem_tradecurr != null) {
|
||||
// aLong1 = yem_tradecurr.getLong("id");
|
||||
// }
|
||||
// String unitname = "";
|
||||
// if (yem_gunit != null) {
|
||||
// unitname = yem_gunit.getString("name");
|
||||
// }
|
||||
// String yemGname = dynamicObject.getString("yem_gname");//商品名称
|
||||
// String yem_codets = dynamicObject.getString("yem_codets");//商品编码
|
||||
// BigDecimal yemDeclprice = dynamicObject.getBigDecimal("yem_declprice");//单价
|
||||
// BigDecimal yemDecltotal = dynamicObject.getBigDecimal("yem_decltotal");//总价
|
||||
// String name = "";
|
||||
// if (yemCusunit != null) {
|
||||
// name = yemCusunit.getString("yem_legalfirst.name");
|
||||
// }
|
||||
// if (yemGqty.compareTo(yemCusqty) == 0
|
||||
// && yemHscodenumber.equals(yemCodetsString)
|
||||
// && aLong1 == aLong
|
||||
// && yemCusconsalesprice.compareTo(yemDeclprice) == 0
|
||||
// && yemCusamount.compareTo(yemDecltotal) == 0
|
||||
// && name.equals(unitname)
|
||||
// && boxgoodsname.equals(yem_codets)
|
||||
// && yemDecmatericalname.equals(yemGname)) {
|
||||
// String yemCusdecstatusname = user.getString("yem_cusdecstatusname");//申报状态
|
||||
// Date yemFiedatets = user.getDate("yem_fiedatets");//出口日期
|
||||
// extracted(declaredocx, yemCusdecstatusname, declaredocxbillno, yemFiedatets, id);
|
||||
// } else {
|
||||
// String yemErrorissues = "";
|
||||
// if (!yemHscodenumber.equals(yemCodetsString)) {
|
||||
// yemErrorissues = yemErrorissues + "商品编码;";
|
||||
// }
|
||||
// if (aLong1 != aLong) {
|
||||
// yemErrorissues = yemErrorissues + "币别;";
|
||||
// }
|
||||
// if (!unitname.equals(name)) {
|
||||
// yemErrorissues = yemErrorissues + "计量单位;";
|
||||
// }
|
||||
// if (yemGqty.compareTo(yemCusqty) != 0) {
|
||||
// yemErrorissues = yemErrorissues + "商品数量;";
|
||||
// }
|
||||
// if (yemCusamount.compareTo(yemDecltotal) != 0) {
|
||||
// yemErrorissues = yemErrorissues + "销售金额;";
|
||||
// }
|
||||
// if (yemCusconsalesprice.compareTo(yemDeclprice) != 0) {
|
||||
// yemErrorissues = yemErrorissues + "单价;";
|
||||
// }
|
||||
// if (!boxgoodsname.equals(yem_codets)) {
|
||||
// yemErrorissues = yemErrorissues + "商品编码;";
|
||||
// }
|
||||
// if (!yemDecmatericalname.equals(yemGname)) {
|
||||
// yemErrorissues = yemErrorissues + "报关名称;";
|
||||
// }
|
||||
// String yemCustomclassString = object.getString("yem_decmatericalname");
|
||||
// if (yemHscode != null) {
|
||||
// String names = yemHscode.getString("number");
|
||||
//// String yemCustomclassString = yemCustomclass.getString("name");
|
||||
// yemErroriskey = yemErroriskey + "出口报关报关单号【" + declaredocxbillno + "】:" + "第" + object.getLong("seq") + "行,海关编码【" + names + "】,报关名称【"
|
||||
// + yemCustomclassString + "】未匹配到【相同的" + yemErrorissues + "】的单一窗口报关单;" + "\n";
|
||||
//
|
||||
// extracted(declaredocx, "", "", null, 0);
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// extracted("出口报关报关单号" + declaredocxbillno + ",未匹配到相同行的单一窗口报关单;", id, declaredocxbillno, yemBillno, data);
|
||||
// CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(data.getDataEntityType().getName(), data, null);
|
||||
// String number = CodeRuleServiceHelper.getNumber(codeRule, data);
|
||||
// data.set("billno", number);
|
||||
// SaveServiceHelper.save(new DynamicObject[]{data});
|
||||
// SaveServiceHelper.update(data);
|
||||
// }
|
||||
// }
|
||||
// if (!"".equals(yemErroriskey)) {
|
||||
// extracted(yemErroriskey, id, declaredocxbillno, yemBillno, data);
|
||||
// CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(data.getDataEntityType().getName(), data, null);
|
||||
// String number = CodeRuleServiceHelper.getNumber(codeRule, data);
|
||||
// data.set("billno", number);
|
||||
// SaveServiceHelper.save(new DynamicObject[]{data});
|
||||
// SaveServiceHelper.update(data);
|
||||
// } else {
|
||||
// extracted("出口报关报关单号" + declaredocxbillno + ",匹配单一窗口报关单" + user.getString("billno") + "成功匹配;", id, declaredocxbillno, yemBillno, data);
|
||||
// CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(data.getDataEntityType().getName(), data, null);
|
||||
// String number = CodeRuleServiceHelper.getNumber(codeRule, data);
|
||||
// data.set("billno", number);
|
||||
// SaveServiceHelper.save(new DynamicObject[]{data});
|
||||
// SaveServiceHelper.update(data);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
|
||||
/**
|
||||
* 出口报关单反写值
|
||||
*/
|
||||
// private static void extracted(DynamicObject declaredocx, String yemCusdecstatusname, String declaredocxbillno, Date yemFiedatets, long id) {
|
||||
// declaredocx.set("yem_declarationstatus", yemCusdecstatusname);
|
||||
// declaredocx.set("yem_customsnumber", declaredocxbillno);
|
||||
// declaredocx.set("yem_exportdate", yemFiedatets);
|
||||
// declaredocx.set("yem_customsdocumentid", id);
|
||||
// if ("结关".equals(yemCusdecstatusname)) {
|
||||
// extracted(id);
|
||||
// }
|
||||
// }
|
||||
private static void extracted(long id) {
|
||||
DynamicObject[] load = BusinessDataServiceHelper.load("yem_es_declaredocx", "", new QFilter[]{
|
||||
// new QFilter("yem_declarestatused", QCP.equals, "F"),
|
||||
// new QFilter("billstatus",QCP.equals,"C")
|
||||
new QFilter("id", QCP.equals, id)
|
||||
});
|
||||
for (DynamicObject loadSon : load) {
|
||||
// boolean yemEsDeclaredocx = BFTrackerServiceHelper.isPush("yem_es_declaredocx", (long) loadSon.getPkValue());
|
||||
// if (!yemEsDeclaredocx) {
|
||||
pushCreateBill(loadSon, "1731413160633589760", "yem_exportinvoice");
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成单一窗口报关单日志
|
||||
*/
|
||||
// private static void extracted(String yemErrorissues, long id, String billno, String yemBillno, DynamicObject data) {
|
||||
// data.set("yem_errorissues", yemErrorissues);
|
||||
// data.set("yem_customsid", id);
|
||||
// data.set("yem_customsnumber", billno);
|
||||
// data.set("yem_billno", yemBillno);
|
||||
// data.set("billstatus", "A");
|
||||
// }
|
||||
|
||||
/**
|
||||
* 下推生成出口发票
|
||||
*/
|
||||
private static void pushCreateBill(DynamicObject processingorderNow, String rule, String toNumber) {
|
||||
PushArgs pushArgs = setPushArgs(processingorderNow, toNumber, rule);
|
||||
ConvertOperationResult pushResult = ConvertServiceHelper.push(pushArgs);
|
||||
if (pushResult.isSuccess()) {
|
||||
MainEntityType targetMainType = EntityMetadataCache.getDataEntityType(toNumber);
|
||||
List<DynamicObject> targetBillObjs = pushResult.loadTargetDataObjects(new IRefrencedataProvider() {
|
||||
@Override
|
||||
public void fillReferenceData(Object[] objs, IDataEntityType dType) {
|
||||
BusinessDataReader.loadRefence(objs, dType);
|
||||
}
|
||||
}, targetMainType);
|
||||
for (DynamicObject dt : targetBillObjs) {
|
||||
OperationResult save = OperationServiceHelper.executeOperate("save", dt.getDynamicObjectType().getName(), new DynamicObject[]{dt}, OperateOption.create());
|
||||
if (save.isSuccess()) {
|
||||
// OperationResult submit = OperationServiceHelper.executeOperate("submit", debCredNoteNumber, new Object[]{debCredNote.getPkValue()}, OperateOption.create());
|
||||
// if (submit.isSuccess()) {
|
||||
// OperationResult audit = OperationServiceHelper.executeOperate("audit", debCredNoteNumber, new Object[]{debCredNote.getPkValue()}, OperateOption.create());
|
||||
// if (audit.isSuccess()) {
|
||||
//
|
||||
// }else{
|
||||
// List<IOperateInfo> allErrorOrValidateInfo = audit.getAllErrorOrValidateInfo();
|
||||
// String message = audit.getMessage();
|
||||
// throw new KDBizException("审核关联生成的贷记单失败," + message + "," + allErrorOrValidateInfo);
|
||||
// }
|
||||
// }else{
|
||||
// List<IOperateInfo> allErrorOrValidateInfo = submit.getAllErrorOrValidateInfo();
|
||||
// String message = submit.getMessage();
|
||||
// throw new KDBizException("提交关联生成的贷记单失败," + message + "," + allErrorOrValidateInfo);
|
||||
// }
|
||||
} else {
|
||||
List<IOperateInfo> allErrorOrValidateInfo = save.getAllErrorOrValidateInfo();
|
||||
String message = save.getMessage();
|
||||
throw new KDBizException("保存生成出口发票失败:," + message + "," + allErrorOrValidateInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置下推引擎
|
||||
*/
|
||||
public static PushArgs setPushArgs(DynamicObject dataEntitie, String targetNumber, String ruleId) {
|
||||
String name = dataEntitie.getDynamicObjectType().getName();
|
||||
PushArgs pushArgs = new PushArgs();
|
||||
pushArgs.setSourceEntityNumber(name);
|
||||
pushArgs.setTargetEntityNumber(targetNumber);
|
||||
pushArgs.setRuleId(ruleId);
|
||||
pushArgs.setHasRight(true);
|
||||
pushArgs.setBuildConvReport(true);
|
||||
List<ListSelectedRow> selectedRows = new ArrayList<>();
|
||||
ListSelectedRow srcBill1 = new ListSelectedRow(dataEntitie.getPkValue());
|
||||
selectedRows.add(srcBill1);
|
||||
pushArgs.setSelectedRows(selectedRows);
|
||||
return pushArgs;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user