Bladeren bron

Merge remote-tracking branch 'origin/master'

徐昊 8 maanden geleden
bovenliggende
commit
1692b29c70

+ 27 - 13
src/main/java/fi/cas/opplugin/PaymentProcessOpPlugin.java

@@ -1,5 +1,6 @@
 package fi.cas.opplugin;
 
+import com.alibaba.druid.util.StringUtils;
 import dm.jdbc.util.StringUtil;
 import fi.cas.common.SettlementStatusEnum;
 import kd.bos.dataentity.entity.DynamicObject;
@@ -109,6 +110,7 @@ public class PaymentProcessOpPlugin extends AbstractOperationServicePlugIn {
                     //报销单头数据包
                     DynamicObject bxInfo = BusinessDataServiceHelper.loadSingle(bxDynamicObjects[i].getPkValue(), bxDynamicObjects[i].getDynamicObjectType().getName());
                     Long bxId = bxInfo.getLong("id");
+                    String nckd_sourcebillid = bxInfo.getString("nckd_sourcebillid");
                     //报账类型
                     String reimbursetype = bxInfo.getString("reimbursetype");
                     //已结算金额
@@ -166,29 +168,41 @@ public class PaymentProcessOpPlugin extends AbstractOperationServicePlugIn {
                         }
                     }
                     //报账类型等于工程报账回写合同台账单
-                    if (StringUtil.equals("engineering",reimbursetype)) {
+                    if (!StringUtils.isEmpty(nckd_sourcebillid)) {
                         //获取合同台账单id
-                        Long contractbillId = bxInfo.getLong("sourcebillid");
+                        Long contractbillId = Long.parseLong(nckd_sourcebillid);
                         //查询合同台账单
                         QFilter htFilter = new QFilter("id", QCP.equals,contractbillId);
                         DynamicObject[] htDynamicObjects = BusinessDataServiceHelper.load(er_contractbill,"id",new QFilter[] {htFilter});
                         for (int j=0;j<htDynamicObjects.length;j++) {
                             //合同台账单头数据包
                             DynamicObject htInfo = BusinessDataServiceHelper.loadSingle(htDynamicObjects[i].getPkValue(), htDynamicObjects[i].getDynamicObjectType().getName());
-                            htInfo.set("oripayedamount",totalSettledamt);
-                            htInfo.set("orinotpayamount",totalUnsettledamt);
-                            if (totalSettledamt.compareTo(BigDecimal.ZERO) > 0 && totalUnsettledamt.compareTo(BigDecimal.ZERO) == 0) {
+                            //未结算金额
+                            BigDecimal nckd_unsettleamount = htInfo.getBigDecimal("nckd_unsettleamount");
+                            //已结算金额
+                            BigDecimal nckd_settleamount = htInfo.getBigDecimal("nckd_settleamount");
+                            if (nckd_unsettleamount.compareTo(totalSettledamt) > 0) {
+                                //未结算金额
+                                nckd_unsettleamount = nckd_unsettleamount.subtract(totalSettledamt);
+                                htInfo.set("orinotpayamount",nckd_unsettleamount);
+                            }else {
+                                htInfo.set("orinotpayamount",BigDecimal.ZERO);
+                            }
+                            nckd_settleamount = nckd_settleamount.add(totalSettledamt);
+                            htInfo.set("oripayedamount",nckd_settleamount);
+
+                            if (nckd_settleamount.compareTo(BigDecimal.ZERO) > 0 && nckd_unsettleamount.compareTo(BigDecimal.ZERO) == 0) {
                                 htInfo.set("nckd_settlestatus", SettlementStatusEnum.已结算.getValue());
-                                htInfo.set("nckd_settleamount", totalSettledamt);
-                                htInfo.set("nckd_unsettleamount", totalUnsettledamt);
-                            } else if (totalUnsettledamt.compareTo(BigDecimal.ZERO) > 0 && totalSettledamt.compareTo(BigDecimal.ZERO) == 0) {
+                                info.set("nckd_settleamount", nckd_settleamount);
+                                info.set("nckd_unsettleamount", BigDecimal.ZERO);
+                            } else if (nckd_unsettleamount.compareTo(BigDecimal.ZERO) > 0 && nckd_settleamount.compareTo(BigDecimal.ZERO) == 0) {
                                 htInfo.set("nckd_settlestatus", SettlementStatusEnum.未结算.getValue());
-                                htInfo.set("nckd_settleamount", totalSettledamt);
-                                htInfo.set("nckd_unsettleamount", totalUnsettledamt);
-                            } else if (totalSettledamt.compareTo(BigDecimal.ZERO) > 0 && totalUnsettledamt.compareTo(BigDecimal.ZERO) > 0) {
+                                info.set("nckd_settleamount", BigDecimal.ZERO);
+                                info.set("nckd_unsettleamount", nckd_unsettleamount);
+                            } else if (nckd_settleamount.compareTo(BigDecimal.ZERO) > 0 && nckd_settleamount.compareTo(BigDecimal.ZERO) > 0) {
                                 htInfo.set("nckd_settlestatus", SettlementStatusEnum.部分结算.getValue());
-                                htInfo.set("nckd_settleamount", totalSettledamt);
-                                htInfo.set("nckd_unsettleamount", totalUnsettledamt);
+                                info.set("nckd_settleamount", nckd_settleamount);
+                                info.set("nckd_unsettleamount", nckd_unsettleamount);
                             }
                             SaveServiceHelper.save(new DynamicObject[]{htInfo});
                         }

+ 17 - 5
src/main/java/fi/cas/opplugin/UnPaymentProcessOpPlugin.java

@@ -1,5 +1,6 @@
 package fi.cas.opplugin;
 
+import com.alibaba.druid.util.StringUtils;
 import dm.jdbc.util.StringUtil;
 import fi.cas.common.SettlementStatusEnum;
 import kd.bos.dataentity.entity.DynamicObject;
@@ -109,6 +110,7 @@ public class UnPaymentProcessOpPlugin extends AbstractOperationServicePlugIn {
                     //报销单头数据包
                     DynamicObject bxInfo = BusinessDataServiceHelper.loadSingle(bxDynamicObjects[i].getPkValue(), bxDynamicObjects[i].getDynamicObjectType().getName());
                     Long bxId = bxInfo.getLong("id");
+                    String nckd_sourcebillid = bxInfo.getString("nckd_sourcebillid");
                     //报账类型
                     String reimbursetype = bxInfo.getString("reimbursetype");
                     //已结算金额
@@ -144,19 +146,29 @@ public class UnPaymentProcessOpPlugin extends AbstractOperationServicePlugIn {
                         }
                     }
                     //报账类型等于工程报账回写合同台账单
-                    if (StringUtil.equals("engineering",reimbursetype)) {
+                    if (!StringUtils.isEmpty(nckd_sourcebillid)) {
                         //获取合同台账单id
-                        Long contractbillId = bxInfo.getLong("sourcebillid");
+                        Long contractbillId = Long.parseLong(nckd_sourcebillid);
                         //查询合同台账单
                         QFilter htFilter = new QFilter("id", QCP.equals,contractbillId);
                         DynamicObject[] htDynamicObjects = BusinessDataServiceHelper.load(er_contractbill,"id",new QFilter[] {htFilter});
                         for (int j=0;j<htDynamicObjects.length;j++) {
                             //合同台账单头数据包
                             DynamicObject htInfo = BusinessDataServiceHelper.loadSingle(htDynamicObjects[i].getPkValue(), htDynamicObjects[i].getDynamicObjectType().getName());
-                            htInfo.set("oripayedamount",totalSettledamt);
-                            htInfo.set("orinotpayamount",totalUnsettledamt);
+                            //未结算金额
+                            BigDecimal nckd_unsettleamount = htInfo.getBigDecimal("nckd_unsettleamount");
+                            //已结算金额
+                            BigDecimal nckd_settleamount = htInfo.getBigDecimal("nckd_settleamount");
+                            if (nckd_settleamount.compareTo(totalUnsettledamt) > 0) {
+                                nckd_settleamount = nckd_settleamount.subtract(totalUnsettledamt);
+                            }else {
+                                nckd_settleamount = BigDecimal.ZERO;
+                            }
+                            nckd_unsettleamount = nckd_unsettleamount.add(totalUnsettledamt);
+                            htInfo.set("oripayedamount",nckd_settleamount);
+                            htInfo.set("orinotpayamount",nckd_unsettleamount);
                             //结算字段赋值
-                            settleMethod(htInfo,"nckd_settlestatus","nckd_settleamount","nckd_unsettleamount",totalSettledamt,totalUnsettledamt);
+                            settleMethod(htInfo,"nckd_settlestatus","nckd_settleamount","nckd_unsettleamount",nckd_settleamount,nckd_unsettleamount);
                             SaveServiceHelper.save(new DynamicObject[]{htInfo});
                         }
                     }

+ 147 - 55
src/main/java/fi/fa/webService/DispatchMidController.java

@@ -4,9 +4,9 @@ package fi.fa.webService;
 import com.alibaba.druid.util.StringUtils;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import kd.bos.coderule.api.CodeRuleInfo;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.entity.operate.result.OperationResult;
 import kd.bos.openapi.common.custom.annotation.ApiController;
 import kd.bos.openapi.common.custom.annotation.ApiMapping;
 import kd.bos.openapi.common.custom.annotation.ApiParam;
@@ -15,8 +15,9 @@ import kd.bos.openapi.common.result.CustomApiResult;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
-import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
+import kd.bos.servicehelper.operation.OperationServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
+import nckd.sys.web.common.utils.OperateHelper;
 import org.apache.commons.lang3.ObjectUtils;
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -42,6 +43,7 @@ public class DispatchMidController implements Serializable {
         for (int i = 0; i < data.size(); i++) {
             try{
                 JSONObject eobject = data.getJSONObject(i);
+                //用来储存转换好的用户和组织id
                 HashMap<String , Long> map = new HashMap<>();
                 //第一步:保存进中间表
                 SaveMidDispatch(eobject);
@@ -94,6 +96,7 @@ public class DispatchMidController implements Serializable {
         midDispatch.set("nckd_dept_in", jsonObject.getString("inDeptId"));//调入部门
         midDispatch.set("nckd_used_user", jsonObject.getString("user"));//调入使用人
         midDispatch.set("nckd_storeplace", jsonObject.getString("storeplace"));//调入存放地点
+        //拼接资产信息的组织和编码
         String cardNumber = "";
         JSONArray assetArray = jsonObject.getJSONArray("asset");
         for (int j = 0; j < assetArray.size(); j++) {
@@ -117,9 +120,9 @@ public class DispatchMidController implements Serializable {
         String user = jsonObject.getString("user");//使用人
         List<String> numberList = new ArrayList<>();
         // 校验该单据是否已经下推生成调拨单
-        if (isAlreadyDispatched(billno)) {
-            return "单据" + billno + "已经生成调拨单,请勿重复推送!";
-        }
+//        if (isAlreadyDispatched(billno)) {
+//            return "单据" + billno + "已经生成调拨单,请勿重复推送!";
+//        }
         // 获取资产编号数组
         JSONArray assetArray = jsonObject.getJSONArray("asset");
         if (assetArray.isEmpty()) {
@@ -189,16 +192,10 @@ public class DispatchMidController implements Serializable {
         //组织间,生成资产调出单
         if ("0".equals(dispatchType)) {
             DynamicObject dispatch = BusinessDataServiceHelper.newDynamicObject("fa_dispatch");
-            //获取配置编码规则生成的编码
-            CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(dispatch.getDataEntityType().getName(), dispatch, null);
-            String sysCode = CodeRuleServiceHelper.getNumber(codeRule, dispatch);
             String nckd_card_real_code = jsonObject.getString("nckd_card_real_code");
-            nckd_card_real_code = "A00100101900240800008";
-            //拼接单据编号
-            String firstTenChars = nckd_card_real_code.substring(0, 10);
-            String billno = firstTenChars + sysCode;
+            nckd_card_real_code = "A00100101900240600007";
+
             //单据头
-            dispatch.set("billno", billno);//单据编号
             dispatch.set("outuser", map.get("sendUser"));//调出申请人
             dispatch.set("inuser", map.get("recieveUser"));//调入负责人
             dispatch.set("dispatchdate", jsonObject.getDate("sendDate"));//调出日期
@@ -218,11 +215,12 @@ public class DispatchMidController implements Serializable {
             dispatch.set("modifytime", jsonObject.getDate("sendDate"));//修改时间
             dispatch.set("auditor", map.get("recieveUser"));//审核人
             dispatch.set("auditdate", jsonObject.getDate("sendDate"));//审核时间
-            dispatch.set("billstatus", "C");//默认审核
+            dispatch.set("billstatus", "A");//暂存
             dispatch.set("appliant", map.get("sendUser"));//调拨申请人
             //单据体
             //根据资产编号查询实物卡片
-            QFilter cardFilter = new QFilter("billno", QCP.equals,nckd_card_real_code);
+            QFilter cardFilter = new QFilter("number", QCP.equals,nckd_card_real_code);
+            cardFilter.and("isbak",  QCP.equals, "0");
             DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {cardFilter});
             for (int c = 0; c < card.length; c++) {
                 DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
@@ -234,53 +232,92 @@ public class DispatchMidController implements Serializable {
                 entry1.set("dispatchqty", cardInfo.getInt("assetamount"));//数量
                 entry1.set("inusedept", map.get("inDeptId"));//调入使用部门
             }
-            SaveServiceHelper.save(new DynamicObject[]{dispatch});
+            //执行保存-提交-审核
+            OperationResult saveResult = SaveServiceHelper.saveOperate("fa_dispatch", new DynamicObject[]{dispatch}, OperateHelper.createOperate());
+            OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "fa_dispatch",saveResult.getSuccessPkIds().toArray(),OperateHelper.createOperate());
+            OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "fa_dispatch",submitResult.getSuccessPkIds().toArray(),OperateHelper.createOperate());
         }//组织内,生成资产变更单
         else if ("1".equals(dispatchType)) {
             DynamicObject changeDept = BusinessDataServiceHelper.newDynamicObject("fa_change_dept");
-            //获取配置编码规则生成的编码
-            CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(changeDept.getDataEntityType().getName(), changeDept, null);
-            String sysCode = CodeRuleServiceHelper.getNumber(codeRule, changeDept);
             String nckd_card_real_code = jsonObject.getString("nckd_card_real_code");
-            nckd_card_real_code = "A00100101900240800008";
-            //拼接单据编号
-            String firstTenChars = nckd_card_real_code.substring(0, 10);
-            String billno = firstTenChars + sysCode;
+            nckd_card_real_code = "A00100101900240600004";
+            DynamicObject orgInfo = queryOrg(map.get("orgId"));
             //单据头
-            changeDept.set("billno", billno);//单据编号
-            changeDept.set("org", map.get("orgId"));//核算组织
+            changeDept.set("org", orgInfo);//核算组织
             changeDept.set("changedate", jsonObject.getDate("sendDate"));//记账日期
-            changeDept.set("appliantid", map.get("sendUser"));//变更申请人
+            changeDept.set("appliantid", getUser(jsonObject.getString("sendUser")));//变更申请人
             changeDept.set("remark", jsonObject.getString("reason"));//调出原因
-            changeDept.set("sourcetype", "5");//来源方式(5:API生成)
-            changeDept.set("changetype", Long.parseLong("733953285719123968"));//变更类型,默认部门变更
+            changeDept.set("sourcetype", 2);//来源方式(5:API生成)
+            changeDept.set("changetype", queryChangeType(Long.parseLong("733953285719123968")));//变更类型,默认部门变更
             changeDept.set("chtypedetail", "1");//变更类型明细默认实物变更1
             changeDept.set("voucherflag", "A");//记账标识默认无需记账A
             //制单信息
-            changeDept.set("creator", map.get("sendUser"));//创建人
+            changeDept.set("creator", getUser(jsonObject.getString("sendUser")));//创建人
             changeDept.set("createtime", jsonObject.getDate("sendDate"));//创建时间
-            changeDept.set("modifier", map.get("recieveUser"));//修改人
+            changeDept.set("modifier", getUser(jsonObject.getString("recieveUser")));//修改人
             changeDept.set("modifytime", jsonObject.getDate("sendDate"));//修改时间
-            changeDept.set("auditor", map.get("recieveUser"));//审核人
+            changeDept.set("auditor", getUser(jsonObject.getString("recieveUser")));//审核人
             changeDept.set("auditdate", jsonObject.getDate("sendDate"));//审核时间
-            changeDept.set("billstatus", "C");//默认审核
+            changeDept.set("billstatus", "A");//默认审核
             //单据体
             //根据资产编号查询实物卡片
-            QFilter cardFilter = new QFilter("billno", QCP.equals,nckd_card_real_code);
+            QFilter cardFilter = new QFilter("number", QCP.equals,nckd_card_real_code);
+            cardFilter.and("isbak",  QCP.equals, "0");
             DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {cardFilter});
             for (int c = 0; c < card.length; c++) {
                 DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
-                //创建变更详情分录
-                DynamicObjectCollection entryEntity = changeDept.getDynamicObjectCollection("main_changebillentry");
-                DynamicObject entry1 = entryEntity.addNew();
-                entry1.set("m_realcard", cardInfo);//资产编码
-                entry1.set("m_bef_headusedept", cardInfo.getDynamicObject("headusedept").getLong("id"));//变更前使用部门
-                entry1.set("m_aft_headusedept", map.get("inDeptId"));//变更后使用部门
-                entry1.set("m_bef_headuseperson", cardInfo.getDynamicObject("headuseperson").getLong("id"));//变更前使用人
-                entry1.set("m_aft_headuseperson", map.get("user"));//变更后使用人
-                entry1.set("m_bef_storeplace", cardInfo.getDynamicObject("storeplace").getLong("id"));//变动前存放地点
+                //查询财务卡片
+                DynamicObject fin = queryFinCard(cardInfo.getLong("id"));//财务卡片id
+                //创建变更字段分录
+                DynamicObjectCollection fieldentry = changeDept.getDynamicObjectCollection("fieldentry");
+                if (!map.get("inDeptId").equals(cardInfo.getDynamicObject("headusedept").getLong("id"))){
+                    DynamicObject entry1 = fieldentry.addNew();
+                    entry1.set("realcard1", cardInfo);//资产编码
+                    entry1.set("depreuse1", queryDepreuse(Long.parseLong("418714318096331776")));//折旧用途默认
+                    entry1.set("currency1", 1);//币别
+                    entry1.set("basecurrency1", 1);//本币位
+                    entry1.set("assetnumber",cardInfo.getString("number"));//资产编码
+                    entry1.set("bizdate1", jsonObject.getDate("sendDate"));//业务日期
+                    entry1.set("field", "fa_card_real.headusedept");//变更字段-部门
+                    entry1.set("beforevalue", String.valueOf(cardInfo.getDynamicObject("headusedept").getLong("id")));//变更前值
+                    entry1.set("aftervalue", map.get("inDeptId").toString());//变更后值
+                    entry1.set("realcardmasterid", cardInfo);//实物卡片id
+                    entry1.set("fincard1", fin);//财务卡片
+                }
+                if (ObjectUtils.isEmpty(cardInfo.getDynamicObject("headuseperson")) ||
+                    ObjectUtils.isNotEmpty(cardInfo.getDynamicObject("headuseperson")) && map.get("user").equals(cardInfo.getDynamicObject("headuseperson").getLong("id"))) {
+                    String beforevalue = cardInfo.getDynamicObject("headuseperson") == null ? "" : String.valueOf(cardInfo.getDynamicObject("headuseperson").getLong("id"));
+                    DynamicObject entry2 = fieldentry.addNew();
+                    entry2.set("realcard1", cardInfo);//资产编码
+                    entry2.set("depreuse1", queryDepreuse(Long.parseLong("418714318096331776")));//折旧用途默认
+                    entry2.set("currency1", 1);//币别
+                    entry2.set("basecurrency1", 1);//本币位
+                    entry2.set("assetnumber",cardInfo.getString("number"));//资产编码
+                    entry2.set("bizdate1", jsonObject.getDate("sendDate"));//业务日期
+                    entry2.set("field", "fa_card_real.headuseperson");//变更字段-使用人
+                    entry2.set("beforevalue", beforevalue);//变更前值
+                    entry2.set("aftervalue", map.get("user").toString());//变更后值
+                    entry2.set("realcardmasterid", cardInfo);//实物卡片id
+                    entry2.set("fincard1", fin);//财务卡片
+                }
+
+                //创建实物变更分录
+                DynamicObjectCollection realentry = changeDept.getDynamicObjectCollection("realentry");
+                DynamicObject realentry1 = realentry.addNew();
+                realentry1.set("realcard", cardInfo.getLong("id"));//资产编码
+
+                //创建财务变更分录
+                DynamicObjectCollection finentry = realentry1.getDynamicObjectCollection("finentry");
+                DynamicObject finentry1 = finentry.addNew();
+                finentry1.set("depreuse", queryDepreuse(Long.parseLong("418714318096331776")));//折旧用途默认
+                finentry1.set("fincard", fin);
+                finentry1.set("bizdate", jsonObject.getDate("sendDate"));
+
             }
-            SaveServiceHelper.save(new DynamicObject[]{changeDept});
+//            //执行保存-提交-审核
+            OperationResult saveResult = SaveServiceHelper.saveOperate("fa_change_dept", new DynamicObject[]{changeDept}, OperateHelper.createOperate());
+            OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "fa_change_dept",saveResult.getSuccessPkIds().toArray(),OperateHelper.createOperate());
+            OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "fa_change_dept",submitResult.getSuccessPkIds().toArray(),OperateHelper.createOperate());
         }
 
     }
@@ -295,11 +332,11 @@ public class DispatchMidController implements Serializable {
         DynamicObject[] orgControl = BusinessDataServiceHelper.load("nckd_base_org_ext","id",new QFilter[] {orgFilter});
         if (orgControl.length > 0) {
             DynamicObject orgControlInfo = BusinessDataServiceHelper.loadSingle(orgControl[0].getPkValue(), orgControl[0].getDynamicObjectType().getName());
-            Long orgId = Long.valueOf(orgControlInfo.getString("nckd_org_number"));
+            Long orgId = Long.parseLong(orgControlInfo.getString("nckd_org_number"));
             return orgId;
         }//组织对照表查询不到,查询组织表
         else {
-            QFilter filter = new QFilter("id", QCP.equals,Long.valueOf(eOrgId));
+            QFilter filter = new QFilter("id", QCP.equals,Long.parseLong(eOrgId));
             DynamicObject[] org = BusinessDataServiceHelper.load("bos_org","id",new QFilter[] {filter});
             if (org.length > 0) {
                 DynamicObject orgInfo = BusinessDataServiceHelper.loadSingle(org[0].getPkValue(), org[0].getDynamicObjectType().getName());
@@ -314,13 +351,12 @@ public class DispatchMidController implements Serializable {
      * @param eUser
      * @return Long
      */
-    private Long getUser(String eUser) {
+    private DynamicObject getUser(String eUser) {
         QFilter filter = new QFilter("number", QCP.in, eUser);
         DynamicObject[] user = BusinessDataServiceHelper.load("bos_user","id",new QFilter[] {filter});
         if (user.length > 0) {
             DynamicObject userInfo = BusinessDataServiceHelper.loadSingle(user[0].getPkValue(), user[0].getDynamicObjectType().getName());
-            Long userId = userInfo.getLong("id");
-            return userId;
+            return userInfo;
         }
         return null;
     }
@@ -331,17 +367,17 @@ public class DispatchMidController implements Serializable {
      * @param jsonObject,map
      * @return String
      */
-    private String  Control (JSONObject jsonObject, HashMap<String , Long> map) {
+    private String Control (JSONObject jsonObject, HashMap<String , Long> map) {
         //查询人员
-        Long sendUser = getUser(jsonObject.getString("sendUser"));//调出申请人
-        Long recieveUser = getUser(jsonObject.getString("recieveUser"));//调入负责人
-        Long user = getUser(jsonObject.getString("user"));//调入使用人
+        DynamicObject sendUser = getUser(jsonObject.getString("sendUser"));//调出申请人
+        DynamicObject recieveUser = getUser(jsonObject.getString("recieveUser"));//调入负责人
+        DynamicObject user = getUser(jsonObject.getString("user"));//调入使用人
         if (ObjectUtils.isEmpty(sendUser) || ObjectUtils.isEmpty(recieveUser) || ObjectUtils.isEmpty(user)) {
             return "人员信息转换失败";
         }
-        map.put("sendUser", sendUser);
-        map.put("recieveUser", recieveUser);
-        map.put("user", user);
+        map.put("sendUser", sendUser.getLong("id"));
+        map.put("recieveUser", recieveUser.getLong("id"));
+        map.put("user", user.getLong("id"));
 
         //查询组织
         Long outOrgId = getOrg(jsonObject.getString("outOrgId"));//调出组织
@@ -398,4 +434,60 @@ public class DispatchMidController implements Serializable {
             resultString.append(errorCode).append("\n");
         }
     }
+
+    /**
+     * @description 查询财务卡片
+     * @param realCardId
+     */
+    private DynamicObject queryFinCard(Long realCardId) {
+        QFilter cardFilter = new QFilter("realcardmasterid", QCP.equals,realCardId);
+        DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_fin","id",new QFilter[] {cardFilter});
+        for (int c = 0; c < card.length; c++) {
+            DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
+            return cardInfo;
+        }
+        return null;
+    }
+
+    /**
+     * @description 查询组织
+     * @param orgId
+     */
+    private DynamicObject queryOrg(Long orgId) {
+        QFilter orgQFilter= new QFilter("id", QCP.equals,orgId);
+        DynamicObject[] org = BusinessDataServiceHelper.load("bos_org","id",new QFilter[] {orgQFilter});
+        for (int c = 0; c < org.length; c++) {
+            DynamicObject orgInfo = BusinessDataServiceHelper.loadSingle(org[c].getPkValue(), org[c].getDynamicObjectType().getName());
+            return orgInfo;
+        }
+        return null;
+    }
+
+    /**
+     * @description 查询变更类型
+     * @param id
+     */
+    private DynamicObject queryChangeType(Long id) {
+        QFilter orgQFilter= new QFilter("id", QCP.equals,id);
+        DynamicObject[] changeType = BusinessDataServiceHelper.load("fa_change_type","id",new QFilter[] {orgQFilter});
+        for (int c = 0; c < changeType.length; c++) {
+            DynamicObject changeInfo = BusinessDataServiceHelper.loadSingle(changeType[c].getPkValue(), changeType[c].getDynamicObjectType().getName());
+            return changeInfo;
+        }
+        return null;
+    }
+
+    /**
+     * @description 查询折旧用途
+     * @param id
+     */
+    private DynamicObject queryDepreuse(Long id) {
+        QFilter orgQFilter= new QFilter("id", QCP.equals,id);
+        DynamicObject[] depreuse = BusinessDataServiceHelper.load("fa_depreuse","id",new QFilter[] {orgQFilter});
+        for (int c = 0; c < depreuse.length; c++) {
+            DynamicObject depreuseInfo = BusinessDataServiceHelper.loadSingle(depreuse[c].getPkValue(), depreuse[c].getDynamicObjectType().getName());
+            return depreuseInfo;
+        }
+        return null;
+    }
 }