瀏覽代碼

实物卡片逻辑优化

wanwei 8 月之前
父節點
當前提交
7e4646dd04
共有 1 個文件被更改,包括 13 次插入29 次删除
  1. 13 29
      src/main/java/fi/fa/opplugin/RealCardBillOpPlugin.java

+ 13 - 29
src/main/java/fi/fa/opplugin/RealCardBillOpPlugin.java

@@ -28,35 +28,7 @@ public class RealCardBillOpPlugin extends AbstractOperationServicePlugIn {
                     String name = info.getString("assetname");//资产名称
                     DynamicObject org = info.getDynamicObject("assetunit");//资产组织
                     String orgName = org.getString("name");
-                    //报销单下推生成的实物卡片审核后回写e管家实物卡片清单
-                    if (bxId != 0) {
-                        //查询报销单
-                        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});
-                                    }
-                                }
-                            }
-                        }
-                    } else if ("fa_assetsplitbill".equals(srcbillentityname)) {
+                    if ("fa_assetsplitbill".equals(srcbillentityname)) {
                         Long cfId = info.getLong("srcbillid");
                         //查询资产拆分单
                         QFilter cfFilter = new QFilter("id", QCP.equals,cfId);
@@ -80,6 +52,18 @@ public class RealCardBillOpPlugin extends AbstractOperationServicePlugIn {
                             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管家实物卡片清单三个字段置为空