| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- 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;
- /**
- * 客户参数信息保存(对应UIB010030界面)
- * @author 梅贵平
- * @date 2008-10-14
- */
- public class SaveCustParameter extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- PosGenericDao dao = this.getDao("mesdao");
- String INFID = "UIB010030";
- String[]rowStuts0 = (String[])context.get("rowStuts0");//表1的删除、插入标记
- String[]rowStuts = (String[])context.get("rowStuts");//表2、3、4、5的更新、删除、插入标记
-
- String[]PROD_LINE = (String[])context.get("PROD_LINE");//产线
- String[]CUST_CD = (String[])context.get("CUST_CD");//客户公司代码
- String[]PRDNM_CD = (String[])context.get("PRDNM_CD"); //交货状态
- String[]SEQ = (String[])context.get("SEQ"); //SEQ
- String CUSTSPECNO = CUST_CD[0]+PRDNM_CD[0]+SEQ[0]+PROD_LINE[0];
-
- String[]NF_TP = (String[])context.get("NF_TP");//区分客户的内控和放行
- String[]SPEC_STL_GRD = (String[])context.get("SPEC_STL_GRD");
- String[]REG_NM = (String[])context.get("REG_NM");
-
- String[]CHEM_CD = (String[])context.get("CHEM_CD");//成分代码
- String[]CHEM_MIN = (String[])context.get("CHEM_MIN");//最小值
- String[]CHEM_MAX = (String[])context.get("CHEM_MAX");//最大值
- String[]CHEM_DEC_CD = (String[])context.get("CHEM_DEC_CD");//检验类型
- String[]COMP_YN = (String[])context.get("COMP_YN");//复合元素区分
-
- PosParameter param = null;
- PosRowSet rowset = null;
- if(rowStuts != null)
- {
- int len = rowStuts.length;
- for(int i = 0; i < len; i++)
- {
- //主键不允许为空!
- if("".equals(CUST_CD[0]) || "".equals(PRDNM_CD[0]) || "".equals(SEQ[0]))
- {
- break;
- }
- else if("u".equals(rowStuts[i]))
- {
- if("".equals(CHEM_MIN[i]) && "".equals(CHEM_MAX[i]))
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, CUSTSPECNO);
- param.setWhereClauseParameter(1, NF_TP[0]);
- param.setWhereClauseParameter(2, CHEM_CD[i]);
- dao.delete("UIB010030_02.DELETE", param);
- SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010030_02.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
- continue;
- }
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, CUSTSPECNO);
- param.setWhereClauseParameter(1, NF_TP[0]);
- param.setWhereClauseParameter(2, CHEM_CD[i]);
-
- rowset = dao.find("UIB010030_06.SELECT", param);
- if(rowset.count() == 0)//若无则插入
- {
- param = new PosParameter();
- param.setValueParamter(0, CUSTSPECNO);
- param.setValueParamter(1, CHEM_CD[i]);
- param.setValueParamter(2, CHEM_MIN[i]);
- param.setValueParamter(3, CHEM_MAX[i]);
- param.setValueParamter(4, COMP_YN[i]);
- param.setValueParamter(5, NF_TP[0]);
- param.setValueParamter(6, SPEC_STL_GRD[0]);
- param.setValueParamter(7, CHEM_DEC_CD[i]);
- param.setValueParamter(8, REG_NM[0]);
- dao.insert("UIB010030_01.INSERT", param);
- SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010030_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
- }
- else//update
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, CHEM_MIN[i]);
- param.setWhereClauseParameter(1, CHEM_MAX[i]);
- param.setWhereClauseParameter(2, REG_NM[0]);
- param.setWhereClauseParameter(3, CHEM_DEC_CD[i]);
- param.setWhereClauseParameter(4, CUSTSPECNO);
- param.setWhereClauseParameter(5, CHEM_CD[i]);
- param.setWhereClauseParameter(6, NF_TP[0]);
- dao.update("UIB010030_02.UPDATE", param);
- SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010030_02.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- }
- }
- }
-
- if(rowStuts0 != null)//删除客户参数号
- {
- if("d".equals(rowStuts0[0]))
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, CUSTSPECNO);
- param.setWhereClauseParameter(1, NF_TP[0]);
- dao.delete("UIB010030_01.DELETE", param);
- SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010030_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|