【泛微盘点新增接口】
This commit is contained in:
parent
b77118320b
commit
479af662f4
|
|
@ -3342,6 +3342,324 @@ public class FWImpl {
|
||||||
return fwRestfulUtils.doBillAction(mainArr, detailRootArr, "采购费用申请流程", fw_wfid_zgyfd, billno, tqq9_fwrequestid);
|
return fwRestfulUtils.doBillAction(mainArr, detailRootArr, "采购费用申请流程", fw_wfid_zgyfd, billno, tqq9_fwrequestid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点表推送泛微
|
||||||
|
*/
|
||||||
|
public static String pushFwImInvCountBill(DynamicObject bill) {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String tqq9_fwrequestid = bill.getString("tqq9_fwrequestid");//泛微流程ID
|
||||||
|
String billno = bill.getString("billno");//流程编号
|
||||||
|
DynamicObject creator = bill.getDynamicObject("creator");//创建人
|
||||||
|
creator = BusinessDataServiceHelper.loadSingle(creator.getPkValue(), "bos_user", "tqq9_fwuserid,id,number");
|
||||||
|
String sqr = creator.getString("tqq9_fwuserid");//申请人
|
||||||
|
String bm = null;//部门
|
||||||
|
DynamicObject tqq9_dept = bill.getDynamicObject("tqq9_dept");//创建部门
|
||||||
|
if (tqq9_dept != null) {
|
||||||
|
String number = tqq9_dept.getString("number");
|
||||||
|
bm = FWUtils.getFwOrgNumberByKdOrgNumber(number);
|
||||||
|
}
|
||||||
|
|
||||||
|
Date createtime = bill.getDate("createtime");
|
||||||
|
String sqrq = sdf.format(createtime);//申请日期
|
||||||
|
|
||||||
|
DynamicObject org = bill.getDynamicObject("org");//库存组织
|
||||||
|
String orgNumber = org.getString("number");
|
||||||
|
String ywgz = FWUtils.getFwOrgNumberByKdOrgNumber(orgNumber);//业务归属
|
||||||
|
|
||||||
|
String kczz = ywgz;//库存组织
|
||||||
|
String djlx = null;//单据类型
|
||||||
|
DynamicObject billtype = bill.getDynamicObject("billtype");//单据类型
|
||||||
|
if (null != billtype) {
|
||||||
|
djlx = billtype.getString("name");
|
||||||
|
}
|
||||||
|
|
||||||
|
String zcrq = null;//账存日期
|
||||||
|
Date invaccdate = bill.getDate("invaccdate");
|
||||||
|
if (null != invaccdate) {
|
||||||
|
zcrq = sdf.format(invaccdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
String kgbm = null;// 库管部门
|
||||||
|
DynamicObject dept = bill.getDynamicObject("dept");
|
||||||
|
if (null != dept) {
|
||||||
|
String number = dept.getString("number");
|
||||||
|
kgbm = FWUtils.getFwOrgNumberByKdOrgNumber(number);
|
||||||
|
}
|
||||||
|
|
||||||
|
String kgy = null;//库管员
|
||||||
|
DynamicObject operator = bill.getDynamicObject("operator");
|
||||||
|
if (null != operator) {
|
||||||
|
DynamicObject kgyUser = BusinessDataServiceHelper.loadSingle("bos_user", "tqq9_fwuserid,id,number",
|
||||||
|
new QFilter[]{new QFilter("number", QCP.equals, operator.getString("operatornumber"))});
|
||||||
|
kgy = kgyUser.getString("tqq9_fwuserid");
|
||||||
|
}
|
||||||
|
|
||||||
|
int sjbftj = 0;//数据备份条件 0-即时库存 1-截止日期库存
|
||||||
|
//即时库存 invacc
|
||||||
|
//截止日期库存 enddateinvacc
|
||||||
|
String backupcondition = bill.getString("backupcondition");
|
||||||
|
if ("invacc".equals(backupcondition)) {
|
||||||
|
sjbftj = 0;
|
||||||
|
} else if ("enddateinvacc".equals(backupcondition)) {
|
||||||
|
sjbftj = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
String pdr = null;//盘点人
|
||||||
|
DynamicObject checker = bill.getDynamicObject("checker");
|
||||||
|
if (null != checker) {
|
||||||
|
DynamicObject kgyUser = BusinessDataServiceHelper.loadSingle("bos_user", "tqq9_fwuserid,id,number",
|
||||||
|
new QFilter[]{new QFilter("number", QCP.equals, checker.getString("operatornumber"))});
|
||||||
|
pdr = kgyUser.getString("tqq9_fwuserid");
|
||||||
|
}
|
||||||
|
|
||||||
|
String fpr = null;//复盘人
|
||||||
|
DynamicObject checker2nd = bill.getDynamicObject("checker2nd");
|
||||||
|
if (null != checker2nd) {
|
||||||
|
DynamicObject kgyUser = BusinessDataServiceHelper.loadSingle("bos_user", "tqq9_fwuserid,id,number",
|
||||||
|
new QFilter[]{new QFilter("number", QCP.equals, checker2nd.getString("operatornumber"))});
|
||||||
|
fpr = kgyUser.getString("tqq9_fwuserid");
|
||||||
|
}
|
||||||
|
|
||||||
|
String bz = bill.getString("comment");//备注
|
||||||
|
|
||||||
|
int pdszmrzsz = 0;//盘点数值默认值设置 0-账存数量
|
||||||
|
|
||||||
|
String pdfabh = bill.getString("schemenumber");//盘点方案编号
|
||||||
|
String pdfamc = bill.getString("schemename");//盘点方案名称
|
||||||
|
String pdfs = null;
|
||||||
|
String counttype = bill.getString("counttype");//盘点方式 定期盘点 A
|
||||||
|
if ("A".equals(counttype)) {
|
||||||
|
pdfs = "定期盘点";
|
||||||
|
}
|
||||||
|
|
||||||
|
//0-是 1-否
|
||||||
|
int sfqyfp = 0;//是否启用复盘
|
||||||
|
boolean enablecheck = bill.getBoolean("enablecheck");
|
||||||
|
if (enablecheck) {
|
||||||
|
sfqyfp = 0;
|
||||||
|
} else {
|
||||||
|
sfqyfp = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sfbdzcy;//是否不调整差异
|
||||||
|
boolean nogenotherinout = bill.getBoolean("nogenotherinout");
|
||||||
|
if (nogenotherinout) {
|
||||||
|
sfbdzcy = 0;
|
||||||
|
} else {
|
||||||
|
sfbdzcy = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//取数节点 主表 选择框-下拉框 0-截止日期初始 1-截止日期结存
|
||||||
|
//截止日期初始 start
|
||||||
|
//截止日期结存 end
|
||||||
|
int qsjd = 0;
|
||||||
|
String accessnode = bill.getString("accessnode");
|
||||||
|
if ("start".equals(accessnode)) {
|
||||||
|
qsjd = 0;
|
||||||
|
} else if ("end".equals(accessnode)) {
|
||||||
|
qsjd = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sfpcbd = 0;//是否排除补单
|
||||||
|
boolean excludeenddate = bill.getBoolean("excludeenddate");
|
||||||
|
if (excludeenddate) {
|
||||||
|
sfpcbd = 0;
|
||||||
|
} else {
|
||||||
|
sfpcbd = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject detail1 = new JSONObject();
|
||||||
|
JSONArray recordsArr1 = new JSONArray();
|
||||||
|
DynamicObjectCollection entries = bill.getDynamicObjectCollection("billentry");
|
||||||
|
for (DynamicObject entry : entries) {
|
||||||
|
String wlbm = null;//物料编码
|
||||||
|
String wlmc = null;//物料名称
|
||||||
|
String ggxh = null;//规格型号
|
||||||
|
DynamicObject material = entry.getDynamicObject("material");//物料编码
|
||||||
|
if (null != material) {
|
||||||
|
wlbm = material.getString("masterid.number");
|
||||||
|
wlmc = material.getString("masterid.number");
|
||||||
|
ggxh = material.getString("masterid.modelnum");
|
||||||
|
}
|
||||||
|
|
||||||
|
String ph = entry.getString("lotnumber");//批号
|
||||||
|
String scrq = null;//生产日期
|
||||||
|
Date producedate = entry.getDate("producedate");
|
||||||
|
if (null != producedate) {
|
||||||
|
scrq = sdf.format(producedate);
|
||||||
|
}
|
||||||
|
|
||||||
|
String dqrq = null;//到期日期
|
||||||
|
Date expirydate = entry.getDate("expirydate");
|
||||||
|
if (null != expirydate) {
|
||||||
|
dqrq = sdf.format(expirydate);
|
||||||
|
}
|
||||||
|
|
||||||
|
String jldw = null;//计量单位
|
||||||
|
DynamicObject unit = entry.getDynamicObject("unit");
|
||||||
|
if (null != unit) {
|
||||||
|
jldw = unit.getString("name");
|
||||||
|
}
|
||||||
|
|
||||||
|
BigDecimal pdsl = entry.getBigDecimal("qty");//盘点数量
|
||||||
|
BigDecimal zcsl = entry.getBigDecimal("qtyacc");//账存数量
|
||||||
|
BigDecimal dzsl = entry.getBigDecimal("adjustqty");//调整数量
|
||||||
|
BigDecimal fpsl = entry.getBigDecimal("checkqty");//复盘数量
|
||||||
|
BigDecimal pysl = entry.getBigDecimal("gainqty");//盘盈数量
|
||||||
|
BigDecimal pksl = entry.getBigDecimal("lossqty");//盘亏数量
|
||||||
|
String ck = null;
|
||||||
|
DynamicObject warehouse = entry.getDynamicObject("warehouse");//仓库
|
||||||
|
if (null != warehouse) {
|
||||||
|
ck = warehouse.getString("number");
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject e1 = new JSONObject();
|
||||||
|
e1.put("fieldName", "wlbm");
|
||||||
|
e1.put("fieldValue", wlbm);
|
||||||
|
JSONObject e2 = new JSONObject();
|
||||||
|
e2.put("fieldName", "wlmc");
|
||||||
|
e2.put("fieldValue", wlmc);
|
||||||
|
JSONObject e3 = new JSONObject();
|
||||||
|
e3.put("fieldName", "ggxh");
|
||||||
|
e3.put("fieldValue", ggxh);
|
||||||
|
JSONObject e4 = new JSONObject();
|
||||||
|
e4.put("fieldName", "ph");
|
||||||
|
e4.put("fieldValue", ph);
|
||||||
|
JSONObject e5 = new JSONObject();
|
||||||
|
e5.put("fieldName", "scrq");
|
||||||
|
e5.put("fieldValue", scrq);
|
||||||
|
JSONObject e6 = new JSONObject();
|
||||||
|
e6.put("fieldName", "dqrq");
|
||||||
|
e6.put("fieldValue", dqrq);
|
||||||
|
JSONObject e7 = new JSONObject();
|
||||||
|
e7.put("fieldName", "jldw");
|
||||||
|
e7.put("fieldValue", jldw);
|
||||||
|
JSONObject e8 = new JSONObject();
|
||||||
|
e8.put("fieldName", "pdsl");
|
||||||
|
e8.put("fieldValue", pdsl == null || pdsl.compareTo(BigDecimal.ZERO) == 0 ? 0 : pdsl);
|
||||||
|
JSONObject e9 = new JSONObject();
|
||||||
|
e9.put("fieldName", "zcsl");
|
||||||
|
e9.put("fieldValue", zcsl == null || zcsl.compareTo(BigDecimal.ZERO) == 0 ? 0 : zcsl);
|
||||||
|
JSONObject e10 = new JSONObject();
|
||||||
|
e10.put("fieldName", "dzsl");
|
||||||
|
e10.put("fieldValue", dzsl == null || dzsl.compareTo(BigDecimal.ZERO) == 0 ? 0 : dzsl);
|
||||||
|
JSONObject e11 = new JSONObject();
|
||||||
|
e11.put("fieldName", "fpsl");
|
||||||
|
e11.put("fieldValue", fpsl == null || fpsl.compareTo(BigDecimal.ZERO) == 0 ? 0 : fpsl);
|
||||||
|
JSONObject e12 = new JSONObject();
|
||||||
|
e12.put("fieldName", "pysl");
|
||||||
|
e12.put("fieldValue", pysl == null || pysl.compareTo(BigDecimal.ZERO) == 0 ? 0 : pysl);
|
||||||
|
JSONObject e13 = new JSONObject();
|
||||||
|
e13.put("fieldName", "pksl");
|
||||||
|
e13.put("fieldValue", pksl == null || pksl.compareTo(BigDecimal.ZERO) == 0 ? 0 : pksl);
|
||||||
|
JSONObject e14 = new JSONObject();
|
||||||
|
e14.put("fieldName", "ck");
|
||||||
|
e14.put("fieldValue", ck);
|
||||||
|
|
||||||
|
|
||||||
|
List<JSONObject> elist = Arrays.asList(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14);
|
||||||
|
JSONArray recordsArr = new JSONArray();
|
||||||
|
recordsArr.addAll(elist);
|
||||||
|
|
||||||
|
JSONObject recordObj = new JSONObject();
|
||||||
|
recordObj.put("recordOrder", 0);
|
||||||
|
recordObj.put("workflowRequestTableFields", recordsArr);
|
||||||
|
recordsArr1.add(recordObj);
|
||||||
|
}
|
||||||
|
detail1.put("tableDBName", "formtable_main_114_dt1");
|
||||||
|
detail1.put("workflowRequestTableRecords", recordsArr1);
|
||||||
|
if (StringUtils.isNotBlank(tqq9_fwrequestid)) {
|
||||||
|
detail1.put("deleteAll", "1");
|
||||||
|
}
|
||||||
|
JSONArray detailRootArr = new JSONArray();
|
||||||
|
detailRootArr.add(detail1);
|
||||||
|
|
||||||
|
//构建主表数据
|
||||||
|
JSONObject m1 = new JSONObject();//
|
||||||
|
m1.put("fieldName", "KDBillType");
|
||||||
|
m1.put("fieldValue", "im_invcountbill");
|
||||||
|
JSONObject m2 = new JSONObject();//
|
||||||
|
m2.put("fieldName", "lcbh");
|
||||||
|
m2.put("fieldValue", billno);
|
||||||
|
JSONObject m3 = new JSONObject();//
|
||||||
|
m3.put("fieldName", "sqr");
|
||||||
|
m3.put("fieldValue", sqr);
|
||||||
|
JSONObject m4 = new JSONObject();//
|
||||||
|
m4.put("fieldName", "bm");
|
||||||
|
m4.put("fieldValue", bm);
|
||||||
|
JSONObject m5 = new JSONObject();//
|
||||||
|
m5.put("fieldName", "sqrq");
|
||||||
|
m5.put("fieldValue", sqrq);
|
||||||
|
JSONObject m6 = new JSONObject();//
|
||||||
|
m6.put("fieldName", "ywgz");
|
||||||
|
m6.put("fieldValue", ywgz);
|
||||||
|
JSONObject m7 = new JSONObject();//
|
||||||
|
m7.put("fieldName", "kczz");
|
||||||
|
m7.put("fieldValue", kczz);
|
||||||
|
JSONObject m8 = new JSONObject();//
|
||||||
|
m8.put("fieldName", "djlx");
|
||||||
|
m8.put("fieldValue", djlx);
|
||||||
|
JSONObject m9 = new JSONObject();//
|
||||||
|
m9.put("fieldName", "zcrq");
|
||||||
|
m9.put("fieldValue", zcrq);
|
||||||
|
JSONObject m10 = new JSONObject();//
|
||||||
|
m10.put("fieldName", "kgbm");
|
||||||
|
m10.put("fieldValue", kgbm);
|
||||||
|
JSONObject m11 = new JSONObject();//
|
||||||
|
m11.put("fieldName", "kgy");
|
||||||
|
m11.put("fieldValue", kgy);
|
||||||
|
JSONObject m12 = new JSONObject();//
|
||||||
|
m12.put("fieldName", "sjbftj");
|
||||||
|
m12.put("fieldValue", sjbftj);
|
||||||
|
JSONObject m13 = new JSONObject();//
|
||||||
|
m13.put("fieldName", "pdr");
|
||||||
|
m13.put("fieldValue", pdr);
|
||||||
|
JSONObject m14 = new JSONObject();//
|
||||||
|
m14.put("fieldName", "fpr");
|
||||||
|
m14.put("fieldValue", fpr);
|
||||||
|
JSONObject m15 = new JSONObject();//
|
||||||
|
m15.put("fieldName", "bz");
|
||||||
|
m15.put("fieldValue", bz);
|
||||||
|
JSONObject m16 = new JSONObject();//
|
||||||
|
m16.put("fieldName", "pdszmrzsz");
|
||||||
|
m16.put("fieldValue", pdszmrzsz);
|
||||||
|
JSONObject m17 = new JSONObject();//
|
||||||
|
m17.put("fieldName", "pdfabh");
|
||||||
|
m17.put("fieldValue", pdfabh);
|
||||||
|
JSONObject m18 = new JSONObject();//
|
||||||
|
m18.put("fieldName", "pdfamc");
|
||||||
|
m18.put("fieldValue", pdfamc);
|
||||||
|
JSONObject m19 = new JSONObject();//
|
||||||
|
m19.put("fieldName", "pdfs");
|
||||||
|
m19.put("fieldValue", pdfs);
|
||||||
|
JSONObject m20 = new JSONObject();//
|
||||||
|
m20.put("fieldName", "sfqyfp");
|
||||||
|
m20.put("fieldValue", sfqyfp);
|
||||||
|
JSONObject m21 = new JSONObject();//
|
||||||
|
m21.put("fieldName", "sfbdzcy");
|
||||||
|
m21.put("fieldValue", sfbdzcy);
|
||||||
|
JSONObject m22 = new JSONObject();//
|
||||||
|
m22.put("fieldName", "qsjd");
|
||||||
|
m22.put("fieldValue", qsjd);
|
||||||
|
JSONObject m23 = new JSONObject();//
|
||||||
|
m23.put("fieldName", "sfpcbd");
|
||||||
|
m23.put("fieldValue", sfpcbd);
|
||||||
|
|
||||||
|
List<JSONObject> mlist = new ArrayList<>(Arrays.asList(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16,
|
||||||
|
m17, m18, m19, m20, m21, m22, m23));
|
||||||
|
|
||||||
|
JSONArray mainArr = new JSONArray();
|
||||||
|
mainArr.addAll(mlist);
|
||||||
|
|
||||||
|
String fw_wfid_pdb = ConfigUtils.getThirdConfigByNumber("FW_WFID_PDB");
|
||||||
|
FWRestfulUtils fwRestfulUtils = new FWRestfulUtils();
|
||||||
|
//如果单据上纯在泛微流程id,重新提交调用泛微提交接口,如果没有泛微流程id,就调用新增接口
|
||||||
|
return fwRestfulUtils.doBillAction(mainArr, detailRootArr, "盘点结果确认审批流程", fw_wfid_pdb, billno, tqq9_fwrequestid);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 短缺处理推送泛微
|
* 短缺处理推送泛微
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue