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; } }