/** * 更新主表VO的引用状态 * * @param key 采购计划主表主键 * @author liweiqiang 2009-11-25 * @throws LfwBusinessException * @throws LfwBusinessException */ private void updatePlanVO(String key) throws LfwBusinessException { IReqQueryService queryService = NCLocator.getInstance().lookup(IReqQueryService.class); IReqService service = NCLocator.getInstance().lookup(IReqService.class); Integer count = queryService.getNoRefCount(key); PlanVO planVO = new PlanVO(); // 采购计划主表主键 planVO.setPk_jh_plan_main(key); // 引用状态 if (count == 0) { // 设为引用状态 planVO.setRef_status(EbsOperaitonConst.OPERATION_SUM_PLAN_REF_STATUS_REFED); } else { // 设为部分应用状态 planVO.setRef_status(EbsOperaitonConst.OPERATION_SUM_PLAN_REF_STATUS_PARTREF); } // 更新操作 planVO.setStatus(VOStatus.UPDATED); // 更新的VO字段 String[] fieldNames = {"ref_status"}; service.updatePlanVO(planVO, fieldNames); }
/** * 更新需求填报主表VO的方法 * * @param planVO 计划填报的主表VO * @return ReqMainVO 需求填报的主表VO * @author liweiqiang 2009-11-16 */ private ReqMainVO setReqMainVO(PlanVO planVO) { ReqMainVO reqMainVO = new ReqMainVO(); // 单据类型 reqMainVO.setBill_type("E04B"); // 需求名称 reqMainVO.setBill_name(planVO.getPlan_name()); // 填写采购需求单公司 reqMainVO.setPk_corp(planVO.getPk_corp()); // 填写采购需求单部门 reqMainVO.setPk_dept(planVO.getPk_dept()); // 填写采购需求单人员 reqMainVO.setPk_person(LfwRuntimeEnvironment.getUserVO().getPrimaryKey()); // // 建议采购管理部门 // reqMainVO.setPk_dept_sug(""); // // 建议采购方式 // reqMainVO.setSug_pur_method(1); // // 建议完成日期 // reqMainVO.setSug_finish_date(""); // 预算数 // reqMainVO.setBudget(); // 受理状态 reqMainVO.setAccept_status(EbsOperaitonConst.OPERATION_REQACCEPT_STATUS_ACCEPTED); // 来源计划D reqMainVO.setPk_jh_plan(planVO.getPk_jh_plan_main()); // 采购品种类型 reqMainVO.setStock_type(planVO.getStock_type()); // 备注 reqMainVO.setMemo(planVO.getMemo()); // 制单人 reqMainVO.setOperatorid(LfwRuntimeEnvironment.getUserVO().getPrimaryKey()); // 制单日期 reqMainVO.setOperatedate(new UFDate(System.currentTimeMillis())); // 单据状态 reqMainVO.setBillstatus(IBillStatus.FREE); reqMainVO.setStatus(VOStatus.NEW); return reqMainVO; }
/** * 更新需求填报子表VO的方法 * * @param planVO 计划填报的主表VO * @param planItemProdVO 计划填报的子表VO * @param keyPlanItemList 要插入主键列表 * @return ReqItemProdVO 需求填报的子表VO * @author liweiqiang 2009-11-16 */ private ReqItemProdVO setReqItemProdVO( PlanVO planVO, PlanItemProdVO planItemProdVO, String[] keyPlanItemList) { ReqItemProdVO reqItemProdVO = new ReqItemProdVO(); // 计划类型 reqItemProdVO.setPlan_type(planVO.getPlan_type()); // 计划方式 reqItemProdVO.setPlan_mode(planVO.getPlan_mode()); // 采购品种类型 reqItemProdVO.setStock_type(planVO.getStock_type()); // 产品ID reqItemProdVO.setPk_da_prod_id(planItemProdVO.getPk_prod_id()); // 产品编码 reqItemProdVO.setProd_code(planItemProdVO.getProd_code()); // 产品名称 reqItemProdVO.setProd_name(planItemProdVO.getProd_name()); // 产品分类ID reqItemProdVO.setPk_prod_cate(planItemProdVO.getProd_type()); // // 产品分类名称 // reqItemProdVO.setProd_cate_name(); // 产品规格 reqItemProdVO.setProd_module(planItemProdVO.getProd_spec()); // 项目名称 reqItemProdVO.setProj_name(planItemProdVO.getProj_name()); // 需求说明 reqItemProdVO.setProj_req_desc(planItemProdVO.getReq_desc()); // 数量 UFDouble quantity = planItemProdVO.getAftermod_quantity(); if (quantity != null) { if (quantity.getDouble() > 0) { reqItemProdVO.setQuantity(quantity); } else { reqItemProdVO.setQuantity(planItemProdVO.getQuantity()); } } else { reqItemProdVO.setQuantity(planItemProdVO.getQuantity()); } // 单价 reqItemProdVO.setUnit_price(planItemProdVO.getUnit_price()); // 单位 reqItemProdVO.setPk_unit(planItemProdVO.getPk_unit()); // 金额 reqItemProdVO.setAmount(planItemProdVO.getAmount()); // 来源单据主表ID(计划单ID) reqItemProdVO.setPk_bill_src(planItemProdVO.getPk_jh_plan_main()); // 来源单据子表ID reqItemProdVO.setPk_bill_item_src(planItemProdVO.getPk_jh_plan_item_prod()); // 来源单据类型 reqItemProdVO.setBill_type_src(planVO.getBill_type()); // 单据状态 reqItemProdVO.setStatus(VOStatus.NEW); // 需求变更增加有关说明 2009-12-23 lwq reqItemProdVO.setReq_say(planItemProdVO.getReq_say()); return reqItemProdVO; }