108 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Java
		
	
	
	
| package tqq9.lc123.cloud.app.api.plugin;
 | ||
| 
 | ||
| import kd.bos.dataentity.entity.DynamicObject;
 | ||
| import kd.bos.openapi.api.plugin.ApiSavePlugin;
 | ||
| import tqq9.lc123.cloud.app.plugin.utils.FWUtils;
 | ||
| 
 | ||
| import java.util.HashMap;
 | ||
| import java.util.List;
 | ||
| import java.util.Map;
 | ||
| 
 | ||
| /**
 | ||
|  * 泛微其他入申请导入接口插件
 | ||
|  */
 | ||
| public class FWOtheroutApplySavePlugin implements ApiSavePlugin {
 | ||
| 
 | ||
|     @Override
 | ||
|     public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
 | ||
|         for (Map<String, Object> reqDatum : reqData) {
 | ||
|             //组织
 | ||
|             Map<String, Object> org = (Map<String, Object>) reqDatum.get("org");
 | ||
|             String orgnumber = (String) org.get("number");
 | ||
|             DynamicObject kdOrg = FWUtils.getKdOrgByFsOrgNumber(orgnumber);
 | ||
|             org.put("number", kdOrg.getString("number"));
 | ||
|             reqDatum.put("org", org);
 | ||
|             //单据类型
 | ||
|             Map<String, Object> map = new HashMap<>();
 | ||
|             map.put("number", "tqq9_otheroutapply_BT");
 | ||
|             reqDatum.put("tqq9_billtype", map);
 | ||
|             //业务类型 0-样品赠送 1-礼品领用 2-展会领用 3-拍照领用
 | ||
|             Map<String, Object> map1 = new HashMap<>();//库存事务
 | ||
|             Map<String, Object> tqq9_biztype = (Map<String, Object>) reqDatum.get("tqq9_biztype");
 | ||
|             Object biztypenumber = tqq9_biztype.get("number");
 | ||
|             if("0".equals(biztypenumber)){
 | ||
|                 tqq9_biztype.put("number", "616");
 | ||
|                 map1.put("number", "616.1");
 | ||
|             }else if("1".equals(biztypenumber)){
 | ||
|                 tqq9_biztype.put("number", "613");
 | ||
|                 map1.put("number", "613.1");
 | ||
|             }else if("2".equals(biztypenumber)){
 | ||
|                 tqq9_biztype.put("number", "614");
 | ||
|                 map1.put("number", "614.1");
 | ||
|             }else if("3".equals(biztypenumber)){
 | ||
|                 tqq9_biztype.put("number", "615");
 | ||
|                 map1.put("number", "615.1");
 | ||
|             }
 | ||
|             //库存事务赋值
 | ||
|             reqDatum.put("tqq9_kcsw", map1);
 | ||
|             //接收人
 | ||
|             Map<String, Object> tqq9_user = (Map<String, Object>) reqDatum.get("tqq9_user");
 | ||
|             String tqq9_user_number = (String) tqq9_user.get("number");
 | ||
|             DynamicObject kdUser = FWUtils.getKdUserByFwUserID(tqq9_user_number);
 | ||
|             if(kdUser != null){
 | ||
|                 tqq9_user.put("number", kdUser.getString("number"));
 | ||
|                 reqDatum.put("tqq9_user", tqq9_user);
 | ||
|             }
 | ||
|             //申请部门
 | ||
|             Map<String, Object> tqq9_dept = (Map<String, Object>) reqDatum.get("tqq9_dept");
 | ||
|             String tqq9_dept_number = (String) tqq9_dept.get("number");
 | ||
|             DynamicObject kdDept = FWUtils.getKdOrgByFsOrgNumber(tqq9_dept_number);
 | ||
|             if(kdDept != null){
 | ||
|                 tqq9_dept.put("number", kdDept.getString("number"));
 | ||
|                 reqDatum.put("tqq9_dept", tqq9_dept);
 | ||
|             }
 | ||
|             //库管员 tqq9_operator_operatorid_number
 | ||
|             Map<String, Object> tqq9_operator = (Map<String, Object>) reqDatum.get("tqq9_operator");
 | ||
|             if(tqq9_operator != null && tqq9_operator.size() > 0){
 | ||
|                 Map<String, Object> operatorid = (Map<String, Object>) tqq9_operator.get("operatorid");
 | ||
|                 if(operatorid != null && operatorid.size() > 0){
 | ||
|                     String operatorNumber = (String) operatorid.get("number");
 | ||
|                     DynamicObject kdOperator = FWUtils.getKdUserByFwUserID(operatorNumber);
 | ||
|                     if (kdOperator != null){
 | ||
|                         operatorid.put("number", kdOperator.getString("number"));
 | ||
|                         tqq9_operator.put("operatorid", operatorid);
 | ||
|                         reqDatum.put("tqq9_operator", tqq9_operator);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
| 
 | ||
|             String ckNumber = null;
 | ||
|             //明细
 | ||
|             List<Map<String, Object>> entries = (List<Map<String, Object>>) reqDatum.get("entryentity");
 | ||
|             for (Map<String, Object> entry : entries) {
 | ||
|                 entry.put("tqq9_outownertype", "bos_org");//出库货主类型
 | ||
|                 Map<String, Object> tqq9_outinvtype = new HashMap<>();
 | ||
|                 tqq9_outinvtype.put("number", "110");
 | ||
|                 entry.put("tqq9_outinvtype", tqq9_outinvtype);//出库库存类型
 | ||
|                 Map<String, Object> tqq9_outinvstatus = new HashMap<>();
 | ||
|                 tqq9_outinvstatus.put("number", "110");
 | ||
|                 entry.put("tqq9_outinvstatus", tqq9_outinvstatus);//出库库存状态
 | ||
|                 entry.put("tqq9_outowner", org);//出库货主
 | ||
|                 entry.put("tqq9_outkeepertype", "bos_org");//出库保管者类型
 | ||
|                 entry.put("tqq9_outkeeper", org);//出库保管者
 | ||
|                 Map<String, Object> tqq9_dcck = (Map<String, Object>) entry.get("tqq9_dcck");
 | ||
|                 ckNumber = (String) tqq9_dcck.get("number");
 | ||
|             }
 | ||
| 
 | ||
|             Map<String, Object> tqq9_ckck_number = new HashMap<>();
 | ||
|             tqq9_ckck_number.put("number", ckNumber);
 | ||
|             reqDatum.put("tqq9_ckck", tqq9_ckck_number);
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         return reqData;
 | ||
|     }
 | ||
| }
 |