| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package xin.glue.ui.B.B01;
- import xin.glue.ui.B.common.SaveModifyHistory;
- import com.posdata.glue.biz.activity.PosActivity;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.PosGenericDao;
- import com.posdata.glue.dao.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRowSet;
- /**
- * 标准规范信息录入、删除、更新(界面ID:UIB010302)
- *
- * @author KangMiao
- * @Date 2015-4-22 上午11:34:54
- *
- */
- public class SaveSpecTechParameter extends PosActivity {
- public String runActivity(PosContext context) {
- PosGenericDao dao = this.getDao("mesdao");
- String INFID = "UIB010302";
- String[] rowStuts1 = (String[]) context.get("rowStatus0");// 页面主键表1的更新、删除、插入标记
- String[] rowStuts = (String[]) context.get("rowStatus2");// 规范代码表3的更新、删除、插入标记
- String[] PRDNM_CD = (String[]) context.get("PRDNM_CD");// 交货状态
- String[] SPEC_ABBSYM = (String[]) context.get("SPEC_ABBSYM");// 标准号
- String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD");// 标准钢号
- String[] PROD_CD = (String[]) context.get("PROD_CD"); // 规范代码
- String[] PROD_TYPE = (String[]) context.get("PROD_TYPE"); // 代码类型
- String[] DCS_SYM = (String[]) context.get("DCS_SYM"); // 判定符号
- String[] PROD_VAL = (String[]) context.get("PROD_VAL"); // 值
- String[] MEMO = (String[]) context.get("MEMO");// 备注
- String[] REG_NM = (String[]) context.get("REG_NM");// 登陆ID
- // 主键不允许为空
- if ("".equals(PRDNM_CD[0]) || "".equals(SPEC_ABBSYM[0])
- || "".equals(SPEC_STL_GRD[0])) {
- return PosBizControlConstants.SUCCESS;
- }
- PosParameter param = null;
- PosRowSet rowset = null;
- int j = 0;
- if (rowStuts != null)// 表3的更新、删除、插入标记
- {
- int len = rowStuts.length;
- for (int i = 0; i < len; i++) {
- j = 0;
- // 删除某规范代码
- if (null == PROD_VAL[i] || "".equals(PROD_VAL[i]))
- {
- param = new PosParameter();
- param.setWhereClauseParameter(j++, PRDNM_CD[0]);
- param.setWhereClauseParameter(j++, SPEC_ABBSYM[0]);
- param.setWhereClauseParameter(j++, SPEC_STL_GRD[0]);
- param.setWhereClauseParameter(j++, PROD_CD[i]);
- dao.delete("UIB010302_02.DELETE", param);
- SaveModifyHistory.writeLog(dao, INFID, "D",
- "UIB010302_02.DELETE", param
- .getWhereClauseParamters(), "", REG_NM[0]);
- continue;
- }
- // 判断某元素是否存在
- param = new PosParameter();
- param.setWhereClauseParameter(j++, PRDNM_CD[0]);
- param.setWhereClauseParameter(j++, SPEC_ABBSYM[0]);
- param.setWhereClauseParameter(j++, SPEC_STL_GRD[0]);
- param.setWhereClauseParameter(j++, PROD_CD[i]);
- rowset = dao.find("UIB010302_11.SELECT", param);
- j = 0;
- if (rowset.count() == 0)// insert
- {
- param = new PosParameter();
- param.setValueParamter(j++, PRDNM_CD[0]);
- param.setValueParamter(j++, SPEC_ABBSYM[0]);
- param.setValueParamter(j++, SPEC_STL_GRD[0]);
- param.setValueParamter(j++, PROD_CD[i]);
- param.setValueParamter(j++, PROD_TYPE[i]);
- param.setValueParamter(j++, DCS_SYM[i]);
- param.setValueParamter(j++, PROD_VAL[i]);
- param.setValueParamter(j++, MEMO[i]);
- param.setValueParamter(j++, REG_NM[0]);
- dao.insert("UIB010302_01.INSERT", param);
- SaveModifyHistory.writeLog(dao, INFID, "I",
- "UIB010302_01.INSERT", param.getValueParameters(),
- "", REG_NM[0]);
- } else// update 基础代码不能修改
- {
- param = new PosParameter();
- param.setWhereClauseParameter(j++, PROD_VAL[i]);
- param.setWhereClauseParameter(j++, MEMO[i]);
- param.setWhereClauseParameter(j++, REG_NM[0]);
- param.setWhereClauseParameter(j++, PRDNM_CD[0]);
- param.setWhereClauseParameter(j++, SPEC_ABBSYM[0]);
- param.setWhereClauseParameter(j++, SPEC_STL_GRD[0]);
- param.setWhereClauseParameter(j++, PROD_CD[i]);
- dao.update("UIB010302_02.UPDATE", param);
- SaveModifyHistory.writeLog(dao, INFID, "U",
- "UIB010302_02.UPDATE", param
- .getWhereClauseParamters(), "", REG_NM[0]);
- }
- }
- }
- // 针对整个标准的删除
- if (null != rowStuts1 && "d".equals(rowStuts1[0]))
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, PRDNM_CD[0]);
- param.setWhereClauseParameter(1, SPEC_ABBSYM[0]);
- param.setWhereClauseParameter(2, SPEC_STL_GRD[0]);
- dao.delete("UIB010302_01.DELETE", param);
- SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010302_01.DELETE",
- param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|