diff --git a/pu/src/client/nccloud/web/pu/arrival/action/QCAction.java b/pu/src/client/nccloud/web/pu/arrival/action/QCAction.java new file mode 100644 index 00000000..4985d2cf --- /dev/null +++ b/pu/src/client/nccloud/web/pu/arrival/action/QCAction.java @@ -0,0 +1,73 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nccloud.web.pu.arrival.action; + +import java.util.HashMap; +import java.util.Map; +import nc.pubitf.pu.m23.pubquery.IArrivePubQuery; +import nc.vo.ml.NCLangRes4VoTransl; +import nc.vo.pu.m23.entity.ArriveItemVO; +import nc.vo.pu.m23.entity.ArriveVO; +import nc.vo.pub.lang.UFDateTime; +import nccloud.dto.pu.arrival.entity.ExeInfo; +import nccloud.dto.pu.arrival.entity.PkTsParamsVO; +import nccloud.framework.core.exception.ExceptionUtils; +import nccloud.framework.core.json.IJson; +import nccloud.framework.service.ServiceLocator; +import nccloud.framework.web.action.itf.ICommonAction; +import nccloud.framework.web.container.IRequest; +import nccloud.framework.web.json.JsonFactory; +import nccloud.framework.web.ui.pattern.billcard.BillCard; +import nccloud.framework.web.ui.pattern.billcard.BillCardOperator; +import nccloud.pubitf.pu.arrival.service.IArrivalExeService; +import nccloud.web.pu.arrival.utis.ArrivalScalaSetter; + +public class QCAction implements ICommonAction { + public QCAction() { + } + + public Object doAction(IRequest request) { + BillCard card = null; + + try { + String read = request.read(); + IJson json = JsonFactory.create(); + ExeInfo info = (ExeInfo)json.fromJson(read, ExeInfo.class); + Map idTsMap = new HashMap(); + if (info.getPkTsParams() != null && info.getPkTsParams().length > 0) { + for(PkTsParamsVO param : info.getPkTsParams()) { + idTsMap.put(param.getPk(), new UFDateTime(param.getTs())); + } + + if (idTsMap.size() > 0) { + IArrivePubQuery query = (IArrivePubQuery)ServiceLocator.find(IArrivePubQuery.class); + ArriveVO[] vos = query.queryAggVOByBids((String[])idTsMap.keySet().toArray(new String[idTsMap.keySet().size()])); + if (vos != null && vos.length > 0) { + for(ArriveItemVO item : vos[0].getBVO()) { + item.setTs((UFDateTime)idTsMap.get(item.getPk_arriveorder_b())); + } + + IArrivalExeService service = (IArrivalExeService)ServiceLocator.find(IArrivalExeService.class); + ArriveVO[] retVOs = service.qualityCheck(vos); + BillCardOperator operator = new BillCardOperator(info.getPageid()); + card = operator.toCard(retVOs[0]); + if (card != null) { + ArrivalScalaSetter.setArrivalScalaBillCard(card); + } + + return card; + } + + ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4004100_0", "04004100-0003")); + } + } + } catch (Exception e) { + ExceptionUtils.wrapException(e); + } + + return null; + } +} diff --git a/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java b/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java index 7078ee5c..2878349d 100644 --- a/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java +++ b/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java @@ -80,6 +80,7 @@ public class MaterialToGyMesListener implements IBusinessListener { * 构建同步数据 */ private void buildSyncData(MaterialVO[] useVOs, String eventType) throws BusinessException { + BaseDAO baseDAO = new BaseDAO(); JSONArray dataArr = new JSONArray(); for (MaterialVO vo : useVOs) { String pkMaterial = vo.getPk_material(); @@ -137,6 +138,11 @@ public class MaterialToGyMesListener implements IBusinessListener { singleObj.put("backflushMethod", prodMap.get("conversemethod")); // 倒冲方式 singleObj.put("postCompletionProcessing", prodMap.get("wghxcl")); // 完工后续处理 } + // 库存供货组织编码获取 + String mrlsql = "select code from org_stockorg where pk_stockorg = '" + stockMap.get("pk_suplystockorg") + "' "; + Map stockorg = (Map) baseDAO.executeQuery(mrlsql, new MapProcessor()); + singleObj.put("supplyInventoryOrg", stockorg.get("code"));// 库存供货组织 + singleObj.put("bipCreateBy", creatorName); // 创建人 dataArr.add(singleObj); /** @@ -215,7 +221,7 @@ public class MaterialToGyMesListener implements IBusinessListener { } private Map getStockInfo(String pkMaterial) throws BusinessException { - String sql = " select martype, wholemanaflag, outpriority, remain,bd_stordoc.code as pk_stordoc" + + String sql = " select pk_suplystockorg, martype, wholemanaflag, outpriority, remain,bd_stordoc.code as pk_stordoc" + " from bd_materialstock left join bd_stordoc on bd_stordoc.pk_stordoc = bd_materialstock.pk_stordoc " + " where pk_material = '" + pkMaterial + "' " + " and bd_materialstock.pk_org = '" + orgId + "' "; Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor()); diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java index 5ddd4904..11876da4 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java @@ -116,6 +116,7 @@ public class MaterialToGyMesListener implements IBusinessListener { * 构建同步数据 */ private void buildSyncData(MaterialVO[] useVOs, String eventType) throws BusinessException { + BaseDAO baseDAO = new BaseDAO(); JSONArray dataArr = new JSONArray(); for (MaterialVO vo : useVOs) { String pkMaterial = vo.getPk_material(); @@ -172,6 +173,11 @@ public class MaterialToGyMesListener implements IBusinessListener { singleObj.put("backflushMethod", prodMap.get("conversemethod")); // 倒冲方式 singleObj.put("postCompletionProcessing", prodMap.get("wghxcl")); // 完工后续处理 } + // 库存供货组织编码获取 + String mrlsql = "select code from org_stockorg where pk_stockorg = '" + stockMap.get("pk_suplystockorg") + "' "; + Map stockorg = (Map) baseDAO.executeQuery(mrlsql, new MapProcessor()); + singleObj.put("supplyInventoryOrg", stockorg.get("code"));// 库存供货组织 + singleObj.put("bipCreateBy", creatorName); // 创建人 dataArr.add(singleObj); /** @@ -298,7 +304,7 @@ public class MaterialToGyMesListener implements IBusinessListener { } private Map getStockInfo(String pkMaterial) throws BusinessException { - String sql = " select martype, wholemanaflag, outpriority, remain,bd_stordoc.code as pk_stordoc" + + String sql = " select pk_suplystockorg, martype, wholemanaflag, outpriority, remain,bd_stordoc.code as pk_stordoc" + " from bd_materialstock left join bd_stordoc on bd_stordoc.pk_stordoc = bd_materialstock.pk_stordoc " + " where pk_material = '" + pkMaterial + "' " + " and bd_materialstock.pk_org = '" + orgId + "' "; Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor());