|
@@ -12,43 +12,45 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
-
|
|
|
|
|
|
+//实物卡片
|
|
public class RealCardBillOpPlugin extends AbstractOperationServicePlugIn {
|
|
public class RealCardBillOpPlugin extends AbstractOperationServicePlugIn {
|
|
@Override
|
|
@Override
|
|
public void beginOperationTransaction(BeginOperationTransactionArgs e) {
|
|
public void beginOperationTransaction(BeginOperationTransactionArgs e) {
|
|
DynamicObject[] dynamicObjects = e.getDataEntities();
|
|
DynamicObject[] dynamicObjects = e.getDataEntities();
|
|
for (int i = 0; i < dynamicObjects.length; i++) {
|
|
for (int i = 0; i < dynamicObjects.length; i++) {
|
|
- if (StringUtils.equals(e.getOperationKey(),"audit")) {
|
|
|
|
|
|
+ if (StringUtils.equals(e.getOperationKey(),"audit")) {
|
|
List<Long> ids = new ArrayList<>();
|
|
List<Long> ids = new ArrayList<>();
|
|
//审批通过后,如果是报销单下推的单据,则回写e卡片清单
|
|
//审批通过后,如果是报销单下推的单据,则回写e卡片清单
|
|
DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
|
|
DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
|
|
Long bxId = info.getLong("nckd_bz_id");
|
|
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");
|
|
|
|
- //查询报销单
|
|
|
|
- QFilter bxFilter = new QFilter("id", QCP.equals,bxId);
|
|
|
|
- DynamicObject[] bxDynamicObjects = BusinessDataServiceHelper.load("er_publicreimbursebill","id",new QFilter[] {bxFilter});
|
|
|
|
- for (int c=0;c<bxDynamicObjects.length;c++) {
|
|
|
|
- //报销单头数据包
|
|
|
|
- DynamicObject bxInfo = BusinessDataServiceHelper.loadSingle(bxDynamicObjects[c].getPkValue(), bxDynamicObjects[c].getDynamicObjectType().getName());
|
|
|
|
- //循环资产信息分录
|
|
|
|
- for(DynamicObject object : bxInfo.getDynamicObjectCollection("assetentry")){
|
|
|
|
- //获取e管家实物卡片清单基础资料
|
|
|
|
- DynamicObjectCollection cardList = object.getDynamicObjectCollection("nckd_real_card");
|
|
|
|
- for (DynamicObject card : cardList) {
|
|
|
|
- Long id = (Long) card.get(2);
|
|
|
|
- //查询e卡片实物清单
|
|
|
|
- QFilter filter = new QFilter("id", QCP.equals,id);
|
|
|
|
- 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", orgName);
|
|
|
|
- cardInfo.set("nckd_card_real_code", number);
|
|
|
|
- cardInfo.set("nckd_card_real_name", name);
|
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{cardInfo});
|
|
|
|
|
|
+ if (bxId != null) {
|
|
|
|
+ String number = info.getString("number");//资产编码
|
|
|
|
+ String name = info.getString("assetname");//资产名称
|
|
|
|
+ DynamicObject org = info.getDynamicObject("assetunit");//资产组织
|
|
|
|
+ String orgName = org.getString("name");
|
|
|
|
+ //查询报销单
|
|
|
|
+ QFilter bxFilter = new QFilter("id", QCP.equals,bxId);
|
|
|
|
+ DynamicObject[] bxDynamicObjects = BusinessDataServiceHelper.load("er_publicreimbursebill","id",new QFilter[] {bxFilter});
|
|
|
|
+ for (int c=0;c<bxDynamicObjects.length;c++) {
|
|
|
|
+ //报销单头数据包
|
|
|
|
+ DynamicObject bxInfo = BusinessDataServiceHelper.loadSingle(bxDynamicObjects[c].getPkValue(), bxDynamicObjects[c].getDynamicObjectType().getName());
|
|
|
|
+ //循环资产信息分录
|
|
|
|
+ for(DynamicObject object : bxInfo.getDynamicObjectCollection("assetentry")){
|
|
|
|
+ //获取e管家实物卡片清单基础资料
|
|
|
|
+ DynamicObjectCollection cardList = object.getDynamicObjectCollection("nckd_real_card");
|
|
|
|
+ for (DynamicObject card : cardList) {
|
|
|
|
+ Long id = (Long) card.get(2);
|
|
|
|
+ //查询e卡片实物清单
|
|
|
|
+ QFilter filter = new QFilter("id", QCP.equals,id);
|
|
|
|
+ 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", orgName);
|
|
|
|
+ cardInfo.set("nckd_card_real_code", number);
|
|
|
|
+ cardInfo.set("nckd_card_real_name", name);
|
|
|
|
+ SaveServiceHelper.save(new DynamicObject[]{cardInfo});
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|