⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preadvicepagehelper.java

📁 according to pre-advice different group criteria to show Pre-advice page group show.
💻 JAVA
📖 第 1 页 / 共 5 页
字号:

		List stuffingPackageList = (List) divisionGroup.get(division);

		String[] divisionReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_DIVISION, parentIndex);
		dpOut.putNodeString(divisionReturn[1] + ".division_oid", division);
		dpOut.putNodeString(divisionReturn[1] + ".division", getNodeText(PreAdvicePageConstants.NODE_TYPE_DIVISION, division));
		dpOut.putNodeString(divisionReturn[1] + ".from_stuffing", "true");

		Map fndGroup = groupStuffingPackageList(stuffingPackageList, PreAdvicePageConstants.NODE_TYPE_FND);
		Object[] fndKeyArray = fndGroup.keySet().toArray();
		if (showFND || fndKeyArray.length > 1) {
			for (int i1 = 0; i1 < fndKeyArray.length; i1++) {
				double[] fndSum = fillFNDGroupStuffingInfo(customizedFields, dpOut, fndKeyArray[i1].toString(), fndGroup, divisionReturn[0]);

				divisionNoOfPack += fndSum[0];
				divisionUnits += fndSum[1];
				divisionVol += fndSum[2];
				divisionGwt += fndSum[3];
			}
		} else {
			double[] soSum = fillSOGroupStuffingInfo(customizedFields, dpOut, stuffingPackageList, divisionReturn[0]);

			divisionNoOfPack += soSum[0];
			divisionUnits += soSum[1];
			divisionVol += soSum[2];
			divisionGwt += soSum[3];
		}
		fillTotalInfo(dpOut, divisionNoOfPack, divisionUnits, divisionVol, divisionGwt, divisionReturn[1]);

		return new double[] { divisionNoOfPack, divisionUnits, divisionVol, divisionGwt };
	}

	private double[] fillFNDGroupInfo(List customizedFields, DataPacket dpOut, String fnd, Map fndGroup, String parentIndex) throws Exception {
		// summary
		long fndNoOfPack = 0;
		long fndUnits = 0;
		double fndVol = 0;
		double fndGwt = 0;

		List soList1 = (List) fndGroup.get(fnd);
		String[] fndReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_FND, parentIndex);
		dpOut.putNodeString(fndReturn[1] + ".fnd_oid", fnd);
		dpOut.putNodeString(fndReturn[1] + ".fnd", getNodeText(PreAdvicePageConstants.NODE_TYPE_FND, fnd));
		dpOut.putNodeString(fndReturn[1] + ".from_stuffing", "false");

		double[] soSum = fillSOGroupInfo(customizedFields, dpOut, soList1, fndReturn[0]);

		fndNoOfPack += soSum[0];
		fndUnits += soSum[1];
		fndVol += soSum[2];
		fndGwt += soSum[3];

		fillTotalInfo(dpOut, fndNoOfPack, fndUnits, fndVol, fndGwt, fndReturn[1]);
		return new double[] { fndNoOfPack, fndUnits, fndVol, fndGwt };
	}

	private double[] fillFNDGroupStuffingInfo(List customizedFields, DataPacket dpOut, String fnd, Map fndGroup, String parentIndex) throws Exception {
		// summary
		long fndNoOfPack = 0;
		long fndUnits = 0;
		double fndVol = 0;
		double fndGwt = 0;

		List stuffingPackageList1 = (List) fndGroup.get(fnd);
		String[] fndReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_FND, parentIndex);
		dpOut.putNodeString(fndReturn[1] + ".fnd_oid", fnd);
		dpOut.putNodeString(fndReturn[1] + ".fnd", getNodeText(PreAdvicePageConstants.NODE_TYPE_FND, fnd));
		dpOut.putNodeString(fndReturn[1] + ".from_stuffing", "true");

		double[] soSum = fillSOGroupStuffingInfo(customizedFields, dpOut, stuffingPackageList1, fndReturn[0]);

		fndNoOfPack += soSum[0];
		fndUnits += soSum[1];
		fndVol += soSum[2];
		fndGwt += soSum[3];

		fillTotalInfo(dpOut, fndNoOfPack, fndUnits, fndVol, fndGwt, fndReturn[1]);
		return new double[] { fndNoOfPack, fndUnits, fndVol, fndGwt };
	}

	private void fillInstructionInfo(PreAdvice advice, DataPacket dpOut, boolean isInternal) throws Exception {
		int i = 0;
		for (Iterator it = advice.getPreAdviceInstruction().iterator(); it.hasNext();) {
			PreAdviceInstruction instruction = (PreAdviceInstruction) it.next();
			// non draft is for external user instruction.
			if ((isInternal && PreAdviceConstants.PREADV_INSTRUCTIN_STATUS_DRAFT.equals(instruction.getStatus()))
					|| (!isInternal && !PreAdviceConstants.PREADV_INSTRUCTIN_STATUS_DRAFT.equals(instruction.getStatus()))) {
				String instructionPrefix = "instruction_list[" + i++ + "]";
				dpOut.putNodeString(instructionPrefix + ".oid", instruction.getOid().toString());
				dpOut.putNodeString(instructionPrefix + ".is_lcl", instruction.getIsSuggestedLCL().toString());
				dpOut.putNodeString(instructionPrefix + ".so_oid", instruction.getAbstractSO().getOid().toString());
				dpOut.putNodeString(instructionPrefix + ".so_num", instruction.getAbstractSO().getSoNumber());
				dpOut.putNodeString(instructionPrefix + ".so_biz_type", instruction.getAbstractSO().getBizType().toString());
				dpOut.putNodeString(instructionPrefix + ".status", instruction.getStatus());
				dpOut.putNodeString(instructionPrefix + ".instruction", !isInternal && !PreAdviceConstants.PREADV_INSTRUCTIN_STATUS_DRAFT.equals(instruction.getStatus()) ? "" : instruction
						.getTextInstruction());
			}
		}

	}

	private void fillNotifyPartiesInfo(PreAdvice advice, DataPacket dp) throws Exception {
		StringBuffer users = new StringBuffer();
		StringBuffer emails = new StringBuffer();
		String cc1 = "";
		String ac1 = "";
		String lc1 = "";
		String cc2 = "";
		String ac2 = "";
		String lc2 = "";
		int countOfFax = 0;

		for (Iterator it = PreAdviceUtil.getOtherNotificationParties(advice).iterator(); it.hasNext();) {
			PreAdviceRecipient recipient = (PreAdviceRecipient) it.next();

			SystemInOutChannel channel = recipient.getReceivingChannel();
			if (SystemInOutChannelConstant.SI_TDL_ABBR.equals(channel.getAbbreviation())) {
				users.append(users.length() > 0 ? "," : "").append(recipient.getSystemUser().getUserID());
			} else if (SystemInOutChannelConstant.SI_EMAIL_ABBR.equals(channel.getAbbreviation())) {
				emails.append(emails.length() > 0 ? "," : "").append(recipient.getEmail());
			} else if (SystemInOutChannelConstant.SI_FAX_ABBR.equals(channel.getAbbreviation())) {
				if (countOfFax == 0) {
					cc1 = recipient.getFax().getCountryCode();
					ac1 = recipient.getFax().getAreaCode();
					lc1 = recipient.getFax().getNumber();
					countOfFax++;
				} else if (countOfFax == 1) {
					cc2 = recipient.getFax().getCountryCode();
					ac2 = recipient.getFax().getAreaCode();
					lc2 = recipient.getFax().getNumber();
					countOfFax++;
				}
			}
		}

		dp.putNodeString("recipient_list[0].systemuser", users.toString());
		dp.putNodeString("recipient_list[1].email", emails.toString());
		dp.putNodeString("recipient_list[2].fax.cc", cc1);
		dp.putNodeString("recipient_list[2].fax.ac", ac1);
		dp.putNodeString("recipient_list[2].fax.lc", lc1);
		dp.putNodeString("recipient_list[3].fax.cc", cc2);
		dp.putNodeString("recipient_list[3].fax.ac", ac2);
		dp.putNodeString("recipient_list[3].fax.lc", lc2);
	}

	// private void fillPreferredContainer(DataPacket dpOut, String prefix,
	// DataSource ds, PreAdvice advice, BusinessType bizType) throws Exception {
	private void fillPreferredContainer(DataPacket dpOut, String prefix) throws Exception {
		List preferredContainers = new ArrayList();
		/*
		 * BrokerParameter param = new BrokerParameter(); // set customer code
		 * param.setCustomerCode(advice.getCustomer().getCompanyCode());
		 * param.setServiceConstantOid(ServiceConstantOids.VENDOR_BOOKING);
		 * HashMap map = new HashMap();
		 * map.put(OrderSpecificationConstant.BUSINESS_TYPE, bizType.getOid());
		 * map.put(OrderSpecificationConstant.SERVICE_TYPE,
		 * ServiceTypeConstant.ORIGIN); param.setParams(map); IRule rule = new
		 * RuleBrokerServiceImpl(ds).findRule(RuleConstants.VB_CONTAINER_PREFERENCE,
		 * param); if (rule != null) { preferredContainers =
		 * ((PreferedEquipmentList) rule).getPreferedEquipment(); }
		 * 
		 */
		for (Iterator isize = getEquipmentSizeService().getAllEquipmentSizes().iterator(); isize.hasNext();) {
			EquipmentSize size = (EquipmentSize) isize.next();
			// for (Iterator itype =
			// getSupportingDataService().findSupportingDataByDataType(SupportingDataConstant.EQUIPMENT_TYPE).iterator();
			// itype
			// .hasNext();) {
			for (Iterator itype = size.getEquipmentType().iterator(); itype.hasNext();) {
				EquipmentType type = (EquipmentType) itype.next();
				PreferedEquipment equipment = new PreferedEquipment();
				equipment.setEquipmentSize(size);
				equipment.setEquipmentType(type);
				if (!preferredContainers.contains(equipment)) {
					preferredContainers.add(equipment);
				}
			}
		}
		for (int i = 0; i < preferredContainers.size(); i++) {
			String preferredContainerPrefix = prefix + ".container_list[" + i + "]";
			PreferedEquipment equipment = (PreferedEquipment) preferredContainers.get(i);
			dpOut.putNodeString(preferredContainerPrefix + ".equipmentsize.id", equipment.getEquipmentSize().getOid().toString());
			dpOut.putNodeString(preferredContainerPrefix + ".equipmentsize.abbr", equipment.getEquipmentSize().getAbbreviation());
			dpOut.putNodeString(preferredContainerPrefix + ".equipmenttype.id", equipment.getEquipmentType().getOid().toString());
			dpOut.putNodeString(preferredContainerPrefix + ".equipmenttype.abbr", equipment.getEquipmentType().getAbbreviation());
		}
	}
	
	private List getPreferredContainerList() {
		List preferredContainers = new ArrayList();
		for (Iterator isize = getEquipmentSizeService().getAllEquipmentSizes().iterator(); isize.hasNext();) {
			EquipmentSize size = (EquipmentSize) isize.next();
			// for (Iterator itype =
			// getSupportingDataService().findSupportingDataByDataType(SupportingDataConstant.EQUIPMENT_TYPE).iterator();
			// itype
			// .hasNext();) {
			for (Iterator itype = size.getEquipmentType().iterator(); itype.hasNext();) {
				EquipmentType type = (EquipmentType) itype.next();
				PreferedEquipment equipment = new PreferedEquipment();
				equipment.setEquipmentSize(size);
				equipment.setEquipmentType(type);
				if (!preferredContainers.contains(equipment)) {
					preferredContainers.add(equipment);
				}
			}
		}
		return preferredContainers;
	}

	// private void

	private void fillProposedContainerInfo(DataPacket dpOut, String prefix, List proposedContainers) throws Exception {
		// dpOut.putNodeString(prefix + ".is_ctn_readonly", "false");
		for (int i3 = 0; i3 < proposedContainers.size(); i3++) {
			PreAdviceEquipment equipment = (PreAdviceEquipment) proposedContainers.get(i3);
			String proposedContainerPrefix = prefix + ".proposed_container_list[" + i3 + "]";
			dpOut.putNodeString(proposedContainerPrefix + ".oid", equipment.getOid() == null ? "" : equipment.getOid().toString());
			dpOut.putNodeString(proposedContainerPrefix + ".coid", equipment.getEquipmentSize().getOid().toString() + "," + equipment.getEquipmentType().getOid().toString());
			dpOut.putNodeString(proposedContainerPrefix + ".equipmentsize.id", equipment.getEquipmentSize().getOid().toString());
			dpOut.putNodeString(proposedContainerPrefix + ".equipmentsize.abbr", equipment.getEquipmentSize().getAbbreviation());
			dpOut.putNodeString(proposedContainerPrefix + ".equipmenttype.id", equipment.getEquipmentType().getOid().toString());
			dpOut.putNodeString(proposedContainerPrefix + ".equipmenttype.abbr", equipment.getEquipmentType().getAbbreviation());
			dpOut.putNodeString(proposedContainerPrefix + ".typeofmovement", equipment.getTypeOfMovement());
			dpOut.putNodeString(proposedContainerPrefix + ".biztype", equipment.getBizType().getAbbreviation());

			dpOut.putNodeString(proposedContainerPrefix + ".qty", equipment.getQty() != null ? equipment.getQty().toString() : "");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -