| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package xin.glue.ui.B.B01;
- import org.apache.commons.lang.StringUtils;
- 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;
- /**
- * 类名 SaveCustQlty.java
- * 说明 客户材质保存{界面ID:UIB010130}
- * 创建日期 2008-10-29
- * 作者 何文熙
- */
- public class SaveCustQlty extends PosActivity
- {
-
- public String runActivity(PosContext context)
- {
- String[] rowStatu1 = (String[])context.get("rowStatu1");
- String[] REG_NM = (String[])context.get("REG_NM");
- String INFID = "UIB010130";
-
- String[]CUST_CD = (String[])context.get("CUST_CD");//客户公司代码
- String[]PRDNM_CD = (String[])context.get("PRDNM_CD");//交货状态
- String[]SEQ = (String[])context.get("SEQ");
- String[]PROD_LINE = (String[])context.get("PROD_LINE");//检验类型
- String[]SPEC_STL_GRD = (String[])context.get("SPEC_STL_GRD");
- if("".equals(CUST_CD[0]) ||"".equals(PRDNM_CD[0])|| "".equals(SEQ[0]))//客户参数号不允许为空
- {
- return PosBizControlConstants.SUCCESS;
- }
- String CUST_SPEC_NO = CUST_CD[0]+PRDNM_CD[0]+SEQ[0]+PROD_LINE[0];
- StringBuffer returnInfo = new StringBuffer("");
- PosGenericDao dao = this.getDao("mesdao");
- if(rowStatu1!=null)
- {
-
- String[] QLTY_CD = (String[])context.get("QLTY_CD");//材质代码
- String[] QLTY_MIN = (String[])context.get("QLTY_MIN");//材质最小值
- String[] QLTY_MAX = (String[])context.get("QLTY_MAX");//材质最大值
- String[] QLTY_UNIT = (String[])context.get("QLTY_UNIT");//材质单位
- String[] QLTY_TYPE = (String[])context.get("QLTY_TYPE");//材质TYPE
- String[] QLTY_DETAIL = (String[])context.get("QLTY_DETAIL");//说明
- String[] QLTY_DEC_CD = (String[])context.get("QLTY_DEC_CD");//检验类型
- String[] QLTY_CD_CFNM = (String[])context.get("QLTY_CD_CFNM"); //材质项目名称
-
- int Length = rowStatu1.length;
- PosParameter param = null;
- PosRowSet rowset = null;
- PosRowSet jhyRowset = null; //检化验材质项目编码表结果集
- for(int i= 0; i < Length; i++)
- {
- if("".equals(QLTY_MIN[i]) && "".equals(QLTY_MAX[i]) && "".equals(QLTY_UNIT[i]))
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, CUST_SPEC_NO);
- param.setWhereClauseParameter(1, QLTY_CD[i]);
- dao.delete("UIB010130_02.DELETE", param);
- SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010130_02.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
- continue;
- }
-
- param = new PosParameter();
- param.setWhereClauseParameter(0 , QLTY_CD[i]);
- param.setWhereClauseParameter(1 , CUST_SPEC_NO );
- rowset = dao.find("UIB010130_03.SELECT", param);
- //根据客户参数号,材质代码查询客户材质信息,若结果集大于0则执行if,否则执行else
- if(rowset.count() == 0)
- {
- //查询该项目在检化验项目编码表中是否存在,若不存在则不插入该项目
- param = new PosParameter();
- param.setWhereClauseParameter(0, QLTY_CD[i]);
- jhyRowset = dao.find("UIB010140_jhyqlty.SELECT", param);
- if(jhyRowset.count() > 0) {
- param = new PosParameter();
- param.setValueParamter(0, CUST_SPEC_NO);
- param.setValueParamter(1, QLTY_CD[i]);
- param.setValueParamter(2, QLTY_MIN[i]);
- param.setValueParamter(3, QLTY_MAX[i]);
- param.setValueParamter(4, QLTY_DEC_CD[i]);
- param.setValueParamter(5, QLTY_UNIT[i]);
- param.setValueParamter(6, QLTY_TYPE[i]);
- param.setValueParamter(7, QLTY_DETAIL[i]);
- param.setValueParamter(8, SPEC_STL_GRD[0]);
- param.setValueParamter(9, REG_NM[0]);
- dao.insert("UIB010130_01.INSERT", param); //插入客户材质信息
- SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010130_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
- } else {
- returnInfo.append(QLTY_CD_CFNM[i]+";");
- }
-
- }
- else
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, QLTY_MIN[i]);
- param.setWhereClauseParameter(1, QLTY_MAX[i]);
- param.setWhereClauseParameter(2, QLTY_UNIT[i]);
- param.setWhereClauseParameter(3, QLTY_TYPE[i]);
- param.setWhereClauseParameter(4, QLTY_DEC_CD[i]);
- param.setWhereClauseParameter(5, QLTY_DETAIL[i]);
- param.setWhereClauseParameter(6, REG_NM[0]);
- param.setWhereClauseParameter(7, CUST_SPEC_NO);
- param.setWhereClauseParameter(8, QLTY_CD[i]);
- dao.update("UIB010130_01.UPDATE", param);
- SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010130_01.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- }
- }
-
- String[]rowStatus0 = (String[])context.get("rowStatus0");
- if(rowStatus0 != null)//删除
- {
- PosParameter param = new PosParameter();
- param.setWhereClauseParameter(0, CUST_SPEC_NO);
- dao.delete("UIB010130_01.DELETE" , param);
- SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010130_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
-
- String[] SMP_LOT_CD = (String[])context.get("SMP_LOT_CD");
- String[] SMP_LEN_LOC = (String[])context.get("SMP_LEN_LOC");
- String[] SMP_WTH_LOC = (String[])context.get("SMP_WTH_LOC");
- String[] rowStatu2 = (String[])context.get("rowStatu2");
- if(rowStatu2 !=null)//取样方法
- {
- PosParameter param = new PosParameter();
- param = new PosParameter();
- param.setWhereClauseParameter(0 , "SAMP");
- param.setWhereClauseParameter(1 , CUST_SPEC_NO );
- PosRowSet rowset = dao.find("UIB010130_03.SELECT", param);
-
- if(rowset.count() == 0)
- {
- param = new PosParameter();
- param.setValueParamter(0, CUST_SPEC_NO);
- param.setValueParamter(1, "SAMP");
- param.setValueParamter(2, SMP_LOT_CD[0]);
- param.setValueParamter(3, SMP_LEN_LOC[0]);
- param.setValueParamter(4, SMP_WTH_LOC[0]);
- param.setValueParamter(5, REG_NM[0]);
- dao.insert("UIB010130_02.INSERT", param);
- SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010130_02.INSERT", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- else
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, SMP_LOT_CD[0]);
- param.setWhereClauseParameter(1, SMP_LEN_LOC[0]);
- param.setWhereClauseParameter(2, SMP_WTH_LOC[0]);
- param.setWhereClauseParameter(3, REG_NM[0]);
- param.setWhereClauseParameter(4, CUST_SPEC_NO);
- dao.update("UIB010130_02.UPDATE", param);
- SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010130_02.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
- }
- }
- if(!StringUtils.isEmpty(returnInfo.toString()))
- returnInfo.append("在检化验项目编码表中不存在该项目,不能录入!\n请联系技术中心在检化验项目编码表中添加该项目!");
- context.put("returnInfoMsg", returnInfo);
- return PosBizControlConstants.SUCCESS;
- }
- }
|