/**
* 最新版的到生成入库单页面
* @return
*/
public String saveIn() {
getCapacity(duoStr);
epcList=new ArrayList
int k=0;//k指第几个垛,0为第一个垛(默认)
//先将垛的剩余容量赋给j,给epc分配一个垛后,j减1
int j=Integer.parseInt(targetList.get(k).get("capacity").toString());
//当前垛的id
String x=(String)targetList.get(k).get("id");
if(epcArray!=null&&epcArray.length>0){
for (int i = 0; i < epcArray.length; i++) {
Map epcMap=new HashMap();
epcMap.put("epc", epcArray[i]);
epcMap.put("storage", x);
epcMap.put("libId", libId);
epcMap.put("areaId",areaId);
epcList.add(epcMap);
//开始处理垛容量
j--;
if(j==0){//如果垛满,开始分配下一垛
k++;
j=Integer.parseInt(targetList.get(k).get("capacity").toString());
x=(String)targetList.get(k).get("id");
}
}
//将包信息存入
数据库
for (Map epc : epcList) {
inDAO.addEpc(Integer.parseInt(epc.get("storage").toString()),epc.get("epc").toString(),
Integer.parseInt(epc.get("libId").toString()),
Integer.parseInt(epc.get("areaId").toString()));
inDAO.updateStatus(epc.get("epc").toString());
}
}//要有烟包才存在之前的逻辑
//开始生成入库单填写界面
structureList=queryMeta(table);
for (Map st : structureList) {
//如果metadate是下拉列表类型时,查出下拉列表,加入该metadata
//的map中
if(st.get("INPUT_TYPE").toString().equals("3")){
String sql=st.get("OWNER_ID").toString();
List
st.put("SELECT_LIST", list);
}
}
return "saveIn";
}
之后转到
jsp页面自动生成表单
[
html]
| ${st.meta_name } |
onfocus="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'%y-%M-%d'})" class="Wdate" />
*
|
|---|
13年2月23日加班做自动判断每个垛还能放多少包,小逻辑很多,如下:
[java]
js.util.attachEvent(window,"load",freshData);
js.util.attachEvent(window,"load",bindInterval);
[java]
function freshData(){
js.ajax.post("${path}/page/in/refreshIn.action",{},function(data){
var list=eva l(data.responseText);
for(var i in list){
createRow(list[i]);
}
});
//处理完最新10个的列表之后,再处理总数
freshTotal();
}
function createRow(item) {
var table=js.util.byId("data");
var classObj;
if(table.rows.length%2===1){
classObj={className:"stagger"};
}
var tr=table.insertRow(table.rows.length);