diff --git a/uapbd/src/private/nc/bs/bd/pfxx/plugin/MaterialPfxxPlugin.java b/uapbd/src/private/nc/bs/bd/pfxx/plugin/MaterialPfxxPlugin.java index b4bf5fbd..09fe9c63 100644 --- a/uapbd/src/private/nc/bs/bd/pfxx/plugin/MaterialPfxxPlugin.java +++ b/uapbd/src/private/nc/bs/bd/pfxx/plugin/MaterialPfxxPlugin.java @@ -1,18 +1,11 @@ package nc.bs.bd.pfxx.plugin; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import com.yonyou.cloud.utils.CollectionUtils; - import nc.bs.dao.BaseDAO; import nc.bs.dao.DAOException; import nc.bs.framework.common.NCLocator; import nc.bs.logging.Logger; import nc.bs.pfxx.ISwapContext; import nc.itf.bd.material.baseinfo.IMaterialBaseInfoService; -import nc.jdbc.framework.processor.ColumnListProcessor; import nc.itf.bd.material.plan.IMaterialPlanQueryService; import nc.itf.bd.material.plan.IMaterialPlanService; import nc.itf.bd.material.stock.IMaterialStockQueryService; @@ -31,9 +24,12 @@ import nc.vo.pfxx.util.PfxxPluginUtils; import nc.vo.pub.BusinessException; import nc.vo.pub.VOStatus; import nc.vo.pub.lang.UFBoolean; - import nccloud.commons.lang.StringUtils; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + /** * 物料基本信息外部交互平台导入 * @@ -214,8 +210,7 @@ public class MaterialPfxxPlugin extends nc.bs.pfxx.plugin.AbstractPfxxPlugin { } private MaterialVO getUpdateVO(MaterialVO materialVO, String pk) throws BusinessException { - MaterialVO oldVO = (MaterialVO) this.getBaseDAO().retrieveByPK(MaterialVO.class, pk, - new String[] { MaterialVO.CREATOR, MaterialVO.CREATIONTIME, MaterialVO.PK_SOURCE, MaterialVO.VERSION, MaterialVO.LATEST, MaterialVO.ENABLESTATE }); + MaterialVO oldVO = (MaterialVO) this.getBaseDAO().retrieveByPK(MaterialVO.class, pk); if (oldVO == null) { throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("bdpub", "0bdpub0057") /* @res "该数据已被删除" */); @@ -232,7 +227,14 @@ public class MaterialPfxxPlugin extends nc.bs.pfxx.plugin.AbstractPfxxPlugin { materialVO.setMaterialconvert(this.getMaterialConvertVOs(materialVO)); materialVO.setMaterialtaxtype(this.getMaterialTaxTypeVOs(materialVO)); materialVO.setIsfeature(UFBoolean.FALSE); - + // 泰开专项,修改时,不清空自定义项的值 + for (int i = 1; i <= 50; i++) { + String defKey = "def" + i; + //如果没传自定义项,拿原来的自定义项的值 + if (materialVO.getAttributeValue(defKey) == null) { + materialVO.setAttributeValue(defKey,oldVO.getAttributeValue(defKey));; + } + } return materialVO; } diff --git a/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java b/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java index b61d9cab..e41207a8 100644 --- a/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java +++ b/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java @@ -114,11 +114,13 @@ public class MaterialToGyMesListener implements IBusinessListener { singleObj.put("mainWarehouse", stockMap.get("pk_stordoc")); // 主仓库 singleObj.put("reservation", stockMap.get("remain")); // 预留 singleObj.put("virtualItem", isvirtual.toString()); // 虚项 - singleObj.put("productionDepartment", prodMap.get("deptCode")); // 生产部门编码 - singleObj.put("matchingComponents", prodMap.get("iscreatesonprodorder")); // 配套子件 - singleObj.put("issuance", prodMap.get("issend")); // 发料 - singleObj.put("backflushMethod", prodMap.get("conversemethod")); // 倒冲方式 - singleObj.put("postCompletionProcessing", prodMap.get("wghxcl")); // 完工后续处理 + if (prodMap != null && !prodMap.isEmpty()) { + singleObj.put("productionDepartment", prodMap.get("deptCode")); // 生产部门编码 + singleObj.put("matchingComponents", prodMap.get("iscreatesonprodorder")); // 配套子件 + singleObj.put("issuance", prodMap.get("issend")); // 发料 + singleObj.put("backflushMethod", prodMap.get("conversemethod")); // 倒冲方式 + singleObj.put("postCompletionProcessing", prodMap.get("wghxcl")); // 完工后续处理 + } singleObj.put("bipCreateBy", creatorName); // 创建人 dataArr.add(singleObj); /** diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java index 07d1a802..169f6392 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java @@ -149,11 +149,13 @@ public class MaterialToGyMesListener implements IBusinessListener { singleObj.put("mainWarehouse", stockMap.get("pk_stordoc")); // 主仓库 singleObj.put("reservation", stockMap.get("remain")); // 预留 singleObj.put("virtualItem", isvirtual.toString()); // 虚项 - singleObj.put("productionDepartment", prodMap.get("deptCode")); // 生产部门编码 - singleObj.put("matchingComponents", prodMap.get("iscreatesonprodorder")); // 配套子件 - singleObj.put("issuance", prodMap.get("issend")); // 发料 - singleObj.put("backflushMethod", prodMap.get("conversemethod")); // 倒冲方式 - singleObj.put("postCompletionProcessing", prodMap.get("wghxcl")); // 完工后续处理 + if (prodMap != null && !prodMap.isEmpty()) { + singleObj.put("productionDepartment", prodMap.get("deptCode")); // 生产部门编码 + singleObj.put("matchingComponents", prodMap.get("iscreatesonprodorder")); // 配套子件 + singleObj.put("issuance", prodMap.get("issend")); // 发料 + singleObj.put("backflushMethod", prodMap.get("conversemethod")); // 倒冲方式 + singleObj.put("postCompletionProcessing", prodMap.get("wghxcl")); // 完工后续处理 + } singleObj.put("bipCreateBy", creatorName); // 创建人 dataArr.add(singleObj); /** @@ -240,7 +242,7 @@ public class MaterialToGyMesListener implements IBusinessListener { } private Map getProdInfo(String pkMaterial) throws BusinessException { - String sql = "SELECT b.code deptCode, a.iscreatesonprodorder, a.issend, a.conversemethod, a.converstime, a.wghxcl" + + String sql = "SELECT b.code deptCode, a.iscreatesonprodorder, a.issend, a.conversemethod, a.converstime, a.wghxcl" + " pk_materialprod " + "FROM " + " bd_materialprod a" +