/** * 招标代理费生成 * * @param dataDom * @param sessionInfo * @param serviceRequest * @throws LiemsException */ public void creatDLFEE(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws LiemsException { Database db = null; Table table = dataDom.getTable("YXDBJYMST"); Row currRow = table.getRow(0L); try { db = Tools.getDatabase(true); String DBJY_NO = currRow.getColumnValue("DBJY_NO"); String PRJ_NO = currRow.getColumnValue("PRJ_NO"); String ORG_NO = currRow.getColumnValue("ORG_NO"); Vector<String> vc = new Vector<String>(); String sel1 = "select distinct TBR_NO from YXDBJYLIN where DBJY_NO=" + DBJY_NO + " and IS_ZB='01'"; Rowset rs = db.getRS(sel1); while (rs.next()) { // 查询投标单位 生成主表 String TBR_NO = rs.getString("TBR_NO"); CommSequence cs = CommSequence.getInstance("YXDLFMST_SEQ"); String TBDJ_NO = cs.getNextValue(); CommCodeNumber seq = new CommCodeNumber( "DLF", sessionInfo.getCurrentLanguage(), sessionInfo.getUserId(), db); String TBDJ_ID = seq.getNextValue(); String insertSQL = " insert into YXDLFMST(DLF_NO,ORG_NO,DLF_STA,DLF_ID,PRJ_NO,TBR_NO,FSTUSR_ID,FSTUSR_DTM) " + " values(" + TBDJ_NO + "," + ORG_NO + ",'00','" + TBDJ_ID + "'," + PRJ_NO + ",'" + TBR_NO + "','" + sessionInfo.getUserId() + "',sysdate) "; vc.add(insertSQL); // 查询标包 生成子表明细数据 String sel2 = "select YXDBJYLIN.PRJL_NO,YXPRJLIN.DLFL_AMT from YXDBJYLIN,YXPRJLIN " + " where YXDBJYLIN.PRJL_NO=YXPRJLIN.PRJL_NO and YXDBJYLIN.TBR_NO = " + TBR_NO + " and YXDBJYLIN.DBJY_NO=" + DBJY_NO + " and YXDBJYLIN.IS_ZB='01'"; Rowset rs2 = db.getRS(sel2); while (rs2.next()) { String PRJL_NO = rs2.getString("PRJL_NO"); CommSequence cs2 = CommSequence.getInstance("YXDBJYLIN_SEQ"); String TBDJL_NO = cs2.getNextValue(); String DLFL_AMT = rs2.getString("DLFL_AMT"); insertSQL = " insert into YXDBJYLIN(DLFL_NO,DLF_NO,TBR_NO,PRJ_NO,PRJL_NO,DLFL_AMT,IS_JF) " + " values(" + TBDJL_NO + "," + TBDJ_NO + "," + TBR_NO + "," + PRJ_NO + "," + PRJL_NO + "," + DLFL_AMT + ", 'N')"; vc.add(insertSQL); } } db.execSqlUpdateBatch(vc); db.commit(); serviceRequest.addServiceReturnParameter("relString", "true"); } catch (Exception e) { e.printStackTrace(); serviceRequest.addServiceReturnParameter("relString", e.toString()); } finally { if (db != null) { db.cleanup(); } } }
public void save(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws LiemsException { Table table = dataDom.getTable("YXDBJYMST"); Table cTable = dataDom.getTable("YXDBJYLIN"); Row currRow = table.getRow(0L); if (currRow == null) { table.addRow(new Row(false, 0, 0, "new")); currRow = table.getRow(0L); } currRow.setFirstLastUserInfo(sessionInfo.getUserId()); String prjNo = currRow.getColumnValue("PRJ_NO"); Database db = null; try { db = Tools.getDatabase(false); if (currRow.getDataStatus().equals("new")) { currRow.addColumn("ORG_NO", sessionInfo.getDefaultOrg()); if ((currRow.getColumn("DBJY_ID") == null) || (currRow.getColumn("DBJY_ID").getValue() == null) || (currRow.getColumn("DBJY_ID").getValue().equals(""))) { CommCodeNumber KLTYPID = new CommCodeNumber("DBJY", sessionInfo.getCurrentLanguage(), sessionInfo.getUserId()); currRow.addColumn(new Column("DBJY_ID", KLTYPID.getNextValue())); } } else if ((currRow.getDataStatus().equals("modified")) && (CheckDate.isPrjNoChange(dataDom, db))) { deleteChildTable(dataDom, sessionInfo, serviceRequest, db); } String isSplit = Database.getValue(db, "select IS_SPLIT from YXPRJMST where PRJ_NO=" + prjNo); if ((prjNo != null) && (!(prjNo.equals(""))) && (Integer.parseInt(prjNo) > 0)) { if ((isSplit.equals("Y")) && (CheckDate.isTableEmpty( "YXDBJYLIN", dataDom, db, "PRJ_NO=" + prjNo, currRow.getPkValue("DBJY_NO")))) initTBRTable(dataDom, prjNo, db); else if ((isSplit.equals("N")) && (CheckDate.isTableEmpty( "YXDBJYLIN", dataDom, db, "PRJ_NO=" + prjNo, currRow.getPkValue("DBJY_NO")))) { initNoSplitTbrTab(dataDom, prjNo, db); } } super.save(dataDom, sessionInfo, serviceRequest, db); String pkValue = dataDom.getRootTable().getPkValue(); // String selString = "select PRJL_NO,dlf_sum from YXDBJYLIN where DBJY_NO=" + pkValue + " and dlf_sum is not null"; Rowset rs = db.getRS(selString); Vector<String> vc = new Vector<String>(); while (rs.next()) { String PRJL_NO = rs.getString("PRJL_NO"); String dlf_sum = Charset.nullToEmpty(rs.getString("dlf_sum")); if (!"".equals(dlf_sum)) { String upPrjInfoString = "update yxprjlin set DLFL_AMT=" + dlf_sum + " where PRJ_NO=" + prjNo + " and prjl_no=" + PRJL_NO; vc.add(upPrjInfoString); } } if (vc.size() > 0) { db.execSqlUpdateBatch(vc); } db.commit(); } catch (Exception e) { db.rollback(); table.refresh("B1YXM00200", sessionInfo); Log.error(e); serviceRequest.getMessage().addInfo("保存失败"); } finally { if (db != null) { db.cleanup(); } } initSel(dataDom, sessionInfo); dataDom.getChildTable().refresh("B1YXM00200", sessionInfo); }