lc/lc123/cloud/app/api/plugin/FWOtheroutApplySavePlugin.java

120 lines
5.6 KiB
Java
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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