package xin.glue.ui.F.F02; import org.omg.CORBA.SystemException; 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 Wanlei * @Date 2015-4-22 上午11:34:54 * */ public class SaveMillThkParameter extends PosActivity { public String runActivity(PosContext context) { PosGenericDao dao = this.getDao("mesdao"); String INFID = "UIF026010"; String infid="UIF026010"; String[] rowStuts1 = (String[]) context.get("rowStatus0");// 页面主键表1的更新、删除、插入标记 String[] rowStuts = (String[]) context.get("rowStatus2");// 规范代码表3的更新、删除、插入标记 String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD");// 标准钢号 String[] ORD_THK_MIN = (String[]) context.get("ORD_THK_MIN"); // 订单下限 String[] ORD_THK_MAX = (String[]) context.get("ORD_THK_MAX"); // 订单厚度上限 String[] THK_MIN = (String[]) context.get("THK_MIN"); // 最小值百分比 String[] THK_MAX = (String[]) context.get("THK_MAX"); // 最大值百分比 String[] SEQ_NO = (String[]) context.get("SEQ_NO");// 顺序数据 // 主键不允许为空 if ("".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++) { if ("i".equals(rowStuts[i])) { PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0, SPEC_STL_GRD[0]); param0.setWhereClauseParameter(1, ORD_THK_MIN[i]); PosRowSet CoilNoVo1 = getDao("mesdao").find("UIF026010_03.SELECT", param0); PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, SPEC_STL_GRD[0]); param1.setWhereClauseParameter(1, ORD_THK_MAX[i]); PosRowSet CoilNoVo2 = getDao("mesdao").find("UIF026010_04.SELECT", param1); if(!CoilNoVo1.hasNext()&&!CoilNoVo2.hasNext()) { param = new PosParameter(); param.setValueParamter(j++, SPEC_STL_GRD[0]); param.setValueParamter(j++, ORD_THK_MIN[i]); param.setValueParamter(j++, ORD_THK_MAX[i]); param.setValueParamter(j++, THK_MIN[i]); param.setValueParamter(j++, THK_MAX[i]); dao.insert("UIF026010_01.INSERT", param); SaveModifyHistory.writeLog(dao, INFID, "I", "UIF026010_01.INSERT", param.getValueParameters(), "", SEQ_NO[0]); // getDao("mesdao").insert("UIA020010.List.DlvtElement.insert", param); } else{ context.put("returnInfoMsg", "区间重复!请重新输入订单厚度规格"); System.out.println("-----------" + "区间重复!请重新输入订单厚度规格"); return PosBizControlConstants.SUCCESS; } } else if ("u".equals(rowStuts[i])) { PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0, SPEC_STL_GRD[0]); param0.setWhereClauseParameter(1, ORD_THK_MIN[i]); PosRowSet CoilNoVo1 = getDao("mesdao").find("UIF026010_03.SELECT", param0); PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, SPEC_STL_GRD[0]); param1.setWhereClauseParameter(1, ORD_THK_MAX[i]); PosRowSet CoilNoVo2 = getDao("mesdao").find("UIF026010_04.SELECT", param1); if(!CoilNoVo1.hasNext()&&!CoilNoVo2.hasNext()) { param = new PosParameter(); param.setValueParamter(j++, ORD_THK_MIN[i]); param.setValueParamter(j++, ORD_THK_MAX[i]); param.setValueParamter(j++, THK_MIN[i]); param.setValueParamter(j++, THK_MAX[i]); param.setValueParamter(j++, SEQ_NO[i]); dao.update("UIF026010_01.UPDATE", param); SaveModifyHistory.writeLog(dao, INFID, "u", "UIF026010_01.UPDATE", param.getValueParameters(), "", SEQ_NO[i]); } else{ context.put("returnInfoMsg", "区间重复!请重新输入订单厚度规格"); System.out.println("-----------" + "区间重复!请重新输入订单厚度规格"); return PosBizControlConstants.SUCCESS; } } else if ("d".equals(rowStuts[i])) { PosParameter param3 = new PosParameter(); param3.setWhereClauseParameter(0, SEQ_NO[i]); dao.delete("UIF026010_02.DELETE", param3); SaveModifyHistory.writeLog(dao, INFID, "d", "UIF026010_02.DELETE", param3.getWhereClauseParamters(), "", SEQ_NO[i]); } } } if (rowStuts1 != null)// 表3的更新、删除、插入标记 { int len = rowStuts1.length; for (int i = 0; i < len; i++) { if ("d".equals(rowStuts1[i])) { PosParameter param4 = new PosParameter(); param4.setWhereClauseParameter(0, SPEC_STL_GRD[0]); System.out.print(param4); dao.delete("UIF026010_01.DELETE", param4); // SaveModifyHistory.writeLog(dao, INFID, "d", // "UIF026010_01.DELETE", param4.getValueParameters(), // "", SEQ_NO[0]); } } } return PosBizControlConstants.SUCCESS; } }