Forráskód Böngészése

下推业务处理单

wanwei 6 hónapja
szülő
commit
84d5ea4c34

+ 7 - 0
src/main/java/fi/fa/opplugin/AssetMidBillOpPlugin.java

@@ -82,6 +82,9 @@ public class AssetMidBillOpPlugin extends AbstractListPlugin {
                     DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real", "id", new QFilter[]{filter});
                     for (int c = 0; c < card.length; c++) {
                         DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
+                        String model = cardInfo.getString("model");
+                        String nckd_storeplace = cardInfo.getString("nckd_storeplace");
+                        String headusedept = cardInfo.getDynamicObject("headusedept").getString("name");
                         DynamicObject fin = ChangeDataUtils.queryFinCard(cardInfo.getLong("id"));
                         BigDecimal originalval = BigDecimal.ZERO;
                         BigDecimal accumdepre = BigDecimal.ZERO;
@@ -97,11 +100,15 @@ public class AssetMidBillOpPlugin extends AbstractListPlugin {
                             nckd_amountfield23 = originalval.subtract(accumdepre);//预计清理净值(nckd_amountfield23 = nckd_amountfield19 - nckd_amountfield20)
                             nckd_amountfield24 = nckd_amountfield23.subtract(decval);//预计净残值(nckd_amountfield24 = nckd_amountfield19 - nckd_amountfield20 - nckd_amountfield21)
                         }
+
                         //创建资产调拨分录
                         DynamicObjectCollection entryEntity = busProcess.getDynamicObjectCollection("nckd_entryentity216");
                         DynamicObject entry1 = entryEntity.addNew();
                         entry1.set("nckd_basedatafield5", cardInfo);//实物资产编号
                         entry1.set("nckd_basedatafield23", fin);//资产编号
+                        entry1.set("nckd_textfield54", model);
+                        entry1.set("nckd_textfield53", nckd_storeplace);
+                        entry1.set("nckd_textfield52", headusedept);
                         entry1.set("nckd_amountfield19", originalval);//预计清理原值
                         entry1.set("nckd_amountfield20", accumdepre);//预计清理累计折旧
                         entry1.set("nckd_amountfield21", decval);//预计清理减值准备

+ 22 - 26
src/main/java/fi/fa/opplugin/FaChangeMidOpPlugin.java

@@ -59,6 +59,7 @@ public class FaChangeMidOpPlugin extends AbstractListPlugin {
                     Long orgIdin = ChangeDataUtils.getOrg(info.getString("nckd_org_in"));
                     Long relationIdin = ChangeDataUtils.getRelation(orgIdin);
                     busProcess.set("nckd_costcompany", relationIdin);//资产组织
+                    busProcess.set("nckd_orgfield", relationIdin);//核算组织
                     busProcess.set("nckd_textfield1", info.getString("nckd_reason"));//调拨原因
                     busProcess.set("billstatus", "A");//暂存
                     busProcess.set("nckd_detailtype", "N");//业务类型(E:资产调拨)
@@ -73,34 +74,29 @@ public class FaChangeMidOpPlugin extends AbstractListPlugin {
                     DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {filter});
                     for (int c = 0; c < card.length; c++) {
                         DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
-                        DynamicObject fin = ChangeDataUtils.queryFinCard(cardInfo.getLong("id"));
-                        BigDecimal originalval = BigDecimal.ZERO;
-                        BigDecimal accumdepre = BigDecimal.ZERO;
-                        BigDecimal decval = BigDecimal.ZERO;
-                        BigDecimal preresidualval = BigDecimal.ZERO;
-                        BigDecimal nckd_amountfield23 = BigDecimal.ZERO;
-                        BigDecimal nckd_amountfield24 = BigDecimal.ZERO;
-                        if (fin != null) {
-                            originalval = fin.getBigDecimal("originalval");//资产原值(nckd_amountfield19)
-                            accumdepre = fin.getBigDecimal("accumdepre");//累计折旧(nckd_amountfield20)
-                            decval = fin.getBigDecimal("decval");//减值准备(nckd_amountfield21)
-                            preresidualval = fin.getBigDecimal("preresidualval");//预计净残值(nckd_amountfield22)
-                            nckd_amountfield23 = originalval.subtract(accumdepre);//预计清理净值(nckd_amountfield23 = nckd_amountfield19 - nckd_amountfield20)
-                            nckd_amountfield24 = nckd_amountfield23.subtract(decval);//预计净残值(nckd_amountfield24 = nckd_amountfield19 - nckd_amountfield20 - nckd_amountfield21)
-                        }
+                        String assetname = cardInfo.getString("assetname");//资产名称
+                        DynamicObject headusedept = cardInfo.getDynamicObject("headusedept");//变更前部门
+                        DynamicObject headuseperson = cardInfo.getDynamicObject("headuseperson");//变更前使用人
+                        String nckd_storeplace = cardInfo.getString("nckd_storeplace");//变更前存放地点
+                        DynamicObject supplier = cardInfo.getDynamicObject("supplier");//供应商
+                        DynamicObject assetcat = cardInfo.getDynamicObject("assetcat");//资产类别
+
                         //创建资产调拨分录
-                        DynamicObjectCollection entryEntity = busProcess.getDynamicObjectCollection("nckd_entryentity216");
+                        DynamicObjectCollection entryEntity = busProcess.getDynamicObjectCollection("nckd_entryentity681");
                         DynamicObject entry1 = entryEntity.addNew();
-                        entry1.set("nckd_basedatafield5", cardInfo);//资产编码
-                        entry1.set("nckd_amountfield19", originalval);//预计清理原值
-                        entry1.set("nckd_amountfield20", accumdepre);//预计清理累计折旧
-                        entry1.set("nckd_amountfield21", decval);//预计清理减值准备
-                        entry1.set("nckd_amountfield22", preresidualval);//预计清理残值
-                        entry1.set("nckd_amountfield23", nckd_amountfield23);//预计清理净值
-                        entry1.set("nckd_amountfield24", nckd_amountfield24);//预计清理净额
-                        entry1.set("nckd_basedatafield11", ChangeDataUtils.getUser(info.getString("nckd_used_user")));//调入使用人
-                        entry1.set("nckd_textfield10", info.getString("nckd_storeplace"));//调入存放地点
-                        entry1.set("nckd_orgfield4", ChangeDataUtils.getOrg(info.getString("nckd_dept_in")));//调入使用部门
+                        entry1.set("nckd_basedatafield21", cardInfo);//资产编码
+                        entry1.set("nckd_textfield43", assetname);
+                        entry1.set("nckd_textfield44", assetname);
+                        entry1.set("nckd_userfield", headuseperson);//调入使用人
+                        entry1.set("nckd_userfield1", ChangeDataUtils.getUser(info.getString("nckd_used_user")));//调入使用人
+                        entry1.set("nckd_textfield42", nckd_storeplace);
+                        entry1.set("nckd_textfield45", info.getString("nckd_storeplace"));//调入存放地点
+                        entry1.set("nckd_orgfield7", headusedept);//变更后使用部门
+                        entry1.set("nckd_orgfield8", ChangeDataUtils.getOrg(info.getString("nckd_dept_in")));//变更后使用部门
+                        entry1.set("nckd_basedatafield24", supplier);
+                        entry1.set("nckd_basedatafield25", supplier);
+                        entry1.set("nckd_basedatafield26", assetcat);
+                        entry1.set("nckd_basedatafield27", assetcat);
                     }
 
                     //执行保存-提交-审核

+ 28 - 6
src/main/java/fi/fa/opplugin/FaDisCardMidOpPlugin.java

@@ -19,6 +19,7 @@ import kd.bos.servicehelper.operation.OperationServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
 
 import javax.xml.crypto.Data;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.EventObject;
 import java.util.List;
@@ -62,6 +63,7 @@ public class FaDisCardMidOpPlugin extends AbstractListPlugin {
                     Long orgIdin = ChangeDataUtils.getOrg(info.getString("nckd_org_in"));
                     Long relationIdin = ChangeDataUtils.getRelation(orgIdin);
                     busProcess.set("nckd_costcompany", relationIdin);//资产组织
+                    busProcess.set("nckd_orgfield", relationIdin);//核算组织
                     busProcess.set("nckd_textfield1", info.getString("nckd_reason"));//摘要事由
                     busProcess.set("nckd_applierv", ChangeDataUtils.getUser(info.getString("nckd_user_out")));//制单人
 
@@ -76,20 +78,40 @@ public class FaDisCardMidOpPlugin extends AbstractListPlugin {
                     DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {filter});
                     for (int c = 0; c < card.length; c++) {
                         DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
+                        String model = cardInfo.getString("model");
+                        String headusedept = cardInfo.getDynamicObject("headusedept").getString("name");
                         DynamicObject fin = ChangeDataUtils.queryFinCard(cardInfo.getLong("id"));
-                        assert fin != null;
-                        DynamicObject curperiod = fin.getDynamicObject("curperiod");
-                        Date enddate = curperiod.getDate("enddate");
+                        BigDecimal originalval = BigDecimal.ZERO;
+                        BigDecimal accumdepre = BigDecimal.ZERO;
+                        BigDecimal decval = BigDecimal.ZERO;
+                        BigDecimal preresidualval = BigDecimal.ZERO;
+                        BigDecimal nckd_amountfield23 = BigDecimal.ZERO;
+                        BigDecimal nckd_amountfield24 = BigDecimal.ZERO;
+                        if (fin != null) {
+                            originalval = fin.getBigDecimal("originalval");//资产原值(nckd_amountfield19)
+                            accumdepre = fin.getBigDecimal("accumdepre");//累计折旧(nckd_amountfield20)
+                            decval = fin.getBigDecimal("decval");//减值准备(nckd_amountfield21)
+                            preresidualval = fin.getBigDecimal("preresidualval");//预计净残值(nckd_amountfield22)
+                            nckd_amountfield23 = originalval.subtract(accumdepre);//预计清理净值(nckd_amountfield23 = nckd_amountfield19 - nckd_amountfield20)
+                            nckd_amountfield24 = nckd_amountfield23.subtract(decval);//预计净残值(nckd_amountfield24 = nckd_amountfield19 - nckd_amountfield20 - nckd_amountfield21)
+                        }
                         //创建报废明细分录
                         DynamicObjectCollection entryEntity = busProcess.getDynamicObjectCollection("nckd_entryentity6");
                         DynamicObject entry1 = entryEntity.addNew();
                         entry1.set("nckd_basedatafield", cardInfo);//资产编码
+                        entry1.set("nckd_basedatafield22", fin);//资产编码
+                        entry1.set("nckd_textfield50", model);//规格型号
+                        entry1.set("nckd_textfield51", headusedept);//使用部门
+                        entry1.set("nckd_amountfield", originalval);//预计清理原值
+                        entry1.set("nckd_amountfield1", accumdepre);//预计清理累计折旧
+                        entry1.set("nckd_amountfield2", decval);//预计清理减值准备
+                        entry1.set("nckd_amountfield3", preresidualval);//预计清理残值
+                        entry1.set("nckd_amountfield4", nckd_amountfield23);//预计清理净值
+                        entry1.set("nckd_amountfield5", nckd_amountfield24);//预计清理净额
+
                         String nckd_count = info.getString("nckd_count").isEmpty() ? "1" : info.getString("nckd_count");
                         Integer count = Integer.valueOf(nckd_count);
                         entry1.set("nckd_integerfield", count);//报废数量
-                        entry1.set("nckd_datefield4", enddate);
-
-
                     }
                     //执行保存-提交-审核
                     OperationResult saveResult = SaveServiceHelper.saveOperate("nckd_ywcld", new DynamicObject[]{busProcess}, OperateOption.create());

+ 4 - 2
src/main/java/fi/fa/opplugin/utils/ChangeDataUtils.java

@@ -134,8 +134,6 @@ public class ChangeDataUtils {
         String billno = info.getString("number");//源单编号
         String dispatchType = info.getString("nckd_dispatch_type");//调拨类型
         String nckd_card_real_code = info.getString("nckd_card_number");
-        String nckd_storeplace = info.getString("nckd_storeplace");
-        String user = info.getString("nckd_used_user");
         String[] asset = nckd_card_real_code.split(",");
         if (nckd_card_real_code.isEmpty()) {
             return "单据" + billno + "未绑定资产信息,生成调拨单失败";
@@ -205,6 +203,8 @@ public class ChangeDataUtils {
             for (DynamicObject object : missingObject) {
                 DynamicObject eCardInfo = BusinessDataServiceHelper.loadSingle(object.getPkValue(), object.getDynamicObjectType().getName());
                 if ("0".equals(dispatchType)) {
+                    String nckd_storeplace = info.getString("nckd_storeplace");
+                    String user = info.getString("nckd_used_user");
                     //调出单更新组织部门人员存放地点
                     eCardInfo.set("nckd_orgfield", orgId);
                     eCardInfo.set("nckd_dept", deptId);
@@ -212,6 +212,8 @@ public class ChangeDataUtils {
                     eCardInfo.set("nckd_use_name", user);
 
                 } else if ("1".equals(dispatchType)) {
+                    String nckd_storeplace = info.getString("nckd_storeplace");
+                    String user = info.getString("nckd_used_user");
                     //变更单更新部门人员存放地点
                     eCardInfo.set("nckd_dept", deptId);
                     eCardInfo.set("nckd_local", nckd_storeplace);