销售订单、流程生产订单、备料计划单据复制高压mes相关字段置空
This commit is contained in:
		
							parent
							
								
									b5978fd55f
								
							
						
					
					
						commit
						4007e1bc1a
					
				|  | @ -0,0 +1,320 @@ | |||
| // | ||||
| // Source code recreated from a .class file by IntelliJ IDEA | ||||
| // (powered by FernFlower decompiler) | ||||
| // | ||||
| 
 | ||||
| package nccloud.web.mmpac.pickm.action; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import nc.itf.mmpac.pickm.IPickmQueryService; | ||||
| import nc.itf.mmpac.pickm.IPickmTransTypeService; | ||||
| import nc.util.mmf.busi.measure.MeasureHelper; | ||||
| import nc.util.mmf.framework.base.MMNumberUtil; | ||||
| import nc.util.mmf.framework.base.MMStringUtil; | ||||
| 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.mmpac.pickm.entity.PickmTransTypeVO; | ||||
| import nc.vo.mmpac.pickm.enumeration.FbillstatusEnum; | ||||
| import nc.vo.mmpac.pickm.enumeration.FpickmtypeEnum; | ||||
| import nc.vo.mmpac.pickm.enumeration.FreplaceinfoEnum; | ||||
| import nc.vo.mmpac.pickm.enumeration.FsourcetypeEnum; | ||||
| import nc.vo.mmpac.pickm.enumeration.FsupplytypeEnum; | ||||
| import nc.vo.mmpac.pickm.util.PickmSortUtil; | ||||
| import nc.vo.mmpub.util.MMSagasUtil; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.ISuperVO; | ||||
| import nc.vo.pub.lang.UFBoolean; | ||||
| import nc.vo.pub.lang.UFDate; | ||||
| import nc.vo.pub.lang.UFDateTime; | ||||
| import nc.vo.pub.lang.UFDouble; | ||||
| import nccloud.dto.mmpac.pickm.pub.entity.PickmQueryInfoDTO; | ||||
| 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.web.mmpac.pickm.util.PickmScaleUtil; | ||||
| 
 | ||||
| public class PickmCopyAction implements ICommonAction { | ||||
|     public PickmCopyAction() { | ||||
|     } | ||||
| 
 | ||||
|     public Object doAction(IRequest request) { | ||||
|         String read = request.read(); | ||||
|         IJson json = JsonFactory.create(); | ||||
|         PickmQueryInfoDTO query = (PickmQueryInfoDTO)json.fromJson(read, PickmQueryInfoDTO.class); | ||||
| 
 | ||||
|         try { | ||||
|             IPickmQueryService service = (IPickmQueryService)ServiceLocator.find(IPickmQueryService.class); | ||||
|             AggPickmVO[] vos = service.queryBillsByPks(new String[]{query.getCpickmid()}); | ||||
|             if (null == vos || vos.length == 0) { | ||||
|                 ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("5008100_0", "05008100-0005")); | ||||
|             } | ||||
| 
 | ||||
|             AggPickmVO billVO = (AggPickmVO)vos[0].clone(); | ||||
|             this.initialHead(billVO.getParentVO()); | ||||
|             this.filterItems(billVO); | ||||
|             Map<String, String> orgAndDeptMap = this.getVidForOrgandDept(billVO); | ||||
|             if (MMValueCheck.isNotEmpty(orgAndDeptMap)) { | ||||
|                 if (MMValueCheck.isNotEmpty(billVO.getParentVO().getPk_org()) && orgAndDeptMap.containsKey("O" + billVO.getParentVO().getPk_org())) { | ||||
|                     billVO.getParentVO().setPk_org_v((String)orgAndDeptMap.get("O" + billVO.getParentVO().getPk_org())); | ||||
|                 } | ||||
| 
 | ||||
|                 if (MMValueCheck.isNotEmpty(billVO.getParentVO().getCdeptid()) && orgAndDeptMap.containsKey("D" + billVO.getParentVO().getCdeptid())) { | ||||
|                     billVO.getParentVO().setCdeptvid((String)orgAndDeptMap.get("D" + billVO.getParentVO().getCdeptid())); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             this.initialItems((PickmItemVO[])billVO.getChildrenVO(), billVO.getParentVO(), orgAndDeptMap); | ||||
|             if (MMValueCheck.isNotEmpty(billVO.getChildrenVO())) { | ||||
|                 billVO.setChildrenVO(PickmSortUtil.sortItemsByRowNo((PickmItemVO[])billVO.getChildrenVO())); | ||||
|             } | ||||
| 
 | ||||
|             BillCardOperator operator = new BillCardOperator(query.getPageid()); | ||||
|             BillCard billCard = operator.toCard(billVO); | ||||
|             this.afterProcess(billCard); | ||||
|             if (MMValueCheck.isNotEmpty(billVO.getParentVO().getVbusitypeid())) { | ||||
|                 boolean isWW = this.getIsWW(billVO.getParentVO().getVbusitypeid()); | ||||
|                 Map<String, Object> returnMap = new HashMap(); | ||||
|                 if (MMValueCheck.isNotEmpty(isWW) && MMValueCheck.isTrue(isWW)) { | ||||
|                     returnMap.put("isWW", true); | ||||
|                     billCard.setUserjson(json.toJson(returnMap)); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             return billCard; | ||||
|         } catch (BusinessException ex) { | ||||
|             ExceptionUtils.wrapBusinessException(ex.getMessage()); | ||||
|             return null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private boolean getIsWW(String busitypeid) { | ||||
|         if (MMValueCheck.isEmpty(busitypeid)) { | ||||
|             return false; | ||||
|         } else { | ||||
|             IPickmTransTypeService service = (IPickmTransTypeService)ServiceLocator.find(IPickmTransTypeService.class); | ||||
| 
 | ||||
|             try { | ||||
|                 PickmTransTypeVO typevo = service.queryTransTypeVO(busitypeid); | ||||
|                 if (MMValueCheck.isEmpty(typevo)) { | ||||
|                     return false; | ||||
|                 } | ||||
| 
 | ||||
|                 if (!FpickmtypeEnum.PRODUCT.equalsValue(typevo.getFpickmtype())) { | ||||
|                     return true; | ||||
|                 } | ||||
|             } catch (BusinessException e) { | ||||
|                 ExceptionUtils.wrapException(e); | ||||
|             } | ||||
| 
 | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private Map<String, String> getVidForOrgandDept(AggPickmVO billVO) { | ||||
|         List<String> orgIDs = new ArrayList(); | ||||
|         List<String> deptIDs = new ArrayList(); | ||||
|         PickmHeadVO head = billVO.getParentVO(); | ||||
|         if (MMValueCheck.isNotEmpty(head.getPk_org())) { | ||||
|             orgIDs.add(head.getPk_org()); | ||||
|         } | ||||
| 
 | ||||
|         if (MMValueCheck.isNotEmpty(head.getCdeptid())) { | ||||
|             deptIDs.add(head.getCdeptid()); | ||||
|         } | ||||
| 
 | ||||
|         if (MMValueCheck.isNotEmpty(billVO.getChildren(PickmItemVO.class))) { | ||||
|             for(PickmItemVO item : (PickmItemVO[])billVO.getChildren(PickmItemVO.class)) { | ||||
|                 String deliverypk_org = item.getCdeliverorgid(); | ||||
|                 if (!MMStringUtil.isEmpty(deliverypk_org)) { | ||||
|                     orgIDs.add(deliverypk_org); | ||||
|                 } | ||||
| 
 | ||||
|                 String supllypk_org = item.getCsupplyorgid(); | ||||
|                 if (!MMStringUtil.isEmpty(supllypk_org)) { | ||||
|                     orgIDs.add(supllypk_org); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         return MMValueCheck.isEmpty(orgIDs) && MMValueCheck.isEmpty(deptIDs) ? null : this.getVidByOidForOrgAndDept(orgIDs, deptIDs); | ||||
|     } | ||||
| 
 | ||||
|     private void filterItems(AggPickmVO billVO) { | ||||
|         PickmItemVO[] oldItems = (PickmItemVO[])billVO.getChildrenVO(); | ||||
|         if (!MMValueCheck.isEmpty(oldItems)) { | ||||
|             List<PickmItemVO> newItems = new ArrayList(); | ||||
| 
 | ||||
|             for(PickmItemVO item : oldItems) { | ||||
|                 if (MMValueCheck.isEmpty(item.getCreplacesrcid())) { | ||||
|                     newItems.add(item); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             billVO.setChildren(PickmItemVO.class, (ISuperVO[])newItems.toArray(new PickmItemVO[0])); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public Map<String, String> getVidByOidForOrgAndDept(List<String> orgids, List<String> deptids) { | ||||
|         IPickmQueryService query = (IPickmQueryService)ServiceLocator.find(IPickmQueryService.class); | ||||
| 
 | ||||
|         try { | ||||
|             return query.queryVidByOidForOrgAndDept(orgids, deptids); | ||||
|         } catch (BusinessException e) { | ||||
|             ExceptionUtils.wrapException(e); | ||||
|             return null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void initialHead(PickmHeadVO head) { | ||||
|         head.setCpickmid((String)null); | ||||
|         head.setVbillcode((String)null); | ||||
|         head.setCreator((String)null); | ||||
|         head.setCreationtime((UFDateTime)null); | ||||
|         head.setModifier((String)null); | ||||
|         head.setModifiedtime((UFDateTime)null); | ||||
|         head.setApprover((String)null); | ||||
|         head.setApprovertime((UFDate)null); | ||||
|         head.setBillmaker((String)null); | ||||
|         head.setDmakedate((UFDate)null); | ||||
|         if (!MMValueCheck.isEmpty(head.getCffileid())) { | ||||
|             head.setVpbomversion((String)null); | ||||
|             head.setVpbomversionnumber((String)null); | ||||
|             head.setVbomversion((String)null); | ||||
|             head.setVbomversionnumber((String)null); | ||||
|             head.setVrtversion((String)null); | ||||
|             head.setVrtversionnumber((String)null); | ||||
|             head.setCffileid((String)null); | ||||
|         } | ||||
| 
 | ||||
|         head.setCsourcebillid((String)null); | ||||
|         head.setCsourcebillrowid((String)null); | ||||
|         head.setVsourcebillrowno((String)null); | ||||
|         head.setCsource2billhid((String)null); | ||||
|         head.setCsource2billbid((String)null); | ||||
|         head.setVsourcebillcode((String)null); | ||||
|         head.setVsourcebilltype((String)null); | ||||
|         head.setVsrctrantype((String)null); | ||||
|         head.setVsrctrantypeid((String)null); | ||||
|         head.setVsource2billcode((String)null); | ||||
|         head.setVsalebillcode((String)null); | ||||
|         head.setCfirstbillid((String)null); | ||||
|         head.setCfirstbillrowid((String)null); | ||||
|         head.setVfirstbillrowno((String)null); | ||||
|         head.setVfirstbillcode((String)null); | ||||
|         head.setVfirstbilltype((String)null); | ||||
|         head.setVfirsttrantype((String)null); | ||||
|         head.setVfirsttrantypeid((String)null); | ||||
|         head.setVsourcemocode((String)null); | ||||
|         head.setVsourcemoid((String)null); | ||||
|         head.setVsourcemorowid((String)null); | ||||
|         head.setVsourcemorowcode((String)null); | ||||
|         head.setVsourcemorowid((String)null); | ||||
|         head.setVfirstmocode((String)null); | ||||
|         head.setVfirstmoid((String)null); | ||||
|         head.setVfirstmorowid((String)null); | ||||
|         head.setVfirstmorowcode((String)null); | ||||
|         head.setVfirstmorowid((String)null); | ||||
|         head.setPk_batchcode((String)null); | ||||
|         head.setVbatchcode((String)null); | ||||
|         head.setVmoprocid((String)null); | ||||
|         head.setVmoprocno((String)null); | ||||
|         head.setVstdprocid((String)null); | ||||
|         head.setVnote((String)null); | ||||
| 
 | ||||
|         head.setVdef19((String)null); | ||||
|         head.setFbillstatus(FbillstatusEnum.PLAN_STATE.toInteger()); | ||||
|         head.setFsourcetype(FsourcetypeEnum.HAND_STATE.toInteger()); | ||||
|         MMSagasUtil.cleanSagasField(head); | ||||
|     } | ||||
| 
 | ||||
|     private void initialItems(PickmItemVO[] items, PickmHeadVO head, Map<String, String> orgAndDeptMap) { | ||||
|         if (!MMValueCheck.isEmpty(items)) { | ||||
|             for(PickmItemVO item : items) { | ||||
|                 UFDouble nunitusenum = UFDouble.ZERO_DBL; | ||||
|                 UFDouble nunituseastnum = UFDouble.ZERO_DBL; | ||||
|                 if (FsupplytypeEnum.RATIONDELIVERY.equalsValue(item.getFsupplytype())) { | ||||
|                     nunitusenum = item.getNplanoutnum(); | ||||
|                     nunituseastnum = item.getNplanoutastnum(); | ||||
|                 } else if (MMNumberUtil.isNotNullAndNotZero(head.getNnumber())) { | ||||
|                     nunitusenum = MMNumberUtil.div(item.getNplanoutnum(), new UFDouble[]{head.getNnumber()}); | ||||
|                     nunituseastnum = MMNumberUtil.div(MeasureHelper.getAssNum(item.getNplanoutnum(), item.getVbchangerate()), new UFDouble[]{MeasureHelper.getAssNum(head.getNnumber(), head.getVchangerate())}); | ||||
|                 } | ||||
| 
 | ||||
|                 item.setNunitusenum(nunitusenum); | ||||
|                 item.setNunituseastnum(nunituseastnum); | ||||
|                 item.setCpickm_bid((String)null); | ||||
|                 item.setCpickmid((String)null); | ||||
|                 item.setNaccoutnum((UFDouble)null); | ||||
|                 item.setNaccoutastnum((UFDouble)null); | ||||
|                 item.setNshouldnum((UFDouble)null); | ||||
|                 item.setNshouldastnum((UFDouble)null); | ||||
|                 item.setNatpnum((UFDouble)null); | ||||
|                 item.setNatpastnum((UFDouble)null); | ||||
|                 item.setNoverreqnum((UFDouble)null); | ||||
|                 item.setNoverreqastnum((UFDouble)null); | ||||
|                 item.setNaccbackastnum((UFDouble)null); | ||||
|                 item.setNaccbacknum((UFDouble)null); | ||||
|                 item.setNpickdemandnum((UFDouble)null); | ||||
|                 item.setNtransastnum((UFDouble)null); | ||||
|                 item.setNtransnum((UFDouble)null); | ||||
|                 item.setNtransinastnum((UFDouble)null); | ||||
|                 item.setNtransinnum((UFDouble)null); | ||||
|                 item.setNbsetpartsnum((UFDouble)null); | ||||
|                 if (MMValueCheck.isTrue(item.getBcanreplace())) { | ||||
|                     item.setFreplaceinfo(Integer.valueOf(FreplaceinfoEnum.NOTREPLACE.value().toString())); | ||||
|                 } else { | ||||
|                     item.setFreplaceinfo(Integer.valueOf(FreplaceinfoEnum.CANNOTREPLACE.value().toString())); | ||||
|                 } | ||||
| 
 | ||||
|                 item.setVreplacequotiety((String)null); | ||||
|                 item.setPk_realsubs((String)null); | ||||
|                 item.setCreplacesrcid((String)null); | ||||
|                 item.setNreplaceorder((Integer)null); | ||||
|                 item.setFreplacetype((Integer)null); | ||||
|                 item.setVpmoprocessno((String)null); | ||||
|                 item.setVprocesscode((String)null); | ||||
|                 item.setVprocessno((String)null); | ||||
|                 item.setVdmoprocessno((String)null); | ||||
|                 item.setCrtopacid((String)null); | ||||
|                 item.setOpacprocessno((String)null); | ||||
|                 item.setNpscastnum((UFDouble)null); | ||||
|                 item.setNpscnum((UFDouble)null); | ||||
|                 item.setNsumcheckastnum((UFDouble)null); | ||||
|                 item.setNsumchecknum((UFDouble)null); | ||||
|                 item.setVpscsrcpickmbid((String)null); | ||||
|                 item.setVbnote((String)null); | ||||
|                 item.setBcontroll(UFBoolean.FALSE); | ||||
|                 item.setBreqpickm(UFBoolean.FALSE); | ||||
|                 item.setPk_org_v(head.getPk_org_v()); | ||||
|                 if (MMValueCheck.isNotEmpty(orgAndDeptMap)) { | ||||
|                     String deliverypk_org = item.getCdeliverorgid(); | ||||
|                     String supllypk_org = item.getCsupplyorgid(); | ||||
|                     if (MMValueCheck.isNotEmpty(deliverypk_org) && orgAndDeptMap.containsKey("O" + deliverypk_org)) { | ||||
|                         item.setCdeliverorgvid((String)orgAndDeptMap.get("O" + deliverypk_org)); | ||||
|                     } | ||||
| 
 | ||||
|                     if (MMValueCheck.isNotEmpty(supllypk_org) && orgAndDeptMap.containsKey("O" + supllypk_org)) { | ||||
|                         item.setCsupplyorgvid((String)orgAndDeptMap.get("O" + supllypk_org)); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public void afterProcess(BillCard card) { | ||||
|         PickmScaleUtil scaleUtil = new PickmScaleUtil(); | ||||
|         scaleUtil.processBillCard(card); | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,268 @@ | |||
| // | ||||
| // Source code recreated from a .class file by IntelliJ IDEA | ||||
| // (powered by FernFlower decompiler) | ||||
| // | ||||
| 
 | ||||
| package nccloud.web.mmpac.pmo.action; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Set; | ||||
| import nc.itf.mmpac.pmo.pac0002.IPMOQueryService; | ||||
| import nc.pubitf.org.cache.IOrgUnitPubService_C; | ||||
| import nc.util.mmf.busi.measure.MeasureHelper; | ||||
| import nc.util.mmf.framework.base.MMArrayUtil; | ||||
| import nc.util.mmf.framework.base.MMStringUtil; | ||||
| import nc.util.mmf.framework.base.MMValueCheck; | ||||
| 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.entity.PMOTaskDetailVO; | ||||
| import nc.vo.mmpac.pmo.pac0002.enumeration.PMOFBillstatusEnum; | ||||
| import nc.vo.mmpac.pmo.pac0002.enumeration.PMOFItemStatusEnum; | ||||
| import nc.vo.mmpac.pmo.pac0002.enumeration.PMOFSrcMoOperTypeEnum; | ||||
| import nc.vo.mmpac.pmo.parameter.ParamcopybillQuery; | ||||
| import nc.vo.mmpub.util.MMSagasUtil; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.lang.UFDate; | ||||
| import nc.vo.pub.lang.UFDateTime; | ||||
| import nc.vo.pub.lang.UFDouble; | ||||
| import nc.vo.pubapp.pattern.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.mmpac.pmo.pub.entity.QueryInfoPmo; | ||||
| import nccloud.web.mmpac.pmo.util.PMOUICalUtil4NCC; | ||||
| import nccloud.web.mmpac.pmo.util.PmoScaleUtil; | ||||
| 
 | ||||
| public class PmoCopyAction extends PMOCommonAction { | ||||
|     public PmoCopyAction() { | ||||
|     } | ||||
| 
 | ||||
|     public Object doAction(IRequest request) { | ||||
|         String read = request.read(); | ||||
|         IJson json = JsonFactory.create(); | ||||
|         QueryInfoPmo query = (QueryInfoPmo)json.fromJson(read, QueryInfoPmo.class); | ||||
| 
 | ||||
|         try { | ||||
|             IPMOQueryService service = (IPMOQueryService)ServiceLocator.find(IPMOQueryService.class); | ||||
|             PMOAggVO[] vos = service.queryByPks(new String[]{query.getKeyword()}); | ||||
|             if (null == vos || vos.length == 0) { | ||||
|                 this.afterError(); | ||||
|             } | ||||
| 
 | ||||
|             PMOAggVO vo = vos[0]; | ||||
|             this.setHeadValue(vo); | ||||
|             this.setItemValue(vo); | ||||
|             BillCardOperator operator = new BillCardOperator(query.getPageid()); | ||||
|             BillCard billCard = operator.toCard(vo); | ||||
|             this.afterProcess(billCard); | ||||
|             Object[] returnObj = new Object[3]; | ||||
|             returnObj[0] = billCard; | ||||
| 
 | ||||
|             return returnObj; | ||||
|         } catch (BusinessException ex) { | ||||
|             ExceptionUtils.wrappBusinessException(ex.getMessage()); | ||||
|             return null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public void afterProcess(BillCard card) { | ||||
|         PmoScaleUtil stoUtil = new PmoScaleUtil(); | ||||
|         stoUtil.processBillCard(card); | ||||
|     } | ||||
| 
 | ||||
|     private void setDelaultItemValue(PMOItemVO item, Map<String, ParamcopybillQuery> retrMap) { | ||||
|         item.setFsrcmooper(Integer.valueOf(PMOFSrcMoOperTypeEnum.NORMAL.getEnumValue().getValue())); | ||||
|         item.setNmmnum(item.getNnum()); | ||||
|         item.setNmmastnum(item.getNastnum()); | ||||
|         item.setNplanputnum(PMOUICalUtil4NCC.getNumByNrwxis(item.getPk_group(), item.getNnum(), item.getNrwxis(), item.getCunitid())); | ||||
|         UFDouble planputastnum = MeasureHelper.getAssNum(item.getNplanputnum(), item.getVchangerate()); | ||||
|         item.setNplanputastnum(planputastnum); | ||||
|         item.setFitemstatus(Integer.valueOf(PMOFItemStatusEnum.PLAN.getEnumValue().getValue())); | ||||
|         item.setPlanoutputs((PMOPlanOutputVO[])null); | ||||
|         item.setTaskdetails((PMOTaskDetailVO[])null); | ||||
|         item.setVsrctrantypeid((String)null); | ||||
|         item.setVsrctrantype((String)null); | ||||
|         item.setVsrctype((String)null); | ||||
|         item.setVsrcid((String)null); | ||||
|         item.setVsrccode((String)null); | ||||
|         item.setVsrcbid((String)null); | ||||
|         item.setVsrcrowno((String)null); | ||||
|         item.setVfirsttrantypeid((String)null); | ||||
|         item.setVfirsttrantype((String)null); | ||||
|         item.setVfirsttype((String)null); | ||||
|         item.setVfirstid((String)null); | ||||
|         item.setVfirstcode((String)null); | ||||
|         item.setVfirstbid((String)null); | ||||
|         item.setVfirstrowno((String)null); | ||||
|         item.setVparentbillid((String)null); | ||||
|         item.setVparentbillcode((String)null); | ||||
|         item.setCparentmobid((String)null); | ||||
|         item.setVparentmorowno((String)null); | ||||
|         item.setVfromid((String)null); | ||||
|         item.setVfromcode((String)null); | ||||
|         item.setCsrcmobid((String)null); | ||||
|         item.setVsrcmorowno((String)null); | ||||
|         item.setCfirstmoid((String)null); | ||||
|         item.setVfirstmocode((String)null); | ||||
|         item.setCfirstmobid((String)null); | ||||
|         item.setVfirstmorowno((String)null); | ||||
|         item.setVsalebillcode((String)null); | ||||
|         item.setCbatchid((String)null); | ||||
|         item.setVbatchcode((String)null); | ||||
|         item.setVbatchnote((String)null); | ||||
|         item.setVbatchdef1((String)null); | ||||
|         item.setVbatchdef2((String)null); | ||||
|         item.setVbatchdef3((String)null); | ||||
|         item.setVbatchdef4((String)null); | ||||
|         item.setVbatchdef5((String)null); | ||||
|         item.setVbatchdef6((String)null); | ||||
|         item.setVbatchdef7((String)null); | ||||
|         item.setVbatchdef8((String)null); | ||||
|         item.setVbatchdef9((String)null); | ||||
|         item.setVbatchdef10((String)null); | ||||
|         item.setVbatchdef11((String)null); | ||||
|         item.setVbatchdef12((String)null); | ||||
|         item.setVbatchdef13((String)null); | ||||
|         item.setVbatchdef14((String)null); | ||||
|         item.setVbatchdef15((String)null); | ||||
|         item.setVbatchdef16((String)null); | ||||
|         item.setVbatchdef17((String)null); | ||||
|         item.setVbatchdef18((String)null); | ||||
|         item.setVbatchdef19((String)null); | ||||
|         item.setVbatchdef20((String)null); | ||||
|         item.setNwrastnum((UFDouble)null); | ||||
|         item.setNwrnum((UFDouble)null); | ||||
|         item.setNinastnum((UFDouble)null); | ||||
|         item.setNinnum((UFDouble)null); | ||||
|         item.setNreastnum((UFDouble)null); | ||||
|         item.setNrenum((UFDouble)null); | ||||
|         item.setNrwastnum((UFDouble)null); | ||||
|         item.setNrwnum((UFDouble)null); | ||||
|         item.setNrebillastnum((UFDouble)null); | ||||
|         item.setNrebillnum((UFDouble)null); | ||||
|         item.setNrwbillastnum((UFDouble)null); | ||||
|         item.setNrwbillnum((UFDouble)null); | ||||
|         item.setNrejectastnum((UFDouble)null); | ||||
|         item.setNrejectnum((UFDouble)null); | ||||
|         item.setVecncode((String)null); | ||||
|         item.setCecnid((String)null); | ||||
|         item.setNholdastnum((UFDouble)null); | ||||
|         item.setNholdnum((UFDouble)null); | ||||
|         item.setTactstarttime((UFDateTime)null); | ||||
|         item.setTactendtime((UFDateTime)null); | ||||
|         item.setNzcgastnum((UFDouble)null); | ||||
|         item.setNzcgnum((UFDouble)null); | ||||
|         item.setNzwwastnum((UFDouble)null); | ||||
|         item.setNzwwnum((UFDouble)null); | ||||
|         item.setNzdbastnum((UFDouble)null); | ||||
|         item.setNzdbnum((UFDouble)null); | ||||
|         item.setCparentprocedureid((String)null); | ||||
|         item.setMocloser((String)null); | ||||
|         item.setTmoclosedtime((UFDateTime)null); | ||||
|         if (MMValueCheck.isNotEmpty(item.getCffileid())) { | ||||
|             item.setCffileid((String)null); | ||||
|             item.setCbomversionid((String)null); | ||||
|             item.setVbomversion((String)null); | ||||
|             item.setCrtversionid((String)null); | ||||
|             item.setVrtversion((String)null); | ||||
|             item.setCpackbomid((String)null); | ||||
|             item.setVpackbomversion((String)null); | ||||
|         } | ||||
| 
 | ||||
|         item.setTs((UFDateTime)null); | ||||
|         if (MMValueCheck.isNotEmpty(retrMap.get(item.getCmoid()))) { | ||||
|             item.setCdeptvid(((ParamcopybillQuery)retrMap.get(item.getCmoid())).getRecdeptvid()); | ||||
|             if (!MMValueCheck.isEmpty(((ParamcopybillQuery)retrMap.get(item.getCmoid())).getRetsupplytime())) { | ||||
|                 item.setTsupplytime(((ParamcopybillQuery)retrMap.get(item.getCmoid())).getRetsupplytime()); | ||||
|                 item.setTrequiredate(((ParamcopybillQuery)retrMap.get(item.getCmoid())).getRetsupplytime()); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         item.setCmoid((String)null); | ||||
|         item.setAttributeValue("vdef30",null); | ||||
| 
 | ||||
|         item.setCpmohid((String)null); | ||||
|     } | ||||
| 
 | ||||
|     private void setHeadValue(PMOAggVO billVO) { | ||||
|         if (null != billVO) { | ||||
|             PMOHeadVO head = billVO.getParentVO(); | ||||
|             if (null != head) { | ||||
|                 head.setCpmohid((String)null); | ||||
|                 Set<String> orgids = new HashSet(); | ||||
|                 orgids.add(head.getPk_org()); | ||||
|                 if (MMStringUtil.isNotEmpty(head.getCplanfactoryid()) && !head.getPk_org().equals(head.getCplanfactoryid())) { | ||||
|                     orgids.add(head.getCplanfactoryid()); | ||||
|                 } | ||||
| 
 | ||||
|                 try { | ||||
|                     Map<String, String> orgvrgMap = ((IOrgUnitPubService_C)ServiceLocator.find(IOrgUnitPubService_C.class)).getNewVIDSByOrgIDS((String[])orgids.toArray(new String[0])); | ||||
|                     head.setPk_org_v((String)orgvrgMap.get(head.getPk_org())); | ||||
|                     if (MMStringUtil.isNotEmpty(head.getCplanfactoryid()) && !head.getPk_org().equals(head.getCplanfactoryid())) { | ||||
|                         head.setCplanfactoryvid((String)orgvrgMap.get(head.getCplanfactoryid())); | ||||
|                     } else { | ||||
|                         head.setCplanfactoryid(head.getPk_org()); | ||||
|                         head.setCplanfactoryvid(head.getPk_org_v()); | ||||
|                     } | ||||
|                 } catch (BusinessException e) { | ||||
|                     ExceptionUtils.wrappException(e); | ||||
|                 } | ||||
| 
 | ||||
|                 head.setVbillcode((String)null); | ||||
|                 head.setFbillstatus(Integer.valueOf(PMOFBillstatusEnum.FREE.getEnumValue().getValue().toString())); | ||||
|                 head.setCreator((String)null); | ||||
|                 head.setCreationtime((UFDateTime)null); | ||||
|                 head.setModifier((String)null); | ||||
|                 head.setModifiedtime((UFDateTime)null); | ||||
|                 head.setApprover((String)null); | ||||
|                 head.setApprovertime((UFDate)null); | ||||
|                 head.setBillmaker((String)null); | ||||
|                 head.setDmakedate((UFDate)null); | ||||
|                 head.setVersion("1.0"); | ||||
|                 MMSagasUtil.cleanSagasField(head); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void setItemValue(PMOAggVO billVO) { | ||||
|         if (null != billVO) { | ||||
|             String pk_org = billVO.getParentVO().getPk_org(); | ||||
|             PMOItemVO[] items = billVO.getChildrenVO(); | ||||
|             if (!MMArrayUtil.isEmpty(items)) { | ||||
|                 List<ParamcopybillQuery> params = new ArrayList(); | ||||
| 
 | ||||
|                 for(PMOItemVO item : items) { | ||||
|                     ParamcopybillQuery param = new ParamcopybillQuery(); | ||||
|                     param.setCdeptid(item.getCdeptid()); | ||||
|                     param.setCmaterialvid(item.getCmaterialvid()); | ||||
|                     param.setPk_org(pk_org); | ||||
|                     param.setCpmobid(item.getCmoid()); | ||||
|                     param.setTplanendtime(item.getTplanendtime()); | ||||
|                     params.add(param); | ||||
|                 } | ||||
| 
 | ||||
|                 Map<String, ParamcopybillQuery> retrMap = new HashMap(); | ||||
| 
 | ||||
|                 try { | ||||
|                     retrMap = ((IPMOQueryService)ServiceLocator.find(IPMOQueryService.class)).copybillqueryData((ParamcopybillQuery[])params.toArray(new ParamcopybillQuery[0])); | ||||
|                 } catch (BusinessException e) { | ||||
|                     ExceptionUtils.wrappException(e); | ||||
|                 } | ||||
| 
 | ||||
|                 for(PMOItemVO item : items) { | ||||
|                     this.setDelaultItemValue(item, retrMap); | ||||
|                 } | ||||
| 
 | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,112 @@ | |||
| // | ||||
| // Source code recreated from a .class file by IntelliJ IDEA | ||||
| // (powered by FernFlower decompiler) | ||||
| // | ||||
| 
 | ||||
| package nccloud.web.so.saleorder.action; | ||||
| 
 | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import nc.vo.ct.saledaily.entity.CtSalebillViewVO; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pubapp.pattern.exception.ExceptionUtils; | ||||
| import nc.vo.scmpub.util.BillBodySortUtils; | ||||
| import nc.vo.so.m30.entity.SaleOrderVO; | ||||
| import nccloud.dto.so.pub.entity.SimpleQueryInfo; | ||||
| 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.processor.template.GridConvertProcessor; | ||||
| 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.framework.web.ui.pattern.grid.GridOperator; | ||||
| import nccloud.pubitf.so.saleorder.service.ISaleOrderBusiProcessWebService; | ||||
| import nccloud.web.scmpub.pub.action.TempletQueryAction; | ||||
| import nccloud.web.scmpub.pub.event.BillCardEventResult; | ||||
| import nccloud.web.so.pub.tool.BatchCodeTranslatorUtils; | ||||
| import nccloud.web.so.saleorder.action.scale.CtSaleScaleProcessor; | ||||
| import nccloud.web.so.saleorder.calproperty.SaleOrderCalPropertyProcess; | ||||
| import nccloud.web.so.saleorder.scale.SaleOrderScaleProcess; | ||||
| 
 | ||||
| public class SaleOrderCopyBillAction implements ICommonAction { | ||||
|     public SaleOrderCopyBillAction() { | ||||
|     } | ||||
| 
 | ||||
|     public Object doAction(IRequest request) { | ||||
|         try { | ||||
|             String read = request.read(); | ||||
|             IJson json = JsonFactory.create(); | ||||
|             SimpleQueryInfo info = (SimpleQueryInfo)json.fromJson(read, SimpleQueryInfo.class); | ||||
|             ISaleOrderBusiProcessWebService service = (ISaleOrderBusiProcessWebService)ServiceLocator.find(ISaleOrderBusiProcessWebService.class); | ||||
|             Map<String, Object> userObject = info.getUserObject(); | ||||
|             this.doBeforeForUserObject(userObject); | ||||
|             if (userObject == null) { | ||||
|                 userObject = new HashMap(); | ||||
|             } | ||||
| 
 | ||||
|             SaleOrderVO saleorderVO = service.copyBill(info.getPk(), userObject); | ||||
|             saleorderVO.getParentVO().setVdef26((String)null); | ||||
|             BillBodySortUtils.sort(new SaleOrderVO[]{saleorderVO}); | ||||
|             this.doAfterForUserObject(userObject); | ||||
|             BillCardOperator operator = new BillCardOperator(info.getPageId()); | ||||
|             BillCard billCard = operator.toCard(saleorderVO); | ||||
|             BillCardEventResult result = new BillCardEventResult(); | ||||
|             SaleOrderCalPropertyProcess.process(billCard); | ||||
|             SaleOrderScaleProcess.process(billCard); | ||||
|             BatchCodeTranslatorUtils.proBatchCode(billCard); | ||||
|             result.setBillCard(billCard); | ||||
|             result.setUserObject(userObject); | ||||
|             return result; | ||||
|         } catch (BusinessException e) { | ||||
|             ExceptionUtils.wrappException(e); | ||||
|             return null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     protected Map<String, Object> doBeforeForUserObject(Map<String, Object> userObject) { | ||||
|         if (userObject == null) { | ||||
|             return userObject; | ||||
|         } else { | ||||
|             String key = "relateCTVO"; | ||||
|             if (userObject.containsKey(key)) { | ||||
|                 IJson json = JsonFactory.create(); | ||||
|                 Grid ctviewgrid = (Grid)json.fromJson((String)userObject.get(key), Grid.class); | ||||
|                 GridConvertProcessor processor = new GridConvertProcessor(); | ||||
|                 CtSalebillViewVO[] vos = (CtSalebillViewVO[])processor.fromGrid(ctviewgrid); | ||||
|                 userObject.put(key, vos); | ||||
|             } | ||||
| 
 | ||||
|             key = "relateCTROWS"; | ||||
|             if (userObject.containsKey(key)) { | ||||
|                 List<String> relateCTrowsList = (List)userObject.get(key); | ||||
|                 int[] relateCTrows = new int[relateCTrowsList.size()]; | ||||
| 
 | ||||
|                 for(int i = 0; i < relateCTrows.length; ++i) { | ||||
|                     relateCTrows[i] = Integer.valueOf((String)relateCTrowsList.get(i)); | ||||
|                 } | ||||
| 
 | ||||
|                 userObject.put(key, relateCTrows); | ||||
|             } | ||||
| 
 | ||||
|             return userObject; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     protected Map<String, Object> doAfterForUserObject(Map<String, Object> userObject) { | ||||
|         String key = "relateCTVO"; | ||||
|         if (userObject.containsKey(key)) { | ||||
|             CtSalebillViewVO[] vos = (CtSalebillViewVO[])userObject.get(key); | ||||
|             String templateid = TempletQueryAction.getTempletIdByAppCode("400600400", "400600400_relatCT"); | ||||
|             GridOperator go = new GridOperator(templateid, "400600400_relatCT"); | ||||
|             Grid grid = go.toGrid(vos); | ||||
|             CtSaleScaleProcessor.processGrid(grid); | ||||
|             userObject.put(key, grid); | ||||
|         } | ||||
| 
 | ||||
|         return userObject; | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue