120 lines
5.6 KiB
Java
120 lines
5.6 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 tqq9_ypzs = (String) reqDatum.get("tqq9_ypzs");
|
||
if("0".equals(tqq9_ypzs)){
|
||
reqDatum.put("tqq9_ypzs", "YPZS");
|
||
}else if ("1".equals(tqq9_ypzs)){
|
||
reqDatum.put("tqq9_ypzs", "KQWH");
|
||
}else if ("2".equals(tqq9_ypzs)){
|
||
reqDatum.put("tqq9_ypzs", "SHKQWH");
|
||
}else if ("3".equals(tqq9_ypzs)){
|
||
reqDatum.put("tqq9_ypzs", "MBYPLY");
|
||
}
|
||
//泛微审批状体
|
||
reqDatum.put("tqq9_fwstate", "C");
|
||
|
||
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;
|
||
}
|
||
}
|