| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- package xin.glue.ui.G.G07;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- 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.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- public class SyncSlabYard extends PosActivity {
- public String runActivity(PosContext context) {
-
- String[] sSlabNo = (String[])context.get("slabNo");
- String[] sYardAddr = (String[])context.get("yardAddr");
- String[] arrSlabNo ;
- String[] arrYardAddr ;
- Map map = new HashMap();
-
- if(!(sSlabNo.length >0))return PosBizControlConstants.SUCCESS;
-
- arrSlabNo = sSlabNo[0].split("\\|");
- arrYardAddr = sYardAddr[0].split("\\|");
-
- //板坯块数 跟 板坯地址个数 不符,输入条件错误
- if(arrYardAddr.length > 1 && arrYardAddr.length != arrSlabNo.length)return PosBizControlConstants.SUCCESS;
-
-
- //查询板坯数否在库,没有板坯地址
- if(arrYardAddr.length == 1 && arrSlabNo.length > 1){
- String slabNotExist = "select slab_no from tbg04_slab_yard where slab_no = ? and yard_addr like 'Z%'";
- String slabNotSearch = "select slab_no,YARD_ADDR from tbg04_slab_yard where slab_no is not null and yard_addr like 'Z%'";
-
- ArrayList listNonExist = new ArrayList();
- ArrayList listNonSearch = new ArrayList();
- ArrayList listError = new ArrayList();
-
- PosParameter param = null;
- PosRowSet rowSet = null;
-
- int iSlabCnt = 0;
-
- String slab = null;
- String addr = null;
-
-
- //要查询的板坯不在库情况 && 要查询的板坯在库存中有 多块
- for(int i = 0 ; i < arrSlabNo.length ; i++){
- param = new PosParameter();
-
- iSlabCnt = 0;
-
- param.setWhereClauseParameter(0, arrSlabNo[i].trim());
-
- rowSet = getDao("mesdao").findByQueryStatement(slabNotExist, param);
-
- //板坯不在库
- if(!rowSet.hasNext())listNonExist.add(arrSlabNo[i].trim() + "\n");
-
- //板坯在库 但是有多块板坯 板坯号相同
- while(rowSet.hasNext()){
- iSlabCnt++;
- rowSet.next();
- }
-
- //如果库存存在多块板坯 板坯号相同 增加错误提示信息
- if(iSlabCnt > 1){
- listError.add(arrSlabNo[i].trim() + "\n");
- }
- }
-
-
- //板坯在库 查询的板坯数据中没有
- rowSet = getDao("mesdao").findByQueryStatement(slabNotSearch);
- while(rowSet.hasNext()){
- PosRow row = rowSet.next();
- iSlabCnt = 0;
-
- slab = (String)row.getAttribute("SLAB_NO");
- addr = (String)row.getAttribute("YARD_ADDR");
-
-
- for(int i = 0 ; i < arrSlabNo.length ; i++){
- if(slab.equals(arrSlabNo[i].trim()))iSlabCnt++;
- }
- if(iSlabCnt == 0)listNonSearch.add(slab + " --- " + addr + "\n");
- }
-
- map.put("NON_EXIT", listNonExist);
- map.put("NON_SEARCH", listNonSearch);
- map.put("ERRO_DUP_SLAB", listError);
- }
-
-
-
-
- //查询板坯 地址 跟 库存信息匹配
- else{
-
- }
-
- context.put("syncSlabYard_vo", map);
-
- return PosBizControlConstants.SUCCESS;
- }
- }
|