流程生产订单审核后传出厂编号

This commit is contained in:
lihao 2025-07-07 15:12:34 +08:00
parent 984df6027e
commit 0e5e1d0aa9
1 changed files with 60 additions and 0 deletions

View File

@ -5,11 +5,16 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import nc.bs.dao.BaseDAO; import nc.bs.dao.BaseDAO;
import nc.bs.logging.Log; import nc.bs.logging.Log;
import nc.bs.logging.Logger;
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.bs.uapbd.util.ThirdPartyPostRequestUtil;
import nc.impl.pubapp.pattern.rule.IRule; import nc.impl.pubapp.pattern.rule.IRule;
import nc.itf.arap.goldentax.SysParaInitQuery; import nc.itf.arap.goldentax.SysParaInitQuery;
import nc.jdbc.framework.processor.MapListProcessor; import nc.jdbc.framework.processor.MapListProcessor;
import nc.jdbc.framework.processor.MapProcessor;
import nc.vo.ic.m4d.entity.MaterialOutBodyVO;
import nc.vo.ic.m4d.entity.MaterialOutVO;
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO;
import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
@ -55,6 +60,7 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
} }
obmlog.info("开始同步生产订单到艾普MES系统符合条件的订单数量: " + filteredOrders.size()); obmlog.info("开始同步生产订单到艾普MES系统符合条件的订单数量: " + filteredOrders.size());
JSONArray jsonArray = new JSONArray();
// 推送到艾普MES系统 // 推送到艾普MES系统
for (PMOAggVO aggVO : filteredOrders) { for (PMOAggVO aggVO : filteredOrders) {
PMOHeadVO head = aggVO.getParentVO(); PMOHeadVO head = aggVO.getParentVO();
@ -66,7 +72,14 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
} }
JSONObject data = buildSyncData(aggVO); JSONObject data = buildSyncData(aggVO);
pushData(data); pushData(data);
JSONObject buildSyncData= buildSyncData1(aggVO);
jsonArray.add(buildSyncData);
} }
if(jsonArray.size() > 0) {
pushData("/prj-v5-web/ext/api/releaseNo",jsonArray);
}
obmlog.info("生产订单同步到艾普MES系统处理完成。"); obmlog.info("生产订单同步到艾普MES系统处理完成。");
@ -245,4 +258,51 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
return field; return field;
} }
private JSONObject buildSyncData1(PMOAggVO vo ) throws BusinessException {
// [
// {
// "siteCode": "", // 工厂编码
// "workOrderCode": "", // 工单号
// "companyCode": "DLDZ", //公司编码
// "companyName": "泰开电力电子",//公司名称
// "releaseNo": [] // 出厂编号
// }
//]
JSONObject obj = new JSONObject();
obj.put("siteCode", vo.getParentVO().getVbillcode()); // 已存在的billCode字段
obj.put("workOrderCode", null);
BaseDAO dao = new BaseDAO();
String orgsql = "select code,name from org_factory where pk_factory = '" + vo.getParentVO().getPk_org() + "' ";
Map<String,Object> tr = (Map<String, Object>) dao.executeQuery( orgsql, new MapProcessor());
obj.put("companyCode", tr.get("code"));
obj.put("companyName", tr.get("name"));
JSONArray jsonArray = new JSONArray();
for (PMOItemVO item: vo.getChildrenVO()){
HYPubBO hybo = new HYPubBO();
Object materialtype = hybo.findColValue("bd_material_v", "materialtype", "pk_source = '" + item.getCmaterialid() + "' ");
String detailItem = "materialtype"+vo.getParentVO().getDbilldate().toStdString().substring(0,3)+vo.getParentVO().getDbilldate().toStdString().substring(5,6);
jsonArray.add(detailItem);
}
obj.put("releaseNo", jsonArray);
return obj;
}
private void pushData(String requestUrl, JSONArray param) throws BusinessException {
String baseUrl = SysParaInitQuery.getParaString("GLOBLE00000000000000", "EPICMESURL");
baseUrl="http://192.168.55.39:8080";
requestUrl = baseUrl + requestUrl;
String result = ThirdPartyPostRequestUtil.sendPostRequest(requestUrl, param.toJSONString());
JSONObject resultObj = JSONObject.parseObject(result);
Logger.error("EpicMes-Material-req = " + result);
if ("false".equals(resultObj.getString("success"))) {
throw new BusinessException("EpicMes-Material-failerror:" + resultObj.getString("msg"));
} else {
Logger.error("EpicMes-Material-suc,result[" + resultObj.toJSONString() + "]");
}
}
} }