物料启用停用,分配取消分配更新ims
This commit is contained in:
parent
f7c81f9585
commit
5fc4bd1a6e
|
|
@ -79,29 +79,73 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else if ("1012".equals(eventType)) {
|
||||||
|
configParams = MyHelper.getConfigParams("gy-config", null);
|
||||||
|
if (configParams.isEmpty()) {
|
||||||
|
throw new BusinessException("高压的gymes接口缺少配置");
|
||||||
}
|
}
|
||||||
|
MaterialStockVO[] materialStockVOS = ArrayClassConvertUtil.convert(objs, MaterialStockVO.class);
|
||||||
|
for (MaterialStockVO materialStockVO : materialStockVOS) {
|
||||||
|
String pkOrg = materialStockVO.getPk_org();
|
||||||
|
String[] orgItem = configParams.get("imsOrg").split(",");
|
||||||
|
String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
|
||||||
|
// Integer num = MyHelper.checkIfOrg1(configParams, materialStockVO.getPk_materialstock(), "imsOrg");
|
||||||
|
if (!contains(orgItem, orgCode)) {
|
||||||
|
continue;
|
||||||
|
}else {
|
||||||
|
updateStatus(materialStockVO.getPk_material(),"D");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if ("1004".equals(eventType) || "1069".equals(eventType) ) {
|
||||||
|
MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class);
|
||||||
|
// 更新启用状态
|
||||||
|
|
||||||
|
// updateEnableStatus(useVOs);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static boolean contains(String[] orgItem, String target) {
|
||||||
|
// 数组为null时直接返回false
|
||||||
|
if (orgItem == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// 数组转List,调用contains()
|
||||||
|
List<String> list = Arrays.asList(orgItem);
|
||||||
|
return list.contains(target);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateEnableStatus(MaterialVO[] useVOs) throws BusinessException {
|
private void updateEnableStatus(MaterialVO[] useVOs) throws BusinessException {
|
||||||
// Ö´Ðе¥ÌõSQL²åÈë
|
if (useVOs == null || useVOs.length == 0) {
|
||||||
BaseDAO gyimsDao = new BaseDAO("gyims");
|
|
||||||
gyimsDao.setAddTimeStamp(false);
|
|
||||||
List<String> code=new ArrayList<>();
|
|
||||||
for (MaterialVO materialVO : useVOs) {
|
|
||||||
Integer num = MyHelper.checkIfOrg(configParams,materialVO.getPk_material(), "imsOrg");
|
|
||||||
if(num<=0){
|
|
||||||
continue;
|
|
||||||
}else{
|
|
||||||
code.add(materialVO.getPk_material());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(code.isEmpty()){
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Integer enableStatus = useVOs[0].getEnablestate();
|
|
||||||
String sql="update BIPItemTab set enableStatus=" + enableStatus + " where pk_material='" + code + "'";
|
|
||||||
gyimsDao.executeUpdate(sql);
|
|
||||||
|
|
||||||
|
BaseDAO gyimsDao = new BaseDAO("gyims");
|
||||||
|
gyimsDao.setAddTimeStamp(false);
|
||||||
|
|
||||||
|
List<String> materialCodes = new ArrayList<>();
|
||||||
|
for (MaterialVO materialVO : useVOs) {
|
||||||
|
Integer orgCheckResult = MyHelper.checkIfOrg(configParams, materialVO.getPk_material(), "imsOrg");
|
||||||
|
if (orgCheckResult != null && orgCheckResult > 0) {
|
||||||
|
materialCodes.add(materialVO.getPk_material());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (materialCodes.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Integer enableStatus = useVOs[0].getEnablestate();
|
||||||
|
if (enableStatus == null) {
|
||||||
|
throw new BusinessException("启用状态不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
String codeInClause = String.join("','", materialCodes);
|
||||||
|
String sql = "update BIPItemTab set enablestate = " + enableStatus + " where pk_material in ('" + codeInClause + "')";
|
||||||
|
|
||||||
|
gyimsDao.executeUpdate(sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pushIms(MaterialVO[] useVOs) throws BusinessException {
|
private void pushIms(MaterialVO[] useVOs) throws BusinessException {
|
||||||
|
|
@ -140,10 +184,10 @@ 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"),"D");
|
updateStatus((String) data.get("pk_material"),"C");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -174,6 +218,9 @@ public class MaterialToGyImsListener implements IBusinessListener {
|
||||||
values.append(", ");
|
values.append(", ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(values.isEmpty()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// ÍêÕû²åÈëSQL
|
// ÍêÕû²åÈëSQL
|
||||||
String updateSql = "INSERT INTO BIPItemTab (" + fieldNames.toString() + ") VALUES " + values.toString();
|
String updateSql = "INSERT INTO BIPItemTab (" + fieldNames.toString() + ") VALUES " + values.toString();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue