From 4def8af5ec81fd734ab5d3e778b221a950c4ea04 Mon Sep 17 00:00:00 2001 From: lihao Date: Wed, 5 Nov 2025 08:50:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=8E=A8=E9=80=81=E9=AB=98?= =?UTF-8?q?=E5=8E=8Bims=E4=BC=98=E5=8C=96=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MaterialToGyImsListener.java | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyImsListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyImsListener.java index 3fbf920a..e8f78e3f 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyImsListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyImsListener.java @@ -53,14 +53,16 @@ public class MaterialToGyImsListener implements IBusinessListener { if ((num <= 0)) { continue; }else { - String materialid = ((MaterialStockVO) objs[0]).getPk_material(); - MaterialVO[] useVOs = (MaterialVO[]) BDCacheQueryUtil.queryVOsByIDs( - MaterialVO.class, - MaterialVO.PK_MATERIAL, - new String[]{materialid}, - new String[]{MaterialVO.PK_MEASDOC}); + // for (MaterialStockVO stockVO:(MaterialStockVO[])objs ){ + String materialid = materialStockVO.getPk_material(); + MaterialVO[] useVOs = (MaterialVO[]) BDCacheQueryUtil.queryVOsByIDs( + MaterialVO.class, + MaterialVO.PK_MATERIAL, + new String[]{materialid}, + new String[]{MaterialVO.PK_MEASDOC}); + pushIms(useVOs); + // } - pushIms(useVOs); } } // String materialid = ((MaterialStockVO) objs[0]).getPk_material(); @@ -170,7 +172,7 @@ public class MaterialToGyImsListener implements IBusinessListener { String[] fields = { "pk_material", "code", "name", "materialspec", "materialtype", "materialshortname", "pk_measdoc", "pk_marbasclass", "memo", - "enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate" + "enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate","itemCode" }; // 构建字段部分 @@ -201,6 +203,16 @@ public class MaterialToGyImsListener implements IBusinessListener { String unitsql="SELECT code from bd_measdoc where pk_measdoc='" +data.get("pk_measdoc")+ "'"; String unit = (String) new BaseDAO().executeQuery(unitsql,new ColumnProcessor()); data.put("pk_marbasclass",unit); + data.put("createdate",data.get("creationtime")); + // 将计划页签图号放入 + String def1sql="SELECT p.def1 from bd_materialplan p LEFT JOIN org_stockorg b ON p.pk_org = b.pk_stockorg where p.pk_material='" +data.get("pk_material")+ "' and b.code = '"+configParams.get("imsOrg").toString()+"'"; + String def1 = (String) new BaseDAO().executeQuery(def1sql,new ColumnProcessor()); + data.put("itemCode",def1); + + // 将计量单位编码放入 + String pk_measdocsql="SELECT p.code from bd_measdoc p where p.pk_measdoc='" +data.get("pk_measdoc")+ "' "; + String pk_measdoc = (String) new BaseDAO().executeQuery(pk_measdocsql,new ColumnProcessor()); + data.put("pk_measdoc",pk_measdoc); values.append("("); @@ -274,7 +286,7 @@ public class MaterialToGyImsListener implements IBusinessListener { String[] fields = { "pk_material", "code", "name", "materialspec", "materialtype", "materialshortname", "pk_measdoc", "pk_marbasclass", "memo", - "enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate" + "enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate","itemCode" }; for (Map data : remain) { @@ -284,6 +296,7 @@ public class MaterialToGyImsListener implements IBusinessListener { if (pkMaterial == null) { continue; // 主键为空时跳过更新 } + data.put("createdate",data.get("creationtime")); String matBasClassSql="SELECT code from bd_marbasclass where pk_marbasclass='" +data.get("pk_marbasclass")+ "'"; String matbascode = (String) new BaseDAO().executeQuery(matBasClassSql,new ColumnProcessor()); data.put("pk_marbasclass",matbascode); @@ -291,6 +304,11 @@ public class MaterialToGyImsListener implements IBusinessListener { String unitsql="SELECT code from bd_measdoc where pk_measdoc='" +data.get("pk_measdoc")+ "'"; String unit = (String) new BaseDAO().executeQuery(unitsql,new ColumnProcessor()); data.put("pk_marbasclass",unit); + + // 将计划页签图号放入 + String def1sql="SELECT p.def1 from bd_materialplan p LEFT JOIN org_stockorg b ON p.pk_org = b.pk_stockorg where p.pk_material='" +data.get("pk_material")+ "' and b.code = '"+configParams.get("imsOrg").toString()+"'"; + String def1 = (String) new BaseDAO().executeQuery(def1sql,new ColumnProcessor()); + data.put("itemCode",def1); // 构建SET部分 List setParts = new ArrayList<>(); for (String field : fields) {