Commit d28a2f35 authored by tank.li@mushiny.com's avatar tank.li@mushiny.com

拣货任务完善,出库单与系统绑定 完成后反馈

parent 341beb77
package com.mushiny.heli.xnr.comm; package com.mushiny.heli.xnr.comm;
import java.text.SimpleDateFormat;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -26,4 +27,10 @@ public class DateUtils { ...@@ -26,4 +27,10 @@ public class DateUtils {
public static LocalDateTime asLocalDateTime(Date date) { public static LocalDateTime asLocalDateTime(Date date) {
return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime(); return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime();
} }
public static String date2String(Date date) {
String strDateFormat = "yyyyMMdd-HHmmss";
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
return sdf.format(date);
}
} }
...@@ -5,10 +5,7 @@ import org.codehaus.jackson.annotate.JsonIgnore; ...@@ -5,10 +5,7 @@ import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.annotate.JsonProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* Created by Lisi on 2019-11-19. * Created by Lisi on 2019-11-19.
...@@ -106,22 +103,7 @@ public class ItemDTO implements Serializable { ...@@ -106,22 +103,7 @@ public class ItemDTO implements Serializable {
} }
@JsonIgnore @JsonIgnore
public static void main(String[] args) { public static void main(String[] args) {
List list = new ArrayList(); String ss = String.format("%04d",new Random().nextInt(9999));
list.add("1"); System.out.println(ss);
list.add("2");
list.add("3");
Map data = new HashMap();
data.put("list",list);
data.put("stationName","lisist");
System.out.println("P0000024CC02".substring(9));
System.out.println("P0000024CC02".substring(8,9));
System.out.println(Integer.parseInt("P0000024CC02".substring(1,8)));
System.out.println(JsonUtils.json2Map(JsonUtils.map2Json(data)));
} }
} }
...@@ -433,4 +433,12 @@ public class JdbcRepository implements CommandLineRunner { ...@@ -433,4 +433,12 @@ public class JdbcRepository implements CommandLineRunner {
} }
public Map queryOneBySql(String sql, Object... params) {
List<Map> rows = this.queryBySql(sql,params);
if(rows.isEmpty()){
return null;
}
return rows.get(0);
}
} }
...@@ -74,21 +74,31 @@ public class ICQAService { ...@@ -74,21 +74,31 @@ public class ICQAService {
return dto; return dto;
} }
Map podOrder = podTask.get(0); Map podOrder = podTask.get(0);
String storageName = CommonUtils.parseString("STORAGENAME",podOrder);
//String podId = CommonUtils.parseString("POD_ID",podOrder);
String skuId = CommonUtils.parseString("SKUID", podOrder); String skuId = CommonUtils.parseString("SKUID", podOrder);
List<Map> skus = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERYITEM_BYSKUNO, skuId); /*List<Map> skus = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERYITEM_BYSKUNO, skuId,podId);
if (skus.isEmpty()){ if (skus.isEmpty()){
dto.put("CODE",1); dto.put("CODE",1);
dto.put("MSG","没有找到当前盘点的商品信息, SKU:"+skuId); dto.put("MSG","没有找到当前盘点的商品信息, SKU:"+skuId);
return dto; return dto;
}*/
Map sku = this.jdbcRepository.queryOneBySql(Sql_Table.SQL_QUERY_ITEMINFO,skuId,storageName);
if(sku == null){
dto.put("CODE",1);
dto.put("MSG","没有找到当前盘点的商品信息, SKU:"+skuId);
return dto;
} }
Map sku = skus.get(0);
data.put("SKUNAME",CommonUtils.parseString("NAME",sku)); data.put("SKUNAME",CommonUtils.parseString("NAME",sku));
data.put("AMOUNT",CommonUtils.parseString("AMOUNT",sku));
data.putAll(podOrder); data.putAll(podOrder);
return data; return data;
} }
/*如果工作站开启了 启动货架搬运任务 生成RCS_TRIP/POSITION表记录*/ /*如果工作站开启了 启动货架搬运任务 生成RCS_TRIP/POSITION表记录*/
private boolean isLocked(String stationId) { private boolean isLocked(String stationId) {
......
...@@ -43,6 +43,20 @@ public interface Sql_Table { ...@@ -43,6 +43,20 @@ public interface Sql_Table {
"AND MD_ITEMDATA.WAREHOUSE_ID = ?\n" + "AND MD_ITEMDATA.WAREHOUSE_ID = ?\n" +
"GROUP BY MD_ITEMDATA.ITEM_NO,MD_ITEMDATA.NAME"; "GROUP BY MD_ITEMDATA.ITEM_NO,MD_ITEMDATA.NAME";
String SQL_FINDITEM_BYITENNO = "SELECT SUM(AMOUNT) AS SUMALL,MD_ITEMDATA.`ITEM_NO`,\n" +
"MD_ITEMDATA.`NAME` , \n" +
"MD_STORAGELOCATION.`NAME` AS PNAME,\n" +
"MD_ITEMDATA.`CLIENT_ID`,\n" +
"MD_ITEMDATA.`WAREHOUSE_ID`\n" +
"FROM INV_STOCKUNIT, MD_ITEMDATA,INV_UNITLOAD, MD_STORAGELOCATION \n" +
"WHERE MD_ITEMDATA.ID = INV_STOCKUNIT.`ITEMDATA_ID`\n" +
"AND INV_UNITLOAD.ID = INV_STOCKUNIT.UNITLOAD_ID\n" +
"AND INV_UNITLOAD.STORAGELOCATION_ID = MD_STORAGELOCATION.ID\n" +
"AND MD_ITEMDATA.CLIENT_ID = ? \n" +
"AND MD_ITEMDATA.WAREHOUSE_ID = ?\n" +
"AND MD_ITEMDATA.ITEM_NO = ?\n" +
"GROUP BY MD_ITEMDATA.ITEM_NO,MD_ITEMDATA.NAME";
String WMS_ICQA_ORDERPOSITION = "WMS_ICQA_ORDERPOSITION"; String WMS_ICQA_ORDERPOSITION = "WMS_ICQA_ORDERPOSITION";
String WMS_ICQA_ORDER = "WMS_ICQA_ORDER"; String WMS_ICQA_ORDER = "WMS_ICQA_ORDER";
...@@ -179,6 +193,14 @@ public interface Sql_Table { ...@@ -179,6 +193,14 @@ public interface Sql_Table {
"AND MD_ITEMDATA.ITEM_NO LIKE ?\n" + "AND MD_ITEMDATA.ITEM_NO LIKE ?\n" +
"GROUP BY MD_ITEMDATA.`ITEM_NO`,MD_ITEMDATA.`NAME`"; "GROUP BY MD_ITEMDATA.`ITEM_NO`,MD_ITEMDATA.`NAME`";
String WMS_ICQA_PODORDER = "WMS_ICQA_PODORDER"; String WMS_ICQA_PODORDER = "WMS_ICQA_PODORDER";
String SQL_QUERY_ALLICQAPOSITIONS = "SELECT * FROM WMS_ICQA_ORDERPOSItION WHERE TASKID=?"; String SQL_QUERY_ALLICQAPOSITIONS = "SELECT * FROM WMS_ICQA_ORDERPOSITION WHERE TASKID=?";
String SQL_QUERY_ICQAORDERPOSITION = "SELECT * FROM WMS_ICQA_ORDERPOSITION WHERE TASKID=? AND SKUID=?"; String SQL_QUERY_ICQAORDERPOSITION = "SELECT * FROM WMS_ICQA_ORDERPOSITION WHERE TASKID=? AND SKUID=?";
String SQL_QUERY_ITEMINFO = " SELECT INV_STOCKUNIT.AMOUNT,MD_ITEMDATA.NAME\n" +
" FROM MD_STORAGELOCATION,INV_UNITLOAD, INV_STOCKUNIT, MD_ITEMDATA, MD_ITEMDATA_SKUNO \n" +
" WHERE INV_STOCKUNIT.ITEMDATA_ID=MD_ITEMDATA.ID \n" +
" AND INV_UNITLOAD.ID=INV_STOCKUNIT.UNITLOAD_ID \n" +
" AND MD_STORAGELOCATION.ID = INV_UNITLOAD.STORAGELOCATION_ID\n" +
" AND MD_ITEMDATA.ITEM_NO=MD_ITEMDATA_SKUNO.ITEM_NO \n" +
" AND MD_ITEMDATA_SKUNO.SKU_NO = ? \n" +
" AND MD_STORAGELOCATION.NAME = ? LIMIT 1";
} }
...@@ -2,6 +2,7 @@ package com.mushiny.heli.xnr.service; ...@@ -2,6 +2,7 @@ package com.mushiny.heli.xnr.service;
import com.mushiny.heli.xnr.beans.BaseBpo; import com.mushiny.heli.xnr.beans.BaseBpo;
import com.mushiny.heli.xnr.comm.CommonUtils; import com.mushiny.heli.xnr.comm.CommonUtils;
import com.mushiny.heli.xnr.comm.DateUtils;
import com.mushiny.heli.xnr.comm.JsonUtils; import com.mushiny.heli.xnr.comm.JsonUtils;
import com.mushiny.heli.xnr.dto.*; import com.mushiny.heli.xnr.dto.*;
import com.mushiny.heli.xnr.jdbc.repositories.JdbcRepository; import com.mushiny.heli.xnr.jdbc.repositories.JdbcRepository;
...@@ -11,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -11,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.sql.Date;
import java.util.*; import java.util.*;
/** /**
...@@ -206,7 +206,7 @@ public class WMSService { ...@@ -206,7 +206,7 @@ public class WMSService {
MessageDTO messageDTO = MessageDTO.success(); MessageDTO messageDTO = MessageDTO.success();
BaseBpo order = new BaseBpo(); BaseBpo order = new BaseBpo();
order.setTable(Sql_Table.WMS_ICQA_ORDER); order.setTable(Sql_Table.WMS_ICQA_ORDER);
String orderId = CommonUtils.genUUID(); String orderId = this.createIcqaUUID();//CommonUtils.genUUID();
order.addKV("TASKID", orderId); order.addKV("TASKID", orderId);
//order.addKV("CREATED_DATE",new Date(System.currentTimeMillis())); //order.addKV("CREATED_DATE",new Date(System.currentTimeMillis()));
//order.addKV("FACTORY",CommonUtils.parseString("FACTORY",data)); //order.addKV("FACTORY",CommonUtils.parseString("FACTORY",data));
...@@ -238,7 +238,7 @@ public class WMSService { ...@@ -238,7 +238,7 @@ public class WMSService {
.addKV("SKUID",CommonUtils.parseString("ITEM_NO",map)); .addKV("SKUID",CommonUtils.parseString("ITEM_NO",map));
//增加几条字段 //增加几条字段
//baseBpo.addKV("STATE",Sql_Table.NEW); //baseBpo.addKV("STATE",Sql_Table.NEW);
baseBpo.addKV("AMOUNT",0);//TODO当前库存 baseBpo.addKV("AMOUNT", 0);//创建时当前库存都是0
baseBpo.addKV("WAREHOUSE_ID",CommonUtils.parseString("FACTORY",data)); baseBpo.addKV("WAREHOUSE_ID",CommonUtils.parseString("FACTORY",data));
baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION",data)); baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION",data));
baseBpo.addKV("STATE",Sql_Table.AVAILABLE); baseBpo.addKV("STATE",Sql_Table.AVAILABLE);
...@@ -250,7 +250,8 @@ public class WMSService { ...@@ -250,7 +250,8 @@ public class WMSService {
order.addKV("TYPE",Sql_Table.SKU_TYPE);//两种类型 order.addKV("TYPE",Sql_Table.SKU_TYPE);//两种类型
List<String> skus = (List<String>) data.get("DATA"); List<String> skus = (List<String>) data.get("DATA");
//查找所有存在盘点任务的SKU过滤 //查找所有存在盘点任务的SKU过滤
List<Map> allTaskingSKU = this.jdbcRepository.queryBySql(Sql_Table.SQL_ALL_TASKING_SKU,"Finish"); List<Map> allTaskingSKU = this.jdbcRepository.queryBySql(Sql_Table.SQL_ALL_TASKING_SKU,
Sql_Table.FINISH);
Set<String> allSku = this.list2Set(allTaskingSKU); Set<String> allSku = this.list2Set(allTaskingSKU);
List exist = new ArrayList(); List exist = new ArrayList();
for (int i = 0; i < skus.size(); i++) { for (int i = 0; i < skus.size(); i++) {
...@@ -272,13 +273,16 @@ public class WMSService { ...@@ -272,13 +273,16 @@ public class WMSService {
logger.debug("SKU已存在盘点任务:" + skuId); logger.debug("SKU已存在盘点任务:" + skuId);
continue; continue;
} }
BaseBpo baseBpo = new BaseBpo(); BaseBpo baseBpo = new BaseBpo();
baseBpo.setTable(Sql_Table.WMS_ICQA_ORDERPOSITION); baseBpo.setTable(Sql_Table.WMS_ICQA_ORDERPOSITION);
baseBpo.addKV("TASKID",orderId).addKV("ID",CommonUtils.genUUID()) baseBpo.addKV("TASKID",orderId).addKV("ID",CommonUtils.genUUID())
.addKV("SKUID",skuId); .addKV("SKUID",skuId);
//增加几条字段 //增加几条字段
baseBpo.addKV("STATE",Sql_Table.AVAILABLE); baseBpo.addKV("STATE",Sql_Table.AVAILABLE);
baseBpo.addKV("AMOUNT",0);//TODO当前库存 baseBpo.addKV("AMOUNT", 0);//创建时当前库存都是0
baseBpo.addKV("WAREHOUSE_ID",CommonUtils.parseString("FACTORY",data)); baseBpo.addKV("WAREHOUSE_ID",CommonUtils.parseString("FACTORY",data));
baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION",data)); baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION",data));
this.jdbcRepository.insertBusinessObject(baseBpo); this.jdbcRepository.insertBusinessObject(baseBpo);
...@@ -289,6 +293,16 @@ public class WMSService { ...@@ -289,6 +293,16 @@ public class WMSService {
return messageDTO; return messageDTO;
} }
private String createIcqaUUID() {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("ICQA-");
String date = DateUtils.date2String(new Date(System.currentTimeMillis()));
stringBuffer.append(date).append("-");
String radom = String.format("%04d",new Random().nextInt(9999));
stringBuffer.append(radom);
return stringBuffer.toString();
}
private Set<String> list2Set(List<Map> allTaskingSKU) { private Set<String> list2Set(List<Map> allTaskingSKU) {
Set set = new HashSet(); Set set = new HashSet();
for (int i = 0; i < allTaskingSKU.size(); i++) { for (int i = 0; i < allTaskingSKU.size(); i++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment