| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |