Merge remote-tracking branch 'origin/main'
# Conflicts: # mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncHighpressureMesRule.java
This commit is contained in:
commit
3d15beb342
|
|
@ -111,7 +111,7 @@ public class AfterApproveSyncHighpressureMesRule implements IRule<PMOAggVO> {
|
||||||
String sql = " select pk_defdoclist from bd_defdoclist where code='zdy-001' and dr=0 ";
|
String sql = " select pk_defdoclist from bd_defdoclist where code='zdy-001' and dr=0 ";
|
||||||
String o = (String) baseDAO.executeQuery(sql, new ColumnProcessor());
|
String o = (String) baseDAO.executeQuery(sql, new ColumnProcessor());
|
||||||
|
|
||||||
// Object contractNum = hybo.findColValue("bd_defdoc", "code", " (pk_defdoclist = '" + o + "' and pk_defdoc='" + item.getVdef1() + "') ");
|
Object contractNum = hybo.findColValue("bd_defdoc", "code", " (pk_defdoclist = '" + o + "' and pk_defdoc='" + item.getVdef1() + "') ");
|
||||||
|
|
||||||
itemObj.put("contractNum", item.getVdef2()); // ÏúÊÛ¶©µ¥ºÅ
|
itemObj.put("contractNum", item.getVdef2()); // ÏúÊÛ¶©µ¥ºÅ
|
||||||
|
|
||||||
|
|
@ -174,9 +174,9 @@ public class AfterApproveSyncHighpressureMesRule implements IRule<PMOAggVO> {
|
||||||
String sql = " select pk_defdoclist from bd_defdoclist where code='zdy-001' and dr=0 ";
|
String sql = " select pk_defdoclist from bd_defdoclist where code='zdy-001' and dr=0 ";
|
||||||
String o = (String) baseDAO.executeQuery(sql, new ColumnProcessor());
|
String o = (String) baseDAO.executeQuery(sql, new ColumnProcessor());
|
||||||
|
|
||||||
Object contractNum = hybo.findColValue("bd_defdoc", "code", " (pk_defdoclist = '" + o + "' and pk_defdoc='" + item.getVdef1() + "') ");
|
// Object contractNum = hybo.findColValue("bd_defdoc", "code", " (pk_defdoclist = '" + o + "' and pk_defdoc='" + item.getVdef1() + "') ");
|
||||||
|
|
||||||
itemObj.put("contractNum", contractNum); // ºÏͬ±àºÅ
|
itemObj.put("contractNum", item.getVdef2()); // ºÏͬ±àºÅ
|
||||||
// itemObj.put("cwarehouseid", item.getAttributeValue("vbdef35")); // ²Ö¿â±àºÅ
|
// itemObj.put("cwarehouseid", item.getAttributeValue("vbdef35")); // ²Ö¿â±àºÅ
|
||||||
Object pk_project = hybo.findColValue("bd_project", "project_name", " pk_project = '" + item.getCprojectid() + "' ");
|
Object pk_project = hybo.findColValue("bd_project", "project_name", " pk_project = '" + item.getCprojectid() + "' ");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
import nc.bs.dao.DAOException;
|
import nc.bs.dao.DAOException;
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
import nc.bs.logging.Log;
|
import nc.bs.logging.Log;
|
||||||
import nc.bs.trade.business.HYPubBO;
|
import nc.bs.trade.business.HYPubBO;
|
||||||
import nc.bs.trade.business.HYSuperDMO;
|
import nc.bs.trade.business.HYSuperDMO;
|
||||||
|
|
@ -14,8 +15,11 @@ import nc.impl.pubapp.pattern.rule.IRule;
|
||||||
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.jdbc.framework.processor.MapProcessor;
|
||||||
|
import nc.pubitf.uapbd.IMaterialPubService;
|
||||||
|
import nc.util.mmf.framework.base.MMValueCheck;
|
||||||
import nc.vo.bd.defdoc.DefdocVO;
|
import nc.vo.bd.defdoc.DefdocVO;
|
||||||
import nc.vo.bd.material.MaterialVO;
|
import nc.vo.bd.material.MaterialVO;
|
||||||
|
import nc.vo.bd.material.plan.MaterialPlanVO;
|
||||||
import nc.vo.org.OrgVO;
|
import nc.vo.org.OrgVO;
|
||||||
import nc.vo.pmpub.project.ProjectHeadVO;
|
import nc.vo.pmpub.project.ProjectHeadVO;
|
||||||
import nc.vo.pub.BusinessException;
|
import nc.vo.pub.BusinessException;
|
||||||
|
|
@ -25,10 +29,8 @@ import nc.vo.so.m30.entity.SaleOrderHVO;
|
||||||
import nc.vo.so.m30.entity.SaleOrderVO;
|
import nc.vo.so.m30.entity.SaleOrderVO;
|
||||||
import nccloud.baseapp.core.log.NCCForUAPLogger;
|
import nccloud.baseapp.core.log.NCCForUAPLogger;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
import java.util.stream.Stream;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 销售订单推送高压mes
|
* 销售订单推送高压mes
|
||||||
|
|
@ -92,6 +94,15 @@ public class AfterSoSyncRuleGyMes implements IRule<SaleOrderVO> {
|
||||||
baseDAO.executeUpdate(sql);
|
baseDAO.executeUpdate(sql);
|
||||||
|
|
||||||
for (SaleOrderBVO item : itemVOS) {
|
for (SaleOrderBVO item : itemVOS) {
|
||||||
|
String cmaterialvid = item.getCmaterialvid();
|
||||||
|
Map<String, MaterialPlanVO> planMap = queryMaterialPlanInfoByPks(new String[]{cmaterialvid}, pkOrg,
|
||||||
|
new String[]{MaterialPlanVO.DEF1});
|
||||||
|
String drawingNumber = "";
|
||||||
|
if (MMValueCheck.isNotEmpty(planMap) &&
|
||||||
|
MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) {
|
||||||
|
drawingNumber = planMap.get(cmaterialvid).getDef1();
|
||||||
|
}
|
||||||
|
|
||||||
Object projectName = getDefName("zdy-001", vdef6);
|
Object projectName = getDefName("zdy-001", vdef6);
|
||||||
// Object projectName = hybo.findColValue(ProjectHeadVO.getDefaultTableName(), ProjectHeadVO.PROJECT_NAME, ProjectHeadVO.PK_PROJECT + " = '" + item.getCprojectid() + "' ");
|
// Object projectName = hybo.findColValue(ProjectHeadVO.getDefaultTableName(), ProjectHeadVO.PROJECT_NAME, ProjectHeadVO.PK_PROJECT + " = '" + item.getCprojectid() + "' ");
|
||||||
String wlsql = " select code,name,graphid from bd_material where dr = 0 and pk_material = '" + item.getCmaterialvid() + "' ";
|
String wlsql = " select code,name,graphid from bd_material where dr = 0 and pk_material = '" + item.getCmaterialvid() + "' ";
|
||||||
|
|
@ -105,7 +116,8 @@ public class AfterSoSyncRuleGyMes implements IRule<SaleOrderVO> {
|
||||||
itemObj.put("productQuantity", (int) item.getNastnum().doubleValue());// 数量
|
itemObj.put("productQuantity", (int) item.getNastnum().doubleValue());// 数量
|
||||||
itemObj.put("materialCode", mrlMap.get("code"));// 物料编码
|
itemObj.put("materialCode", mrlMap.get("code"));// 物料编码
|
||||||
itemObj.put("materialName", mrlMap.get("name"));// 物料名称
|
itemObj.put("materialName", mrlMap.get("name"));// 物料名称
|
||||||
itemObj.put("drawingNumber", mrlMap.get("graphid"));// ͼºÅ
|
// itemObj.put("drawingNumber", mrlMap.get("graphid"));// ͼºÅ
|
||||||
|
itemObj.put("drawingNumber", drawingNumber);// ͼºÅ
|
||||||
itemObj.put("supplyDate", item.getDreceivedate().toString());// 供货日期-要求收货日期
|
itemObj.put("supplyDate", item.getDreceivedate().toString());// 供货日期-要求收货日期
|
||||||
itemObj.put("remark", item.getVrownote());// 备注
|
itemObj.put("remark", item.getVrownote());// 备注
|
||||||
itemObj.put("bipCreateBy", createName);// 创建人
|
itemObj.put("bipCreateBy", createName);// 创建人
|
||||||
|
|
@ -117,6 +129,15 @@ public class AfterSoSyncRuleGyMes implements IRule<SaleOrderVO> {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (SaleOrderBVO item : itemVOS) {
|
for (SaleOrderBVO item : itemVOS) {
|
||||||
|
String cmaterialvid = item.getCmaterialvid();
|
||||||
|
Map<String, MaterialPlanVO> planMap = queryMaterialPlanInfoByPks(new String[]{cmaterialvid}, pkOrg,
|
||||||
|
new String[]{MaterialPlanVO.DEF1});
|
||||||
|
String drawingNumber = "";
|
||||||
|
if (MMValueCheck.isNotEmpty(planMap) &&
|
||||||
|
MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) {
|
||||||
|
drawingNumber = planMap.get(cmaterialvid).getDef1();
|
||||||
|
}
|
||||||
|
|
||||||
Object projectName = getDefName("zdy-001", vdef6);
|
Object projectName = getDefName("zdy-001", vdef6);
|
||||||
String wlsql = " select code,name,graphid from bd_material where dr = 0 and pk_material = '" + item.getCmaterialvid() + "' ";
|
String wlsql = " select code,name,graphid from bd_material where dr = 0 and pk_material = '" + item.getCmaterialvid() + "' ";
|
||||||
Map<String, Object> mrlMap = (Map<String, Object>) baseDAO.executeQuery(wlsql, new MapProcessor());
|
Map<String, Object> mrlMap = (Map<String, Object>) baseDAO.executeQuery(wlsql, new MapProcessor());
|
||||||
|
|
@ -128,7 +149,8 @@ public class AfterSoSyncRuleGyMes implements IRule<SaleOrderVO> {
|
||||||
itemObj.put("productQuantity", (int) item.getNastnum().doubleValue());// 数量
|
itemObj.put("productQuantity", (int) item.getNastnum().doubleValue());// 数量
|
||||||
itemObj.put("materialCode", mrlMap.get("code"));// 物料编码
|
itemObj.put("materialCode", mrlMap.get("code"));// 物料编码
|
||||||
itemObj.put("materialName", mrlMap.get("name"));// 物料名称
|
itemObj.put("materialName", mrlMap.get("name"));// 物料名称
|
||||||
itemObj.put("drawingNumber", mrlMap.get("graphid"));// ͼºÅ
|
// itemObj.put("drawingNumber", mrlMap.get("graphid"));// ͼºÅ
|
||||||
|
itemObj.put("drawingNumber", drawingNumber);// ͼºÅ
|
||||||
itemObj.put("supplyDate", item.getDreceivedate().toString());// 供货日期-要求收货日期
|
itemObj.put("supplyDate", item.getDreceivedate().toString());// 供货日期-要求收货日期
|
||||||
itemObj.put("remark", item.getVrownote());// 备注
|
itemObj.put("remark", item.getVrownote());// 备注
|
||||||
itemObj.put("bipUpdateBy", createName);// 修改人
|
itemObj.put("bipUpdateBy", createName);// 修改人
|
||||||
|
|
@ -253,6 +275,20 @@ public class AfterSoSyncRuleGyMes implements IRule<SaleOrderVO> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Map<String, MaterialPlanVO> queryMaterialPlanInfoByPks(String[] pks, String pk_stockorg,
|
||||||
|
String[] fields) throws BusinessException {
|
||||||
|
Map<String, MaterialPlanVO> map = null;
|
||||||
|
List<String> vids = Stream.of(pks).filter(Objects::nonNull).distinct().toList();
|
||||||
|
if (vids.isEmpty()) {
|
||||||
|
map = new HashMap<>();
|
||||||
|
} else {
|
||||||
|
map = NCLocator.getInstance().lookup(IMaterialPubService.class)
|
||||||
|
.queryMaterialPlanInfoByPks(vids.toArray(new String[0]), pk_stockorg, fields);
|
||||||
|
}
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -222,8 +222,8 @@ public class MaterialToGyMesListener implements IBusinessListener {
|
||||||
logger.error("gymes-Material-res = " + result);
|
logger.error("gymes-Material-res = " + result);
|
||||||
|
|
||||||
if (!"200".equals(resultObj.getString("code"))) {
|
if (!"200".equals(resultObj.getString("code"))) {
|
||||||
// throw new BusinessException("gymes-Material-error:" + resultObj.getString("msg"));
|
|
||||||
logger.error("gymes-Material-error,result[" + resultObj.toJSONString() + "]");
|
logger.error("gymes-Material-error,result[" + resultObj.toJSONString() + "]");
|
||||||
|
throw new BusinessException("gymes-Material-error:" + resultObj.getString("msg"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@ public class MaterialToJmQmsListener implements IBusinessListener {
|
||||||
res = defdocVOs[0].getName().trim();
|
res = defdocVOs[0].getName().trim();
|
||||||
}
|
}
|
||||||
} catch (DAOException e) {
|
} catch (DAOException e) {
|
||||||
logger.error("gyMes-SaleOrder-error,getDefName[" + e.getMessage() + "]");
|
logger.error("JM-error,getDefName[" + e.getMessage() + "]");
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue