【泛微盘点新增接口】
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); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 盘点表推送泛微 | ||||
|      */ | ||||
|     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