流程备料计划审核源码
This commit is contained in:
		
							parent
							
								
									fa477117bb
								
							
						
					
					
						commit
						92cd236648
					
				|  | @ -0,0 +1,176 @@ | |||
| // | ||||
| // Source code recreated from a .class file by IntelliJ IDEA | ||||
| // (powered by FernFlower decompiler) | ||||
| // | ||||
| 
 | ||||
| package nccloud.web.mmpac.pickm.action; | ||||
| 
 | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import nc.itf.mmpac.pickm.IPickmQueryService; | ||||
| import nc.util.mmf.framework.base.MMValueCheck; | ||||
| import nc.vo.ml.NCLangRes4VoTransl; | ||||
| import nc.vo.mmpac.pickm.entity.AggPickmVO; | ||||
| import nc.vo.mmpac.pickm.entity.PickmHeadVO; | ||||
| import nc.vo.mmpac.pickm.entity.PickmItemVO; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.lang.UFDateTime; | ||||
| import nc.vo.pubapp.pattern.model.entity.bill.AbstractBill; | ||||
| import nccloud.dto.mmpac.pickm.pub.entity.PickmDeleteDTO; | ||||
| import nccloud.dto.mmpac.pickm.pub.entity.PickmDeleteInfo; | ||||
| import nccloud.dto.mmpub.script.entity.MMScriptResultDTO; | ||||
| import nccloud.framework.core.exception.ExceptionUtils; | ||||
| import nccloud.framework.core.json.IJson; | ||||
| import nccloud.framework.service.ServiceLocator; | ||||
| 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.framework.web.ui.pattern.grid.Grid; | ||||
| import nccloud.pubitf.mmpub.commit.service.IBatchRunScriptService; | ||||
| import nccloud.pubitf.riart.pflow.CloudPFlowContext; | ||||
| import nccloud.web.mmpac.pickm.util.PickmScaleUtil; | ||||
| import nccloud.web.mmpub.pub.action.DataPermissionAction; | ||||
| import nccloud.web.mmpub.pub.assign.CommitAssignUtils; | ||||
| import nccloud.web.mmpub.pub.busi.MMATOMaterialCheckUtil; | ||||
| import nccloud.web.mmpub.pub.resexp.PfResumeExceptionNccUtils; | ||||
| import nccloud.web.mmpub.pub.utils.MMBatchOperatorResult; | ||||
| 
 | ||||
| public class PickmCommitAction extends DataPermissionAction { | ||||
|     private String appcode = null; | ||||
| 
 | ||||
|     public PickmCommitAction() { | ||||
|     } | ||||
| 
 | ||||
|     public Object doAction(IRequest request) { | ||||
|         String read = request.read(); | ||||
|         IJson json = JsonFactory.create(); | ||||
| 
 | ||||
|         try { | ||||
|             CommitAssignUtils.before(request); | ||||
|             PickmDeleteDTO infoDTO = (PickmDeleteDTO)json.fromJson(read, PickmDeleteDTO.class); | ||||
|             PickmDeleteInfo[] info = infoDTO.getDeleteInfo(); | ||||
|             this.appcode = infoDTO.getAppcode(); | ||||
|             BillCardOperator operator = new BillCardOperator(infoDTO.getPageCode()); | ||||
|             AggPickmVO[] aggVOs = this.getAggPickmVOs(info); | ||||
|             if (null == aggVOs || aggVOs.length == 0) { | ||||
|                 ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("5008100_0", "05008100-0000")); | ||||
|             } | ||||
| 
 | ||||
|             this.checkPermission(aggVOs); | ||||
|             (new MMATOMaterialCheckUtil("5099002_0", "05099002-0450")).CheckMaterialIsATO(aggVOs, "cmaterialvid", "cffileid", (String)null, (String)null); | ||||
|             BillCard orginCard = operator.toCard(aggVOs[0]); | ||||
|             PickmScaleUtil stoUtil = new PickmScaleUtil(); | ||||
|             stoUtil.processBillCard(orginCard); | ||||
|             operator.setOriginBillcard(orginCard); | ||||
|             CloudPFlowContext context = new CloudPFlowContext(); | ||||
|             context.setBillType("55A3"); | ||||
|             context.setActionName("SAVE"); | ||||
|             context.setBillVos(aggVOs); | ||||
|             MMScriptResultDTO obj = ((IBatchRunScriptService)ServiceLocator.find(IBatchRunScriptService.class)).runBacth(context, AggPickmVO.class); | ||||
|             Object returndata = obj.getData(); | ||||
|             if (returndata != null && returndata instanceof Map) { | ||||
|                 return returndata; | ||||
|             } else { | ||||
|                 boolean iscard = infoDTO.isCard(); | ||||
|                 if (iscard) { | ||||
|                     this.processResult(obj, infoDTO.getPageCode()); | ||||
|                     return obj; | ||||
|                 } else { | ||||
|                     MMBatchOperatorResult resultInto = new MMBatchOperatorResult(obj, infoDTO.getPageCode()); | ||||
|                     Grid grid = resultInto.getSucessVOs(); | ||||
|                     if (MMValueCheck.isNotEmpty(grid)) { | ||||
|                         this.afterProcess(grid); | ||||
|                     } | ||||
| 
 | ||||
|                     return resultInto; | ||||
|                 } | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             return PfResumeExceptionNccUtils.handleResumeException(e); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void afterProcess(Grid grid) { | ||||
|         PickmScaleUtil scaleUtil = new PickmScaleUtil(); | ||||
|         scaleUtil.processGrid(grid); | ||||
|     } | ||||
| 
 | ||||
|     private AggPickmVO[] getAggPickmVOs(PickmDeleteInfo[] deleteinfo) throws BusinessException { | ||||
|         String[] pks = new String[deleteinfo.length]; | ||||
|         Map<String, UFDateTime> map = new HashMap(); | ||||
|         Map<String, UFDateTime> bodymap = new HashMap(); | ||||
| 
 | ||||
|         for(int i = 0; i < deleteinfo.length; ++i) { | ||||
|             String pk = deleteinfo[i].getPks(); | ||||
|             pks[i] = pk; | ||||
|             map.put(pk, deleteinfo[i].getTs()); | ||||
|             if (MMValueCheck.isNotEmpty(deleteinfo[i].getBodys())) { | ||||
|                 for(PickmDeleteInfo bodyInfo : deleteinfo[i].getBodys()) { | ||||
|                     bodymap.put(bodyInfo.getPks(), bodyInfo.getTs()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         IPickmQueryService query = (IPickmQueryService)ServiceLocator.find(IPickmQueryService.class); | ||||
|         AggPickmVO[] aggVOs = query.queryBillsByPks(pks); | ||||
|         if (aggVOs != null && aggVOs.length > 0) { | ||||
|             for(int j = 0; j < aggVOs.length; ++j) { | ||||
|                 String key = aggVOs[j].getParentVO().getCpickmid(); | ||||
|                 aggVOs[j].getParentVO().setAttributeValue("ts", map.get(key)); | ||||
|                 if (MMValueCheck.isNotEmpty(aggVOs[j].getChildrenVO())) { | ||||
|                     for(PickmItemVO body : (PickmItemVO[])aggVOs[j].getChildrenVO()) { | ||||
|                         body.setStatus(1); | ||||
|                         if (MMValueCheck.isNotEmpty(bodymap) && bodymap.containsKey(body.getCpickm_bid())) { | ||||
|                             body.setTs((UFDateTime)bodymap.get(body.getCpickm_bid())); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         return aggVOs; | ||||
|     } | ||||
| 
 | ||||
|     public void processResult(MMScriptResultDTO dto, String pagecode) { | ||||
|         AbstractBill[] sucessVOs = dto.getSucessVOs(); | ||||
|         if (sucessVOs != null && sucessVOs.length != 0) { | ||||
|             dto.setData(this.processCardBill(sucessVOs, pagecode)); | ||||
|             dto.setSucessVOs((AbstractBill[])null); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private Object processCardBill(AbstractBill[] bills, String pagecode) { | ||||
|         PickmHeadVO headerVO = (PickmHeadVO)bills[0].getParent(); | ||||
|         String pk = headerVO.getCpickmid(); | ||||
|         IPickmQueryService query = (IPickmQueryService)ServiceLocator.find(IPickmQueryService.class); | ||||
| 
 | ||||
|         try { | ||||
|             AggPickmVO[] rvo = query.queryBillsByPks(new String[]{pk}); | ||||
|             BillCardOperator operator = new BillCardOperator(pagecode); | ||||
|             BillCard billCard = operator.toCard(rvo[0]); | ||||
|             this.afterProcess(billCard); | ||||
|             return billCard; | ||||
|         } catch (Exception e) { | ||||
|             ExceptionUtils.wrapException(e); | ||||
|             return null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void afterProcess(BillCard card) { | ||||
|         PickmScaleUtil scalUtil = new PickmScaleUtil(); | ||||
|         scalUtil.processBillCard(card); | ||||
|     } | ||||
| 
 | ||||
|     public String getPermissioncode() { | ||||
|         return MMValueCheck.isNotEmpty(this.appcode) && this.appcode.startsWith("5009") ? "55C3" : "55A3"; | ||||
|     } | ||||
| 
 | ||||
|     public String getActioncode() { | ||||
|         return MMValueCheck.isNotEmpty(this.appcode) && this.appcode.startsWith("5009") ? "DPickmAuditBP" : "PickmAuditBP"; | ||||
|     } | ||||
| 
 | ||||
|     public String getBillCodeField() { | ||||
|         return "vbillcode"; | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue