예제 #1
0
  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();
    }
  }
예제 #2
0
 public void initData(DataDom dataDom, SessionInfo sessionInfo, ServiceRequest serviceRequest) {
   Table table = dataDom.getTable("YXPRJMST");
   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 POH_STA = table.getSafeRowColumnValue("PRJ_STA");
     if ("".equals(POH_STA)) {
       table.setSafeRowColumnValue("PRJ_STA", "00");
       table.setSafeRowColumnValue("PRJ_STAG", "01");
     }
     row.addColumn("PRJ_FMNG", sessionInfo.getUserId());
   }
 }
예제 #3
0
 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();
     }
   }
 }
예제 #4
0
  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);
  }