|
@@ -9,7 +9,6 @@ import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
|
-
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
//实物卡片
|
|
@@ -18,67 +17,46 @@ public class RealCardBillOpPlugin extends AbstractOperationServicePlugIn {
|
|
|
public void beginOperationTransaction(BeginOperationTransactionArgs e) {
|
|
|
DynamicObject[] dynamicObjects = e.getDataEntities();
|
|
|
for (int i = 0; i < dynamicObjects.length; i++) {
|
|
|
- if (StringUtils.equals(e.getOperationKey(),"audit")) {
|
|
|
- List<Long> ids = new ArrayList<>();
|
|
|
- //审批通过后,如果是报销单下推的单据,则回写e卡片清单
|
|
|
- DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
|
|
|
- String srcbillentityname = info.getString("srcbillentityname");
|
|
|
- Long bxId = info.getLong("nckd_bz_id");
|
|
|
- String number = info.getString("number");//资产编码
|
|
|
- String name = info.getString("assetname");//资产名称
|
|
|
- DynamicObject org = info.getDynamicObject("assetunit");//资产组织
|
|
|
- String orgName = org.getString("name");
|
|
|
- if ("fa_assetsplitbill".equals(srcbillentityname)) {
|
|
|
- Long cfId = info.getLong("srcbillid");
|
|
|
- //查询资产拆分单
|
|
|
- QFilter cfFilter = new QFilter("id", QCP.equals,cfId);
|
|
|
- DynamicObject[] dispatchObjects = BusinessDataServiceHelper.load("fa_assetsplitbill","id",new QFilter[] {cfFilter});
|
|
|
- DynamicObject dispatchInfo = BusinessDataServiceHelper.loadSingle(dispatchObjects[0].getPkValue(), dispatchObjects[0].getDynamicObjectType().getName());
|
|
|
- //获取拆分后分录
|
|
|
- DynamicObjectCollection collection = dispatchInfo.getDynamicObjectCollection("assetsplitentry").get(0).getDynamicObjectCollection("subassetsplitentry");
|
|
|
- //从拆分分录第二行开始回写
|
|
|
- //获取拆分后卡片分录e管家实物卡片
|
|
|
- DynamicObject card_list = collection.get(i+1).getDynamicObject("nckd_real_card_list");
|
|
|
- if (card_list != null) {
|
|
|
- Long id = card_list.getLong("id");
|
|
|
- //查询实物卡片清单
|
|
|
- QFilter filter = new QFilter("id", QCP.equals,id);
|
|
|
- DynamicObject[] cardObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(cardObjects[0].getPkValue(), cardObjects[0].getDynamicObjectType().getName());
|
|
|
- //回写实物卡片字段到e管家实物卡片清单
|
|
|
+ if (StringUtils.equals(e.getOperationKey(),"audit")) {
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ //审批通过后,如果是报销单下推的单据,则回写e卡片清单
|
|
|
+ DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
|
|
|
+ String srcbillentityname = info.getString("srcbillentityname");
|
|
|
+ Long bxId = info.getLong("nckd_bz_id");
|
|
|
+ String number = info.getString("number");//资产编码
|
|
|
+ String name = info.getString("assetname");//资产名称
|
|
|
+ DynamicObject org = info.getDynamicObject("assetunit");//资产组织
|
|
|
+ String orgName = org.getString("name");
|
|
|
+ if (!"fa_assetsplitbill".equals(srcbillentityname)) {
|
|
|
+ DynamicObjectCollection nckd_real_card = info.getDynamicObjectCollection("nckd_real_card");
|
|
|
+ if( nckd_real_card != null) {
|
|
|
+ for (DynamicObject object : nckd_real_card) {
|
|
|
+ DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(object.get(2), "nckd_fa_card_real_list");
|
|
|
//回写e卡片实物清单字段
|
|
|
cardInfo.set("nckd_card_real_org", orgName);
|
|
|
cardInfo.set("nckd_card_real_code", number);
|
|
|
cardInfo.set("nckd_card_real_name", name);
|
|
|
SaveServiceHelper.save(new DynamicObject[]{cardInfo});
|
|
|
}
|
|
|
- }else {
|
|
|
- DynamicObjectCollection nckd_real_card = info.getDynamicObjectCollection("nckd_real_card");
|
|
|
- if( nckd_real_card != null) {
|
|
|
- for (DynamicObject object : nckd_real_card) {
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(object.get(2), "nckd_fa_card_real_list");
|
|
|
- //回写e卡片实物清单字段
|
|
|
- cardInfo.set("nckd_card_real_org", orgName);
|
|
|
- cardInfo.set("nckd_card_real_code", number);
|
|
|
- cardInfo.set("nckd_card_real_name", name);
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{cardInfo});
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
- }else if(StringUtils.equals(e.getOperationKey(),"unaudit")) {
|
|
|
- //反审核,e管家实物卡片清单三个字段置为空
|
|
|
+ }
|
|
|
+ }else if(StringUtils.equals(e.getOperationKey(),"unaudit")) {
|
|
|
DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
|
|
|
- String number = info.getString("number");//资产编码
|
|
|
- //查询e管家实物清单
|
|
|
- QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
|
|
|
- DynamicObject[] cardObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
|
|
|
- for (int j = 0; j < cardObjects.length; j++) {
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(cardObjects[j].getPkValue(), cardObjects[j].getDynamicObjectType().getName());
|
|
|
- //回写e卡片实物清单字段
|
|
|
- cardInfo.set("nckd_card_real_org", null);
|
|
|
- cardInfo.set("nckd_card_real_code", null);
|
|
|
- cardInfo.set("nckd_card_real_name", null);
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{cardInfo});
|
|
|
+ String srcbillentityname = info.getString("srcbillentityname");
|
|
|
+ if (!"fa_assetsplitbill".equals(srcbillentityname)) {
|
|
|
+ //反审核,e管家实物卡片清单三个字段置为空
|
|
|
+ String number = info.getString("number");//资产编码
|
|
|
+ //查询e管家实物清单
|
|
|
+ QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
|
|
|
+ DynamicObject[] cardObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
|
|
|
+ for (int j = 0; j < cardObjects.length; j++) {
|
|
|
+ DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(cardObjects[j].getPkValue(), cardObjects[j].getDynamicObjectType().getName());
|
|
|
+ //回写e卡片实物清单字段
|
|
|
+ cardInfo.set("nckd_card_real_org", null);
|
|
|
+ cardInfo.set("nckd_card_real_code", null);
|
|
|
+ cardInfo.set("nckd_card_real_name", null);
|
|
|
+ SaveServiceHelper.save(new DynamicObject[]{cardInfo});
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|