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

启动+当前任务信息

parent a018cdd7
......@@ -38,7 +38,7 @@ public class InboundController {
String factory = CommonUtils.parseString("factory",data);
String section = CommonUtils.parseString("section",data);
String entryId = CommonUtils.parseString("entryId",data);
//货架的货位
//货架的货位 P0000008AA01
String containerId = CommonUtils.parseString("containerId",data);
MessageDTO dto = this.inboundService.store(skuId,stored,containerId,factory,section,entryId);
return ResponseEntity.ok(dto);
......
......@@ -120,10 +120,10 @@ public class InboundService {
}
Map item = items.get(0);
String mID = CommonUtils.parseString("ID",item);
//货位信息
Map data = invs.get(0);
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()){
BaseBpo baseBpo = new BaseBpo();
......@@ -135,7 +135,7 @@ public class InboundService {
baseBpo.addKV("UNITLOAD_ID",uid);
baseBpo.addKV("RESERVED_AMOUNT",0);
baseBpo.addKV("CLIENT_ID",factory);
baseBpo.addKV("WAREHOUSE_ID",section);
baseBpo.addKV("WAREHOUSE_ID",factory);//TODO
this.jdbcRepository.insertBusinessObject(baseBpo);
//end of 新增记录
}else{
......@@ -242,7 +242,7 @@ public class InboundService {
//成功
MessageDTO dto = MessageDTO.success();
//查询是否为空
if(!isLocked(stationName)){
if(isLocked(stationName)){
dto.setCODE(1);
dto.setMESSAGE("工作站被锁定或不存在,无法启动上架任务!");
return dto;
......@@ -287,12 +287,13 @@ public class InboundService {
baseBpo.addKV("ENTRYID",entryId);
baseBpo.addKV("ENTRYPOSITIONID",CommonUtils.parseString("ID",map));
baseBpo.addKV("POD_ID",storageLocation.getPodId());
baseBpo.addKV("SKUID",skuId);
baseBpo.addKV("POD_FACE",storageLocation.getPodFace());
baseBpo.addKV("POD_LOCATE",storageLocation.getLocate());
baseBpo.addKV("WORKSTATION_ID",stationName);
baseBpo.addKV("PODINDEX",storageLocation.getPodIndex());
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("SECTION_ID",CommonUtils.parseString("SECTION_ID",map));
//插入货架搬运任务 指令
......@@ -326,7 +327,7 @@ public class InboundService {
String podId = CommonUtils.parseString("POD_ID",map);
String workStation = CommonUtils.parseString("WORKSTATION_ID",map);
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.setTable("RCS_TRIP");
String tripId = CommonUtils.genUUID();
......@@ -339,12 +340,12 @@ public class InboundService {
baseBpo.addKV("SECTION_ID",CommonUtils.parseString("SECTION_ID",map));
this.jdbcRepository.insertBusinessObject(baseBpo);
//序号生成 从1开始
Map<String,Integer> index = this.genIndexMap();
//Map<String,Integer> index = this.genIndexMap();
for (int j = 0; j < orderPosition.size(); j++) {
//如果存在RCS_TRIPPOSITION就不要再创建
Map podOrder = orderPosition.get(j);
String needFace = CommonUtils.parseString("POD_FACE",map);
int sameFaceIndex = index.get(needFace);
//int sameFaceIndex = index.get(needFace);
String tripPositionID;
List<Map> tripPositions = existTripPosition(workStation, podId, needFace);
if (tripPositions.isEmpty()) {
......@@ -364,9 +365,10 @@ public class InboundService {
}
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);
CommonUtils.modifyUselessInfo(newValue);
Map con = new HashMap();
con.put("ID",CommonUtils.parseString("ID",podOrder));
......@@ -386,7 +388,7 @@ public class InboundService {
}
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);
return datas;
}
......@@ -444,11 +446,11 @@ public class InboundService {
Map newValue = new HashMap();
newValue.put("VERSION",version+1);
newValue.put("ISCALLPOD",Boolean.TRUE);
newValue.put("OPEATOR_ID","LISI");
newValue.put("STAION_NAME","stowPod");
newValue.put("OPERATOR_ID","LISI");
newValue.put("STATION_NAME","stowPod");
Map con = new HashMap();
con.put("WORKSTATION_ID",stationId);
con.put("ID",stationId);
con.put("VERSION",version);
int count = this.jdbcRepository.updateRecords(Sql_Table.TABLE_MD_WORKSTATION, newValue ,con);
......@@ -486,16 +488,22 @@ public class InboundService {
return dto;
}
List<Map> datas = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_CURRENTPODTASK,
Sql_Table.AVAILABLE, Sql_Table.PROCESS, Sql_Table.PROCESS,stationName);
List<Map> datas = this.jdbcRepository.queryBySql(Sql_Table.SQL_QUERY_CURRENTPOD, stationName);
//先找再工作站的货架
if(datas.isEmpty()){
dto.put("CODE",1);
dto.put("MSG","没有找到当前在工作站的货架");
return dto;
}
//MD_POD.ID, MD_POD.POD_INDEX, MD_POD.TOWARD, MD_WORKSTATION.WORKING_FACE_ORIENTATION
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,
`ENTRYID` varchar(255) NOT NULL,
`ENTRYPOSITIONID` varchar(255) NOT NULL,
......@@ -505,7 +513,15 @@ public class InboundService {
`POD_LOCATE` varchar(255) NOT NULL,
`PODINDEX` int(11) DEFAULT NULL 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);
if (skus.isEmpty()){
dto.put("CODE",1);
......@@ -514,9 +530,42 @@ public class InboundService {
}
Map sku = skus.get(0);
data.put("SKUNAME",CommonUtils.parseString("NAME",sku));
data.putAll(podOrder);
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) {
Map dto = new HashMap();
......
......@@ -39,12 +39,13 @@ public interface Sql_Table {
String PROCESS = "Process";
String ERROR = "Error";
String AVAILABLE = "Available";
String TABLE_INV_STOCKUNIT = "TABLE_INV_STOCKUNIT";
String SQL_QUERYITEM_BYSKUNO = "SELECT * FROM MD_ITEMATA, MD_ITEMDATA_SKUNO " +
"WHERE MD_ITEMATA.ITEM_NO = MD_ITEMDATA_SKUNO.ITEM_NO AND SKU_NO = ?";
String TABLE_MD_ITEMDATA_SKUNO = "TABLE_MD_ITEMDATA_SKUNO";
String TABLE_INV_STOCKUNIT = "INV_STOCKUNIT";
String SQL_QUERYITEM_BYSKUNO = "SELECT * FROM MD_ITEMDATA, MD_ITEMDATA_SKUNO " +
"WHERE MD_ITEMDATA.ITEM_NO = MD_ITEMDATA_SKUNO.ITEM_NO " +
"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_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" +
"FROM MD_STORAGELOCATION,INV_UNITLOAD, INV_STOCKUNIT, MD_ITEMDATA, MD_ITEMDATA_SKUNO \n" +
"WHERE INV_STOCKUNIT.ITEMDATA_ID=MD_ITEMDATA.ID \n" +
......@@ -53,8 +54,9 @@ public interface Sql_Table {
"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";
String WMS_INBOUND_PODORDER = "WMS_INBOUND_PODORDER";
String SQL_QUERY_PODS = "SELECT DISTINCT POD_ID FROM WMS_INBOUND_PODORDER" +
" WHERE PODID NOT IN (SELECT POD_ID FROM RCS_TRIP WHERE TRIP_TYPE=? AND TRIP_STATE=?) " +
String SQL_QUERY_PODS = "SELECT DISTINCT POD_ID,WORKSTATION_ID,WAREHOUSE_ID,SECTION_ID " +
" FROM WMS_INBOUND_PODORDER" +
" WHERE POD_ID NOT IN (SELECT POD_ID FROM RCS_TRIP WHERE TRIP_TYPE=? AND TRIP_STATE=?) " +
" LIMIT 10";
String SQL_QUERY_RUNNINGPODS = "SELECT DISTINCT POD_ID " +
"FROM RCS_TRIP WHERE TRIP_TYPE=? AND TRIP_STATE=? " +
......@@ -73,4 +75,18 @@ public interface Sql_Table {
"AND RCS_TRIPPOSITION.POD_USING_FACE=?\n" +
"AND RCS_TRIP.WORKSTATION_ID=? " +
"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 {
public static final String ITEM_GROUP = "fd335ce3-1b83-4819-81d9-34f8aa5a2139";
public static final String HANDLING_UNIT_ID = "d7599399-3da6-478c-b14d-60e6be6ef11e";
public void syncItem(ItemDTO itemDTO) {
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());
if (skus.isEmpty() || rows.isEmpty()){
if (skus.isEmpty() && rows.isEmpty()){
//新建一条
BaseBpo baseBpo = new BaseBpo();
baseBpo.setTable(Sql_Table.TABLE_MD_ITEMDATA);
......@@ -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("ID",CommonUtils.genUUID());
this.jdbcRepository.insertBusinessObject(baseBpo);
this.jdbcRepository.insertBusinessObject(baseBpo2);
}else{
//根据ID更新 ID暂定跟SKU_NO ITEM_NO 一样
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