| 
					
				 | 
			
			
				@@ -1,12 +1,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package fi.fa.webService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.alibaba.druid.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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,14 +11,8 @@ 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.operation.OperationServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.operation.SaveServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.dataentity.OperateOption; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.apache.commons.lang3.ObjectUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.Serializable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 接收e管家资产调拨单接口 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,27 +33,14 @@ 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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //组织,人员信息转换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String errorChange = Control(eobject, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //第二步:校验传入信息是否可以下推调拨单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String errorCode = Check(eobject, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //第三步:下推生成调拨单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (StringUtils.isEmpty(errorCode) && StringUtils.isEmpty(errorChange)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //下推生成单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Push(eobject, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 错误拼接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                appendErrorMessages(resultString, errorChange, errorCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 resultString.append("保存过程中发生异常:").append(e.getMessage()).append("\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return resultString.length() == 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ? CustomApiResult.success("推送调拨单成功!") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ? CustomApiResult.success("推送中间表成功成功!") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 : CustomApiResult.fail("404", resultString.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -72,29 +49,61 @@ public class DispatchMidController implements Serializable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param jsonObject 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void SaveMidDispatch(JSONObject jsonObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject midDispatch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //查询中间表,如果有则修改,没有则新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QFilter filter = new QFilter("number", QCP.equals, jsonObject.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_dispatch_mid","id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (mid.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            midDispatch = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            midDispatch = BusinessDataServiceHelper.newDynamicObject("nckd_e_dispatch_mid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String dispatchType = jsonObject.getString("dispatchType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject minInfo = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ("0".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询调出中间表,如果有则修改,没有则新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QFilter filter = new QFilter("number", QCP.equals, jsonObject.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_dispatch_mid","id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mid.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                minInfo = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                minInfo = BusinessDataServiceHelper.newDynamicObject("nckd_e_dispatch_mid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_changemode", "调出");//减少方式默认调出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_user_out", jsonObject.getString("sendUser"));//调出类型对应人员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_user_in", jsonObject.getString("recieveUser"));//调入负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_org_out", jsonObject.getString("outOrgId"));//调出组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_org_in", jsonObject.getString("orgId"));//调入组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_used_user", jsonObject.getString("user"));//调入使用人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_direction", jsonObject.getString("direction"));//调入调出类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_storeplace", jsonObject.getString("storeplace"));//调入存放地点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if ("1".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询变更中间表,如果有则修改,没有则新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QFilter filter = new QFilter("number", QCP.equals, jsonObject.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_change_mid","id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mid.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                minInfo = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                minInfo = BusinessDataServiceHelper.newDynamicObject("nckd_e_change_mid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_user_out", jsonObject.getString("sendUser"));//调出类型对应人员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_user_in", jsonObject.getString("recieveUser"));//调入负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_org_in", jsonObject.getString("orgId"));//归属机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_used_user", jsonObject.getString("user"));//调入使用人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_direction", jsonObject.getString("direction"));//调入调出类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_storeplace", jsonObject.getString("storeplace"));//调入存放地点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if ("2".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询报废单中间表,如果有则修改,没有则新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QFilter filter = new QFilter("number", QCP.equals, jsonObject.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_discard_mid","id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mid.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                minInfo = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                minInfo = BusinessDataServiceHelper.newDynamicObject("nckd_e_discard_mid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_org_in", jsonObject.getString("orgId"));//归属机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minInfo.set("nckd_user_out", jsonObject.getString("sendUser"));//报废申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("number", jsonObject.getString("billno"));//来源单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_user_out", jsonObject.getString("sendUser"));//调出类型对应人员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_user_in", jsonObject.getString("recieveUser"));//调入负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_date_out", jsonObject.getDate("sendDate"));//调出日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_org_out", jsonObject.getString("outOrgId"));//调出组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_org_in", jsonObject.getString("orgId"));//调入组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_reason", jsonObject.getString("reason"));//调拨原因 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_changemode", "调出");//减少方式默认调出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_dispatch_type", jsonObject.getString("dispatchType"));//调拨类型 枚举 组织间,组织内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_dept_in", jsonObject.getString("inDeptId"));//调入部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_used_user", jsonObject.getString("user"));//调入使用人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_storeplace", jsonObject.getString("storeplace"));//调入存放地点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_direction", jsonObject.getString("direction"));//调入存放地点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("number", jsonObject.getString("billno"));//来源单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("nckd_date_out", jsonObject.getDate("sendDate"));//调出日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("nckd_reason", jsonObject.getString("reason"));//调拨原因 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("nckd_dispatch_type", jsonObject.getString("dispatchType"));//调拨类型 枚举 组织间,组织内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("nckd_dept_in", jsonObject.getString("inDeptId"));//调入部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("createtime", jsonObject.getDate("sendDate"));//创建时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("status", "A");//暂存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //拼接资产信息的组织和编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cardNumber = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         JSONArray assetArray = jsonObject.getJSONArray("asset"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,514 +112,12 @@ public class DispatchMidController implements Serializable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             JSONObject asset = assetArray.getJSONObject(j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String number = asset.getString("number"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String orgId = asset.getString("orgId"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cardNumber = number+ ":" + orgId + ","; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cardNumber = cardNumber + number+ ":" + orgId + ","; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if ("2".equals(jsonObject.getString("dispatchType"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                midDispatch.set("nckd_count", asset.getString("count"));//资产数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_card_number_tag", cardNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        SaveServiceHelper.save(new DynamicObject[]{midDispatch}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description e管家推送数据校验 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param jsonObject,map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private  String Check(JSONObject jsonObject, HashMap<String , Long> map) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String billno = jsonObject.getString("billno");//源单编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String user = jsonObject.getString("user");//使用人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String dispatchType = jsonObject.getString("dispatchType");//调拨类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<String> numberList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 校验该单据是否已经下推生成调拨单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (isAlreadyDispatched(billno)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return "单据" + billno + "已经生成调拨单,请勿重复推送!"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 获取资产编号数组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        JSONArray assetArray = jsonObject.getJSONArray("asset"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (assetArray.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return "单据" + billno + "未绑定资产信息,生成调拨单失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Boolean isSame = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //校验资产信息的组织是否相同,不相同则不进行处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (int j = 0; j < assetArray.size(); j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //判断资产的组织是否相同 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONObject asset = assetArray.getJSONObject(j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!asset.getString("orgId").equals(assetArray.getJSONObject(0).getString("orgId"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                isSame = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            numberList.add(asset.getString("number")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //组织相同则处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (isSame) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String  e_orgId = assetArray.getJSONObject(0).getString("orgId"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询e管家实物卡片清单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            QFilter filter = new QFilter("number", QCP.in,numberList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (dynamicObjects.length == 0 || dynamicObjects.length != numberList.size()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return "单据"+billno+"绑定的资产有未同步至星瀚的数据,生成调拨单失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(dynamicObjects[0].getPkValue(), dynamicObjects[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //获取星瀚资产编码,查询关联的e管家实物卡片清单数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String code  = cardInfo.getString("nckd_card_real_code"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (StringUtils.isEmpty(code)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //星瀚未生成实物卡片,更新实物卡片清单数据-查询组织对照表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Long orgId = getOrg(e_orgId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (ObjectUtils.isNotEmpty(orgId) && ("0".equals(dispatchType))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //更新归属机构,归属部门,使用人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (int a = 0; a < dynamicObjects.length ; a++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            DynamicObject ecardInfoList = BusinessDataServiceHelper.loadSingle(dynamicObjects[a].getPkValue(), dynamicObjects[a].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ecardInfoList.set("nckd_orgfield",orgId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ecardInfoList.set("nckd_dept",map.get("inDeptId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SaveServiceHelper.save(new DynamicObject[]{ecardInfoList}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else if (ObjectUtils.isNotEmpty(orgId) && "1".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //更新是否报废为是 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (int a = 0; a < dynamicObjects.length ; a++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            DynamicObject ecardInfoList = BusinessDataServiceHelper.loadSingle(dynamicObjects[a].getPkValue(), dynamicObjects[a].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ecardInfoList.set("nckd_dept",map.get("inDeptId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ecardInfoList.set("nckd_use_name",user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SaveServiceHelper.save(new DynamicObject[]{ecardInfoList}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    else if (ObjectUtils.isNotEmpty(orgId) && "2".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //更新是否报废为是 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (int a = 0; a < dynamicObjects.length ; a++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            DynamicObject ecardInfoList = BusinessDataServiceHelper.loadSingle(dynamicObjects[a].getPkValue(), dynamicObjects[a].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ecardInfoList.set("nckd_discard",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SaveServiceHelper.save(new DynamicObject[]{ecardInfoList}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        return "资产信息的组织在组织对照表中未查询到数据,生成调拨单失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return "星瀚系统未生成实物卡片,已更新e管家实物卡片清单"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //查询e管家实物卡片清单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    QFilter qfilter = new QFilter("nckd_card_real_code", QCP.equals,code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    DynamicObject[] cardObject = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {qfilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //e管家推送的清单和星瀚系统保存的清单数量不一致,返回错误信息并且不能生成调拨单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (cardObject.length > 0 && assetArray.size() != cardObject.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        return "单据"+billno+"绑定的资产信息与星瀚实物卡片数量不一致,生成调拨单失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    jsonObject.put("nckd_card_real_code", code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //资产信息组织不同 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return "单据"+billno+"绑定的资产信息组织不相同,生成调拨单失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description 下推生成资产调拨单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param jsonObject,map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void Push(JSONObject jsonObject, HashMap<String , Long> map) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String dispatchType = jsonObject.getString("dispatchType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String direction = jsonObject.getString("direction"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //组织间,生成资产调出单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ("0".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject dispatch = BusinessDataServiceHelper.newDynamicObject("fa_dispatch"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String nckd_card_real_code = jsonObject.getString("nckd_card_real_code"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            nckd_card_real_code = "A00100101900240600008"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //单据头 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("dispatchdate", jsonObject.getDate("sendDate"));//调出日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("assetunit", map.get("outOrgId"));//调出组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("inassetunit", map.get("orgId"));//调入组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("org", map.get("outOrgId"));//调出核算组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("inorg", map.get("orgId"));//调入核算组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("reason", jsonObject.getString("reason"));//调出原因 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("dispatchtype", "A");//调拨类型 A="平价调拨",B="非平价调拨" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("changemode", 14);//减少方式默认"调出" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("currency", 1);//币种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("currencyrate", 1);//结算汇率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //制单信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("createtime", jsonObject.getDate("sendDate"));//创建时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("modifytime", jsonObject.getDate("sendDate"));//修改时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("auditdate", jsonObject.getDate("sendDate"));//审核时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dispatch.set("billstatus", "A");//暂存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //调出方向 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if("0".equals(direction)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("outuser", map.get("sendUser"));//调出申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("inuser", map.get("recieveUser"));//调入负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("creator", map.get("sendUser"));//创建人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("modifier", map.get("sendUser"));//修改人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("auditor", map.get("sendUser"));//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("appliant", map.get("sendUser"));//调拨申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }//调入方向 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if ("1".equals(direction)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("outuser", map.get("recieveUser"));//调出申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("inuser", map.get("sendUser"));//调入负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("creator", map.get("recieveUser"));//创建人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("modifier", map.get("recieveUser"));//修改人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("auditor", map.get("recieveUser"));//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dispatch.set("appliant", map.get("recieveUser"));//调拨申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //单据体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //根据资产编号查询实物卡片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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 = dispatch.getDynamicObjectCollection("dispatchentry"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                DynamicObject entry1 = entryEntity.addNew(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                entry1.set("realcard", cardInfo);//资产编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                entry1.set("measurement", cardInfo.getDynamicObject("unit").getLong("id"));//计量单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                entry1.set("dispatchqty", cardInfo.getInt("assetamount"));//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                entry1.set("inusedept", map.get("inDeptId"));//调入使用部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //执行保存-提交-审核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            OperationResult saveResult = SaveServiceHelper.saveOperate("fa_dispatch", new DynamicObject[]{dispatch}, OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (saveResult.isSuccess()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //生单后反写中间表,防止反复生单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OncePush(jsonObject.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "fa_dispatch",saveResult.getSuccessPkIds().toArray(),OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "fa_dispatch",submitResult.getSuccessPkIds().toArray(),OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }//组织内,生成资产变更单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else if ("1".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject changeDept = BusinessDataServiceHelper.newDynamicObject("fa_change_dept"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String nckd_card_real_code = jsonObject.getString("nckd_card_real_code"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            nckd_card_real_code = "A00100101900240600007"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject orgInfo = queryOrg(map.get("orgId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //单据头 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            changeDept.set("org", orgInfo);//核算组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            changeDept.set("changedate", jsonObject.getDate("sendDate"));//记账日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            changeDept.set("remark", jsonObject.getString("reason"));//调出原因 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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("createtime", jsonObject.getDate("sendDate"));//创建时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            changeDept.set("modifytime", jsonObject.getDate("sendDate"));//修改时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            changeDept.set("auditdate", jsonObject.getDate("sendDate"));//审核时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            changeDept.set("billstatus", "A");//默认审核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //调出方向 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if("0".equals(direction)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("creator", getUser(jsonObject.getString("sendUser")));//创建人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("modifier", getUser(jsonObject.getString("sendUser")));//修改人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("auditor", getUser(jsonObject.getString("sendUser")));//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("appliantid", getUser(jsonObject.getString("sendUser")));//变更申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }//调入方向 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if ("1".equals(direction)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("creator", getUser(jsonObject.getString("recieveUser")));//创建人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("modifier", getUser(jsonObject.getString("recieveUser")));//修改人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("auditor", getUser(jsonObject.getString("recieveUser")));//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changeDept.set("appliantid", getUser(jsonObject.getString("recieveUser")));//变更申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //单据体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //根据资产编号查询实物卡片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //查询财务卡片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                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")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //执行保存-提交-审核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            OperationResult saveResult = SaveServiceHelper.saveOperate("fa_change_dept", new DynamicObject[]{changeDept}, OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (saveResult.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //生单后反写中间表,防止反复生单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OncePush(jsonObject.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "fa_change_dept",saveResult.getSuccessPkIds().toArray(),OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "fa_change_dept",submitResult.getSuccessPkIds().toArray(),OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } //生成业务处理单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else if ("2".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject busProcess = BusinessDataServiceHelper.newDynamicObject("nckd_ywcld"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String nckd_card_real_code = jsonObject.getString("nckd_card_real_code"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            nckd_card_real_code = "A00100101900240700007"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject orgInfo = queryOrg(map.get("orgId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("nckd_bizdate", jsonObject.getDate("sendDate"));//业务日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("nckd_detailtype", "D");//业务类型 D:报废 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("nckd_costcompany", map.get("orgId"));//资产组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("nckd_textfield1", jsonObject.getString("reason"));//摘要事由 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("nckd_applierv", getUser(jsonObject.getString("sendUser")));//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //制单信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("creator", getUser(jsonObject.getString("sendUser")));//创建人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("createtime", jsonObject.getDate("sendDate"));//创建时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("modifier", getUser(jsonObject.getString("sendUser")));//修改人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("modifytime", jsonObject.getDate("sendDate"));//修改时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("auditor", getUser(jsonObject.getString("sendUser")));//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("auditdate", jsonObject.getDate("sendDate"));//审核时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            busProcess.set("billstatus", "A");//状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //单据体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //根据资产编号查询实物卡片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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 = busProcess.getDynamicObjectCollection("nckd_entryentity6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                DynamicObject entry1 = entryEntity.addNew(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                entry1.set("nckd_basedatafield", cardInfo);//资产编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Integer count = Integer.valueOf(jsonObject.getJSONArray("asset").getJSONObject(0).getString("count")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                entry1.set("nckd_integerfield", count);//报废数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //执行保存-提交-审核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            OperationResult saveResult = SaveServiceHelper.saveOperate("nckd_ywcld", new DynamicObject[]{busProcess}, OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (saveResult.isSuccess()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //生单后反写中间表,防止反复生单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OncePush(jsonObject.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "nckd_ywcld",saveResult.getSuccessPkIds().toArray(),OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "nckd_ywcld",submitResult.getSuccessPkIds().toArray(),OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description 查询组织对照表获取组织id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param eOrgId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Long getOrg(String eOrgId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QFilter orgFilter = new QFilter("nckd_e_org", QCP.equals,eOrgId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String number = orgControlInfo.getString("nckd_org_number"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            QFilter filter = new QFilter("number", QCP.equals,number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return orgInfo.getLong("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                minInfo.set("nckd_count", asset.getString("count"));//资产数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description 查询用户表获取用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param eUser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return userInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description e管家数据转换为星瀚数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param jsonObject,map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private String Control(JSONObject jsonObject, HashMap<String , Long> map) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String dispatchType = jsonObject.getString("dispatchType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ("0".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询人员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject sendUser = getUser(jsonObject.getString("sendUser"));//调出申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject recieveUser = getUser(jsonObject.getString("recieveUser"));//调入负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (ObjectUtils.isEmpty(sendUser) || ObjectUtils.isEmpty(recieveUser)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return "人员信息转换失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("sendUser", sendUser.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("recieveUser", recieveUser.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long outOrgId = getOrg(jsonObject.getString("outOrgId"));//调出组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long orgId = getOrg(jsonObject.getString("orgId"));//调入组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long inDeptId = getOrg(jsonObject.getString("inDeptId"));//调入部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (ObjectUtils.isEmpty(outOrgId) || ObjectUtils.isEmpty(orgId) || ObjectUtils.isEmpty(inDeptId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return "组织信息转换失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("outOrgId", outOrgId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("orgId", orgId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("inDeptId", inDeptId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else if ("1".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询人员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("recieveUser", recieveUser.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("user", user.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long orgId = getOrg(jsonObject.getString("orgId"));//调入组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long inDeptId = getOrg(jsonObject.getString("inDeptId"));//调入部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (ObjectUtils.isEmpty(orgId) || ObjectUtils.isEmpty(inDeptId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return "组织信息转换失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("orgId", orgId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("inDeptId", inDeptId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if ("2".equals(dispatchType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询人员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject sendUser = getUser(jsonObject.getString("sendUser"));//调出申请人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (ObjectUtils.isEmpty(sendUser)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return "人员信息转换失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("sendUser", sendUser.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long orgId = getOrg(jsonObject.getString("orgId"));//资产组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (ObjectUtils.isEmpty(orgId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return "组织信息转换失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            map.put("orgId", orgId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description 生单后反写中间表,防止反复生单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param billno 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void OncePush(String billno) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QFilter filter = new QFilter("number", QCP.equals, billno); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_dispatch_mid","id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject midDispatch = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        midDispatch.set("nckd_flag", "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        SaveServiceHelper.save(new DynamicObject[]{midDispatch}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description 判断是否已经下推生成调拨单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param billno 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return boolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private boolean isAlreadyDispatched(String billno) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QFilter flagFilter = new QFilter("number", QCP.equals, billno); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_dispatch_mid", "id", new QFilter[]{flagFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (mid.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject midDispatch = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String flag = midDispatch.getString("nckd_flag"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return "1".equals(flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @description 拼接错误信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param resultString,errorChange,errorCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void appendErrorMessages(StringBuilder resultString, String errorChange, String errorCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!StringUtils.isEmpty(errorChange)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            resultString.append(errorChange).append("\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!StringUtils.isEmpty(errorCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        minInfo.set("nckd_card_number", cardNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SaveServiceHelper.save(new DynamicObject[]{minInfo}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |