public void DeleteAllSubTable_FB( DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws Exception { Table table = dataDom.getTable("YXPRJMST"); Database db = null; String pk = ""; try { db = Tools.getDatabase(false); save(dataDom, sessionInfo, serviceRequest); serviceRequest.getMessage().clear(); pk = table.getPkValue(); if ((pk != null) && (!"".equals(pk))) { db.execSqlUpdate("delete from YXPRJLIN where IS_FB='Y' and PRJ_NO = " + pk); } db.commit(); WhereLimit wr = new WhereLimit(); wr.addColumn(new Column("PRJ_NO", pk)); dataDom.getTable("YXPRJLIN").setWhereLimit(wr); dataDom.getTable("YXPRJLIN").refresh("B1YXM00030", sessionInfo); } catch (Exception ex) { if (db != null) { db.rollback(); } Log.error(ex); } finally { if (db != null) { db.cleanup(); } } }
public void setAmtReadOnly( DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { String sta = dataDom.getRootTable().getSafeRowColumnValue("PRJ_STA"); if (!"00".equals(sta)) { dataDom.getChildTable().getField("PRJL_ID").setReadonly(true); dataDom.getChildTable().getField("PRJL_NAM").setReadonly(true); dataDom.getChildTable().getField("YSZL_AMT").setReadonly(true); dataDom.getChildTable().getField("ZBS_AMT").setReadonly(true); dataDom.getChildTable().getField("BZ_AMT").setReadonly(true); dataDom.getChildTable().getField("DLFL_AMT").setReadonly(true); } if ("02".equals(sta)) { dataDom.getChildTable().getField("YSZL_AMT").setReadonly(false); dataDom.getChildTable().getField("ZBS_AMT").setReadonly(false); dataDom.getChildTable().getField("BZ_AMT").setReadonly(false); dataDom.getChildTable().getField("DLFL_AMT").setReadonly(false); } String DLF_TYP = dataDom.getTable("YXPRJMST").getSafeRow().getColumnValue("DLF_TYP"); Table table = dataDom.getTable("YXPRJLIN"); if ("A".equals(DLF_TYP)) { table.getField("DLFL_AMT").setReadonly(true); } else if ("B".equals(DLF_TYP)) { table.getField("DLFL_AMT").setReadonly(false); } }
public void init(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { try { super.init(dataDom, sessionInfo, serviceRequest); String pkValue = dataDom.getTable("YXPBPFMST").getPkValue(); Table table = dataDom.getTable("YXSWPFLIN"); WhereLimit lw = new WhereLimit(); if ((pkValue == null) || (pkValue.equals(""))) { pkValue = "-1"; } lw.addColumn("PBPF_NO", pkValue); // 子表业务类型,B 商务评分,T 技术评分 Z 总报价评分,P 报价质量评分 lw.addColumn("PBYS_TYP", "T"); String PRJL_TYP = dataDom.getRootTable().getSafeRowColumnValue("PRJL_TYP"); if (PRJL_TYP.equals("A")) { // 综合评分 dataDom.getExtend().getSelect("evalSelector").setReadonly(true); } else { // 独立评分 dataDom.getExtend().getSelect("evalSelector").setReadonly(false); // 初始化评委 String prjNo = dataDom.getTable("YXPBPFMST").getSafeRow().getColumnValue("PRJ_NO"); String prjlNo = dataDom.getTable("YXPBPFMST").getSafeRow().getColumnValue("PRJL_NO"); if (!"".equals(prjNo)) { initEvalSelector(dataDom, prjlNo, prjNo); } } table.setWhereLimit(lw); table.refresh("B1YXM00173", sessionInfo); } catch (Exception e) { Log.error(e); } setReadOnly(dataDom); }
public void Delete(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { Table table = dataDom.getTable("YXPBPFMST"); Row row = table.getRow(0L); if (row == null) { /* */ serviceRequest.getMessage().addInfo("没有需要删除的数据!"); return; } String pkValue = table.getPkValue(); if ((pkValue == null) || ("".equals(pkValue.trim()))) { serviceRequest.getMessage().addInfo("没有需要删除的数据!"); return; } Database db = null; try { db = Tools.getDatabase(false); deleteChildTable(dataDom, sessionInfo, serviceRequest, db); super.Delete(dataDom, sessionInfo, serviceRequest, db); db.commit(); serviceRequest.getMessage().addInfo("删除成功!"); } catch (Exception e) { if (db != null) { db.rollback(); } Log.error(e); serviceRequest.getMessage().addInfo("删除失败,请重试或联系系统管理员!"); } finally { if (db != null) db.cleanup(); } }
/** * 初始化处理 @Override * * @param dataDom DataDom * @param sessionInfo SessionInfo * @param serviceRequest ServiceRequest */ public void init(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { super.init(dataDom, sessionInfo, serviceRequest); DataRule.setOrg(dataDom, sessionInfo, serviceRequest, "FINCWGWMST", "", true); Table table = dataDom.getRootTable(); table.setOrderBy("FSTUSR_DTM@desc"); table.refresh(dataDom.getProgramInfo().getProgramNo(), sessionInfo); }
public void clearDLFL_AMT(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws Exception { Table table = dataDom.getTable("YXPRJMST"); Database db = null; String pk = ""; try { db = Tools.getDatabase(false); save(dataDom, sessionInfo, serviceRequest); serviceRequest.getMessage().clear(); pk = table.getPkValue(); db.execSqlUpdate("update YXPRJLIN set DLFL_AMT='' where PRJ_NO = " + pk); db.commit(); pk = table.getPkValue(); WhereLimit wr = new WhereLimit(); wr.addColumn(new Column("PRJ_NO", pk)); dataDom.getTable("YXPRJLIN").setWhereLimit(wr); dataDom.getTable("YXPRJLIN").refresh("B1YXM00030", sessionInfo); } catch (Exception ex) { db.rollback(); Log.error(ex); } finally { if (db != null) { db.cleanup(); } } }
/** * 页面tab页签切换 @Override * * @param dataDom DataDom * @param sessionInfo SessionInfo * @param serviceRequest ServiceRequest 含有tabName参数 * @throws LiemsException */ public void TabOnClick(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { Table table = dataDom.getTable("YXPBPFLIN"); if (null != table) { Field orgNoField = table.getField("ORG_NO"); if (null != orgNoField) { Row currRow = table.getRow(0); String orgNo = ""; // 增加当前行的判断,仅当当前行不为null时候取DataDom里的orgNo if (null != currRow) { orgNo = Charset.nullToEmpty(currRow.getColumnValue("ORG_NO")); } if (!("".equals(orgNo))) { serviceRequest.addParameter("selectorgno", orgNo); } else { serviceRequest.addParameter("selectorgno", sessionInfo.getOrg()[0].getValue()); } // 没有公司编号字段,则取session中第一个公司编号 } else { serviceRequest.addParameter("selectorgno", sessionInfo.getOrg()[0].getValue()); } } else { serviceRequest.addParameter("selectorgno", sessionInfo.getOrg()[0].getValue()); } super.TabOnClick(dataDom, sessionInfo, serviceRequest); }
public void Delete(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { Table table = dataDom.getTable("YXDBJYMST"); Row row = table.getRow(0L); if (row == null) { serviceRequest.getMessage().addInfo("没有需要删除的数据"); return; } String pkValue = table.getPkValue(); if ((pkValue == null) || ("".equals(pkValue.trim()))) { serviceRequest.getMessage().addInfo("没有需要删除的数据"); return; } Database db = null; try { db = Tools.getDatabase(false); deleteChildTable(dataDom, sessionInfo, serviceRequest, db); super.Delete(dataDom, sessionInfo, serviceRequest, db); db.commit(); dataDom.refresh(sessionInfo); serviceRequest.getMessage().addInfo("删除数据成功"); } catch (Exception e) { if (db != null) { db.rollback(); } Log.error(e); serviceRequest.getMessage().addInfo("发生异常,请联系管理员"); } finally { if (db != null) { db.cleanup(); } dataDom.refresh(sessionInfo); } init(dataDom, sessionInfo, serviceRequest); }
/** * 设置只读 * * @param dataDom * @addTime 2014-2-26 下午05:05:46 * @author Libo */ private void setReadOnly(DataDom dataDom) { Table chileTable = dataDom.getTable("YXDBJYLIN"); String sta = "SELECT DLF_STA FROM YXDLFMST WHERE PRJ_NO = '" + dataDom.getTable("YXDBJYMST").getSafeRowColumnValue("PRJ_NO") + "'"; if ("00".equals(sta) || "01".equals(sta)) { chileTable.getField("DLF_SUM").setReadonly(true); } }
public void initSel(DataDom dataDom) { Table table = dataDom.getRootTable(); Row row = table.getRow(0L); String venNo = row.getColumnValue("VEN_NO"); if ((venNo != null) && (!venNo.equals(""))) { creatSel( table.getField("VEN_LXR"), "SELECT LXR_NAM ,LXR_NAM FROM HLVDVENLIN WHERE VEN_NO=" + venNo, false, false); } }
public void init(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { super.init(dataDom, sessionInfo, serviceRequest); DataRule.setOrg(dataDom, sessionInfo, serviceRequest, "YXPRJMST", "", true); initWhereLimit(dataDom, sessionInfo, serviceRequest); initData(dataDom, sessionInfo, serviceRequest); initSel(dataDom); setAmtReadOnly(dataDom, sessionInfo, serviceRequest); Table table = dataDom.getTable("YXPRJMST"); Orderby orderby1 = new Orderby("FSTUSR_DTM", "desc"); table.clearOrderby(); table.addOrderby(orderby1); }
public void rowSave(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws Exception { Table table = dataDom.getTable("YXDBJYMST"); String pkValue = table.getPkValue(); if ((pkValue == null) || ("".equals(pkValue)) || ("-1".equals(pkValue))) serviceRequest.getMessage().addError("??????????????"); else try { String tableName = serviceRequest.getParameter("tableName"); super.save(tableName, dataDom, sessionInfo, serviceRequest); } catch (Exception e) { Log.error(e); serviceRequest.getMessage().addInfo("保存子表失败"); } }
public void save(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws LiemsException { Table table = dataDom.getTable("YXPBPFMST"); Row currRow = table.getRow(0L); if (currRow == null) { table.addRow(new Row(false, 0, 0, "new")); currRow = table.getRow(0L); } currRow.setFirstLastUserInfo(sessionInfo.getUserId()); try { super.save(dataDom, sessionInfo, serviceRequest); } catch (Exception e) { Log.error(e); serviceRequest.getMessage().addInfo("保存失败,请重试或联系系统管理员!"); } }
private boolean saveBefore( DataDom dataDom, ServiceRequest serviceRequest, SessionInfo sessionInfo) { Table ctb = dataDom.getChildTable(); String pkValue = dataDom.getRootTable().getPkValue(); ArrayList<String> prjlIds = new ArrayList<String>(); try { Rowset rs = Database.getRowset("select PRJL_ID from YXPRJLIN where PRJ_NO =" + pkValue); while (rs.next()) { String lid = rs.getString("PRJL_ID"); prjlIds.add(lid); } Iterator<?> it = ctb.getRows().keySet().iterator(); String zbId = dataDom.getRootTable().getSafeRowColumnValue("PRJ_ID"); while (it.hasNext()) { String rowNo = (String) it.next(); Row row = (Row) ctb.getRows().get(rowNo); String rPk = row.getColumnValue("PRJL_NO"); if ((rPk != null) && (Integer.parseInt(rPk) > 0)) { prjlIds.remove(_$15996(rPk)); } } Iterator<?> it2 = ctb.getRows().keySet().iterator(); while (it2.hasNext()) { String rowNo = (String) it2.next(); Row row = (Row) ctb.getRows().get(rowNo); String prjId = row.getColumnValue("PRJL_ID"); if (prjlIds.contains(prjId)) { serviceRequest .getMessage() .addError("第" + (Integer.parseInt(rowNo) + 1) + "行的分包编号之前已经使用过,请重新输入!"); return false; } if ((!prjId.startsWith(zbId + "-")) && (!prjId.equals(zbId))) { serviceRequest .getMessage() .addError("第" + (Integer.parseInt(rowNo) + 1) + "行的分包编号格式错误,未包含招标编号,请重新输入!"); return false; } prjlIds.add(prjId); } } catch (Exception e) { e.printStackTrace(); Log.error(e); return false; } return true; }
/** * 初始化评委 * * @param dataDom * @addTime 2014-3-19 下午02:30:01 * @author Libo */ private void initEvalSel(DataDom dataDom) { Table table = dataDom.getTable("YXPBPFLIN"); String PBPF_NO = table.getSafeRowColumnValue("PBPF_NO"); String pfTyp = table.getSafeRowColumnValue("PF_TYP"); String prjl_no = table.getSafeRowColumnValue("PRJL_NO"); Select select = dataDom.getExtend().getSelect("evalSelector"); select.getOptions().clear(); if ("A".equals(pfTyp)) { select.addOption(new Option("无评委", "-1")); } else if ("B".equals(pfTyp)) { creatSel( select, "select EVAL_PERS_NAM,EVAL_PERS_NO from YXPJEVALPERSMST where EVAL_PERS_NO in(select EVAL_PERS_NO from YXHSPWLIN where PRJ_NO=(SELECT PRJ_NO FROM YXPBPFMST WHERE PBPF_NO = '" + PBPF_NO + "') and PRJL_NO='" + prjl_no + "' and EVAL_TYP='B')", false, false); } }
private void initSel(DataDom dataDom, SessionInfo sessionInfo) { Table table = dataDom.getChildTable(); String prjNo = dataDom.getRootTable().getSafeRowColumnValue("PRJ_NO"); if ((prjNo != null) && (!(prjNo.equals("")))) { creatSel( table.getField("PRJL_NO"), "SELECT PRJL_NAM ,PRJL_NO FROM YXPRJLIN where PRJ_NO=" + prjNo, true, false); String sql = " select tbr_nam,tbr_no from ( select distinct f.tbr_nam,f.tbr_no,g.tot_seq " + " from YXBJDFLIN p " + " left join YXPFTLIN g on p.pfgl_no=g.pfgl_no and p.tbr_no=g.tbr_no " + " left join YXTBRMST f on p.TBR_NO = f.TBR_NO " + " where p.PRJ_NO =" + prjNo + " order by g.tot_seq asc) "; creatSel(dataDom.getTable("YXDBJYLIN").getField("TBR_NO"), sql, true, false); } }
public void TabOnClick(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { Table table = dataDom.getTable("YXDBJYMST"); if (table != null) { Field orgNoField = table.getField("ORG_NO"); if (orgNoField != null) { Row currRow = table.getRow(0L); String orgNo = ""; if (currRow != null) { orgNo = Charset.nullToEmpty(currRow.getColumnValue("ORG_NO")); } if (!("".equals(orgNo))) serviceRequest.addParameter("selectorgno", orgNo); else serviceRequest.addParameter("selectorgno", sessionInfo.getOrg()[0].getValue()); } else { serviceRequest.addParameter("selectorgno", sessionInfo.getOrg()[0].getValue()); } } else { serviceRequest.addParameter("selectorgno", sessionInfo.getOrg()[0].getValue()); } super.TabOnClick(dataDom, sessionInfo, serviceRequest); }
public void DeleteAllSubTable( DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws Exception { Table table = dataDom.getTable("YXPRJMST"); Database db = null; String pk = ""; try { db = Tools.getDatabase(false); save(dataDom, sessionInfo, serviceRequest); serviceRequest.getMessage().clear(); pk = table.getPkValue(); db.execSqlUpdate("delete from YXPRJLIN where PRJ_NO = " + pk); db.commit(); } catch (Exception ex) { db.rollback(); Log.error(ex); } finally { if (db != null) { db.cleanup(); } } setFirstRowSubTable(dataDom, sessionInfo, serviceRequest); }
private void initNoSplitTbrTab(DataDom dataDom, String prjNo, Database db) throws Exception { String sql = "select t.TBR_NAM,t.TBR_NO,d.PRJL_NO from YXTBRMST t join YXBJDFLIN d on t.TBR_NO=d.TBR_NO where d.PRJ_NO = " + prjNo; Rowset rs = db.getRS(sql); Table ct1 = dataDom.getTable("YXDBJYLIN"); Row row = new Row(false, 0, 0, "new"); row.addColumn("PRJ_NO", Charset.nullToEmpty(prjNo)); String unit = getMonUnit(prjNo); row.addColumn("IS_NTC", "N"); row.addColumn("IS_RCV", "N"); row.addColumn("MON_UNIT", unit); if (rs.next()) { row.addColumn("PRJL_NO", Charset.nullToEmpty(rs.getString("PRJL_NO"))); row.addColumn("TBR_NO", rs.getString("TBR_NO")); ct1.getRows().put("0", row); creatSel(ct1.getField("TBR_NO"), sql, false, false); } else { ct1.clearRow(); } }
public void saveChildTable( Database db, DataDom dataDom, SessionInfo sessionInfo, String pkValue) { Table rtbl = dataDom.getRootTable(); String parentPkNam = rtbl.pkFieldName; Table[] ctbls = dataDom.getChildTable(rtbl); try { for (Table ctbl : ctbls) { int len = ctbl.getRows().size(); for (int i = 0; i < len; i++) { if (ctbl.getRow(i) != null) { if ("new".equals(ctbl.getRow(i).getDataStatus())) { setColumnValue(ctbl.getRow(i), parentPkNam, pkValue); } } else { len++; } } ctbl.save(db); } } catch (Exception e) { e.printStackTrace(); } }
public void setFirstRowSubTable( DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws Exception { String ZB_ID = serviceRequest.getParameter("ZB_ID"); String PRJ_NAM = serviceRequest.getParameter("PRJ_NAM"); Table table = dataDom.getTable("YXPRJMST"); Database db = null; String pk = ""; try { db = Tools.getDatabase(false); pk = table.getPkValue(); String nextPkValue = CommSequence.getInstance("YXPRJLIN_SEQ").getNextValue(); db.execSqlUpdate( "insert into YXPRJLIN(PRJL_NO,PRJ_NO,PRJL_ID,PRJL_NAM,IS_FB) values( " + nextPkValue + "," + pk + ",'" + ZB_ID + "','" + PRJ_NAM + "','Y') "); db.commit(); pk = table.getPkValue(); WhereLimit wr = new WhereLimit(); wr.addColumn(new Column("PRJ_NO", pk)); dataDom.getTable("YXPRJLIN").setWhereLimit(wr); dataDom.getTable("YXPRJLIN").refresh("B1YXM00030", sessionInfo); } catch (Exception ex) { db.rollback(); Log.error(ex); } finally { if (db != null) { db.cleanup(); } } }
/** * 子表行记录保存 @Override * * @param dataDom DataDom * @param sessionInfo SessionInfo * @param serviceRequest ServiceRequest * @throws LiemsException */ public void rowSave(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws Exception { Table table = dataDom.getTable("YXPBPFLIN"); String pkValue = table.getPkValue(); if (null == pkValue || "".equals(pkValue) || "-1".equals(pkValue)) { serviceRequest.getMessage().addError("请先维护主信息!"); } else { try { String tableName = serviceRequest.getParameter("tableName"); Table childTable = dataDom.getTable(tableName); // 添加whereLimit的判断,这里目前不加任何过滤字段由研发人员自行添加 if (null != childTable) { WhereLimit whereLimit = childTable.getWhereLimit(); if (null == whereLimit) { whereLimit = new WhereLimit(); } super.save(tableName, dataDom, sessionInfo, serviceRequest); } } catch (Exception e) { Log.error(e); serviceRequest.getMessage().addInfo("保存失败,请重试或联系系统管理员!"); } } }
public void initData(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { Table table = dataDom.getRootTable(); Row row = table.getRow(0L); if (row == null) { row = new Row(false, 0, 0, "new"); table.addRow(row); } String pkValue = table.getPkValue(); if ((pkValue == null) || ("".equals(pkValue)) || ("-1".equals(pkValue))) { String STA = table.getSafeRowColumnValue("DBJY_STA"); if ("".equals(STA)) { table.getSafeRow().addColumn("DBJY_EXT01", sessionInfo.getUserId()); table.setSafeRowColumnValue("DBJY_STA", "00"); } } }
public void Delete(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) { Table table = dataDom.getTable("YXPRJMST"); Row row = table.getRow(0L); if (row == null) { serviceRequest.getMessage().addInfo("没有需要删除的数据!"); return; } String pkValue = table.getPkValue(); if ((pkValue == null) || ("".equals(pkValue.trim()))) { serviceRequest.getMessage().addInfo("没有需要删除的数据!"); return; } Database db = null; try { db = Tools.getDatabase(false); deleteChildTable(dataDom, sessionInfo, serviceRequest, db); super.Delete(dataDom, sessionInfo, serviceRequest, db); db.commit(); String pk = table.getPkValue(); table.refreshG(pk); pk = table.getPkValue(); WhereLimit wl = new WhereLimit(); wl.addColumn("new_sql_wherelimit", "PRJ_NO =" + pk); Log.info("PRJ_NO:" + pk); dataDom.getTable("YXPRJLIN").setWhereLimit(wl); dataDom.getTable("YXPRJLIN").refresh2("B1YXM00030", sessionInfo); } catch (Exception e) { if (db != null) { db.rollback(); } Log.error(e); serviceRequest.getMessage().addInfo("删除失败,请重试或联系系统管理员!"); table.refresh("B1YXM00030", sessionInfo); ; } finally { if (db != null) { db.cleanup(); } } }
/** * 招标代理费生成 * * @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); }
public void save(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) throws LiemsException { if (!saveBefore(dataDom, serviceRequest, sessionInfo)) { return; } Table table = dataDom.getTable("YXPRJMST"); Database db = null; Row currRow = table.getRow(0L); if (currRow == null) { table.addRow(new Row(false, 0, 0, "new")); currRow = table.getRow(0L); } currRow.setFirstLastUserInfo(sessionInfo.getUserId()); try { db = Tools.getDatabase(false); String isSplit = dataDom.getRootTable().getSafeRowColumnValue("IS_SPLIT"); if (currRow.getDataStatus().equals("new")) { currRow.addColumn("ORG_NO", sessionInfo.getDefaultOrg()); if ((currRow.getColumn("PRJ_ID") == null) || (currRow.getColumn("PRJ_ID").getValue() == null) || (currRow.getColumn("PRJ_ID").getValue().equals(""))) { String idTyp = currRow.getColumnValue("PRJ_EXT02"); if ("A".equals(idTyp)) { CommCodeNumber KLTYPID = new CommCodeNumber( "PRJ", sessionInfo.getCurrentLanguage(), sessionInfo.getUserId()); currRow.addColumn(new Column("PRJ_ID", KLTYPID.getNextValue())); } CommCodeNumber ZB_ID = new CommCodeNumber("ZBBH", sessionInfo.getCurrentLanguage(), sessionInfo.getUserId()); currRow.addColumn(new Column("ZB_ID", ZB_ID.getNextValue())); currRow.addColumn("VALID_STA", "A"); currRow.addColumn(new Column("ZB_TIMES", "1")); } if ("N".equals(isSplit)) { Row row = new Row(false, 0, 0, "new"); row.addColumn("PRJL_NAM", currRow.getColumnValue("PRJ_NAM")); row.addColumn("PRJL_ID", currRow.getColumnValue("PRJ_ID")); row.addColumn("BZ_AMT", "0.00"); row.addColumn("IS_FB", "Y"); dataDom.getChildTable().getRows().put("0", row); } } String dlfTyp = dataDom.getRootTable().getSafeRowColumnValue("DLF_TYP"); super.save(dataDom, sessionInfo, serviceRequest, db); db.commit(); String pkValue = currRow.getPkValue("PRJ_NO"); if (isSplit.equals("Y")) { String sql = ""; if (dlfTyp.equals("B")) { sql = "update YXPRJMST set ZBS_AMT = (select sum(ZBS_AMT) from YXPRJLIN where PRJ_NO=" + pkValue + ")," + "BZ_AMT = (select sum(BZ_AMT) from YXPRJLIN where PRJ_NO=" + pkValue + ")," + "DL_AMT=(select sum(DLFL_AMT) from YXPRJLIN where PRJ_NO=" + pkValue + ")" + " where PRJ_NO = " + pkValue; dataDom.getChildTable().getField("DLFL_AMT").setReadonly(false); } else { sql = "update YXPRJMST set ZBS_AMT = (select sum(ZBS_AMT) from YXPRJLIN where PRJ_NO=" + pkValue + ")," + "BZ_AMT = (select sum(BZ_AMT) from YXPRJLIN where PRJ_NO=" + pkValue + ")" + " where PRJ_NO = " + pkValue; dataDom.getChildTable().getField("DLFL_AMT").setReadonly(true); } Database.execString(sql); } serviceRequest.getMessage().addInfo("保存成功"); initSel(dataDom); dataDom.getChildTable().getWhereLimit().addColumn("PRJ_NO", pkValue); dataDom.refresh(sessionInfo); } catch (Exception e) { if (db != null) { db.rollback(); } Log.error(e); serviceRequest.getMessage().addInfo("保存失败,请重试或联系系统管理员!"); } finally { if (db != null) { db.cleanup(); } } }