箱变-销售订单同步启源调整

This commit is contained in:
mzr 2025-09-13 10:56:19 +08:00
parent da721a46e9
commit 7afcfaef06
1 changed files with 20 additions and 42 deletions

View File

@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import nc.bs.dao.BaseDAO;
import nc.bs.framework.common.NCLocator;
import nc.bs.logging.Log;
import nc.bs.trade.business.HYPubBO;
import nc.bs.uapbd.util.MyHelper;
@ -16,23 +15,16 @@ import nc.jdbc.framework.processor.MapProcessor;
import nc.vo.org.OrgVO;
import nc.vo.pub.BusinessException;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nc.vo.pubapp.pattern.pub.SqlBuilder;
import nc.vo.so.m30.entity.SaleOrderBVO;
import nc.vo.so.m30.entity.SaleOrderHVO;
import nc.vo.so.m30.entity.SaleOrderVO;
import nc.vo.vorg.DeptVersionVO;
import nccloud.baseapp.core.log.NCCForUAPLogger;
import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 销售订单推送mes
* 销售订单推送启源mes
*/
public class AfterApprovingSynchronizeRuleQMS implements IRule<SaleOrderVO> {
private static final String LOG_INFO_NAME = "qyMesLog";
@ -48,7 +40,6 @@ public class AfterApprovingSynchronizeRuleQMS implements IRule<SaleOrderVO> {
public void process(SaleOrderVO[] saleOrderVOs) {
try {
if (saleOrderVOs == null || saleOrderVOs.length == 0) {
return;
}
configParams = MyHelper.getConfigParams("xb-config", null);
@ -60,15 +51,16 @@ public class AfterApprovingSynchronizeRuleQMS implements IRule<SaleOrderVO> {
ExceptionUtils.wrappException(e);
}
}
/**
* ¹¹½¨Í¬²½Êý¾Ý
*/
private void buildSyncData(SaleOrderVO[] useVOs) throws BusinessException {
BaseDAO baseDAO = new BaseDAO();
Date now= new Date();
Date now = new Date();
HYPubBO hybo = new HYPubBO();
for (SaleOrderVO vo : useVOs) {
// 判断物料的业务单元是否是箱变公司不是则跳过
// 判断业务单元是否是箱变公司不是则跳过
String pkOrg = vo.getParentVO().getPk_org();
String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
if (checkIfOrg(orgCode, configParams)) {
@ -78,31 +70,31 @@ public class AfterApprovingSynchronizeRuleQMS implements IRule<SaleOrderVO> {
JSONObject singleObj = new JSONObject();
SaleOrderHVO pmoHeadVO = vo.getParentVO();
SaleOrderBVO[] itemVOS=vo.getChildrenVO();
singleObj.put("batchid",now);
singleObj.put("hth",pmoHeadVO.getVdef6());
singleObj.put("fplx",pmoHeadVO.getDbilldate().toString().substring(0,10));
if(null !=pmoHeadVO.getCemployeeid()){
SaleOrderBVO[] itemVOS = vo.getChildrenVO();
singleObj.put("batchid", now);
singleObj.put("hth", pmoHeadVO.getVdef6());
singleObj.put("fplx", pmoHeadVO.getDbilldate().toString().substring(0, 10));
if (null != pmoHeadVO.getCemployeeid()) {
String sql = " select name from bd_psndoc where cuserid = '" + pmoHeadVO.getCemployeeid() + "' ";
String billmakerName = (String) baseDAO.executeQuery(sql, new ColumnProcessor());
singleObj.put("xsy",billmakerName);
}else{
singleObj.put("xsy","");
singleObj.put("xsy", billmakerName);
} else {
singleObj.put("xsy", "");
}
singleObj.put("dhdwid",pmoHeadVO.getCcustomerid());
singleObj.put("dhdwid", pmoHeadVO.getCcustomerid());
String customersql = " select name from bd_customer where pk_customer = '" + pmoHeadVO.getCcustomerid() + "' ";
String customerName = (String) baseDAO.executeQuery(customersql, new ColumnProcessor());
singleObj.put("dhdw",customerName);
singleObj.put("dhdw", customerName);
String lrrsql = " select user_name from sm_user where cuserid = '" + pmoHeadVO.getBillmaker() + "' ";
String lrrName = (String) baseDAO.executeQuery(lrrsql, new ColumnProcessor());
singleObj.put("lrr",lrrName);
singleObj.put("lrrq",pmoHeadVO.getDmakedate().toString().substring(0,10));
singleObj.put("bz",pmoHeadVO.getVnote());
singleObj.put("lrr", lrrName);
singleObj.put("lrrq", pmoHeadVO.getDmakedate().toString().substring(0, 10));
singleObj.put("bz", pmoHeadVO.getVnote());
// ´¦ÀíContentÊý×é
JSONArray contentArray = new JSONArray();
for (SaleOrderBVO item : itemVOS) {
@ -114,15 +106,15 @@ public class AfterApprovingSynchronizeRuleQMS implements IRule<SaleOrderVO> {
//
// Object name = hybo.findColValue("bd_material", "name", "pk_material = '"+item.getCmaterialvid()+"' ");
String wlsql = " select code,name,materialspec,materialtype from bd_material where 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());
itemObj.put("wlbh", mrlmap.get("code"));
itemObj.put("wlmc", mrlmap.get("name"));
itemObj.put("wlxhgg", ((String)mrlmap.get("materialspec")!=null ? mrlmap.get("materialspec").toString() : "" )+((String)mrlmap.get("materialtype")!=null ? mrlmap.get("materialtype").toString() : "" ));
itemObj.put("wlxhgg", ((String) mrlmap.get("materialspec") != null ? mrlmap.get("materialspec").toString() : "") + ((String) mrlmap.get("materialtype") != null ? mrlmap.get("materialtype").toString() : ""));
itemObj.put("dhsl", item.getNastnum().doubleValue());
itemObj.put("xsj", item.getNqtorigtaxprice().doubleValue());
itemObj.put("bxzje", item.getNqtorigtaxprice().doubleValue());
itemObj.put("jhrq", item.getDsenddate().toString().substring(0,10));
itemObj.put("jhrq", item.getDsenddate().toString().substring(0, 10));
itemObj.put("bz", item.getVrownote());
Object pk_project = hybo.findColValue("bd_project", "project_name", " pk_project = '" + item.getCprojectid() + "' ");
itemObj.put("xmmc", pk_project);
@ -188,19 +180,6 @@ public class AfterApprovingSynchronizeRuleQMS implements IRule<SaleOrderVO> {
}
}
private Map getGoodsInfo(String pkMaterial) throws BusinessException {
String sql = " select a.pk_measdoc, c.name unitname, b.pk_measdoc deputyUnit, d.name deputy_unitname, nvl(b.measrate, '1/1') measrate " +
"from bd_material a " +
"left join bd_materialconvert b on a.pk_material = b.pk_material " +
"left join bd_measdoc c on a.pk_measdoc = c.pk_measdoc " +
"left join bd_measdoc d on b.pk_measdoc = d.pk_measdoc " +
"where a.pk_material = '" + pkMaterial + "' ";
// logDl.error("QMS-Material-getUnitInfo-sql = " + sql);
Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor());
map.put("convertRate", MyHelper.transferSpecialField(map.get("measrate") + ""));
return map;
}
private boolean checkIfOrg(String code, Map<String, String> configParams) throws BusinessException {
String targetCode = configParams.get("xbOrg");
if (targetCode == null || nc.vo.am.common.util.StringUtils.isEmpty(targetCode)) {
@ -216,6 +195,5 @@ public class AfterApprovingSynchronizeRuleQMS implements IRule<SaleOrderVO> {
}
}