| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- package xin.glue.ui.B.B01;
- import java.sql.CallableStatement;
- 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;
- /**
- *
- * @Description 内控成分录入{界面ID:UIB010052}
- * @author 梅贵平{meiguiping}
- * @date 2009-12-3 下午12:01:20
- * @JDK Version jdk1.4.2
- */
- public class SaveNewFacChemParameter extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- String INFID = "UIB010052";
- String[] FAC_STL_GRD = (String[])context.get("FAC_STL_GRD");//牌号
- String[] FAC_CODE = (String[])context.get("FAC_CODE");//产线
-
- String[] CHEM_CD = (String[])context.get("CHEM_CD");//元素代码
- String[] CHEM_AIM = (String[])context.get("CHEM_AIM");//目标值
- String[] CHEM_MIN = (String[])context.get("CHEM_MIN");//最小值
- String[] CHEM_MAX = (String[])context.get("CHEM_MAX");//最大值
- String[] COMP_YN = (String[])context.get("COMP_YN");//是否为复合元素
- String[] rowStatus = (String[])context.get("rowStatus");//标记
- String[] REG_NM = (String[])context.get("REG_NM");//用户
-
- PosParameter param = null;
- PosGenericDao dao = this.getDao("mesdao");
- PosRowSet rowset = null;
- //主要是UPDATE 操作,若某元素不存在则进行INSERT操作
- if(rowStatus != null)
- {
- int len = rowStatus.length;
-
- for(int i = 0 ; i < len; i++)
- {
- rowset = null;//重新初始化
- if("u".equals(rowStatus[i]))
- {
-
- if("".equals(CHEM_MIN[i]) && "".equals(CHEM_MAX[i]) )
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, FAC_STL_GRD[0]);
- param.setWhereClauseParameter(1, FAC_CODE[0]);
- param.setWhereClauseParameter(2, CHEM_CD[i]);
- dao.delete("UIB010052_01.DELETE", param);
- SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010052_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
- continue;//进行下一次循环
- }
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, FAC_STL_GRD[0]);
- param.setWhereClauseParameter(1, FAC_CODE[0]);
- param.setWhereClauseParameter(2, CHEM_CD[i]);
- rowset = dao.find("UIB010052_05.SELECT", param);
- if(rowset.count() == 0)//无该元素,进行INSERT
- {
- param = new PosParameter();
- param.setValueParamter(0, FAC_STL_GRD[0]);
- param.setValueParamter(1, FAC_CODE[0]);
- param.setValueParamter(2, CHEM_CD[i]);
- param.setValueParamter(3, COMP_YN[i]);
- param.setValueParamter(4, CHEM_AIM[i]);
- param.setValueParamter(5, CHEM_MIN[i]);
- param.setValueParamter(6, CHEM_MAX[i]);
- param.setValueParamter(7, REG_NM[0]);
- dao.insert("UIB010052_01.INSERT", param);
- SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010052_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
- }
- else//含有该元素,执行UPDATE
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, CHEM_AIM[i]);
- param.setWhereClauseParameter(1, CHEM_MIN[i]);
- param.setWhereClauseParameter(2, CHEM_MAX[i]);
- param.setWhereClauseParameter(3, REG_NM[0]);
- param.setWhereClauseParameter(4, FAC_STL_GRD[0]);
- param.setWhereClauseParameter(5, FAC_CODE[0]);
- param.setWhereClauseParameter(6, CHEM_CD[i]);
- dao.update("UIB010052_01.UPDATE", param);
- SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010052_01.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- }
- }
- }
-
- String[] CALL = (String[])context.get("CALL");
-
- if(CALL != null)
- {
- String[]stlGrd = (String[])context.get("stlGrd");//需要复制到的内控牌号
- // String[]facCode = (String[])context.get("facCode");//产线
- CallableStatement cstm = null;
- cstm = dao.getCallableStatement("UIB010052_01.CALL");
- try
- {
- cstm.setString(1, FAC_STL_GRD[0]);//原牌号
- cstm.setString(2, FAC_CODE[0]);
- cstm.setString(3, stlGrd[0]);//目标牌号
- // cstm.setString(4, facCode[0]);
- cstm.setString(4, CALL[0]);
- cstm.setString(5, REG_NM[0]);
- cstm.registerOutParameter(6, java.sql.Types.VARCHAR);
- cstm.execute();
- }catch(Exception ex)
- {
- ex.printStackTrace();
- }
- finally
- {
- if(cstm != null)
- try
- {
- cstm.close();
- }catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- }
-
- //增加备注
- String[] DETAIL = (String[])context.get("DETAIL");//注释
- String[]ADD_REMARK = (String[])context.get("ADD_REMARK");//是否增加备注
- if(ADD_REMARK != null)
- {
- CallableStatement cstm = null;
- cstm = dao.getCallableStatement("UIB010052_03.CALL");
- try
- {
- cstm.setString(1, FAC_STL_GRD[0]);//原牌号
- cstm.setString(2, FAC_CODE[0]);
- cstm.setString(3, DETAIL[0]);//备注信息
- cstm.setString(4, REG_NM[0]);
- cstm.registerOutParameter(5, java.sql.Types.VARCHAR);
- cstm.execute();
- }catch(Exception ex)
- {
- ex.printStackTrace();
- }
- finally
- {
- if(cstm != null)
- try
- {
- cstm.close();
- }catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- }
-
- //删除牌号操作
- String[]L2Flag = (String[])context.get("L2Flag");//删除
- if(L2Flag != null && L2Flag[0].equals("D"))
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, FAC_STL_GRD[0]);//牌号
- param.setWhereClauseParameter(1, FAC_CODE[0]);
- dao.delete("UIB010052_02.DELETE", param);
- SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010052_02.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|