| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- package xin.glue.ui.B.B02;
- 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:UIB020132}
- * @author 梅贵平{meiguiping}
- * @date 2009-1-19 下午03:10:42
- * @JDK Version jdk1.4.2
- */
- public class SaveSmpQltyAchievement extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- ///ready
- PosParameter param = null;
- PosGenericDao dao = this.getDao("mesdao");
- PosRowSet rowset = null;
-
- ///get reqdata
- String[] SMPNO = (String[])context.get("SMPNO");//试样号
- String[] SMPCUTLOC = (String[])context.get("SMPCUTLOC");//位置
- String[] QLTYCD = (String[])context.get("QLTYCD"); //材质代码
- String[] QLTY_SEQ = (String[])context.get("QLTY_SEQ");//次数
- String[]QLTY_VAL_WK1 = (String[])context.get("QLTY_VAL_WK1");//实绩1
- String[]QLTY_UNIT_WK1 = (String[])context.get("QLTY_UNIT_WK1");//单位1
- String[]QLTY_VAL_WK2 = (String[])context.get("QLTY_VAL_WK2");//实绩2
- String[]QLTY_UNIT_WK2 = (String[])context.get("QLTY_UNIT_WK2");//单位2
-
- String[] rowStatus2 = (String[])context.get("rowStatus2");//对应表格2
- String[][] SMP = new String[11][];
- SMP[0] = (String[])context.get("SMP1");
- SMP[1] = (String[])context.get("SMP2");
- SMP[2] = (String[])context.get("SMP3");
- SMP[3] = (String[])context.get("SMP4");
- SMP[4] = (String[])context.get("SMP5");
- SMP[5] = (String[])context.get("SMP6");
- SMP[6] = (String[])context.get("SMP7");
- SMP[7] = (String[])context.get("SMP8");
- SMP[8] = (String[])context.get("SMP9");
- SMP[9] = (String[])context.get("SMP10");
- SMP[10] = (String[])context.get("SMP11");
-
- if(rowStatus2 == null)
- return PosBizControlConstants.SUCCESS;
-
- int len = rowStatus2.length;
- int j = 0;
- for(int i = 0; i < len; i++)
- {
-
- ///若取样位置为W
- if("W".equals(SMPCUTLOC[i]))
- {
- if("".equals(QLTY_SEQ[i]))//若QLTY_SEQ不为空,说明更新的是REWORK表,否则是work表
- {
- //位置T
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK1[i]);//材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i]);//试样号
- param.setWhereClauseParameter(j++, "1");//试样位置,1表示T
- param.setWhereClauseParameter(j++, QLTYCD[i]);//材质代码
- dao.update("UIB020132_02.UPDATE", param);
-
- //位置B
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK2[i]); //材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK2[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i]); //试样号
- param.setWhereClauseParameter(j++, "2"); //2,位置B
- param.setWhereClauseParameter(j++, QLTYCD[i]);//材质代码
- dao.update("UIB020132_02.UPDATE", param);
-
- //更新对应的式样号的实绩
- for(int m = 0; m < 11; m++)
- {
- System.out.println("########################################"+SMP[m][0]);
- if("".equals(SMP[m][0]))
- {
- break;
- }
- // System.out.println("#######################################################");
- //位置T
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK1[i]);//材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i].substring(0, 10)+SMP[m][i]);//试样号
- param.setWhereClauseParameter(j++, "1");//试样位置,1表示T
- param.setWhereClauseParameter(j++, QLTYCD[i]);//材质代码
- dao.update("UIB020132_02.UPDATE", param);
-
- //位置B
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK2[i]); //材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK2[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i].substring(0, 10)+SMP[m][i]); //试样号
- param.setWhereClauseParameter(j++, "2"); //2,位置B
- param.setWhereClauseParameter(j++, QLTYCD[i]);//材质代码
- dao.update("UIB020132_02.UPDATE", param);
- }
- }
- else//更新rework表示实绩
- {
- //位置T
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK1[i]); //材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i]); //试样号
- param.setWhereClauseParameter(j++, "1"); //试样位置,1表示T
- param.setWhereClauseParameter(j++, QLTYCD[i]); //材质代码
- param.setWhereClauseParameter(j++, QLTY_SEQ[i]);//实验次数
- dao.update("UIB020132_03.UPDATE", param);
-
- //位置B
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK2[i]); //材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK2[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i]); //试样号
- param.setWhereClauseParameter(j++, "2"); //2,位置B
- param.setWhereClauseParameter(j++, QLTYCD[i]);//材质代码
- param.setWhereClauseParameter(j++, QLTY_SEQ[i]);//实验次数
- dao.update("UIB020132_03.UPDATE", param);
-
- //更新对应的式样号的实绩
- for(int m = 0; m < 11; m++)
- {
- if("".equals(SMP[m][0]))
- {
- break;
- }
-
- //位置T
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK1[i]); //材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i].substring(0, 10)+SMP[m][i]); //试样号
- param.setWhereClauseParameter(j++, "1"); //试样位置,1表示T
- param.setWhereClauseParameter(j++, QLTYCD[i]); //材质代码
- param.setWhereClauseParameter(j++, QLTY_SEQ[i]);//实验次数
- dao.update("UIB020132_03.UPDATE", param);
-
- //位置B
- j = 0;
- param = new PosParameter();
- param.setWhereClauseParameter(j++, QLTY_VAL_WK2[i]); //材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK2[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i].substring(0, 10)+SMP[m][i]); //试样号
- param.setWhereClauseParameter(j++, "2"); //2,位置B
- param.setWhereClauseParameter(j++, QLTYCD[i]);//材质代码
- param.setWhereClauseParameter(j++, QLTY_SEQ[i]);//实验次数
- dao.update("UIB020132_03.UPDATE", param);
- }
- }
- }
- else///若取样位置非W
- {
- j = 0;
- param = new PosParameter();
- if("".equals(QLTY_SEQ[i]))//更新的是work表
- {
- param.setWhereClauseParameter(j++, QLTY_VAL_WK1[i]);//材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i]);//试样号
- param.setWhereClauseParameter(j++, SMPCUTLOC[i]);//试样位置
- param.setWhereClauseParameter(j++, QLTYCD[i]);//材质代码
- dao.update("UIB020132_02.UPDATE", param);
- //更新对应的式样号的实绩
- for(int m = 0; m < 11; m++)
- {
- if("".equals(SMP[m][0]))
- {
- break;
- }
- param = new PosParameter();
- param.setWhereClauseParameter(0, QLTY_VAL_WK1[i]);//材质实绩值
- param.setWhereClauseParameter(1, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(2, SMPNO[i].substring(0, 10)+SMP[m][i]);//和上面相比,只有这里不同(试样号)
- param.setWhereClauseParameter(3, SMPCUTLOC[i]);//试样位置
- param.setWhereClauseParameter(4, QLTYCD[i]);//材质代码
- dao.update("UIB020132_02.UPDATE", param);
- }
- }
- else//更新的是rework表
- {
- param.setWhereClauseParameter(j++, QLTY_VAL_WK1[i]); //材质实绩值
- param.setWhereClauseParameter(j++, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(j++, SMPNO[i]); //试样号
- param.setWhereClauseParameter(j++, SMPCUTLOC[i]); //试样位置,1表示T
- param.setWhereClauseParameter(j++, QLTYCD[i]); //材质代码
- param.setWhereClauseParameter(j++, QLTY_SEQ[i]);//实验次数
- dao.update("UIB020132_03.UPDATE", param);
- for(int m = 0; m < 11; m++)
- {
- if("".equals(SMP[m][0]))
- {
- break;
- }
- param = new PosParameter();
- param.setWhereClauseParameter(0, QLTY_VAL_WK1[i]); //材质实绩值
- param.setWhereClauseParameter(1, QLTY_UNIT_WK1[i]);//材质单位
- param.setWhereClauseParameter(2, SMPNO[i].substring(0, 10)+SMP[m][i]);//这里不同,试样号
- param.setWhereClauseParameter(3, SMPCUTLOC[i]); //试样位置,1表示T
- param.setWhereClauseParameter(4, QLTYCD[i]); //材质代码
- param.setWhereClauseParameter(5, QLTY_SEQ[i]);//实验次数
- dao.update("UIB020132_03.UPDATE", param);
- }//for(int m = 0; m < 11; m++)
- }//if else end
- }//if else end
-
- for(int m = 0; m < 11; m++)
- {
- if("".equals(SMP[m][0]))
- {
- break;
- }
- //SELECT 1 FROM TBB02_WORK_QLTY WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_VAL_WK|| QLTY_UNIT_WK IS NULL
- param = new PosParameter();
- param.setWhereClauseParameter(0, SMPNO[i].substring(0, 10)+SMP[m][i]);//试样号
- // param.setWhereClauseParameter(1, SMPCUTLOC[i]);//试样位置
- rowset = dao.find("UIB020132_07.SELECT", param);
- if(rowset.count() ==0)//只有所有实绩都有以后,才能修改式样号状态到 判定待机状态“D”
- {
- param = new PosParameter();
- param.setWhereClauseParameter(0, SMPNO[i].substring(0, 10)+SMP[m][i]);//试样号
- param.setWhereClauseParameter(1, SMPCUTLOC[i]);//试样位置
- dao.update("UIB020132_04.UPDATE", param);
- }
- }
-
- }//for rowStatus2 end
-
- //SELECT 1 FROM TBB02_WORK_QLTY WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_VAL_WK|| QLTY_UNIT_WK IS NULL
- param = new PosParameter();
- param.setWhereClauseParameter(0, SMPNO[0]);//试样号
- // param.setWhereClauseParameter(1, SMPCUTLOC[0]);//位置
- rowset = dao.find("UIB020132_07.SELECT", param);
- if(rowset.count() == 0)//只有所有实绩都有后,才能修改试样号的状态到D
- {
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, SMPNO[0]);//试样号
- param.setWhereClauseParameter(1, SMPCUTLOC[0]);//试样位置
- dao.update("UIB020132_04.UPDATE", param);
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|