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

启动+当前任务信息

parent a018cdd7
...@@ -38,7 +38,7 @@ public class InboundController { ...@@ -38,7 +38,7 @@ public class InboundController {
String factory = CommonUtils.parseString("factory",data); String factory = CommonUtils.parseString("factory",data);
String section = CommonUtils.parseString("section",data); String section = CommonUtils.parseString("section",data);
String entryId = CommonUtils.parseString("entryId",data); String entryId = CommonUtils.parseString("entryId",data);
//货架的货位 //货架的货位 P0000008AA01
String containerId = CommonUtils.parseString("containerId",data); String containerId = CommonUtils.parseString("containerId",data);
MessageDTO dto = this.inboundService.store(skuId,stored,containerId,factory,section,entryId); MessageDTO dto = this.inboundService.store(skuId,stored,containerId,factory,section,entryId);
return ResponseEntity.ok(dto); return ResponseEntity.ok(dto);
......
...@@ -120,10 +120,10 @@ public class InboundService { ...@@ -120,10 +120,10 @@ public class InboundService {
} }
Map item = items.get(0); Map item = items.get(0);
String mID = CommonUtils.parseString("ID",item); String mID = CommonUtils.parseString("ID",item);
//货位信息
Map data = invs.get(0); Map data = invs.get(0);
String uid = CommonUtils.parseString("ID",data); String uid = CommonUtils.parseString("ID",data);
List<Map> lists = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_INV_SKU,mID,uid); List<Map> lists = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_INV_SKU,uid,mID);
//是否存在记录 //是否存在记录
if(lists.isEmpty()){ if(lists.isEmpty()){
BaseBpo baseBpo = new BaseBpo(); BaseBpo baseBpo = new BaseBpo();
...@@ -135,7 +135,7 @@ public class InboundService { ...@@ -135,7 +135,7 @@ public class InboundService {
baseBpo.addKV("UNITLOAD_ID",uid); baseBpo.addKV("UNITLOAD_ID",uid);
baseBpo.addKV("RESERVED_AMOUNT",0); baseBpo.addKV("RESERVED_AMOUNT",0);
baseBpo.addKV("CLIENT_ID",factory); baseBpo.addKV("CLIENT_ID",factory);
baseBpo.addKV("WAREHOUSE_ID",section); baseBpo.addKV("WAREHOUSE_ID",factory);//TODO
this.jdbcRepository.insertBusinessObject(baseBpo); this.jdbcRepository.insertBusinessObject(baseBpo);
//end of 新增记录 //end of 新增记录
}else{ }else{
...@@ -242,7 +242,7 @@ public class InboundService { ...@@ -242,7 +242,7 @@ public class InboundService {
//成功 //成功
MessageDTO dto = MessageDTO.success(); MessageDTO dto = MessageDTO.success();
//查询是否为空 //查询是否为空
if(!isLocked(stationName)){ if(isLocked(stationName)){
dto.setCODE(1); dto.setCODE(1);
dto.setMESSAGE("工作站被锁定或不存在,无法启动上架任务!"); dto.setMESSAGE("工作站被锁定或不存在,无法启动上架任务!");
return dto; return dto;
...@@ -287,12 +287,13 @@ public class InboundService { ...@@ -287,12 +287,13 @@ public class InboundService {
baseBpo.addKV("ENTRYID",entryId); baseBpo.addKV("ENTRYID",entryId);
baseBpo.addKV("ENTRYPOSITIONID",CommonUtils.parseString("ID",map)); baseBpo.addKV("ENTRYPOSITIONID",CommonUtils.parseString("ID",map));
baseBpo.addKV("POD_ID",storageLocation.getPodId()); baseBpo.addKV("POD_ID",storageLocation.getPodId());
baseBpo.addKV("SKUID",skuId);
baseBpo.addKV("POD_FACE",storageLocation.getPodFace()); baseBpo.addKV("POD_FACE",storageLocation.getPodFace());
baseBpo.addKV("POD_LOCATE",storageLocation.getLocate()); baseBpo.addKV("POD_LOCATE",storageLocation.getLocate());
baseBpo.addKV("WORKSTATION_ID",stationName); baseBpo.addKV("WORKSTATION_ID",stationName);
baseBpo.addKV("PODINDEX",storageLocation.getPodIndex()); baseBpo.addKV("PODINDEX",storageLocation.getPodIndex());
baseBpo.addKV("AMOUNT",CommonUtils.parseString("AMOUNT",map)); baseBpo.addKV("AMOUNT",CommonUtils.parseString("AMOUNT",map));
baseBpo.addKV("STATE", Sql_Table.AVAILABLE); baseBpo.addKV("STATE", Sql_Table.NEW);
baseBpo.addKV("WAREHOUSE_ID",CommonUtils.parseString("WAREHOUSE_ID",map)); baseBpo.addKV("WAREHOUSE_ID",CommonUtils.parseString("WAREHOUSE_ID",map));
baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION_ID",map)); baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION_ID",map));
//插入货架搬运任务 指令 //插入货架搬运任务 指令
...@@ -326,7 +327,7 @@ public class InboundService { ...@@ -326,7 +327,7 @@ public class InboundService {
String podId = CommonUtils.parseString("POD_ID",map); String podId = CommonUtils.parseString("POD_ID",map);
String workStation = CommonUtils.parseString("WORKSTATION_ID",map); String workStation = CommonUtils.parseString("WORKSTATION_ID",map);
List<Map> orderPosition = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_PODORDERS List<Map> orderPosition = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_PODORDERS
,podId, Sql_Table.AVAILABLE); ,podId, Sql_Table.NEW); //New Available Finish 没有Process
BaseBpo baseBpo = new BaseBpo(); BaseBpo baseBpo = new BaseBpo();
baseBpo.setTable("RCS_TRIP"); baseBpo.setTable("RCS_TRIP");
String tripId = CommonUtils.genUUID(); String tripId = CommonUtils.genUUID();
...@@ -339,12 +340,12 @@ public class InboundService { ...@@ -339,12 +340,12 @@ public class InboundService {
baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION_ID",map)); baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION_ID",map));
this.jdbcRepository.insertBusinessObject(baseBpo); this.jdbcRepository.insertBusinessObject(baseBpo);
//序号生成 从1开始 //序号生成 从1开始
Map<String,Integer> index = this.genIndexMap(); //Map<String,Integer> index = this.genIndexMap();
for (int j = 0; j < orderPosition.size(); j++) { for (int j = 0; j < orderPosition.size(); j++) {
//如果存在RCS_TRIPPOSITION就不要再创建 //如果存在RCS_TRIPPOSITION就不要再创建
Map podOrder = orderPosition.get(j); Map podOrder = orderPosition.get(j);
String needFace = CommonUtils.parseString("POD_FACE",map); String needFace = CommonUtils.parseString("POD_FACE",map);
int sameFaceIndex = index.get(needFace); //int sameFaceIndex = index.get(needFace);
String tripPositionID; String tripPositionID;
List<Map> tripPositions = existTripPosition(workStation, podId, needFace); List<Map> tripPositions = existTripPosition(workStation, podId, needFace);
if (tripPositions.isEmpty()) { if (tripPositions.isEmpty()) {
...@@ -364,9 +365,10 @@ public class InboundService { ...@@ -364,9 +365,10 @@ public class InboundService {
} }
Map newValue = new HashMap(); Map newValue = new HashMap();
newValue.put("STATE", Sql_Table.FINISH);//生成就结束了 是不是执行完看TRIPPOSITION_ID newValue.put("STATE", Sql_Table.AVAILABLE);//生成就结束了 是不是执行完看TRIPPOSITION_ID
newValue.put("TRIPPOSITION_ID", tripPositionID); newValue.put("TRIPPOSITION_ID", tripPositionID);
newValue.put("TRIPPOSITION_ID", tripPositionID); newValue.put("TRIPPOSITION_ID", tripPositionID);
CommonUtils.modifyUselessInfo(newValue);
Map con = new HashMap(); Map con = new HashMap();
con.put("ID",CommonUtils.parseString("ID",podOrder)); con.put("ID",CommonUtils.parseString("ID",podOrder));
...@@ -386,7 +388,7 @@ public class InboundService { ...@@ -386,7 +388,7 @@ public class InboundService {
} }
private List<Map> existTripPosition(String workStation, String podId, String needFace) { private List<Map> existTripPosition(String workStation, String podId, String needFace) {
List<Map> datas = this.jdbcRepository.queryByKey(Sql_Table.SQL_QUERY_TRIPPOSITION, List<Map> datas = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_TRIPPOSITION,
needFace,workStation,podId); needFace,workStation,podId);
return datas; return datas;
} }
...@@ -444,11 +446,11 @@ public class InboundService { ...@@ -444,11 +446,11 @@ public class InboundService {
Map newValue = new HashMap(); Map newValue = new HashMap();
newValue.put("VERSION",version+1); newValue.put("VERSION",version+1);
newValue.put("ISCALLPOD",Boolean.TRUE); newValue.put("ISCALLPOD",Boolean.TRUE);
newValue.put("OPEATOR_ID","LISI"); newValue.put("OPERATOR_ID","LISI");
newValue.put("STAION_NAME","stowPod"); newValue.put("STATION_NAME","stowPod");
Map con = new HashMap(); Map con = new HashMap();
con.put("WORKSTATION_ID",stationId); con.put("ID",stationId);
con.put("VERSION",version); con.put("VERSION",version);
int count = this.jdbcRepository.updateRecords(Sql_Table.TABLE_MD_WORKSTATION, newValue ,con); int count = this.jdbcRepository.updateRecords(Sql_Table.TABLE_MD_WORKSTATION, newValue ,con);
...@@ -486,16 +488,22 @@ public class InboundService { ...@@ -486,16 +488,22 @@ public class InboundService {
return dto; return dto;
} }
List<Map> datas = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_CURRENTPODTASK, List<Map> datas = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_CURRENTPOD, stationName);
Sql_Table.AVAILABLE, Sql_Table.PROCESS, Sql_Table.PROCESS,stationName); //先找再工作站的货架
if(datas.isEmpty()){ if(datas.isEmpty()){
dto.put("CODE",1); dto.put("CODE",1);
dto.put("MSG","没有找到当前在工作站的货架"); dto.put("MSG","没有找到当前在工作站的货架");
return dto; return dto;
} }
//MD_POD.ID, MD_POD.POD_INDEX, MD_POD.TOWARD, MD_WORKSTATION.WORKING_FACE_ORIENTATION
Map data = datas.get(0); Map data = datas.get(0);
Integer pod_toward = CommonUtils.parseInteger("TOWARD", data);
Integer pod_index = CommonUtils.parseInteger("POD_INDEX", data);
Integer wsFace = CommonUtils.parseInteger("WORKING_FACE_ORIENTATION", data);
String podId = CommonUtils.parseString("ID", data);
String face = getFace(wsFace,pod_toward);
/*`ID` varchar(255) NOT NULL, /*`ID` varchar(255) NOT NULL,
`ENTRYID` varchar(255) NOT NULL, `ENTRYID` varchar(255) NOT NULL,
`ENTRYPOSITIONID` varchar(255) NOT NULL, `ENTRYPOSITIONID` varchar(255) NOT NULL,
...@@ -505,7 +513,15 @@ public class InboundService { ...@@ -505,7 +513,15 @@ public class InboundService {
`POD_LOCATE` varchar(255) NOT NULL, `POD_LOCATE` varchar(255) NOT NULL,
`PODINDEX` int(11) DEFAULT NULL COMMENT '货架编号', `PODINDEX` int(11) DEFAULT NULL COMMENT '货架编号',
`STATE` varchar(255) COMMENT '状态',*/ `STATE` varchar(255) COMMENT '状态',*/
String skuId = CommonUtils.parseString("SKUID",data); //拼接后去找有没有要拣的任务单 WMS_INBOUND_PODORDER 根据 货架 面
List<Map> podTask = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_PODORDRTASK, podId,face);
if(podTask.isEmpty()){
dto.put("CODE",1);
dto.put("MSG","当前货架:POD:"+pod_index+" 没有上架任务,请释放");
return dto;
}
Map podOrder = podTask.get(0);
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);
if (skus.isEmpty()){ if (skus.isEmpty()){
dto.put("CODE",1); dto.put("CODE",1);
...@@ -514,9 +530,42 @@ public class InboundService { ...@@ -514,9 +530,42 @@ public class InboundService {
} }
Map sku = skus.get(0); Map sku = skus.get(0);
data.put("SKUNAME",CommonUtils.parseString("NAME",sku)); data.put("SKUNAME",CommonUtils.parseString("NAME",sku));
data.putAll(podOrder);
return data; return data;
} }
//ABCD 从上往下看
private static String getFace(Integer wsFace, Integer pod_toward) {
if(wsFace%90!=0 || pod_toward%90!=0){
return "A";//默认A面
}
switch (pod_toward){
case 0 : return "CDAB".charAt(wsFace/90) +"";
case 90 : return "BCDA".charAt(wsFace/90) +"";
case 180 : return "ABCD".charAt(wsFace/90) +"";
default: return "DABC".charAt(wsFace/90)+"";//270
}
}
public static void main(String[] args) {
/*System.out.println(getFace(0,0));
System.out.println(getFace(90,0));
System.out.println(getFace(180,0));
System.out.println(getFace(270,0));
System.out.println(getFace(0,90));
System.out.println(getFace(90,90));
System.out.println(getFace(180,90));
System.out.println(getFace(270,90));
System.out.println(getFace(0,180));
System.out.println(getFace(90,180));
System.out.println(getFace(180,180));
System.out.println(getFace(270,180));
System.out.println(getFace(0,270));
System.out.println(getFace(90,270));
System.out.println(getFace(180,270));
System.out.println(getFace(270,270));*/
}
public Map prePodTask(String stationName) { public Map prePodTask(String stationName) {
Map dto = new HashMap(); Map dto = new HashMap();
......
...@@ -39,12 +39,13 @@ public interface Sql_Table { ...@@ -39,12 +39,13 @@ public interface Sql_Table {
String PROCESS = "Process"; String PROCESS = "Process";
String ERROR = "Error"; String ERROR = "Error";
String AVAILABLE = "Available"; String AVAILABLE = "Available";
String TABLE_INV_STOCKUNIT = "TABLE_INV_STOCKUNIT"; String TABLE_INV_STOCKUNIT = "INV_STOCKUNIT";
String SQL_QUERYITEM_BYSKUNO = "SELECT * FROM MD_ITEMATA, MD_ITEMDATA_SKUNO " + String SQL_QUERYITEM_BYSKUNO = "SELECT * FROM MD_ITEMDATA, MD_ITEMDATA_SKUNO " +
"WHERE MD_ITEMATA.ITEM_NO = MD_ITEMDATA_SKUNO.ITEM_NO AND SKU_NO = ?"; "WHERE MD_ITEMDATA.ITEM_NO = MD_ITEMDATA_SKUNO.ITEM_NO " +
String TABLE_MD_ITEMDATA_SKUNO = "TABLE_MD_ITEMDATA_SKUNO"; "AND MD_ITEMDATA_SKUNO.SKU_NO = ?";
String TABLE_MD_ITEMDATA_SKUNO = "MD_ITEMDATA_SKUNO";
String SQL_QUERY_WORKSTATION = "SELECT * FROM MD_WORKSTATION WHERE ID=?"; String SQL_QUERY_WORKSTATION = "SELECT * FROM MD_WORKSTATION WHERE ID=?";
String SQL_QUERY_INBOUND_POSITION = "SELECT * FROM WMS_INBOUND_POSITION WHERE ENTRYID=?"; String SQL_QUERY_INBOUND_POSITION = "SELECT * FROM WMS_INBOUND_ORDERPOSITION WHERE ENTRYID=?";
String SQL_QUERYSTORAGELOCATION_BYSKU = "SELECT MD_STORAGELOCATION.* \n" + String SQL_QUERYSTORAGELOCATION_BYSKU = "SELECT MD_STORAGELOCATION.* \n" +
"FROM MD_STORAGELOCATION,INV_UNITLOAD, INV_STOCKUNIT, MD_ITEMDATA, MD_ITEMDATA_SKUNO \n" + "FROM MD_STORAGELOCATION,INV_UNITLOAD, INV_STOCKUNIT, MD_ITEMDATA, MD_ITEMDATA_SKUNO \n" +
"WHERE INV_STOCKUNIT.ITEMDATA_ID=MD_ITEMDATA.ID \n" + "WHERE INV_STOCKUNIT.ITEMDATA_ID=MD_ITEMDATA.ID \n" +
...@@ -53,8 +54,9 @@ public interface Sql_Table { ...@@ -53,8 +54,9 @@ public interface Sql_Table {
"AND MD_ITEMDATA.ITEM_NO=MD_ITEMDATA_SKUNO.ITEM_NO \n" + "AND MD_ITEMDATA.ITEM_NO=MD_ITEMDATA_SKUNO.ITEM_NO \n" +
"AND MD_ITEMDATA_SKUNO.SKU_NO=? AND POD_ID IS NOT NULL LIMIT 1"; "AND MD_ITEMDATA_SKUNO.SKU_NO=? AND POD_ID IS NOT NULL LIMIT 1";
String WMS_INBOUND_PODORDER = "WMS_INBOUND_PODORDER"; String WMS_INBOUND_PODORDER = "WMS_INBOUND_PODORDER";
String SQL_QUERY_PODS = "SELECT DISTINCT POD_ID FROM WMS_INBOUND_PODORDER" + String SQL_QUERY_PODS = "SELECT DISTINCT POD_ID,WORKSTATION_ID,WAREHOUSE_ID,SECTION_ID " +
" WHERE PODID NOT IN (SELECT POD_ID FROM RCS_TRIP WHERE TRIP_TYPE=? AND TRIP_STATE=?) " + " FROM WMS_INBOUND_PODORDER" +
" WHERE POD_ID NOT IN (SELECT POD_ID FROM RCS_TRIP WHERE TRIP_TYPE=? AND TRIP_STATE=?) " +
" LIMIT 10"; " LIMIT 10";
String SQL_QUERY_RUNNINGPODS = "SELECT DISTINCT POD_ID " + String SQL_QUERY_RUNNINGPODS = "SELECT DISTINCT POD_ID " +
"FROM RCS_TRIP WHERE TRIP_TYPE=? AND TRIP_STATE=? " + "FROM RCS_TRIP WHERE TRIP_TYPE=? AND TRIP_STATE=? " +
...@@ -73,4 +75,18 @@ public interface Sql_Table { ...@@ -73,4 +75,18 @@ public interface Sql_Table {
"AND RCS_TRIPPOSITION.POD_USING_FACE=?\n" + "AND RCS_TRIPPOSITION.POD_USING_FACE=?\n" +
"AND RCS_TRIP.WORKSTATION_ID=? " + "AND RCS_TRIP.WORKSTATION_ID=? " +
"AND RCS_TRIP.POD_ID=? limit 1"; "AND RCS_TRIP.POD_ID=? limit 1";
String SQL_QUERY_CURRENTPOD = "SELECT MD_POD.ID, MD_POD.POD_INDEX, MD_POD.TOWARD, \n" +
" MD_WORKSTATION.WORKING_FACE_ORIENTATION, \n" +
" MD_POD.PLACEMARK FROM MD_POD, MD_WORKSTATION \n" +
" WHERE MD_POD.PLACEMARK = MD_WORKSTATION.STOPPOINT \n" +
" AND MD_WORKSTATION.ID = ?";
String SQL_QUERY_PODORDRTASK = "select WMS_INBOUND_PODORDER.* from WMS_INBOUND_PODORDER, WMS_INBOUND_ORDERPOSITION \n" +
" where WMS_INBOUND_PODORDER.ENTRYPOSITIONID = WMS_INBOUND_ORDERPOSITION.ID\n" +
" and WMS_INBOUND_PODORDER.STATE = 'Available' \n" +
" and WMS_INBOUND_PODORDER.POD_ID=? and WMS_INBOUND_PODORDER.POD_FACE=?\n" +
" OrDER BY WMS_INBOUND_PODORDER.CREATED_DATE DESC limit 1";
String NEW = "New";
} }
...@@ -107,10 +107,11 @@ public class WMSService { ...@@ -107,10 +107,11 @@ public class WMSService {
public static final String ITEM_GROUP = "fd335ce3-1b83-4819-81d9-34f8aa5a2139"; public static final String ITEM_GROUP = "fd335ce3-1b83-4819-81d9-34f8aa5a2139";
public static final String HANDLING_UNIT_ID = "d7599399-3da6-478c-b14d-60e6be6ef11e"; public static final String HANDLING_UNIT_ID = "d7599399-3da6-478c-b14d-60e6be6ef11e";
public void syncItem(ItemDTO itemDTO) { public void syncItem(ItemDTO itemDTO) {
List<Map> skus = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERYITEM_BYSKUNO, itemDTO.getSKUID()); List<Map> skus = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERYITEM_BYSKUNO, itemDTO.getSKUID());
List<Map> rows = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERYITEM_BYID, itemDTO.getSKUID()); List<Map> rows = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERYITEM_BYID, itemDTO.getSKUID());
if (skus.isEmpty() || rows.isEmpty()){ if (skus.isEmpty() && rows.isEmpty()){
//新建一条 //新建一条
BaseBpo baseBpo = new BaseBpo(); BaseBpo baseBpo = new BaseBpo();
baseBpo.setTable(Sql_Table.TABLE_MD_ITEMDATA); baseBpo.setTable(Sql_Table.TABLE_MD_ITEMDATA);
...@@ -128,6 +129,7 @@ public class WMSService { ...@@ -128,6 +129,7 @@ public class WMSService {
baseBpo2.addKV("CLIENT_ID",itemDTO.getFACTORY()).addKV("ITEM_NO",itemDTO.getSKUID()).addKV("SKU_NO",itemDTO.getSKUID()); baseBpo2.addKV("CLIENT_ID",itemDTO.getFACTORY()).addKV("ITEM_NO",itemDTO.getSKUID()).addKV("SKU_NO",itemDTO.getSKUID());
baseBpo2.addKV("ID",CommonUtils.genUUID()); baseBpo2.addKV("ID",CommonUtils.genUUID());
this.jdbcRepository.insertBusinessObject(baseBpo); this.jdbcRepository.insertBusinessObject(baseBpo);
this.jdbcRepository.insertBusinessObject(baseBpo2);
}else{ }else{
//根据ID更新 ID暂定跟SKU_NO ITEM_NO 一样 //根据ID更新 ID暂定跟SKU_NO ITEM_NO 一样
BaseBpo baseBpo = new BaseBpo(); BaseBpo baseBpo = new BaseBpo();
......
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