公司--As Imp的写法

本文介绍了一个用于获取派工单WIP发料筛选页面数据的方法,包括通过不同条件筛选数据、处理日期范围查询、计算已发料数量及可发料数量等关键步骤。
/**
	 * 获取派工单WIP发料筛选页数据
	 * 
	 */
	public DataBean getProdSendWIPScreenListOrder(FormBean formBean) {
		DataBean returnDB = new DataBean();
		String productDepartmentName = formBean.getCellBeanValue("productDepartmentName");
		String salesTableNo = formBean.getCellBeanValue("salesTableNo");
		String assignWorkNo = formBean.getCellBeanValue("assignWorkNo");
		String onePageDataNumber = formBean.getCellBeanValue("onePageDataNumber");
		String currentPaqeIndex = formBean.getCellBeanValue("currentPaqeIndex");
		String startFromDate = "";
		String endFromDate = "";
		try {
			FormBean paramForm = new FormBean();
			if (StringUtils.isNotBlank(productDepartmentName)) {
				paramForm.addCellBean(new CellBean("manufacturerId", productDepartmentName));
			}
			if (StringUtils.isNotBlank(salesTableNo)) {
				paramForm.addCellBean(new CellBean("salesId", salesTableNo));
			}
			if (StringUtils.isNotBlank(assignWorkNo)) {
				paramForm.addCellBean(new CellBean("prodAssignWorkId", assignWorkNo));
			}
			//获取日期控件值
			CellBean assignDateCellBean = formBean.get("assignDate");
			if (assignDateCellBean != null) {
				//获取日期控件的FormDataBean
				CalendarBean assignDateCalendarBean = (CalendarBean) assignDateCellBean.getFormDataBean();
				//因为是时间段查询 所以有开始时间和结束时间
				startFromDate = assignDateCalendarBean.getStartDate();
				endFromDate = assignDateCalendarBean.getEndDate();
			}
			if (StringUtils.isNotEmpty(startFromDate) && StringUtils.isNotEmpty(endFromDate)) {
				long startFromDateL = ERPBLHelper.getDayStart(startFromDate, "yyyy-MM-dd");
				long endFromDateL = ERPBLHelper.getDayEnd(endFromDate, "yyyy-MM-dd");
				paramForm.addCellBean(new CellBean("assignDate_START", "" + startFromDateL));
				paramForm.addCellBean(new CellBean("assignDate_END", "" + endFromDateL));
			}

			DataBean dataBean = new DataBean();
			paramForm.addCellBean(new CellBean("currentPaqeIndex", currentPaqeIndex));
			paramForm.addCellBean(new CellBean("onePageDataNumber", onePageDataNumber));
			dataBean = this.baseDAO.getDataByAS("gts.erp.as.prodSendWIPScreenListAS", paramForm, null);
			if (dataBean.sizeByTableBean() > 0) {
				TableBean prodSendMaterialTableBean = dataBean.getTableBean(0);
				returnDB.addTableBean(prodSendMaterialTableBean);
				FormBean splitPageInfoFormBean = dataBean.getFormBean(TriangleDefinition.FORM_BEAN_KEY_SPLIT_PAGE_INFO);
				if (splitPageInfoFormBean != null) {
					returnDB.addFormBean(splitPageInfoFormBean);
				}
				for (int i = 0; i < prodSendMaterialTableBean.size(); i++) {
					String manufacturerId = prodSendMaterialTableBean.get(i).getCellBeanValue("manufacturerId");//生产部门Id
					String typeId = prodSendMaterialTableBean.get(i).getCellBeanValue("typeId");//生产单位类型
					String prodAssignWorkMaterialId = prodSendMaterialTableBean.get(i).getCellBeanValue("primaryId");//派工单材料Id
					String matchingQty = prodSendMaterialTableBean.get(i).getCellBeanValue("matchingQty");//配套数量
					if (matchingQty.isEmpty()) {
						matchingQty = "0";
					}
					String productDepartment = "";//生产部门
					String sendedNumber = "0";//已发料数量
					String canSendNumber = "0";//可发料数量
					if (typeId.equals("1")) {//1为厂内部门,2为外包厂商
						//获取厂内部门
						if (StringUtils.isNotEmpty(manufacturerId)) {
							CondSetBean departmentCsb = new CondSetBeanJustAnd();
							departmentCsb.addCondBean(new CondBeanEqual("CN_ID", manufacturerId));
							ClassPOJO departmentPOJO = new ClassPOJO("TN_DEPARTMENT");
							departmentPOJO.addAttribute(new ClassAttributePOJO("CN_NAME"));
							FormBean departmentFormBean = this.getBaseDAO().queryForFormBean(departmentPOJO, departmentCsb);
							if (departmentFormBean.size() > 0)
								productDepartment = departmentFormBean.getCellBeanValue("CN_NAME");
						}
					} else if (typeId.equals("2")) {
						//获取外包厂商
						if (StringUtils.isNotEmpty(manufacturerId)) {
							CondSetBean vendTableCsb = new CondSetBeanJustAnd();
							vendTableCsb.addCondBean(new CondBeanEqual("CN_ID", manufacturerId));
							ClassPOJO vendTablePOJO = new ClassPOJO("TN_VEND_TABLE");
							vendTablePOJO.addAttribute(new ClassAttributePOJO("CN_NAME"));
							FormBean vendTableFormBean = this.getBaseDAO().queryForFormBean(vendTablePOJO, vendTableCsb);
							if (vendTableFormBean.size() > 0)
								productDepartment = vendTableFormBean.getCellBeanValue("CN_NAME");
						}
					} else {
					}
					//获取已发料量,可发料量
					if (StringUtils.isNotEmpty(prodAssignWorkMaterialId)) {
						CondSetBean sendOrReturnItemLineCsb = new CondSetBeanJustAnd();
						sendOrReturnItemLineCsb.addCondBean(new CondBeanEqual("CR_ORDER_ID", prodAssignWorkMaterialId));
						ClassPOJO sendOrReturnItemLinePOJO = new ClassPOJO("TN_SEND_OR_RETURN_ITEM_LINE");
						sendOrReturnItemLinePOJO.addAttribute(new ClassAttributePOJO("CN_QTY"));
						TableBean sendOrReturnItemLineTableBean = this.getBaseDAO().queryForTableBean(sendOrReturnItemLinePOJO, sendOrReturnItemLineCsb);
						for (int j = 0; j < sendOrReturnItemLineTableBean.size(); j++) {
							RowBean rowBean = sendOrReturnItemLineTableBean.get(j);
							String qty = rowBean.getCellBeanValue("CN_QTY");
							if (qty.isEmpty()) {
								qty = "0";
							}
							sendedNumber = ERPBLHelper.doubleAdd(sendedNumber, qty);
						}
						canSendNumber = ERPBLHelper.doubleSub(matchingQty, sendedNumber);
					}
					prodSendMaterialTableBean.get(i).addCellBean(new CellBean("productDepartmentName", productDepartment + ""));
					prodSendMaterialTableBean.get(i).addCellBean(new CellBean("sendedNumber", sendedNumber + ""));
					prodSendMaterialTableBean.get(i).addCellBean(new CellBean("canSendNumber", canSendNumber + ""));
				}
			}
		} catch (Exception e) {
			TriangleBLHelper.printExceptionLog(log, e);
			e.printStackTrace();
			throw new RuntimeException("**** Run time Exception!****");
		}
		return returnDB;
	}





                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值