库区AreaNameDic调整

main
HUOJIN\92525 2024-06-03 14:02:42 +08:00
parent 4e120390e2
commit 77d0803413
9 changed files with 419 additions and 631 deletions

View File

@ -95,6 +95,7 @@ public class ScreenViewController {
array.add(this.formatDay("已完成", "" + value2, "center", "#ffffff", "bold")); array.add(this.formatDay("已完成", "" + value2, "center", "#ffffff", "bold"));
return new ResponseEntity(array, HttpStatus.OK); return new ResponseEntity(array, HttpStatus.OK);
} }
@PostMapping(value = "/kmdView") @PostMapping(value = "/kmdView")
@ApiOperation("库满度") @ApiOperation("库满度")
@AnonymousAccess @AnonymousAccess
@ -104,8 +105,6 @@ public class ScreenViewController {
List<Object[]> objs = pointServiceImpl.queryPointKmd(); List<Object[]> objs = pointServiceImpl.queryPointKmd();
HashMap<String, Double> qhtk = new HashMap<String, Double>(); HashMap<String, Double> qhtk = new HashMap<String, Double>();
HashMap<String, Double> qhtm = new HashMap<String, Double>(); HashMap<String, Double> qhtm = new HashMap<String, Double>();
HashMap<String,Double> zck=new HashMap<String,Double>();
HashMap<String,Double> zcm=new HashMap<String,Double>();
int size = objs.size(); int size = objs.size();
if (objs.size() > 0) { if (objs.size() > 0) {
for (int i = 0; i < objs.size(); i++) { for (int i = 0; i < objs.size(); i++) {
@ -113,9 +112,9 @@ public class ScreenViewController {
String areaName = obj[0].toString(); String areaName = obj[0].toString();
String status = obj[1].toString(); String status = obj[1].toString();
Double qty = Double.parseDouble(obj[2].toString()); Double qty = Double.parseDouble(obj[2].toString());
if (areaName.equals(AreaNameDic.OneFC)||areaName.equals(AreaNameDic.TwoFB)) { if (areaName.equals(AreaNameDic.DJQ) || areaName.equals(AreaNameDic.XJQ)) {
qhtm.put(status, qty); qhtm.put(status, qty);
} else if (areaName.equals(AreaNameDic.OneFK)||areaName.equals(AreaNameDic.TwoFK)) { } else if (areaName.equals(AreaNameDic.DJQ) || areaName.equals(AreaNameDic.XJQ)) {
qhtk.put(status, qty); qhtk.put(status, qty);
} }
} }
@ -123,12 +122,12 @@ public class ScreenViewController {
if (qhtk != null) { if (qhtk != null) {
Double k = qhtk.get(BaseStatus.FREE) == null ? 0d : qhtk.get(BaseStatus.FREE); Double k = qhtk.get(BaseStatus.FREE) == null ? 0d : qhtk.get(BaseStatus.FREE);
Double m = qhtk.get(BaseStatus.USED) == null ? 0d : qhtk.get(BaseStatus.USED); Double m = qhtk.get(BaseStatus.USED) == null ? 0d : qhtk.get(BaseStatus.USED);
array.add(this.formatKmd(AreaNameDic.OneFK,m*100/(k+m))); array.add(this.formatKmd(AreaNameDic.DJQ, m * 100 / (k + m)));
} }
if (qhtm != null) { if (qhtm != null) {
Double k = qhtm.get(BaseStatus.FREE) == null ? 0d : qhtm.get(BaseStatus.FREE); Double k = qhtm.get(BaseStatus.FREE) == null ? 0d : qhtm.get(BaseStatus.FREE);
Double m = qhtm.get(BaseStatus.USED) == null ? 0d : qhtm.get(BaseStatus.USED); Double m = qhtm.get(BaseStatus.USED) == null ? 0d : qhtm.get(BaseStatus.USED);
array.add(this.formatKmd(AreaNameDic.OneFC,m*100/(k+m))); array.add(this.formatKmd(AreaNameDic.DJQ, m * 100 / (k + m)));
} }
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
map.put("data", array); map.put("data", array);
@ -179,6 +178,7 @@ public class ScreenViewController {
map.put("c4", (int) ck % 10); map.put("c4", (int) ck % 10);
return new ResponseEntity(map, HttpStatus.OK); return new ResponseEntity(map, HttpStatus.OK);
} }
@PostMapping(value = "/inMonth") @PostMapping(value = "/inMonth")
@ApiOperation("每月入库") @ApiOperation("每月入库")
@AnonymousAccess @AnonymousAccess
@ -208,12 +208,12 @@ public class ScreenViewController {
String areaName = obj[0].toString(); String areaName = obj[0].toString();
Double qty = Double.parseDouble(obj[1].toString()); Double qty = Double.parseDouble(obj[1].toString());
totalQty += qty; totalQty += qty;
if (areaName.equals(AreaNameDic.OneFC)||areaName.equals(AreaNameDic.TwoFB)) { if (areaName.equals(AreaNameDic.DJQ) || areaName.equals(AreaNameDic.XJQ)) {
qht.put(areaName, qty); qht.put(areaName, qty);
} }
} }
if (qht != null) { if (qht != null) {
double value=qht.get(AreaNameDic.OneFK); double value = qht.get(AreaNameDic.DJQ);
array.add(this.formatKmd("前后桶", value * 100 / totalQty)); array.add(this.formatKmd("前后桶", value * 100 / totalQty));
} }
} }
@ -239,6 +239,7 @@ public class ScreenViewController {
map.put("activeRadius", "60%"); map.put("activeRadius", "60%");
return new ResponseEntity(map, HttpStatus.OK); return new ResponseEntity(map, HttpStatus.OK);
} }
@PostMapping(value = "/inOutDay") @PostMapping(value = "/inOutDay")
@ApiOperation("每日出入库") @ApiOperation("每日出入库")
@AnonymousAccess @AnonymousAccess
@ -372,6 +373,7 @@ public class ScreenViewController {
} }
return new ResponseEntity(map, HttpStatus.OK); return new ResponseEntity(map, HttpStatus.OK);
} }
@PostMapping(value = "/taskPerformed") @PostMapping(value = "/taskPerformed")
@ApiOperation("前后桶正在执行的任务") @ApiOperation("前后桶正在执行的任务")
@AnonymousAccess @AnonymousAccess
@ -428,6 +430,7 @@ public class ScreenViewController {
map.put("number", number); map.put("number", number);
return map; return map;
} }
public HashMap<String, Object> formatKmd(String name, double value) { public HashMap<String, Object> formatKmd(String name, double value) {
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
map.put("name", name); map.put("name", name);

View File

@ -111,23 +111,6 @@ public class XksAppController {
return successRequest("呼叫成功!"); return successRequest("呼叫成功!");
} }
@PostMapping("/lineReturn")
@Log("线边返空")
@ApiOperation("线边返空")
@AnonymousAccess
public ResponseEntity<Object> lineReturn(@RequestBody LineReturn lineReturn) {
try {
String stockCode = lineReturn.getStockCode();//容器编号
String pointCode = lineReturn.getPointCode();//点位编号
stockService.lineContainerReturn(stockCode, pointCode);
} catch (Exception e) {
return badRequest(e.getMessage());
}
return successRequest("线边返空成功!");
}
private ResponseEntity<Object> badRequest(String message) { private ResponseEntity<Object> badRequest(String message) {
return new ResponseEntity<>(ApiResult.fail(BAD_REQUEST.value(), message, ""), HttpStatus.BAD_REQUEST); return new ResponseEntity<>(ApiResult.fail(BAD_REQUEST.value(), message, ""), HttpStatus.BAD_REQUEST);
} }

View File

@ -117,7 +117,7 @@ public class ContainerServiceImpl implements ContainerService {
String jsonObject = ""; String jsonObject = "";
agv_on_off = dictService.getDictDescription("agv_on_off") == null ? "OFF" : dictService.getDictDescription("agv_on_off").getDescription(); agv_on_off = dictService.getDictDescription("agv_on_off") == null ? "OFF" : dictService.getDictDescription("agv_on_off").getDescription();
//空车入场和满车入场 //空车入场和满车入场
if (areaName.equals(AreaNameDic.OneFK) || areaName.equals(AreaNameDic.OneFK)) { if (areaName.equals(AreaNameDic.CPRKQ) || areaName.equals(AreaNameDic.FBQ)) {
//是否调用AGV //是否调用AGV
if (agv_on_off.equals("ON")) { if (agv_on_off.equals("ON")) {
//调用容器入场接口 //调用容器入场接口
@ -136,7 +136,7 @@ public class ContainerServiceImpl implements ContainerService {
log.error("容器入场失败:{}", message); log.error("容器入场失败:{}", message);
return false; return false;
} }
} else if (areaName.equals(AreaNameDic.OneFC) || areaName.equals(AreaNameDic.TwoFB)) { } else if (areaName.equals(AreaNameDic.DJQ) || areaName.equals(AreaNameDic.XJQ)) {
//满车入场,需要物料号且生成库存信息 //满车入场,需要物料号且生成库存信息
String itemCode = containerIn.getItemCode();//物料 String itemCode = containerIn.getItemCode();//物料
Item item = itemService.existItem(itemCode); Item item = itemService.existItem(itemCode);

View File

@ -181,13 +181,6 @@ public interface StockService {
*/ */
void bindContainer(String itemCode,String stockCode,String pointCode); void bindContainer(String itemCode,String stockCode,String pointCode);
/**
* 线
* @param stockCode
* @param pointCode
*/
void lineContainerReturn(String stockCode,String pointCode);
Map<String,Stock> findByCodes(Set stockCodes); Map<String,Stock> findByCodes(Set stockCodes);
} }

View File

@ -290,7 +290,7 @@ public class PointServiceImpl implements PointService {
public List<Object[]> queryPointKmd() { public List<Object[]> queryPointKmd() {
List<Object[]> pointList = null; List<Object[]> pointList = null;
String hql = "select p.area.name,p.status,count(p.status) from Point p where p.area.name in " + String hql = "select p.area.name,p.status,count(p.status) from Point p where p.area.name in " +
"('" + AreaNameDic.OneFC + "','" + AreaNameDic.OneFK + "','" + AreaNameDic.TwoFK + "')" + "('" + AreaNameDic.DJQ + "','" + AreaNameDic.XJQ + "')" +
" group by p.area.name,p.status order by p.area.name"; " group by p.area.name,p.status order by p.area.name";
Query query = entityMapper.createQuery(hql); Query query = entityMapper.createQuery(hql);
pointList = query.getResultList(); pointList = query.getResultList();
@ -302,7 +302,7 @@ public class PointServiceImpl implements PointService {
List<Object[]> pointList = null; List<Object[]> pointList = null;
String hql = "select min(p.posX),min(p.posY) ,max(p.posX),max(p.posY) from Point p where 1=1 and p.posX>0 and p.posY>0"; String hql = "select min(p.posX),min(p.posY) ,max(p.posX),max(p.posY) from Point p where 1=1 and p.posX>0 and p.posY>0";
if (zoneType.equals("QHT")) { if (zoneType.equals("QHT")) {
hql += " and p.area.name in ('" + AreaNameDic.OneFC + "','" + AreaNameDic.OneFK + "','" + AreaNameDic.TwoFK + "')"; hql += " and p.area.name in ('" + AreaNameDic.DJQ + "','" + AreaNameDic.XJQ + "')";
} }
Query query = entityMapper.createQuery(hql); Query query = entityMapper.createQuery(hql);
pointList = query.getResultList(); pointList = query.getResultList();
@ -313,11 +313,11 @@ public class PointServiceImpl implements PointService {
public int getPointCoutType(String itemType) { public int getPointCoutType(String itemType) {
String hql = "select count(p.id) from Point p where 1=1 "; String hql = "select count(p.id) from Point p where 1=1 ";
if (itemType.equals("前桶440") || itemType.equals("前桶480")) { if (itemType.equals("前桶440") || itemType.equals("前桶480")) {
hql += " and p.area.name='" + AreaNameDic.OneFC + "' and p.description='" + itemType + "'"; hql += " and p.area.name='" + AreaNameDic.DJQ + "' and p.description='" + itemType + "'";
} else if (itemType.equals("KC")) { } else if (itemType.equals("KC")) {
hql = " select count(p.id) from Point p where p.area.id=27 ";//前后桶空车区空车数量 hql = " select count(p.id) from Point p where p.area.id=27 ";//前后桶空车区空车数量
} else { } else {
hql += " and p.area.name='" + AreaNameDic.OneFC + "' and (p.description is null or p.description ='')"; hql += " and p.area.name='" + AreaNameDic.XJQ + "' and (p.description is null or p.description ='')";
} }
Query query = entityMapper.createQuery(hql); Query query = entityMapper.createQuery(hql);
return Integer.parseInt(query.getResultList().get(0).toString()); return Integer.parseInt(query.getResultList().get(0).toString());
@ -384,7 +384,7 @@ public class PointServiceImpl implements PointService {
"left join base_item it on it.id=ik.item_id\n" + "left join base_item it on it.id=ik.item_id\n" +
"where 1=1 and p.pos_x>0 and p.pos_y>0"; "where 1=1 and p.pos_x>0 and p.pos_y>0";
if (zoneType.equals("QHT")) { if (zoneType.equals("QHT")) {
sql += " and z.`name` in ('" + AreaNameDic.OneFC + "','" + AreaNameDic.OneFK + "')"; sql += " and z.`name` in ('" + AreaNameDic.DJQ + "','" + AreaNameDic.XJQ + "')";
} }
sql += " order by p.pos_x,p.pos_y"; sql += " order by p.pos_x,p.pos_y";
List ts = entityMapper.createNativeQuery(sql) List ts = entityMapper.createNativeQuery(sql)

View File

@ -219,9 +219,8 @@ public class StockServiceImpl implements StockService {
} }
switch (point.getArea().getName()) { switch (point.getArea().getName()) {
case AreaNameDic.OneFC: case AreaNameDic.XJQ:
case AreaNameDic.TwoFB: case AreaNameDic.DJQ:
case AreaNameDic.TwoFC:
if (StringUtils.isEmpty(itemCode)) { if (StringUtils.isEmpty(itemCode)) {
throw new RuntimeException(point.getCode() + "点位入场,需扫描物料!"); throw new RuntimeException(point.getCode() + "点位入场,需扫描物料!");
} }
@ -263,9 +262,6 @@ public class StockServiceImpl implements StockService {
Point endPoint = validateSrcPoint(pointCode);//验证点位 Point endPoint = validateSrcPoint(pointCode);//验证点位
checkPointStatus(endPoint);//验证点位状态 checkPointStatus(endPoint);//验证点位状态
switch (scene) { switch (scene) {
case 1: // 叫空车
handleEmptyContainerCall(endPoint);
break;
case 2: // 叫满车 case 2: // 叫满车
handleFullContainerCall(itemCode, endPoint); handleFullContainerCall(itemCode, endPoint);
break; break;
@ -281,13 +277,13 @@ public class StockServiceImpl implements StockService {
Stock stock = validateStock(stockCode);//验证容器 Stock stock = validateStock(stockCode);//验证容器
validateStockStatus(stock);//验证容器状态 validateStockStatus(stock);//验证容器状态
Point srcPoint = validateSrcPoint(pointCode);//验证点位 Point srcPoint = validateSrcPoint(pointCode);//验证点位
//只允许1F满车产线、2F满车产线入库 //只允许成品入库
String srcPointAreaName = srcPoint.getArea().getName(); String srcPointAreaName = srcPoint.getArea().getName();
if (!isValidMCArea(srcPointAreaName)) { if (!isValidMCArea(srcPointAreaName)) {
throw new RuntimeException(srcPoint.getCode() + "点位不能入库!"); throw new RuntimeException(srcPoint.getCode() + "点位不能入库!");
} }
//1F满车产线入1F存储区、2F满车产线入2F原材料B区 //1F满车产线入1F存储区、2F满车产线入2F原材料B区
String areaName = getMcAreaName(srcPointAreaName); String areaName = null;
Point endPoint = validateEndPoint(areaName);//验证目标点位 Point endPoint = validateEndPoint(areaName);//验证目标点位
checkPointStatus(srcPoint);//验证源点位状态 checkPointStatus(srcPoint);//验证源点位状态
AgvTask agvTask = createAndSendAgvTask(BizStatus.ASN, stock, srcPoint, endPoint);//生成AGV任务 AgvTask agvTask = createAndSendAgvTask(BizStatus.ASN, stock, srcPoint, endPoint);//生成AGV任务
@ -298,49 +294,7 @@ public class StockServiceImpl implements StockService {
} }
private boolean isValidMCArea(String areaName) { private boolean isValidMCArea(String areaName) {
return AreaNameDic.OneFMC.equals(areaName) || AreaNameDic.TwoFMC.equals(areaName); return AreaNameDic.CPRKQ.equals(areaName);
}
private String getMcAreaName(String areaName) {
if (AreaNameDic.OneFMC.equals(areaName)) {
return "1F存储区";
} else if (AreaNameDic.TwoFMC.equals(areaName)) {
return "2F原材料B区";
}
throw new IllegalArgumentException("无效的区域名称! " + areaName);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void lineContainerReturn(String stockCode, String pointCode) {
Stock stock = validateStock(stockCode);//验证容器
Point srcPoint = validateSrcPoint(pointCode);//验证点位
checkPointStatus(srcPoint);//验证点位状态
//只允许2F产线反空、2F产线反空2 反空车
String srcPointAreaName = srcPoint.getArea().getName();
if (!isValidFKArea(srcPointAreaName)) {
throw new RuntimeException(srcPoint.getCode() + "点位不能返空车!");
}
//2F产线反空返回1F空车区、2F产线反空2返回2F空车区
String areaName = getFKAreaName(srcPointAreaName);
Point endPoint = validateEndPoint(areaName);
//生成返库车任务
AgvTask agvTask = new AgvTask(BizStatus.EMPTY_IN, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "RACK_MOVE");
agvTaskService.create(agvTask);
agvTaskService.sendAgvTaskImpl(agvTask);//发送任务
srcPoint.setStatus(BaseStatus.USED);
pointService.update(srcPoint);
//目标点位占用
endPoint.setStatus(BaseStatus.USED);
stock.setPoint(endPoint);
pointService.update(endPoint);
} }
@Override @Override
@ -356,19 +310,6 @@ public class StockServiceImpl implements StockService {
return stockMap; return stockMap;
} }
private boolean isValidFKArea(String areaName) {
return AreaNameDic.TwoFFK.equals(areaName) || AreaNameDic.TwoFFK2.equals(areaName);
}
private String getFKAreaName(String areaName) {
if (AreaNameDic.TwoFFK.equals(areaName)) {
return "1F空车区";
} else if (AreaNameDic.TwoFFK2.equals(areaName)) {
return "2F空车区";
}
throw new IllegalArgumentException("无效的区域名称! " + areaName);
}
private Item validateItem(String itemCode) { private Item validateItem(String itemCode) {
Item item = itemService.existItem(itemCode); Item item = itemService.existItem(itemCode);
if (item == null) { if (item == null) {
@ -454,48 +395,14 @@ public class StockServiceImpl implements StockService {
pointService.update(srcPoint); pointService.update(srcPoint);
} }
private void handleEmptyContainerCall(Point endPoint) {
String endPointAreaName = endPoint.getArea().getName();
//只允许1F空车产线、2F空车产线叫空车
if (!isValidKCArea(endPointAreaName)) {
throw new RuntimeException(endPoint.getCode() + "点位不能叫空车!");
}
//1F空车产线叫空车就查询1F空车区的空车;2F空车产线叫空车就查询2F空车区的空车
String areaName = getKcAreaName(endPointAreaName);
Stock stock = findByKStock(areaName);
if (stock == null) {
throw new RuntimeException(areaName + "没有空料车!");
}
Point startPoint = stock.getPoint();
createAndSendAgvTask(BizStatus.EMPTY_OUT, stock, startPoint, endPoint);
stock.setPoint(endPoint);
update(stock);
endPoint.setStatus(BaseStatus.USED);
pointService.update(endPoint);
}
private String getKcAreaName(String areaName) {
if (AreaNameDic.OneFKC.equals(areaName)) {
return "1F空车区";
} else if (AreaNameDic.TwoFKC.equals(areaName)) {
return "2F空车区";
}
throw new IllegalArgumentException("无效的区域名称! " + areaName);
}
private boolean isValidKCArea(String areaName) {
return AreaNameDic.OneFKC.equals(areaName) || AreaNameDic.TwoFKC.equals(areaName);
}
private void handleFullContainerCall(String itemCode, Point endPoint) { private void handleFullContainerCall(String itemCode, Point endPoint) {
Item item = validateItem(itemCode);//验证物料 Item item = validateItem(itemCode);//验证物料
String endPointAreaName = endPoint.getArea().getName(); String endPointAreaName = endPoint.getArea().getName();
//只允许2F产线叫料、2F产线叫料2叫满车 //只允许叫料区叫满车
if (!isValidMCJLArea(endPointAreaName)) { if (!isValidMCJLArea(endPointAreaName)) {
throw new RuntimeException(endPoint.getCode() + "点位不能叫满车!"); throw new RuntimeException(endPoint.getCode() + "点位不能叫满车!");
} }
//2F产线叫料叫满车就查询1F存储区的满车;2F产线叫料2叫满车就查询2F齐套C区的满车 String areaName = "";
String areaName = getMCJLAreaName(endPointAreaName);
List<Inventory> inventoryList = inventoryService.queryInventory(item.getId(), areaName); List<Inventory> inventoryList = inventoryService.queryInventory(item.getId(), areaName);
if (inventoryList.isEmpty()) { if (inventoryList.isEmpty()) {
throw new RuntimeException(itemCode + "物料无库存,呼叫失败!"); throw new RuntimeException(itemCode + "物料无库存,呼叫失败!");
@ -516,19 +423,9 @@ public class StockServiceImpl implements StockService {
} }
private boolean isValidMCJLArea(String areaName) { private boolean isValidMCJLArea(String areaName) {
return AreaNameDic.TwoFJL.equals(areaName) || AreaNameDic.TwoFJL2.equals(areaName); return AreaNameDic.JLQ.equals(areaName);
} }
private String getMCJLAreaName(String areaName) {
if (AreaNameDic.TwoFJL.equals(areaName)) {
return "1F存储区";
} else if (AreaNameDic.TwoFJL2.equals(areaName)) {
return "2F齐套C区";
}
throw new IllegalArgumentException("无效的区域名称! " + areaName);
}
/** /**
* AGV * AGV
* *
@ -551,9 +448,8 @@ public class StockServiceImpl implements StockService {
} }
private boolean isRestrictedArea(String areaName) { private boolean isRestrictedArea(String areaName) {
return areaName.equals(AreaNameDic.OneFK) || areaName.equals(AreaNameDic.TwoFK) || return areaName.equals(AreaNameDic.XJQ) || areaName.equals(AreaNameDic.DJQ) ||
areaName.equals(AreaNameDic.OneFC) || areaName.equals(AreaNameDic.TwoFB) || areaName.equals(AreaNameDic.CPRKQ);
areaName.equals(AreaNameDic.TwoFC);
} }
private void handleFullContainer(Stock stock, Point point, String itemCode) { private void handleFullContainer(Stock stock, Point point, String itemCode) {

View File

@ -157,7 +157,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
String viewBoardType = ""; String viewBoardType = "";
Point point = pointService.findByCode(agvTasks.getStartSlotCode(), null, null, null, null); Point point = pointService.findByCode(agvTasks.getStartSlotCode(), null, null, null, null);
//到达上视自动识别 //到达上视自动识别
if (AreaNameDic.OneFMC.equals(point.getArea().getName()) || AreaNameDic.TwoFMC.equals(point.getArea().getName()) || AreaNameDic.TwoFFK.equals(point.getArea().getName()) || AreaNameDic.TwoFFK2.equals(point.getArea().getName())) { if (AreaNameDic.CPRKQ.equals(point.getArea().getName())) {
viewBoardType = "IDENTIFY_REQUIRE"; viewBoardType = "IDENTIFY_REQUIRE";
} }
objMap.put("viewBoardType", viewBoardType);//上视识别类型;需要 IDENTIFY_REQUIRE 不需要NORMAL objMap.put("viewBoardType", viewBoardType);//上视识别类型;需要 IDENTIFY_REQUIRE 不需要NORMAL
@ -448,20 +448,11 @@ public class AgvTaskServiceImpl implements AgvTaskService {
} }
List<Task> taskList = taskService.getAgvTaskList(agvTask.getId()); List<Task> taskList = taskService.getAgvTaskList(agvTask.getId());
switch (endAreaName) { switch (endAreaName) {
case AreaNameDic.OneFKC: case AreaNameDic.JLQ:
case AreaNameDic.TwoFKC:
handleFCX(endPoint, stock);//空车出库
break;
case AreaNameDic.OneFK:
case AreaNameDic.TwoFK:
handleFK(endPoint, stock);//回空车
break;
case AreaNameDic.TwoFJL:
case AreaNameDic.TwoFJL2:
handleJL(taskList, endPoint, stock);//满车出库 handleJL(taskList, endPoint, stock);//满车出库
break; break;
case AreaNameDic.TwoFB: case AreaNameDic.XJQ:
case AreaNameDic.OneFC: case AreaNameDic.DJQ:
handleFBFC(taskList, stock);//满车入库 handleFBFC(taskList, stock);//满车入库
break; break;
} }
@ -471,18 +462,6 @@ public class AgvTaskServiceImpl implements AgvTaskService {
update(agvTask); update(agvTask);
} }
/**
*
*
* @param endPoint
* @param stock
*/
private void handleFCX(Point endPoint, Stock stock) {
//容器到达产线,容器自动出库,线边点位释放
containerOut(stock.getCode());
endPoint.setStatus(BaseStatus.FREE);
pointService.update(endPoint);
}
/** /**
* *
@ -558,22 +537,6 @@ public class AgvTaskServiceImpl implements AgvTaskService {
} }
} }
/**
*
*
* @param endPoint
* @param stock
*/
private void handleFK(Point endPoint, Stock stock) {
//容器回空车区,更新容器状态、点位状态
stock.setPoint(endPoint);
stock.setStatus(BaseStatus.FREE);
stockRepository.save(stock);
endPoint.setStatus(BaseStatus.USED);
pointService.update(endPoint);
}
/** /**
* *
* *
@ -669,23 +632,13 @@ public class AgvTaskServiceImpl implements AgvTaskService {
throw new RuntimeException(containerCode + "容器不存在! 请维护"); throw new RuntimeException(containerCode + "容器不存在! 请维护");
} }
switch (endAreaName) { switch (endAreaName) {
case AreaNameDic.TwoFJL: case AreaNameDic.JLQ:
case AreaNameDic.TwoFJL2:
handleJLCancel(agvTask, containerCode, endPoint);//满车到2F达产线取消 handleJLCancel(agvTask, containerCode, endPoint);//满车到2F达产线取消
break; break;
case AreaNameDic.OneFKC: case AreaNameDic.XJQ:
case AreaNameDic.TwoFKC: case AreaNameDic.DJQ:
handleFKCCancel(agvTask, containerCode, endPoint);//空车到达产线取消
break;
case AreaNameDic.OneFC:
case AreaNameDic.TwoFB:
case AreaNameDic.TwoFC:
handleFBFCCancel(agvTask, endPoint, stock);//入库取消 handleFBFCCancel(agvTask, endPoint, stock);//入库取消
break; break;
case AreaNameDic.OneFK:
case AreaNameDic.TwoFK:
handleFKCancel(agvTask, endPoint, stock);//回空车取消
break;
} }
agvTask.setStatus(BizStatus.CANCEL); agvTask.setStatus(BizStatus.CANCEL);

View File

@ -328,11 +328,11 @@ public class TaskServiceImpl implements TaskService {
List<Object[]> taskList = null; List<Object[]> taskList = null;
String hql = ""; String hql = "";
if (type.equals("IN")) { if (type.equals("IN")) {
hql += " select t.dstPoint.area.name,count(t.id) from Task t where t.dstPoint.area.name in ('" + AreaNameDic.OneFC + "','" + AreaNameDic.TwoFB + "','" + AreaNameDic.OneFK + "','" + AreaNameDic.TwoFK + "')"; hql += " select t.dstPoint.area.name,count(t.id) from Task t where t.dstPoint.area.name in ('" + AreaNameDic.DJQ + "','" + AreaNameDic.XJQ + "')";
hql += " and t.asnDetail.id is not null "; hql += " and t.asnDetail.id is not null ";
hql += " group by t.dstPoint.area.name"; hql += " group by t.dstPoint.area.name";
} else if (type.equals("OUT")) { } else if (type.equals("OUT")) {
hql += " select t.srcPoint.area.name,count(t.id) from Task t where t.srcPoint.area.name in ('" + AreaNameDic.OneFC + "','" + AreaNameDic.TwoFB + "','" + AreaNameDic.OneFK + "','" + AreaNameDic.TwoFK + "')"; hql += " select t.srcPoint.area.name,count(t.id) from Task t where t.srcPoint.area.name in ('" + AreaNameDic.DJQ + "','" + AreaNameDic.XJQ + "')";
hql += " and t.pickDetail.id is not null "; hql += " and t.pickDetail.id is not null ";
hql += " group by t.srcPoint.area.name"; hql += " group by t.srcPoint.area.name";
} }

View File

@ -8,73 +8,33 @@ package com.youchain.utils;
public interface AreaNameDic { public interface AreaNameDic {
/** /**
* 1F线 *
*/ */
public static String OneFMC = "1F满车产线"; public static String DJQ = "大件存储区";
/** /**
* 1F线 *
*/ */
public static String OneFKC = "1F空车产线"; public static String XJQ = "小件存储区";
/** /**
* 1F *
*/ */
public static String OneFK = "1F空车区"; public static String FBQ = "翻包区";
/** /**
* 1F *
*/ */
public static String OneFC = "1F存储区"; public static String CPRKQ = "成品入库区";
/** /**
* 2F线 *
*/ */
public static String TwoFMC = "2F满车产线"; public static String FXQ = "返修区";
/** /**
* 2F线 *
*/ */
public static String TwoFKC = "2F空车产线"; public static String JLQ = "叫料区";
/**
* 2FB
*/
public static String TwoFB = "2F原材料B区";
/**
* 2F线
*/
public static String TwoFJL = "2F产线叫料";
/**
* 2F线
*/
public static String TwoFFK = "2F产线反空";
/**
* 2FC
*/
public static String TwoFC = "2F齐套C区";
/**
* 2F线2
*/
public static String TwoFJL2 = "2F产线叫料2";
/**
* 2F
*/
public static String TwoFK = "2F空车区";
/**
* 2F线2
*/
public static String TwoFFK2 = "2F产线反空2";
} }