高压物料推送注释调整
This commit is contained in:
parent
22004d24aa
commit
7654d019e9
|
|
@ -36,6 +36,11 @@ import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述:物料同步到高压mes-已弃用
|
||||||
|
*
|
||||||
|
* @author lihao
|
||||||
|
*/
|
||||||
public class MaterialToGyMesTaskPlugin implements IBackgroundWorkPlugin {
|
public class MaterialToGyMesTaskPlugin implements IBackgroundWorkPlugin {
|
||||||
private HYSuperDMO superDMO = null;
|
private HYSuperDMO superDMO = null;
|
||||||
private static final String LOG_INFO_NAME = "gymeslog";
|
private static final String LOG_INFO_NAME = "gymeslog";
|
||||||
|
|
@ -44,14 +49,16 @@ public class MaterialToGyMesTaskPlugin implements IBackgroundWorkPlugin {
|
||||||
private static final String updateUrl = "/bip/order/materialUpdate";
|
private static final String updateUrl = "/bip/order/materialUpdate";
|
||||||
private Map<String, String> configParams;
|
private Map<String, String> configParams;
|
||||||
private String orgId = "";
|
private String orgId = "";
|
||||||
|
|
||||||
public HYSuperDMO getSuperDMO() {
|
public HYSuperDMO getSuperDMO() {
|
||||||
|
|
||||||
if(superDMO == null) {
|
if (superDMO == null) {
|
||||||
superDMO = new HYSuperDMO();
|
superDMO = new HYSuperDMO();
|
||||||
}
|
}
|
||||||
|
|
||||||
return superDMO;
|
return superDMO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreAlertObject executeTask(BgWorkingContext arg0) throws BusinessException {
|
public PreAlertObject executeTask(BgWorkingContext arg0) throws BusinessException {
|
||||||
Logger.error("---start----任务开始运行--");
|
Logger.error("---start----任务开始运行--");
|
||||||
|
|
@ -68,7 +75,7 @@ public class MaterialToGyMesTaskPlugin implements IBackgroundWorkPlugin {
|
||||||
OrgVO.PK_ORG,
|
OrgVO.PK_ORG,
|
||||||
OrgVO.CODE + " = 'C046' and ISBUSINESSUNIT = 'Y'"
|
OrgVO.CODE + " = 'C046' and ISBUSINESSUNIT = 'Y'"
|
||||||
);
|
);
|
||||||
UFDouble hours=configParams.get("hours") != null ? new UFDouble(configParams.get("hours")) : UFDouble.ONE_DBL.add(UFDouble.ONE_DBL);
|
UFDouble hours = configParams.get("hours") != null ? new UFDouble(configParams.get("hours")) : UFDouble.ONE_DBL.add(UFDouble.ONE_DBL);
|
||||||
// 在Java中计算时间范围(当前时间前两小时到当前时间)
|
// 在Java中计算时间范围(当前时间前两小时到当前时间)
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
Date endTime = new Date(); // 当前时间
|
Date endTime = new Date(); // 当前时间
|
||||||
|
|
@ -103,10 +110,10 @@ public class MaterialToGyMesTaskPlugin implements IBackgroundWorkPlugin {
|
||||||
" AND ts BETWEEN '" + startStr + "' AND '" + endStr + "'";
|
" AND ts BETWEEN '" + startStr + "' AND '" + endStr + "'";
|
||||||
|
|
||||||
ArrayList<HashMap<String, Object>> al = (ArrayList<HashMap<String, Object>>) dao.executeQuery(sql, new MapListProcessor());
|
ArrayList<HashMap<String, Object>> al = (ArrayList<HashMap<String, Object>>) dao.executeQuery(sql, new MapListProcessor());
|
||||||
if(al.isEmpty()) {
|
if (al.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
List<MaterialVO> list=new ArrayList<>();
|
List<MaterialVO> list = new ArrayList<>();
|
||||||
for (HashMap<String, Object> map : al) {
|
for (HashMap<String, Object> map : al) {
|
||||||
HYPubBO hyPub = new HYPubBO();
|
HYPubBO hyPub = new HYPubBO();
|
||||||
MaterialVO materialVO = (MaterialVO) hyPub.queryByPrimaryKey((Class) MaterialVO.class, (String) map.get("pk_material"));
|
MaterialVO materialVO = (MaterialVO) hyPub.queryByPrimaryKey((Class) MaterialVO.class, (String) map.get("pk_material"));
|
||||||
|
|
@ -124,11 +131,11 @@ public class MaterialToGyMesTaskPlugin implements IBackgroundWorkPlugin {
|
||||||
MaterialVO[] useVOs = list.toArray(new MaterialVO[0]);
|
MaterialVO[] useVOs = list.toArray(new MaterialVO[0]);
|
||||||
buildSyncData(useVOs);
|
buildSyncData(useVOs);
|
||||||
}
|
}
|
||||||
}catch(Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
//Òì³£»Ø¹ö
|
// 异常回滚
|
||||||
TransactionFactory.getTMProxy().end(e);
|
TransactionFactory.getTMProxy().end(e);
|
||||||
Logger.error("writeBack Error: ",e);
|
Logger.error("writeBack Error: ", e);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -197,7 +204,7 @@ public class MaterialToGyMesTaskPlugin implements IBackgroundWorkPlugin {
|
||||||
// 库存供货组织编码获取
|
// 库存供货组织编码获取
|
||||||
String mrlsql = "select code from org_stockorg where pk_stockorg = '" + stockMap.get("pk_suplystockorg") + "' ";
|
String mrlsql = "select code from org_stockorg where pk_stockorg = '" + stockMap.get("pk_suplystockorg") + "' ";
|
||||||
Map<String, Object> stockorg = (Map<String, Object>) baseDAO.executeQuery(mrlsql, new MapProcessor());
|
Map<String, Object> stockorg = (Map<String, Object>) baseDAO.executeQuery(mrlsql, new MapProcessor());
|
||||||
if(stockorg != null && !stockorg.isEmpty()){
|
if (stockorg != null && !stockorg.isEmpty()) {
|
||||||
singleObj.put("supplyInventoryOrg", stockorg.get("code"));// 库存供货组织
|
singleObj.put("supplyInventoryOrg", stockorg.get("code"));// 库存供货组织
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ import java.util.*;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 高压MES-物料新增后同步
|
* 高压MES-物料新增后同步-已弃用
|
||||||
*
|
*
|
||||||
* @author lihao
|
* @author lihao
|
||||||
* @date 2025/09/11
|
* @date 2025/09/11
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,27 @@
|
||||||
package nccloud.api.uapbd.material.listener;
|
package nccloud.api.uapbd.material.listener;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
||||||
import nc.bs.bd.assignservice.multiorg.MultiOrgAssignVO;
|
|
||||||
import nc.bs.bd.baseservice.ArrayClassConvertUtil;
|
import nc.bs.bd.baseservice.ArrayClassConvertUtil;
|
||||||
import nc.bs.businessevent.IBusinessEvent;
|
import nc.bs.businessevent.IBusinessEvent;
|
||||||
import nc.bs.businessevent.IBusinessListener;
|
import nc.bs.businessevent.IBusinessListener;
|
||||||
import nc.bs.businessevent.bd.BDCommonEvent;
|
import nc.bs.businessevent.bd.BDCommonEvent;
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
import nc.bs.dao.DAOException;
|
|
||||||
import nc.bs.logging.Log;
|
import nc.bs.logging.Log;
|
||||||
import nc.bs.trade.business.HYPubBO;
|
|
||||||
import nc.bs.uapbd.util.MyHelper;
|
import nc.bs.uapbd.util.MyHelper;
|
||||||
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
|
||||||
import nc.jdbc.framework.processor.ColumnProcessor;
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||||
import nc.jdbc.framework.processor.MapListProcessor;
|
import nc.jdbc.framework.processor.MapListProcessor;
|
||||||
import nc.jdbc.framework.processor.MapProcessor;
|
|
||||||
import nc.vo.bd.material.MaterialVO;
|
import nc.vo.bd.material.MaterialVO;
|
||||||
import nc.vo.bd.material.marbasclass.MarBasClassVO;
|
|
||||||
import nc.vo.bd.material.stock.MaterialStockVO;
|
import nc.vo.bd.material.stock.MaterialStockVO;
|
||||||
import nc.vo.bd.pub.BDCacheQueryUtil;
|
import nc.vo.bd.pub.BDCacheQueryUtil;
|
||||||
import nc.vo.fi.pub.SqlUtils;
|
|
||||||
import nc.vo.org.OrgVO;
|
import nc.vo.org.OrgVO;
|
||||||
import nc.vo.pub.BusinessException;
|
import nc.vo.pub.BusinessException;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述:物料同步到高压IMS-已弃用
|
||||||
|
*
|
||||||
|
* @author lihao
|
||||||
|
*/
|
||||||
public class MaterialToGyImsListener implements IBusinessListener {
|
public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
private static final String LOG_INFO_NAME = "dldzlog";
|
private static final String LOG_INFO_NAME = "dldzlog";
|
||||||
private static final Log logDl = Log.getInstance(LOG_INFO_NAME);
|
private static final Log logDl = Log.getInstance(LOG_INFO_NAME);
|
||||||
|
|
@ -40,27 +35,27 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
Object[] objs = e.getObjs();
|
Object[] objs = e.getObjs();
|
||||||
|
|
||||||
// EventType是事件编码 1009分配后新增 1012 取消分配后删除
|
// EventType是事件编码 1009分配后新增 1012 取消分配后删除
|
||||||
if ("1009".equals(eventType) ) {
|
if ("1009".equals(eventType)) {
|
||||||
configParams = MyHelper.getConfigParams("gy-config", null);
|
configParams = MyHelper.getConfigParams("gy-config", null);
|
||||||
if (configParams.isEmpty()) {
|
if (configParams.isEmpty()) {
|
||||||
throw new BusinessException("高压的gymes接口缺少配置");
|
throw new BusinessException("高压的gymes接口缺少配置");
|
||||||
}
|
}
|
||||||
MaterialStockVO[] materialStockVOS = ArrayClassConvertUtil.convert(objs, MaterialStockVO.class);
|
MaterialStockVO[] materialStockVOS = ArrayClassConvertUtil.convert(objs, MaterialStockVO.class);
|
||||||
for (MaterialStockVO materialStockVO : materialStockVOS) {
|
for (MaterialStockVO materialStockVO : materialStockVOS) {
|
||||||
String pkOrg = materialStockVO.getPk_org();
|
String pkOrg = materialStockVO.getPk_org();
|
||||||
String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
|
String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
|
||||||
Integer num = MyHelper.checkIfOrg1(configParams, materialStockVO.getPk_materialstock(), "imsOrg");
|
Integer num = MyHelper.checkIfOrg1(configParams, materialStockVO.getPk_materialstock(), "imsOrg");
|
||||||
if ((num <= 0)) {
|
if ((num <= 0)) {
|
||||||
continue;
|
continue;
|
||||||
}else {
|
} else {
|
||||||
// for (MaterialStockVO stockVO:(MaterialStockVO[])objs ){
|
// for (MaterialStockVO stockVO:(MaterialStockVO[])objs ){
|
||||||
String materialid = materialStockVO.getPk_material();
|
String materialid = materialStockVO.getPk_material();
|
||||||
MaterialVO[] useVOs = (MaterialVO[]) BDCacheQueryUtil.queryVOsByIDs(
|
MaterialVO[] useVOs = (MaterialVO[]) BDCacheQueryUtil.queryVOsByIDs(
|
||||||
MaterialVO.class,
|
MaterialVO.class,
|
||||||
MaterialVO.PK_MATERIAL,
|
MaterialVO.PK_MATERIAL,
|
||||||
new String[]{materialid},
|
new String[]{materialid},
|
||||||
new String[]{MaterialVO.PK_MEASDOC});
|
new String[]{MaterialVO.PK_MEASDOC});
|
||||||
pushIms(useVOs);
|
pushIms(useVOs);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -73,12 +68,11 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
// new String[]{MaterialVO.PK_MEASDOC});
|
// new String[]{MaterialVO.PK_MEASDOC});
|
||||||
//
|
//
|
||||||
// pushIms(useVOs);
|
// pushIms(useVOs);
|
||||||
}else if ("1069".equals(eventType) || "1071".equals(eventType) ) {
|
} else if ("1069".equals(eventType) || "1071".equals(eventType)) {
|
||||||
MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class);
|
MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class);
|
||||||
// 更新启用状态
|
// 更新启用状态
|
||||||
|
|
||||||
updateEnableStatus(useVOs);
|
updateEnableStatus(useVOs);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} else if ("1012".equals(eventType)) {
|
} else if ("1012".equals(eventType)) {
|
||||||
|
|
@ -86,7 +80,7 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
if (configParams.isEmpty()) {
|
if (configParams.isEmpty()) {
|
||||||
throw new BusinessException("高压的gymes接口缺少配置");
|
throw new BusinessException("高压的gymes接口缺少配置");
|
||||||
}
|
}
|
||||||
MaterialStockVO[] materialStockVOS = ArrayClassConvertUtil.convert(objs, MaterialStockVO.class);
|
MaterialStockVO[] materialStockVOS = ArrayClassConvertUtil.convert(objs, MaterialStockVO.class);
|
||||||
for (MaterialStockVO materialStockVO : materialStockVOS) {
|
for (MaterialStockVO materialStockVO : materialStockVOS) {
|
||||||
String pkOrg = materialStockVO.getPk_org();
|
String pkOrg = materialStockVO.getPk_org();
|
||||||
String[] orgItem = configParams.get("imsOrg").split(",");
|
String[] orgItem = configParams.get("imsOrg").split(",");
|
||||||
|
|
@ -94,11 +88,11 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
// Integer num = MyHelper.checkIfOrg1(configParams, materialStockVO.getPk_materialstock(), "imsOrg");
|
// Integer num = MyHelper.checkIfOrg1(configParams, materialStockVO.getPk_materialstock(), "imsOrg");
|
||||||
if (!contains(orgItem, orgCode)) {
|
if (!contains(orgItem, orgCode)) {
|
||||||
continue;
|
continue;
|
||||||
}else {
|
} else {
|
||||||
updateStatus(materialStockVO.getPk_material(),"D");
|
updateStatus(materialStockVO.getPk_material(), "D");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if ("1004".equals(eventType) ) {
|
} else if ("1004".equals(eventType)) {
|
||||||
configParams = MyHelper.getConfigParams("gy-config", null);
|
configParams = MyHelper.getConfigParams("gy-config", null);
|
||||||
if (configParams.isEmpty()) {
|
if (configParams.isEmpty()) {
|
||||||
throw new BusinessException("高压的gymes接口缺少配置");
|
throw new BusinessException("高压的gymes接口缺少配置");
|
||||||
|
|
@ -109,9 +103,9 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
updateIms(useVOs);
|
updateIms(useVOs);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean contains(String[] orgItem, String target) {
|
public static boolean contains(String[] orgItem, String target) {
|
||||||
// 数组为null时直接返回false
|
// 数组为null时直接返回false
|
||||||
if (orgItem == null) {
|
if (orgItem == null) {
|
||||||
|
|
@ -135,7 +129,7 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
Integer orgCheckResult = MyHelper.checkIfOrg(configParams, materialVO.getPk_material(), "imsOrg");
|
Integer orgCheckResult = MyHelper.checkIfOrg(configParams, materialVO.getPk_material(), "imsOrg");
|
||||||
if (orgCheckResult != null && orgCheckResult > 0) {
|
if (orgCheckResult != null && orgCheckResult > 0) {
|
||||||
materialCodes.add(materialVO.getPk_material());
|
materialCodes.add(materialVO.getPk_material());
|
||||||
updateStatus(materialVO.getPk_material(),"U");
|
updateStatus(materialVO.getPk_material(), "U");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,23 +154,23 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
// 执行单条SQL插入
|
// 执行单条SQL插入
|
||||||
BaseDAO gyimsDao = new BaseDAO("gyims");
|
BaseDAO gyimsDao = new BaseDAO("gyims");
|
||||||
gyimsDao.setAddTimeStamp(false);
|
gyimsDao.setAddTimeStamp(false);
|
||||||
List<String> code=new ArrayList<>();
|
List<String> code = new ArrayList<>();
|
||||||
for (MaterialVO materialVO : useVOs) {
|
for (MaterialVO materialVO : useVOs) {
|
||||||
code.add(materialVO.getPk_material());
|
code.add(materialVO.getPk_material());
|
||||||
}
|
}
|
||||||
String placeholders = String.join(",", Collections.nCopies(code.size(), "?"));
|
String placeholders = String.join(",", Collections.nCopies(code.size(), "?"));
|
||||||
placeholders=code.get(0);
|
placeholders = code.get(0);
|
||||||
String sql = " \t\tSELECT\n" +
|
String sql = " \t\tSELECT\n" +
|
||||||
"\t* \n" +
|
"\t* \n" +
|
||||||
"from bd_material a " +
|
"from bd_material a " +
|
||||||
"where a.pk_material IN ('" + placeholders + "')";
|
"where a.pk_material IN ('" + placeholders + "')";
|
||||||
List<Map<String,Object>> remain = (List<Map<String, Object>>) new BaseDAO("design").executeQuery(sql, new MapListProcessor());
|
List<Map<String, Object>> remain = (List<Map<String, Object>>) new BaseDAO("design").executeQuery(sql, new MapListProcessor());
|
||||||
|
|
||||||
// 定义需要插入的字段(与表结构一致)
|
// 定义需要插入的字段(与表结构一致)
|
||||||
String[] fields = {
|
String[] fields = {
|
||||||
"pk_material", "code", "name", "materialspec", "materialtype",
|
"pk_material", "code", "name", "materialspec", "materialtype",
|
||||||
"materialshortname", "pk_measdoc", "pk_marbasclass", "memo",
|
"materialshortname", "pk_measdoc", "pk_marbasclass", "memo",
|
||||||
"enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate","itemCode"
|
"enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate", "itemCode"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 构建字段部分
|
// 构建字段部分
|
||||||
|
|
@ -192,31 +186,31 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
StringBuilder values = new StringBuilder();
|
StringBuilder values = new StringBuilder();
|
||||||
for (int i = 0; i < remain.size(); i++) {
|
for (int i = 0; i < remain.size(); i++) {
|
||||||
Map<String, Object> data = remain.get(i);
|
Map<String, Object> data = remain.get(i);
|
||||||
String selectSql="SELECT count(1) from BIPItemTab where pk_material='" +data.get("pk_material")+ "'";
|
String selectSql = "SELECT count(1) from BIPItemTab where pk_material='" + data.get("pk_material") + "'";
|
||||||
int num = (int) gyimsDao.executeQuery(selectSql,new ColumnProcessor());
|
int num = (int) gyimsDao.executeQuery(selectSql, new ColumnProcessor());
|
||||||
if(num>0){
|
if (num > 0) {
|
||||||
updateStatus((String) data.get("pk_material"),"C");
|
updateStatus((String) data.get("pk_material"), "C");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
data.put("status","C");
|
data.put("status", "C");
|
||||||
String matBasClassSql="SELECT code from bd_marbasclass where pk_marbasclass='" +data.get("pk_marbasclass")+ "'";
|
String matBasClassSql = "SELECT code from bd_marbasclass where pk_marbasclass='" + data.get("pk_marbasclass") + "'";
|
||||||
String matbascode = (String) new BaseDAO().executeQuery(matBasClassSql,new ColumnProcessor());
|
String matbascode = (String) new BaseDAO().executeQuery(matBasClassSql, new ColumnProcessor());
|
||||||
data.put("pk_marbasclass",matbascode);
|
data.put("pk_marbasclass", matbascode);
|
||||||
|
|
||||||
String unitsql="SELECT code from bd_measdoc where pk_measdoc='" +data.get("pk_measdoc")+ "'";
|
String unitsql = "SELECT code from bd_measdoc where pk_measdoc='" + data.get("pk_measdoc") + "'";
|
||||||
String unit = (String) new BaseDAO().executeQuery(unitsql,new ColumnProcessor());
|
String unit = (String) new BaseDAO().executeQuery(unitsql, new ColumnProcessor());
|
||||||
data.put("pk_marbasclass",unit);
|
data.put("pk_marbasclass", unit);
|
||||||
data.put("createdate",data.get("creationtime"));
|
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 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());
|
String def1 = (String) new BaseDAO().executeQuery(def1sql, new ColumnProcessor());
|
||||||
data.put("itemCode",def1);
|
data.put("itemCode", def1);
|
||||||
|
|
||||||
// 将计量单位编码放入
|
// 将计量单位编码放入
|
||||||
String pk_measdocsql="SELECT p.code from bd_measdoc p where p.pk_measdoc='" +data.get("pk_measdoc")+ "' ";
|
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());
|
String pk_measdoc = (String) new BaseDAO().executeQuery(pk_measdocsql, new ColumnProcessor());
|
||||||
data.put("pk_measdoc",pk_measdoc);
|
data.put("pk_measdoc", pk_measdoc);
|
||||||
|
|
||||||
values.append("(");
|
values.append("(");
|
||||||
|
|
||||||
|
|
@ -244,7 +238,7 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
values.append(", ");
|
values.append(", ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(values.isEmpty()){
|
if (values.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -252,19 +246,19 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
String updateSql = "INSERT INTO BIPItemTab (" + fieldNames.toString() + ") VALUES " + values.toString();
|
String updateSql = "INSERT INTO BIPItemTab (" + fieldNames.toString() + ") VALUES " + values.toString();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
int rowsAffected = gyimsDao.executeUpdate(updateSql);
|
int rowsAffected = gyimsDao.executeUpdate(updateSql);
|
||||||
String K="1";
|
String K = "1";
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException("插入失败:" + e.getMessage(), e);
|
throw new RuntimeException("插入失败:" + e.getMessage(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void updateStatus(String pk,String type) throws BusinessException {
|
|
||||||
|
private void updateStatus(String pk, String type) throws BusinessException {
|
||||||
BaseDAO gyimsDao = new BaseDAO("gyims");
|
BaseDAO gyimsDao = new BaseDAO("gyims");
|
||||||
gyimsDao.setAddTimeStamp(false);
|
gyimsDao.setAddTimeStamp(false);
|
||||||
String sql="update BIPItemTab set status='" + type.toString() + "' where pk_material='" + pk + "'";
|
String sql = "update BIPItemTab set status='" + type.toString() + "' where pk_material='" + pk + "'";
|
||||||
gyimsDao.executeUpdate(sql);
|
gyimsDao.executeUpdate(sql);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -290,7 +284,7 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
String[] fields = {
|
String[] fields = {
|
||||||
"pk_material", "code", "name", "materialspec", "materialtype",
|
"pk_material", "code", "name", "materialspec", "materialtype",
|
||||||
"materialshortname", "pk_measdoc", "pk_marbasclass", "memo",
|
"materialshortname", "pk_measdoc", "pk_marbasclass", "memo",
|
||||||
"enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate","itemCode"
|
"enablestate", "itemtype", "itemattribute", "itemmodel", "status", "createdate", "itemCode"
|
||||||
};
|
};
|
||||||
|
|
||||||
for (Map<String, Object> data : remain) {
|
for (Map<String, Object> data : remain) {
|
||||||
|
|
@ -300,19 +294,19 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
if (pkMaterial == null) {
|
if (pkMaterial == null) {
|
||||||
continue; // 主键为空时跳过更新
|
continue; // 主键为空时跳过更新
|
||||||
}
|
}
|
||||||
data.put("createdate",data.get("creationtime"));
|
data.put("createdate", data.get("creationtime"));
|
||||||
String matBasClassSql="SELECT code from bd_marbasclass where pk_marbasclass='" +data.get("pk_marbasclass")+ "'";
|
String matBasClassSql = "SELECT code from bd_marbasclass where pk_marbasclass='" + data.get("pk_marbasclass") + "'";
|
||||||
String matbascode = (String) new BaseDAO().executeQuery(matBasClassSql,new ColumnProcessor());
|
String matbascode = (String) new BaseDAO().executeQuery(matBasClassSql, new ColumnProcessor());
|
||||||
data.put("pk_marbasclass",matbascode);
|
data.put("pk_marbasclass", matbascode);
|
||||||
|
|
||||||
String unitsql="SELECT code from bd_measdoc where pk_measdoc='" +data.get("pk_measdoc")+ "'";
|
String unitsql = "SELECT code from bd_measdoc where pk_measdoc='" + data.get("pk_measdoc") + "'";
|
||||||
String unit = (String) new BaseDAO().executeQuery(unitsql,new ColumnProcessor());
|
String unit = (String) new BaseDAO().executeQuery(unitsql, new ColumnProcessor());
|
||||||
data.put("pk_marbasclass",unit);
|
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 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());
|
String def1 = (String) new BaseDAO().executeQuery(def1sql, new ColumnProcessor());
|
||||||
data.put("itemCode",def1);
|
data.put("itemCode", def1);
|
||||||
// 构建SET部分
|
// 构建SET部分
|
||||||
List<String> setParts = new ArrayList<>();
|
List<String> setParts = new ArrayList<>();
|
||||||
for (String field : fields) {
|
for (String field : fields) {
|
||||||
|
|
@ -353,6 +347,4 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ import java.util.*;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 高压MES-物料修改后同步
|
* 高压MES-物料修改后同步-已弃用
|
||||||
*
|
*
|
||||||
* @author mzr
|
* @author mzr
|
||||||
* @date 2025/09/11
|
* @date 2025/09/11
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue