生产报告回写接口
This commit is contained in:
parent
111cc0399b
commit
3dadb084f3
|
|
@ -0,0 +1,602 @@
|
|||
package nccloud.web.mmpac.pwr.action;
|
||||
|
||||
import nc.bs.dao.BaseDAO;
|
||||
import nc.bs.dao.DAOException;
|
||||
import nc.bs.framework.common.NCLocator;
|
||||
import nc.bs.mmpac.pmo.pac0002.bp.query.PMOAggVOQueryBP;
|
||||
import nc.bs.mmpac.pmo.pac0002.bp.service.PMOBPService;
|
||||
import nc.bs.mmpac.pmo.pac0002.bp.util.PMOBPCalUtil;
|
||||
import nc.bs.mmpac.pmo.pac0002.bp.util.PMOBPUtil;
|
||||
import nc.bs.pubapp.AppBsContext;
|
||||
import nc.bs.uapbd.util.MyHelper;
|
||||
import nc.impl.pubapp.pattern.data.vo.tool.VOConcurrentTool;
|
||||
import nc.itf.mmpac.pickm.IPickmQueryService;
|
||||
import nc.itf.uap.IUAPQueryBS;
|
||||
import nc.jdbc.framework.processor.ColumnListProcessor;
|
||||
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||
import nc.jdbc.framework.processor.MapListProcessor;
|
||||
import nc.mmbd.utils.factoryparam.MMBDFactoryParameter;
|
||||
import nc.util.mmf.busi.measure.NumScaleUtil;
|
||||
import nc.util.mmf.framework.base.MMArrayUtil;
|
||||
import nc.util.mmf.framework.base.MMMapUtil;
|
||||
import nc.util.mmf.framework.base.MMNumberUtil;
|
||||
import nc.util.mmf.framework.base.MMValueCheck;
|
||||
import nc.util.mmf.framework.db.MMTempTable;
|
||||
import nc.util.mmf.framework.gc.GCBillTransferTool;
|
||||
import nc.util.mmf.framework.gc.GCBillUpdate;
|
||||
import nc.vo.bd.material.MaterialVO;
|
||||
import nc.vo.mmpac.pickm.entity.AggPickmVO;
|
||||
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
|
||||
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
||||
import nc.vo.mmpac.pmo.pac0002.constant.PMOConstLang;
|
||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
|
||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO;
|
||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
|
||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOPlanOutputVO;
|
||||
import nc.vo.mmpac.pmo.pac0002.enumeration.PMOFItemStatusEnum;
|
||||
import nc.vo.mmpac.pmo.parameter.PMORewriteParaVO;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.vo.pub.lang.UFBoolean;
|
||||
import nc.vo.pub.lang.UFDateTime;
|
||||
import nc.vo.pub.lang.UFDouble;
|
||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||
import nc.vo.pubapp.pattern.pub.MapList;
|
||||
import nc.vo.util.BDPKLockUtil;
|
||||
import nccloud.dto.mmpac.pickm.pub.entity.PickmQueryInfoDTO;
|
||||
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 java.util.*;
|
||||
|
||||
public class PwrCheckRewriteAction implements ICommonAction {
|
||||
@Override
|
||||
public Object doAction(IRequest iRequest) {
|
||||
String read = iRequest.read();
|
||||
IJson json = JsonFactory.create();
|
||||
// 获取请求查询信息
|
||||
|
||||
try {
|
||||
Map map2 = json.fromJson(read, Map.class);
|
||||
|
||||
MapList<String, PMORewriteParaVO> paraMapList = new MapList();
|
||||
List<String> hidList = new ArrayList();
|
||||
hidList.add((String) map2.get("Cpmohid"));
|
||||
|
||||
|
||||
PMOAggVO[] aggvos = (new PMOAggVOQueryBP()).getPMOAggVOsByIds((String[])hidList.toArray(new String[0]));
|
||||
if (MMValueCheck.isEmpty(aggvos)) {
|
||||
ExceptionUtils.wrappBusinessException(PMOConstLang.getMSG_REWRITE_WRNUM_AUTOERROR());
|
||||
}
|
||||
|
||||
Set<String> originbidSet = new HashSet();
|
||||
Set<String> bidSet = paraMapList.keySet();
|
||||
Map<String, PMOHeadVO> headMap = new HashMap();
|
||||
Map<String, PMOItemVO> itemMap = new HashMap();
|
||||
|
||||
for(PMOAggVO aggvo : aggvos) {
|
||||
PMOHeadVO headvo = aggvo.getParentVO();
|
||||
if (hidList.contains(headvo.getCpmohid())) {
|
||||
headMap.put(headvo.getCpmohid(), headvo);
|
||||
}
|
||||
|
||||
PMOItemVO[] items = aggvo.getChildrenVO();
|
||||
if (!MMArrayUtil.isEmpty(items)) {
|
||||
for(PMOItemVO item : items) {
|
||||
originbidSet.add(item.getCmoid());
|
||||
if (bidSet.contains(item.getCmoid())) {
|
||||
itemMap.put(item.getCmoid(), item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (MMMapUtil.isEmpty(itemMap)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PMOItemVO[] items = (PMOItemVO[])itemMap.values().toArray(new PMOItemVO[0]);
|
||||
List<String> bids = (List<String>) map2.get("bids");
|
||||
for(String para : bids) {
|
||||
if (!originbidSet.contains(para)) {
|
||||
ExceptionUtils.wrappBusinessException(PMOConstLang.getMSG_PMO_DeleteLine());
|
||||
}
|
||||
}
|
||||
BDPKLockUtil.lockSuperVO(items);
|
||||
this.checkMOstatus(items, headMap);
|
||||
Set<String> cmaterials = new HashSet();
|
||||
Set<String> ctrantypes = new HashSet();
|
||||
Set<String> pk_orgs = new HashSet();
|
||||
MapList<String, String> sortOrgMarMap = new MapList();
|
||||
|
||||
for(PMOItemVO item : items) {
|
||||
if (!cmaterials.contains(item.getCmaterialvid())) {
|
||||
cmaterials.add(item.getCmaterialvid());
|
||||
}
|
||||
|
||||
PMOHeadVO head = (PMOHeadVO)headMap.get(item.getCpmohid());
|
||||
if (!MMValueCheck.isEmpty(head) && !ctrantypes.contains(head.getCtrantypeid())) {
|
||||
ctrantypes.add(head.getCtrantypeid());
|
||||
}
|
||||
|
||||
if (!pk_orgs.contains(item.getPk_org())) {
|
||||
pk_orgs.add(item.getPk_org());
|
||||
}
|
||||
|
||||
sortOrgMarMap.put(item.getPk_org(), item.getCmaterialvid());
|
||||
}
|
||||
|
||||
Map<String, UFDouble> prodtolerance = new HashMap();
|
||||
|
||||
for(Map.Entry<String, List<String>> entry : sortOrgMarMap.entrySet()) {
|
||||
Map<String, UFDouble> tempdowntolerance = PMOBPCalUtil.getProdtolerance((String)entry.getKey(), (String[])((List)entry.getValue()).toArray(new String[0]));
|
||||
if (MMMapUtil.isNotEmpty(tempdowntolerance)) {
|
||||
prodtolerance.putAll(tempdowntolerance);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, UFDouble> intolerance = PMOBPCalUtil.getInStockControlScope((String[])cmaterials.toArray(new String[0]));
|
||||
Map<String, UFBoolean> autodonepara = PMOBPService.getIPMOTransTypeQueryService().getBAutoFinishByTranTypeIDs((String[])ctrantypes.toArray(new String[0]));
|
||||
Map<String, UFBoolean> bpara = MMBDFactoryParameter.getPAC012BatchParaBoolean((String[])pk_orgs.toArray(new String[0]));
|
||||
this.checkWrts(paraMapList, items);
|
||||
List<PMOPlanOutputVO> planoutputList = new ArrayList();
|
||||
|
||||
for(int i = 0; i < items.length; ++i) {
|
||||
List<PMORewriteParaVO> paraList = paraMapList.get(items[i].getCmoid());
|
||||
PMOPlanOutputVO[] moPlanOutVOS = items[i].getPlanoutputs();
|
||||
if (!MMArrayUtil.isEmpty(moPlanOutVOS)) {
|
||||
for(PMOPlanOutputVO planOutVO : moPlanOutVOS) {
|
||||
boolean isupd = false;
|
||||
|
||||
for(PMORewriteParaVO paravo : paraList) {
|
||||
if (!MMMapUtil.isEmpty(paravo.getPoutMap())) {
|
||||
UFDouble delNum = MMNumberUtil.toNotNullValue((UFDouble)paravo.getPoutMap().get(planOutVO.getCplanoutputid()));
|
||||
if (MMNumberUtil.isNotNullAndNotZero(delNum)) {
|
||||
(new NumScaleUtil()).checkNumberScale(new UFDouble[]{delNum}, planOutVO.getCunitid());
|
||||
}
|
||||
|
||||
if (MMNumberUtil.isNotNullAndNotZero(delNum)) {
|
||||
UFDouble wrNum = MMNumberUtil.add(new UFDouble[]{delNum, MMNumberUtil.toNotNullValue(planOutVO.getNwrnum())});
|
||||
planOutVO.setNwrnum(wrNum);
|
||||
planOutVO.setStatus(1);
|
||||
PMOBPCalUtil.fillReAssNumber("nplanoutputnum", "nastplanoutputnum", planOutVO, "vchangerate", "nwrnum", "nwrastnum");
|
||||
isupd = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isupd) {
|
||||
planoutputList.add(planOutVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(PMORewriteParaVO paravo : paraList) {
|
||||
UFDouble delNum = MMNumberUtil.toNotNullValue(paravo.getDelNum());
|
||||
if (MMNumberUtil.isNotNullAndNotZero(delNum)) {
|
||||
(new NumScaleUtil()).checkNumberScale(new UFDouble[]{delNum}, items[i].getCunitid());
|
||||
}
|
||||
|
||||
UFDouble wrNum = MMNumberUtil.add(new UFDouble[]{delNum, MMNumberUtil.toNotNullValue(items[i].getNwrnum())});
|
||||
items[i].setNwrnum(wrNum);
|
||||
PMOBPCalUtil.fillReAssNumber("nplanputnum", "nplanputastnum", items[i], "vchangerate", "nwrnum", "nwrastnum");
|
||||
items[i].setStatus(1);
|
||||
}
|
||||
}
|
||||
|
||||
List<PMOItemVO> filterList = new ArrayList();
|
||||
List<String> putplanfinishList = new ArrayList();
|
||||
|
||||
for(PMOItemVO item : items) {
|
||||
String var10001 = item.getPk_org();
|
||||
UFDouble downPara = (UFDouble)prodtolerance.get(var10001 + "#" + item.getCmaterialvid());
|
||||
UFDouble compareplanputnum = item.getNplanputnum();
|
||||
if (MMNumberUtil.isGtZero(downPara)) {
|
||||
compareplanputnum = MMNumberUtil.multiply(new UFDouble[]{item.getNplanputnum(), MMNumberUtil.sub(UFDouble.ONE_DBL, new UFDouble[]{downPara.div((double)100.0F)})});
|
||||
}
|
||||
|
||||
UFBoolean flag = UFBoolean.FALSE;
|
||||
if (!MMMapUtil.isEmpty(bpara)) {
|
||||
flag = (UFBoolean)bpara.get(item.getPk_org());
|
||||
if (null == flag) {
|
||||
flag = UFBoolean.FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (flag.booleanValue()) {
|
||||
UFDouble dpara = (UFDouble)intolerance.get(item.getCmaterialvid());
|
||||
UFDouble dparabl = UFDouble.ONE_DBL;
|
||||
if (!MMValueCheck.isEmpty(bpara)) {
|
||||
dparabl = MMNumberUtil.add(new UFDouble[]{UFDouble.ONE_DBL, dpara.div((double)100.0F)});
|
||||
}
|
||||
|
||||
UFDouble totalputnum = MMNumberUtil.add(new UFDouble[]{item.getNplanputnum(), item.getNrejectnum()});
|
||||
if (MMNumberUtil.isLsEqual(item.getNwrnum(), MMNumberUtil.multiply(new UFDouble[]{totalputnum, dparabl}))) {
|
||||
filterList.add(item);
|
||||
}
|
||||
|
||||
if (MMNumberUtil.isGtEqual(item.getNwrnum(), compareplanputnum) && !MMMapUtil.isEmpty(autodonepara)) {
|
||||
PMOHeadVO head = (PMOHeadVO)headMap.get(item.getCpmohid());
|
||||
UFBoolean autoFlag = (UFBoolean)autodonepara.get(head.getCtrantypeid());
|
||||
if (autoFlag.booleanValue()) {
|
||||
BaseDAO dao = new BaseDAO();
|
||||
// 查询备料计划 如果下游备料计划未出库数量(计划出库-累计出库)小于0,生产订单自动完工取消 naccoutnum 累计出库数量 nplanoutnum计划出库
|
||||
String pickmsql = "select cbmaterialvid,vrowno,nplanoutnum,naccoutnum from mm_pickm_b where cpickmid in ( select cpickmid from mm_pickm where csourcebillrowid='" + item.getCmoid() + "' and dr=0) and dr = 0";
|
||||
List<Map<String,Object>> hmateral = (List<Map<String,Object>>) dao.executeQuery(pickmsql, new MapListProcessor());
|
||||
List<String> vrownos = new ArrayList();
|
||||
List<Map<String,Object>> maps = new ArrayList();
|
||||
|
||||
Boolean l=false;
|
||||
for (Map<String,Object> map : hmateral) {
|
||||
String material = MaterialVO.CODE+","+MaterialVO.NAME+","+MaterialVO.OUTTOLERANCE;
|
||||
// 物料出库容差 % 0.0000
|
||||
Map<String, Object> goodsMap = MyHelper.transferFields(MaterialVO.getDefaultTableName(), material, MaterialVO.PK_MATERIAL, item.getCmaterialvid());
|
||||
String Outtolerance= null !=goodsMap.get("outtolerance") ? goodsMap.get("outtolerance").toString() : "0";
|
||||
if(null != map.get("nplanoutnum") && null != map.get("naccoutnum") && (new UFDouble(String.valueOf(map.get("nplanoutnum").toString())).sub(new UFDouble(String.valueOf(map.get("naccoutnum").toString()))).abs()).compareTo(new UFDouble(String.valueOf(map.get("nplanoutnum").toString())).multiply(new UFDouble(String.valueOf(Outtolerance.toString())))) > 0) {
|
||||
l=true;
|
||||
Map<String, Object> map1 =new HashMap<>();
|
||||
map1.put("vrowno",map.get("vrowno").toString());
|
||||
map1.put("mrlname",goodsMap.get("name").toString());
|
||||
map1.put("mrlcode",goodsMap.get("code").toString());
|
||||
maps.add(map1);
|
||||
}
|
||||
}
|
||||
if(l){
|
||||
// String pickm = " select vbillcode,cpickmid from mm_pickm where csourcebillrowid='" + item.getCmoid() + "' and dr=0";
|
||||
// List<Map<String,Object>> pickms = (List<Map<String,Object>>) dao.executeQuery(pickm, new MapListProcessor());
|
||||
String err="";
|
||||
for (Map<String,Object> vrowno : maps) {
|
||||
String pmobillcode= head.getVbillcode();
|
||||
String pmovrowno= item.getVrowno();
|
||||
// String pickmbillcode= pickms.get(0).get("vbillcode").toString();
|
||||
String pickmvrowno= vrowno.get("vrowno").toString();
|
||||
String mrlname= vrowno.get("mrlname").toString();
|
||||
String mrlcode= vrowno.get("mrlcode").toString();
|
||||
err=err+"生产订单"+pmobillcode+"行"+pmovrowno+"的备料计划行"+pickmvrowno+"物料【"+mrlcode+","+mrlname+"】检查不通过\n";
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
UFDouble divNum = MMNumberUtil.add(new UFDouble[]{item.getNzcgnum(), item.getNzwwnum()});
|
||||
divNum = MMNumberUtil.add(new UFDouble[]{divNum, item.getNzdbnum()});
|
||||
UFDouble totalWRnum = MMNumberUtil.add(new UFDouble[]{divNum, item.getNwrnum()});
|
||||
if (!MMNumberUtil.isLsZero(item.getNwrnum())) {
|
||||
filterList.add(item);
|
||||
}
|
||||
|
||||
if (totalWRnum.doubleValue() >= compareplanputnum.doubleValue() && !MMMapUtil.isEmpty(autodonepara)) {
|
||||
|
||||
|
||||
PMOHeadVO head = (PMOHeadVO)headMap.get(item.getCpmohid());
|
||||
UFBoolean autoFlag = (UFBoolean)autodonepara.get(head.getCtrantypeid());
|
||||
if (autoFlag.booleanValue()) {
|
||||
BaseDAO dao = new BaseDAO();
|
||||
// 查询备料计划 如果下游备料计划未出库数量(计划出库-累计出库)小于0,生产订单自动完工取消 naccoutnum 累计出库数量 nplanoutnum计划出库
|
||||
String pickmsql = "select cbmaterialvid,vrowno,nplanoutnum,naccoutnum from mm_pickm_b where cpickmid in ( select cpickmid from mm_pickm where csourcebillrowid='" + item.getCmoid() + "' and dr=0) and dr = 0";
|
||||
List<Map<String,Object>> hmateral = (List<Map<String,Object>>) dao.executeQuery(pickmsql, new MapListProcessor());
|
||||
List<String> vrownos = new ArrayList();
|
||||
List<Map<String,Object>> maps = new ArrayList();
|
||||
|
||||
Boolean l=false;
|
||||
for (Map<String,Object> map : hmateral) {
|
||||
String material =MaterialVO.CODE+","+MaterialVO.NAME+","+MaterialVO.OUTTOLERANCE;
|
||||
// 物料出库容差 % 0.0000
|
||||
Map<String, Object> goodsMap = MyHelper.transferFields(MaterialVO.getDefaultTableName(), material, MaterialVO.PK_MATERIAL, item.getCmaterialvid());
|
||||
String Outtolerance= null !=goodsMap.get("outtolerance") ? goodsMap.get("outtolerance").toString() : "0";
|
||||
if(null != map.get("nplanoutnum") && null != map.get("naccoutnum") && (new UFDouble(map.get("nplanoutnum").toString()).sub(new UFDouble(String.valueOf(map.get("naccoutnum").toString()))).abs()).compareTo(new UFDouble(String.valueOf(map.get("nplanoutnum").toString())).multiply(new UFDouble(String.valueOf(Outtolerance.toString())))) > 0) {
|
||||
UFDouble num1 = new UFDouble(map.get("nplanoutnum").toString()).sub(new UFDouble(String.valueOf(map.get("naccoutnum").toString()))).abs();
|
||||
|
||||
l=true;
|
||||
Map<String, Object> map1 =new HashMap<>();
|
||||
map1.put("vrowno",map.get("vrowno").toString());
|
||||
map1.put("mrlname",goodsMap.get("name").toString());
|
||||
map1.put("mrlcode",goodsMap.get("code").toString());
|
||||
maps.add(map1);
|
||||
}
|
||||
}
|
||||
if(l){
|
||||
// String pickm = " select vbillcode,cpickmid from mm_pickm where csourcebillrowid='" + item.getCmoid() + "' and dr=0";
|
||||
// List<Map<String,Object>> pickms = (List<Map<String,Object>>) dao.executeQuery(pickm, new MapListProcessor());
|
||||
String err="";
|
||||
for (Map<String,Object> vrowno : maps) {
|
||||
String pmobillcode= head.getVbillcode();
|
||||
String pmovrowno= item.getVrowno();
|
||||
// String pickmbillcode= pickms.get(0).get("vbillcode").toString();
|
||||
String pickmvrowno= vrowno.get("vrowno").toString();
|
||||
String mrlname= vrowno.get("mrlname").toString();
|
||||
String mrlcode= vrowno.get("mrlcode").toString();
|
||||
err=err+"生产订单"+pmobillcode+"行"+pmovrowno+"的备料计划行"+pickmvrowno+"物料【"+mrlcode+","+mrlname+"】检查不通过\n";
|
||||
}
|
||||
return err;
|
||||
}
|
||||
item.setFitemstatus(Integer.valueOf(PMOFItemStatusEnum.FINISH.getEnumValue().getValue()));
|
||||
item.setTactendtime(new UFDateTime(AppBsContext.getInstance().getBusiDate().toPersisted()));
|
||||
item.setStatus(1);
|
||||
putplanfinishList.add(item.getCmoid());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
} catch (BusinessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
private void checkMOstatus(PMOItemVO[] items, Map<String, PMOHeadVO> headMap) {
|
||||
if (!MMArrayUtil.isEmpty(items)) {
|
||||
StringBuilder msg = new StringBuilder("");
|
||||
|
||||
for(PMOItemVO item : items) {
|
||||
if (PMOFItemStatusEnum.PLAN.equalsValue(item.getFitemstatus()) || PMOFItemStatusEnum.AUDIT.equalsValue(item.getFitemstatus())) {
|
||||
PMOHeadVO head = (PMOHeadVO)headMap.get(item.getCpmohid());
|
||||
String vbillcode = "";
|
||||
String vrowno = "";
|
||||
if (!MMValueCheck.isEmpty(head)) {
|
||||
vbillcode = head.getVbillcode();
|
||||
vrowno = item.getVrowno();
|
||||
}
|
||||
|
||||
msg.append(PMOConstLang.getMSG_REWRITE_WRNUM_AUTOERROR(vbillcode, vrowno)).append("\n");
|
||||
}
|
||||
|
||||
if (PMOFItemStatusEnum.CLOSE.equalsValue(item.getFitemstatus())) {
|
||||
PMOHeadVO head = (PMOHeadVO)headMap.get(item.getCpmohid());
|
||||
String vbillcode = "";
|
||||
String vrowno = "";
|
||||
if (!MMValueCheck.isEmpty(head)) {
|
||||
vbillcode = head.getVbillcode();
|
||||
vrowno = item.getVrowno();
|
||||
}
|
||||
|
||||
msg.append(PMOConstLang.getMSG_REWRITE_WRNUM_CLOSEERROR(vbillcode, vrowno)).append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (msg.length() > 0) {
|
||||
ExceptionUtils.wrappBusinessException(msg.toString());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
private void checkWrts(MapList<String, PMORewriteParaVO> mapList, PMOItemVO[] vos) {
|
||||
if (MMValueCheck.isEmpty(mapList) || MMArrayUtil.isEmpty(vos)) {
|
||||
ExceptionUtils.wrappBusinessException(PMOConstLang.getMSG_REWRITE_PARAERROR());
|
||||
}
|
||||
|
||||
MapList<String, PMORewriteParaVO> paraList = new MapList();
|
||||
List<PMOItemVO> itemList = new ArrayList();
|
||||
|
||||
for(int i = 0; i < vos.length; ++i) {
|
||||
List<PMORewriteParaVO> paraListByid = mapList.get(vos[i].getCmoid());
|
||||
if (2 == ((PMORewriteParaVO)paraListByid.get(0)).getBillStatus() && !MMValueCheck.isEmpty(((PMORewriteParaVO)paraListByid.get(0)).getBillTs())) {
|
||||
paraList.putAll(vos[i].getCmoid(), paraListByid);
|
||||
itemList.add(vos[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (paraList.size() > 0) {
|
||||
PMOItemVO[] newvos = (PMOItemVO[])itemList.toArray(new PMOItemVO[0]);
|
||||
PMOItemVO[] originalVOs = this.construcnVOs(paraList, newvos);
|
||||
(new VOConcurrentTool()).checkTS(newvos, originalVOs);
|
||||
}
|
||||
}
|
||||
|
||||
private PMOItemVO[] construcnVOs(MapList<String, PMORewriteParaVO> paraMapList, PMOItemVO[] vos) {
|
||||
List<PMOItemVO> itemList = new ArrayList();
|
||||
|
||||
for(int i = 0; i < vos.length; ++i) {
|
||||
List<PMORewriteParaVO> paraListByid = paraMapList.get(vos[i].getCmoid());
|
||||
PMOItemVO vo = new PMOItemVO();
|
||||
vo.setTs(((PMORewriteParaVO)paraListByid.get(0)).getBillTs());
|
||||
vo.setPrimaryKey(vos[i].getPrimaryKey());
|
||||
itemList.add(vo);
|
||||
}
|
||||
|
||||
return (PMOItemVO[])itemList.toArray(new PMOItemVO[itemList.size()]);
|
||||
}
|
||||
|
||||
public Map<String, UFBoolean> filterDelieveredMo(String[] moids) throws BusinessException {
|
||||
try {
|
||||
IUAPQueryBS service = (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class);
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" select ").append("csourcebillid").append(" from ").append(PickmHeadVO.getDefaultTableName()).append(" inner join ").append(PickmItemVO.getDefaultTableName()).append(" on ").append(PickmHeadVO.getDefaultTableName()).append(".").append("cpickmid").append("=").append(PickmItemVO.getDefaultTableName()).append(".").append("cpickmid").append(" where ").append("vsourcebilltype").append("='55A2'").append(" and ").append(MMTempTable.getWhereInSQL("tmp_mm_srcbid", moids, "csourcebillid"));
|
||||
StringBuilder sql1 = sql.append(" and ").append(PickmItemVO.getDefaultTableName()).append(".").append("naccoutnum").append(">0").append(" and ").append(PickmItemVO.getDefaultTableName()).append(".").append("bbackflush").append("='N'");
|
||||
List<String> doutMoids = (List)service.executeQuery(sql1.toString(), new ColumnListProcessor());
|
||||
StringBuilder sql2 = sql.append(" and ").append(PickmItemVO.getDefaultTableName()).append(".").append("bbackflush").append("='Y'");
|
||||
List<String> transMoids = (List)service.executeQuery(sql2.toString(), new ColumnListProcessor());
|
||||
doutMoids.addAll(transMoids);
|
||||
Map<String, UFBoolean> returnmap = new HashMap();
|
||||
|
||||
for(String moid : moids) {
|
||||
if (doutMoids.contains(moid)) {
|
||||
returnmap.put(moid, UFBoolean.TRUE);
|
||||
} else {
|
||||
returnmap.put(moid, UFBoolean.FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
return returnmap;
|
||||
} catch (Exception e) {
|
||||
ExceptionUtils.marsh(e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理聚合VO,根据订单类型获取不符合条件的数据
|
||||
* @param aggVOs 聚合VO数组
|
||||
* @param type 订单类型:1-请购单,2-生产订单
|
||||
* @return 不符合条件的聚合VO数组
|
||||
*/
|
||||
public AggPickmVO[] processAggVOs(AggPickmVO[] aggVOs, String type) throws DAOException {
|
||||
List<AggPickmVO> invalidList = new ArrayList<>();
|
||||
BaseDAO dao = new BaseDAO(); // 保持DAO实例优化
|
||||
|
||||
for (AggPickmVO vo : aggVOs) {
|
||||
PickmItemVO[] items = (PickmItemVO[]) vo.getChildren(PickmItemVO.class);
|
||||
if (items != null) {
|
||||
for (PickmItemVO child : items) {
|
||||
boolean isValid = true; // 标识是否符合条件(符合则不收集)
|
||||
|
||||
// 物料类型过滤逻辑:仅当不是来自cpickmbids时才执行判断
|
||||
|
||||
String materalType = child.getVbdef14();
|
||||
|
||||
if (null == materalType) {
|
||||
// 查询物料信息
|
||||
String sql = "select cmaterialvid from mm_pickm where cpickmid = '" + child.getCpickmid() + "' and dr = 0";
|
||||
String hmateral = (String) dao.executeQuery(sql, new ColumnProcessor());
|
||||
|
||||
// 根据订单类型执行不同的BOM查询逻辑
|
||||
String bomcode = null;
|
||||
if ("1".equals(type)) { // 请购单查询逻辑
|
||||
sql="SELECT bd_defdoc.code FROM bd_bom_b " +
|
||||
"LEFT JOIN bd_defdoc ON bd_bom_b.vdef14 = bd_defdoc.pk_defdoc " +
|
||||
"WHERE bd_bom_b.cbomid in (select distinct bd_bom.cbomid from bd_bom bd_bom " +
|
||||
"where ( bd_bom.pk_org = '"+child.getPk_org()+"' AND bd_bom.hcmaterialid = '"+hmateral+"' " +
|
||||
"AND bd_bom.hfbomcategory = 1 AND bd_bom.hbcustomized = 'N' ) " +
|
||||
"and bd_bom.dr = 0 and bd_bom.hbcustomized = 'N' and bd_bom.fbomtype != 3 ) " +
|
||||
"AND bd_bom_b.dr = 0 and bd_bom_b.cmaterialvid='" + child.getCbmaterialvid() + "'";
|
||||
bomcode = (String) dao.executeQuery(sql, new ColumnProcessor());
|
||||
} else if ("2".equals(type)) { // 生产订单查询逻辑
|
||||
sql="SELECT bd_defdoc.code FROM bd_bom_b " +
|
||||
"LEFT JOIN bd_defdoc ON bd_bom_b.vdef14 = bd_defdoc.pk_defdoc " +
|
||||
"WHERE bd_bom_b.cbomid in (select distinct bd_bom.cbomid from bd_bom bd_bom " +
|
||||
"where ( bd_bom.pk_org = '"+child.getPk_org()+"' AND bd_bom.hcmaterialid = '"+hmateral+"' " +
|
||||
"AND bd_bom.hfbomcategory = 1 AND bd_bom.hbcustomized = 'N' ) " +
|
||||
"and bd_bom.dr = 0 and bd_bom.hbcustomized = 'N' and bd_bom.fbomtype != 3 ) " +
|
||||
"AND bd_bom_b.dr = 0 and bd_bom_b.cmaterialvid='" + child.getCbmaterialvid() + "'";
|
||||
bomcode = (String) dao.executeQuery(sql, new ColumnProcessor());
|
||||
}
|
||||
|
||||
// 如果初始查询无结果,执行二次查询(根据类型区分)
|
||||
if (null == bomcode) {
|
||||
if ("1".equals(type)) { // 请购单二次查询
|
||||
String secondsql=" SELECT bd_defdoc.code FROM bd_bom_b " +
|
||||
"LEFT JOIN bd_defdoc ON bd_bom_b.vdef14 = bd_defdoc.pk_defdoc " +
|
||||
"WHERE bd_bom_b.cbomid in (select bd_bom.cbomid from bd_bom bd_bom " +
|
||||
"WHERE bd_bom.pk_org = '"+child.getPk_org()+"' and bd_bom.hcmaterialid in " +
|
||||
"(SELECT bd_bom_b.cmaterialvid FROM bd_bom_b " +
|
||||
"LEFT JOIN bd_defdoc ON bd_bom_b.vdef14 = bd_defdoc.pk_defdoc " +
|
||||
"WHERE bd_bom_b.cbomid in (select distinct bd_bom.cbomid from bd_bom bd_bom " +
|
||||
"where ( bd_bom.pk_org = '"+child.getPk_org()+"' AND bd_bom.hcmaterialid = '"+hmateral+"' " +
|
||||
"AND bd_bom.hfbomcategory = 1 AND bd_bom.hbcustomized = 'N' ) " +
|
||||
"and bd_bom.dr = 0 and bd_bom.hbcustomized = 'N' and bd_bom.fbomtype != 3 ) " +
|
||||
"AND bisvirtual='Y') AND bd_bom.hfbomcategory = 1 AND bd_bom.hbcustomized = 'N' " +
|
||||
"and bd_bom.dr = 0 and bd_bom.hbcustomized = 'N' and bd_bom.fbomtype != 3 ) " +
|
||||
"AND bd_bom_b.dr = 0 and bd_bom_b.cmaterialvid='"+child.getCbmaterialvid()+"'";
|
||||
bomcode = (String) dao.executeQuery(secondsql, new ColumnProcessor());
|
||||
} else if ("2".equals(type)) { // 生产订单二次查询
|
||||
String secondsql=" SELECT bd_defdoc.code FROM bd_bom_b " +
|
||||
"LEFT JOIN bd_defdoc ON bd_bom_b.vdef14 = bd_defdoc.pk_defdoc " +
|
||||
"WHERE bd_bom_b.cbomid in (select bd_bom.cbomid from bd_bom bd_bom " +
|
||||
"WHERE bd_bom.pk_org = '"+child.getPk_org()+"' and bd_bom.hcmaterialid in " +
|
||||
"(SELECT bd_bom_b.cmaterialvid FROM bd_bom_b " +
|
||||
"LEFT JOIN bd_defdoc ON bd_bom_b.vdef14 = bd_defdoc.pk_defdoc " +
|
||||
"WHERE bd_bom_b.cbomid in (select distinct bd_bom.cbomid from bd_bom bd_bom " +
|
||||
"where ( bd_bom.pk_org = '"+child.getPk_org()+"' AND bd_bom.hcmaterialid = '"+hmateral+"' " +
|
||||
"AND bd_bom.hfbomcategory = 1 AND bd_bom.hbcustomized = 'N' ) " +
|
||||
"and bd_bom.dr = 0 and bd_bom.hbcustomized = 'N' and bd_bom.fbomtype != 3 ) " +
|
||||
"AND bisvirtual='Y') AND bd_bom.hfbomcategory = 1 AND bd_bom.hbcustomized = 'N' " +
|
||||
"and bd_bom.dr = 0 and bd_bom.hbcustomized = 'N' and bd_bom.fbomtype != 3 ) " +
|
||||
"AND bd_bom_b.dr = 0 and bd_bom_b.cmaterialvid='"+child.getCbmaterialvid()+"'";
|
||||
bomcode = (String) dao.executeQuery(secondsql, new ColumnProcessor());
|
||||
}
|
||||
}
|
||||
if(bomcode != null && !bomcode.equals("")) {
|
||||
if(bomcode.equals(type)){
|
||||
isValid = false; // 不符合条件
|
||||
}
|
||||
}else{
|
||||
// 检查物料中的物料类型(可根据订单类型添加不同判断)
|
||||
sql = "select martype from bd_materialstock where pk_material = '" + child.getCbmaterialvid() + "' and pk_org = '" + child.getPk_org() + "' and dr = 0";
|
||||
String matType = (String) dao.executeQuery(sql, new ColumnProcessor());
|
||||
|
||||
// 请购单和生产订单可能有不同的物料类型过滤标准
|
||||
if ("2".equals(type)) {
|
||||
// 请购单:非制造件或PR类型不符合
|
||||
if (null == matType || "PR".equals(matType) || "".equals(matType)) {
|
||||
isValid = false;
|
||||
}
|
||||
} else if ("1".equals(type)) {
|
||||
// 生产订单:可能有更严格的过滤条件
|
||||
if (null == matType || "MR".equals(matType) || "".equals(matType)) {
|
||||
isValid = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// // 判断是否为不符合条件的数据(根据类型可能有不同判断标准)
|
||||
// if (null != bomcode && "2".equals(bomcode)) {
|
||||
// isValid = false; // 采购件:不符合
|
||||
// } else if (!(null != bomcode && "1".equals(bomcode))) {
|
||||
// // 检查物料类型(可根据订单类型添加不同判断)
|
||||
// sql = "select martype from bd_materialstock where pk_material = '" + child.getCbmaterialvid() + "' and pk_org = '" + child.getPk_org() + "' and dr = 0";
|
||||
// String matType = (String) dao.executeQuery(sql, new ColumnProcessor());
|
||||
//
|
||||
// // 请购单和生产订单可能有不同的物料类型过滤标准
|
||||
// if ("2".equals(type)) {
|
||||
// // 请购单:非制造件或PR类型不符合
|
||||
// if (null == matType || "PR".equals(matType) || "".equals(matType)) {
|
||||
// isValid = false;
|
||||
// }
|
||||
// } else if ("1".equals(type)) {
|
||||
// // 生产订单:可能有更严格的过滤条件
|
||||
// if (null == matType || "MR".equals(matType) || "".equals(matType)) {
|
||||
// isValid = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
// 有物料类型时的判断
|
||||
String sql = "SELECT bd_defdoc.code FROM bd_defdoc where bd_defdoc.pk_defdoc = '" + materalType + "'";
|
||||
String bomcode = (String) dao.executeQuery(sql, new ColumnProcessor());
|
||||
// 1 制造件
|
||||
// 2 采购件
|
||||
|
||||
// 根据订单类型判断不符合条件
|
||||
if ("1".equals(type)) {
|
||||
// 请购单:采购件或未知类型不符合
|
||||
if (null == bomcode || "1".equals(bomcode) || "".equals(bomcode)) {
|
||||
isValid = false;
|
||||
}
|
||||
} else if ("2".equals(type)) {
|
||||
// 生产订单:可能有不同的判断标准
|
||||
if (null == bomcode || "1".equals(bomcode)|| "".equals(bomcode)) {
|
||||
isValid = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 检查是否为项目专用料(可根据订单类型调整判断逻辑)
|
||||
if (!child.getBprojectmaterial().booleanValue()) {
|
||||
// 生产订单可能对项目专用料有更严格要求
|
||||
if ("2".equals(type) || "1".equals(type)) {
|
||||
isValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
// 收集不符合条件的数据
|
||||
if (!isValid) {
|
||||
List<PickmItemVO> pickmItemVOList = new ArrayList<>();
|
||||
pickmItemVOList.add(child);
|
||||
|
||||
AggPickmVO newVO = new AggPickmVO();
|
||||
newVO.setParent(vo.getParent());
|
||||
newVO.setChildren(PickmItemVO.class, pickmItemVOList.toArray(new PickmItemVO[0]));
|
||||
invalidList.add(newVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return invalidList.toArray(new AggPickmVO[0]);
|
||||
}
|
||||
}
|
||||
|
|
@ -402,6 +402,7 @@
|
|||
<action>mmpac.applytask.opreqpushtotask</action>
|
||||
<action>mmpac.applytask.bodyAfterEdit</action>
|
||||
<action>mmpac.applytask.queryByCond</action>
|
||||
<action>mmpac.pwr.checkRewrite</action>
|
||||
</actions>
|
||||
</authorize>
|
||||
<authorize><!-- 生产订单工作台 -->
|
||||
|
|
|
|||
|
|
@ -0,0 +1,555 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<actions>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryPmos</name>
|
||||
<label>流程生产订单拉单查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.QueryPmoAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.transfromPmo</name>
|
||||
<label>流程生产订单拉单</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.TransFromPmoAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryDmos</name>
|
||||
<label>流程生产订单拉单查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.QueryDmoAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.transfromDmo</name>
|
||||
<label>流程生产订单拉单</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.TransFromDmoAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryPputplan</name>
|
||||
<label>流程投放计划拉单查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.pull.action.QueryPPutPlanAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.transfromPputplan</name>
|
||||
<label>流程投放计划拉单</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.pull.action.TransFromPPutPlanAction
|
||||
</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryDputplan</name>
|
||||
<label>离散投放计划拉单查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.pull.action.QueryDPutPlanAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.transfromDputplan</name>
|
||||
<label>离散投放计划拉单</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.pull.action.TransFromDPutPlanAction
|
||||
</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryList</name>
|
||||
<label>流程生产报告列表查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryPage</name>
|
||||
<label>分页查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.QueryPageAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryPwrCard</name>
|
||||
<label>流程生产报告卡片数据查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.edit</name>
|
||||
<label>流程生产报告修改</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrEditAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.copyPwrCard</name>
|
||||
<label>流程生产报告卡片数据复制</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCopyAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryPwrPick</name>
|
||||
<label>流程生产报告卡片耗用查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrPickQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryPwrQuality</name>
|
||||
<label>流程生产报告卡片质量查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrQualityQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.newSave</name>
|
||||
<label>流程生产报告卡片数据查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrNewSaveAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.editSave</name>
|
||||
<label>流程生产报告卡片数据查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrEditSaveAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.SaveCommit</name>
|
||||
<label>流程生产报告保存提交</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrSaveCommitAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.delete</name>
|
||||
<label>流程生产报告卡片数据查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDeleteAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.batchdelete</name>
|
||||
<label>流程生产报告卡片数据查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrBatchDeleteAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.headAfterEdit</name>
|
||||
<label>流程生产报告表头编辑后事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.HeadAfterEditAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.headBeforeEdit</name>
|
||||
<label>流程生产报告表头编辑前事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.HeadBeforeEditAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.bodyBeforeEdit</name>
|
||||
<label>流程生产订单-表体编辑前事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.BodyBeforeEditAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.bodyAfterEdit</name>
|
||||
<label>流程生产订单-表体编辑后事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.BodyAfterEditAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.orgChangEvent</name>
|
||||
<label>流程生产订单-组织编辑事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.OrgChangeEventAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.commit</name>
|
||||
<label>流程生产报告卡片数据查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCommitAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.uncommit</name>
|
||||
<label>流程生产报告卡片数据查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrUncommitAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.ApplyCheck</name>
|
||||
<label>流程生产报告列表报检</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrApplyCheckAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.EmpassCheck</name>
|
||||
<label>流程生产报告紧急放行</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrEmpassCheckAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.Pick</name>
|
||||
<label>流程生产报告列表耗用</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrBatchPickAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardPick</name>
|
||||
<label>流程生产报告卡片耗用</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardPickAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.UnPick</name>
|
||||
<label>流程生产报告列表取消耗用</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrBatchUnPickAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardUnPick</name>
|
||||
<label>流程生产报告卡片取消耗用</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardUnPickAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.BackFlush</name>
|
||||
<label>流程生产报告列表自动倒冲</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrBatchBackFlushAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardBackFlush</name>
|
||||
<label>流程生产报告卡片自动倒冲</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardBackFlushAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.UnBackFlush</name>
|
||||
<label>流程生产报告列表取消自动倒冲</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrBatchUnBackFlushAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardUnBackFlush</name>
|
||||
<label>流程生产报告卡片取消自动倒冲</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardUnBackFlushAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.GrandAfterEdit</name>
|
||||
<label>流程生产报告孙表编辑后事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrGrandAfterEventAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CreateOutput</name>
|
||||
<label>流程生产报告卡片计算产出</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardCreateOutputAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CreatePick</name>
|
||||
<label>流程生产报告卡片计算产出</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCreatePickAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.WorkDoneSetCheckClick</name>
|
||||
<label>流程生产报告完工齐套检查</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrWorkDoneSetCheckAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.ListProdInQueryQuality</name>
|
||||
<label>流程生产报告列表合格入库查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrProdInQueryQualityAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.ListProdIn</name>
|
||||
<label>流程生产报告合格入库</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrProdInAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.ListDiscardInQueryQuality</name>
|
||||
<label>流程生产报告列表报废批量入库查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDiscardInQueryQualityAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.DiscardBatchIn</name>
|
||||
<label>流程生产报告报废批量入库</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDiscardBatchInAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.discardbatchinafteredit</name>
|
||||
<label>流程生产报告报废批量入库编辑后事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDiscardBatchInAfterEditAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.prodinafteredit</name>
|
||||
<label>流程生产报告合格入库编辑后事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrProdinAfterEditAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.discardinafteredit</name>
|
||||
<label>流程生产报告报废处理编辑后事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDiscardinAfterEditAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.DiscardIn</name>
|
||||
<label>流程生产报告报废处理</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDiscardInAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.DiscardInAddMo</name>
|
||||
<label>流程生产报告报废补单</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDiscardInAddMoAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.DiscardInAddPut</name>
|
||||
<label>流程生产报告报废补投</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDiscardInAddPutAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.manualExamQueryQuality</name>
|
||||
<label>流程生产报告手工检验查询质量信息孙表</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrManualExamQueryQualityAction
|
||||
</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.manualExam</name>
|
||||
<label>流程生产报告手工检验按钮的校验</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrManualExamAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.ManualBodyAfterEdit</name>
|
||||
<label>流程生产报告手工检验表体编辑后</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrManualBodyAfterEditAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardProdInQueryQuality</name>
|
||||
<label>流程生产报告卡片合格入库查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardProdInQueryQualityAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.prodInSnQuery</name>
|
||||
<label>生产报告合格入库序列号查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrProdInSnQueryQualityAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.prodInSn</name>
|
||||
<label>生产报告合格入库序列号确定</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrProdInSnAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardDiscardInQueryQuality</name>
|
||||
<label>流程生产报告卡片报废处理查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardDiscardInQueryQualityAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardDiscardBatchInQueryQuality</name>
|
||||
<label>流程生产报告卡片报废批量入库查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardDiscardBatchInQueryQualityAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.ManualConfirmAction</name>
|
||||
<label>流程生产报告手工检验-确定按钮操作</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrManualConfirmAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.HandOverValidatorAction</name>
|
||||
<label>流程生产报告移交数据校验及处理</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.HandOverValidatorAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.HandOverVaildInGrandAction</name>
|
||||
<label>流程生产报告移交数据校验及处理(质量孙表上)</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.HandOverVaildInGrandAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.HandOverOkAction</name>
|
||||
<label>流程生产报告移交确认处理</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.HandOverOkAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.GrandGetProdin</name>
|
||||
<label>流程生产报告质量孙表合格入库对话框</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrGrandGetProdInAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.GrandGetDiscardin</name>
|
||||
<label>流程生产报告质量孙表报废处理对话框</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrGrandGetDiscardInAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.GrandGetDiscardBatchin</name>
|
||||
<label>流程生产报告质量孙表报废批量入库对话框</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrGrandGetDiscardBatchInAction
|
||||
</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.ManualBodyBeforeEdit</name>
|
||||
<label>流程生产报告手工检验表体编辑后</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrManualBodyBeforeEditAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.ListRework</name>
|
||||
<label>流程生产报告列表返工</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrListReworkAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.CardRework</name>
|
||||
<label>流程生产报告卡片返工</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCardReworkAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.GrandRework</name>
|
||||
<label>流程生产报告质量孙表返工</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrGrandReworkAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.print</name>
|
||||
<label>流程生产报告打印</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrPrintAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.printpick</name>
|
||||
<label>流程生产报告打印材料消耗</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrPrintPickAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.dirprintbarcode</name>
|
||||
<label>流程生产报告直接打印条码</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrDirPrintBarcodeAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.qrybillinfo</name>
|
||||
<label>条码打印查询物料信息</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrQryPrintBarCodeAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.printbarcode</name>
|
||||
<label>流程生产报告打印条码</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrPrintBarcodeAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.queryidentify</name>
|
||||
<label>行标识</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrGetIdentifyAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.copyquality</name>
|
||||
<label>复制质量孙表</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCopyQualityAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.isFreeCheck</name>
|
||||
<label>是否免检</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrIsFreeCheckAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.ManualRowCopyProcessNum</name>
|
||||
<label>手工检验弹窗-表体复制行-处理数量的默认值-进行主辅换算</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrManualRowCopyProcessNum</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.DiscardBatchInBeforeEdit</name>
|
||||
<label>报废批量入库编辑前事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.DiscardBatchInBeforeEditAction
|
||||
</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.DiscardInBeforeEdit</name>
|
||||
<label>报废处理编辑前事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.DiscardInBeforeEditAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.MMToWr</name>
|
||||
<label>生产模块到生产报告前台推单</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.MMToWrAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>mmpac.pwr.querymotranstype</name>
|
||||
<label>订单交易类型</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrGetMoTranstypeAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.checkpermission</name>
|
||||
<label>订单交易类型</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.CheckPwrDataPermission</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.transtypeExtQuery</name>
|
||||
<label>生产报告-交易类型扩展表查询</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.transtype.action.WrTransTypeExtQuery
|
||||
</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryserial</name>
|
||||
<label>序列号</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.QuerySerialAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.serialnoBodyBeforeEdit</name>
|
||||
<label>序列号表体编辑前事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.WrSerNoBodyBeforeEditAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.serialnoBodyAfterEdit</name>
|
||||
<label>序列号表体编辑后事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.WrSerNoBodyAfterEditAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.geneSerNo</name>
|
||||
<label>生成序列号接口</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.sn.action.WrGeneSerNoAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.serNoOk</name>
|
||||
<label>序列号确定</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.sn.action.WrSerNoOkAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.serNoAddLine</name>
|
||||
<label>序列号表体增行</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.sn.action.WrSerNoAddLineAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.serNoRowChange</name>
|
||||
<label>序列号行改变事件</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.event.WrSerNoRowChangeAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.task</name>
|
||||
<label>跳转作业量校验</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrTaskAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.queryByCond</name>
|
||||
<label>生产报告查询-数据穿透</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrQueryByConditionAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>mmpac.pwr.checkRewrite</name>
|
||||
<label>生产报告保存前校验回写</label>
|
||||
<clazz>nccloud.web.mmpac.pwr.action.PwrCheckRewriteAction</clazz>
|
||||
</action>
|
||||
</actions>
|
||||
Loading…
Reference in New Issue