From 77d08034135f8cb5de4114d5b14bbd5a3f019971 Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" <925258474@qq.com> Date: Mon, 3 Jun 2024 14:02:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=8C=BAAreaNameDic=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appupdate/rest/ScreenViewController.java | 759 +++++++++--------- .../appupdate/rest/XksAppController.java | 17 - .../service/impl/ContainerServiceImpl.java | 4 +- .../basicdata/service/StockService.java | 7 - .../service/impl/PointServiceImpl.java | 10 +- .../service/impl/StockServiceImpl.java | 124 +-- .../service/impl/AgvTaskServiceImpl.java | 61 +- .../service/impl/TaskServiceImpl.java | 4 +- .../java/com/youchain/utils/AreaNameDic.java | 64 +- 9 files changed, 419 insertions(+), 631 deletions(-) diff --git a/youchain-system/src/main/java/com/youchain/appupdate/rest/ScreenViewController.java b/youchain-system/src/main/java/com/youchain/appupdate/rest/ScreenViewController.java index 40af96e..bc0ac17 100644 --- a/youchain-system/src/main/java/com/youchain/appupdate/rest/ScreenViewController.java +++ b/youchain-system/src/main/java/com/youchain/appupdate/rest/ScreenViewController.java @@ -58,135 +58,135 @@ public class ScreenViewController { private final PickDetailRepository pickDetailRepository; private final TaskService taskService; - @PostMapping(value="/inForDay") + @PostMapping(value = "/inForDay") @ApiOperation("每日入库") @AnonymousAccess public ResponseEntity inForDay() { - JSONArray array=new JSONArray(); - List l=asnDetailServiceImpl.queryIn("Day",null,"ALL"); - int value1=0; - int value2=0; - if(l.size()>0){ - Object[] obj=l.get(0); - value1=obj[0]==null?0:((Double)obj[0]).intValue(); - value2=obj[1]==null?0:((Double)obj[1]).intValue(); + JSONArray array = new JSONArray(); + List l = asnDetailServiceImpl.queryIn("Day", null, "ALL"); + int value1 = 0; + int value2 = 0; + if (l.size() > 0) { + Object[] obj = l.get(0); + value1 = obj[0] == null ? 0 : ((Double) obj[0]).intValue(); + value2 = obj[1] == null ? 0 : ((Double) obj[1]).intValue(); } - array.add(this.formatDay("","入库","center","#ffffff","bold")); - array.add(this.formatDay("当日任务",value1+"","center","#ffffff","bold")); - array.add(this.formatDay("已完成",value2+"","center","#ffffff","bold")); + array.add(this.formatDay("", "入库", "center", "#ffffff", "bold")); + array.add(this.formatDay("当日任务", value1 + "", "center", "#ffffff", "bold")); + array.add(this.formatDay("已完成", value2 + "", "center", "#ffffff", "bold")); return new ResponseEntity(array, HttpStatus.OK); } - @PostMapping(value="/outForDay") + @PostMapping(value = "/outForDay") @ApiOperation("每日出库") @AnonymousAccess public ResponseEntity outForDay() { - List l=pickDetailServiceImpl.queryOut("Day",null); - int value1=0; - int value2=0; - if(l.size()>0){ - Object[] obj=l.get(0); - value1=obj[0]==null?0:((Double)obj[0]).intValue(); - value2=obj[1]==null?0:((Double)obj[1]).intValue(); + List l = pickDetailServiceImpl.queryOut("Day", null); + int value1 = 0; + int value2 = 0; + if (l.size() > 0) { + Object[] obj = l.get(0); + value1 = obj[0] == null ? 0 : ((Double) obj[0]).intValue(); + value2 = obj[1] == null ? 0 : ((Double) obj[1]).intValue(); } - JSONArray array=new JSONArray(); - array.add(this.formatDay("","出库","center","#ffffff","bold")); - array.add(this.formatDay("当日任务",""+value1,"center","#ffffff","bold")); - array.add(this.formatDay("已完成",""+value2,"center","#ffffff","bold")); + JSONArray array = new JSONArray(); + array.add(this.formatDay("", "出库", "center", "#ffffff", "bold")); + array.add(this.formatDay("当日任务", "" + value1, "center", "#ffffff", "bold")); + array.add(this.formatDay("已完成", "" + value2, "center", "#ffffff", "bold")); return new ResponseEntity(array, HttpStatus.OK); } - @PostMapping(value="/kmdView") + + @PostMapping(value = "/kmdView") @ApiOperation("库满度") @AnonymousAccess public ResponseEntity kmdView() { - JSONArray array=new JSONArray(); - array.add(this.formatKmd("",100)); - List objs=pointServiceImpl.queryPointKmd(); - HashMap qhtk=new HashMap(); - HashMap qhtm=new HashMap(); - HashMap zck=new HashMap(); - HashMap zcm=new HashMap(); - int size=objs.size(); - if(objs.size()>0){ - for(int i=0;i objs = pointServiceImpl.queryPointKmd(); + HashMap qhtk = new HashMap(); + HashMap qhtm = new HashMap(); + int size = objs.size(); + if (objs.size() > 0) { + for (int i = 0; i < objs.size(); i++) { Object[] obj = objs.get(i); String areaName = obj[0].toString(); String status = obj[1].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); - } else if (areaName.equals(AreaNameDic.OneFK)||areaName.equals(AreaNameDic.TwoFK)) { + } else if (areaName.equals(AreaNameDic.DJQ) || areaName.equals(AreaNameDic.XJQ)) { qhtk.put(status, qty); } } } - if(qhtk!=null){ - Double k=qhtk.get(BaseStatus.FREE)==null?0d:qhtk.get(BaseStatus.FREE); - Double m=qhtk.get(BaseStatus.USED)==null?0d:qhtk.get(BaseStatus.USED); - array.add(this.formatKmd(AreaNameDic.OneFK,m*100/(k+m))); + if (qhtk != null) { + Double k = qhtk.get(BaseStatus.FREE) == null ? 0d : qhtk.get(BaseStatus.FREE); + Double m = qhtk.get(BaseStatus.USED) == null ? 0d : qhtk.get(BaseStatus.USED); + array.add(this.formatKmd(AreaNameDic.DJQ, m * 100 / (k + m))); } - if(qhtm!=null){ - Double k=qhtm.get(BaseStatus.FREE)==null?0d:qhtm.get(BaseStatus.FREE); - Double m=qhtm.get(BaseStatus.USED)==null?0d:qhtm.get(BaseStatus.USED); - array.add(this.formatKmd(AreaNameDic.OneFC,m*100/(k+m))); + if (qhtm != null) { + Double k = qhtm.get(BaseStatus.FREE) == null ? 0d : qhtm.get(BaseStatus.FREE); + Double m = qhtm.get(BaseStatus.USED) == null ? 0d : qhtm.get(BaseStatus.USED); + array.add(this.formatKmd(AreaNameDic.DJQ, m * 100 / (k + m))); } - HashMap map=new HashMap(); - map.put("data",array); - JSONArray colors=new JSONArray(); + HashMap map = new HashMap(); + map.put("data", array); + JSONArray colors = new JSONArray(); colors.add("#ffffff00"); - if(size>=1) { + if (size >= 1) { colors.add("#cc0099"); } - if(size>=2) { + if (size >= 2) { colors.add("#99cc33"); } - if(size>=3) { + if (size >= 3) { colors.add("#00baff"); } - if(size>=4) { + if (size >= 4) { colors.add("#3de7c9"); } - map.put("colors",colors); - map.put("unit","%"); - map.put("showValue",false); + map.put("colors", colors); + map.put("unit", "%"); + map.put("showValue", false); return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/inOutForMonth") + @PostMapping(value = "/inOutForMonth") @ApiOperation("每月出入库") @AnonymousAccess public ResponseEntity inOutForMonth() { - int rk=0; - List lr=asnDetailServiceImpl.queryIn("Month",null,"ALL"); - if(lr.size()>0){ - Object[] obj=lr.get(0); - rk=obj[0]==null?0:((Double)obj[0]).intValue(); + int rk = 0; + List lr = asnDetailServiceImpl.queryIn("Month", null, "ALL"); + if (lr.size() > 0) { + Object[] obj = lr.get(0); + rk = obj[0] == null ? 0 : ((Double) obj[0]).intValue(); } - int ck=0; - List lc=pickDetailServiceImpl.queryOut("Month",null); - if(lc.size()>0){ - Object[] obj=lc.get(0); - ck=obj[0]==null?0:((Double)obj[0]).intValue(); + int ck = 0; + List lc = pickDetailServiceImpl.queryOut("Month", null); + if (lc.size() > 0) { + Object[] obj = lc.get(0); + ck = obj[0] == null ? 0 : ((Double) obj[0]).intValue(); } - HashMap map=new HashMap(); - map.put("r1",(int)rk/1000); - map.put("r2",(int)rk/100%10); - map.put("r3",(int)rk/10%10); - map.put("r4",(int)rk%10); - map.put("c1",(int)ck/1000); - map.put("c2",(int)ck/100%10); - map.put("c3",(int)ck/10%10); - map.put("c4",(int)ck%10); + HashMap map = new HashMap(); + map.put("r1", (int) rk / 1000); + map.put("r2", (int) rk / 100 % 10); + map.put("r3", (int) rk / 10 % 10); + map.put("r4", (int) rk % 10); + map.put("c1", (int) ck / 1000); + map.put("c2", (int) ck / 100 % 10); + map.put("c3", (int) ck / 10 % 10); + map.put("c4", (int) ck % 10); return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/inMonth") + + @PostMapping(value = "/inMonth") @ApiOperation("每月入库") @AnonymousAccess public ResponseEntity inMonth() { return this.inOutMonth("IN"); } - @PostMapping(value="/outMonth") + @PostMapping(value = "/outMonth") @ApiOperation("每月出库") @AnonymousAccess public ResponseEntity outMonth() { @@ -194,163 +194,164 @@ public class ScreenViewController { } public ResponseEntity inOutMonth(String type) { - JSONArray array=new JSONArray(); - List objs=taskServiceImpl.queryAreaMonth(type); - HashMap qht=new HashMap(); - HashMap zc=new HashMap(); - HashMap mf=new HashMap(); - HashMap xj=new HashMap(); - double totalQty=0; - int size=objs.size(); - if(objs.size()>0){ - for(int i=0;i objs = taskServiceImpl.queryAreaMonth(type); + HashMap qht = new HashMap(); + HashMap zc = new HashMap(); + HashMap mf = new HashMap(); + HashMap xj = new HashMap(); + double totalQty = 0; + int size = objs.size(); + if (objs.size() > 0) { + for (int i = 0; i < objs.size(); i++) { Object[] obj = objs.get(i); String areaName = obj[0].toString(); Double qty = Double.parseDouble(obj[1].toString()); - totalQty+=qty; - if (areaName.equals(AreaNameDic.OneFC)||areaName.equals(AreaNameDic.TwoFB)) { + totalQty += qty; + if (areaName.equals(AreaNameDic.DJQ) || areaName.equals(AreaNameDic.XJQ)) { qht.put(areaName, qty); } } - if(qht!=null) { - double value=qht.get(AreaNameDic.OneFK); - array.add(this.formatKmd("前后桶", value*100/totalQty)); + if (qht != null) { + double value = qht.get(AreaNameDic.DJQ); + array.add(this.formatKmd("前后桶", value * 100 / totalQty)); } } - HashMap map=new HashMap(); - map.put("data",array); + HashMap map = new HashMap(); + map.put("data", array); - JSONArray color=new JSONArray(); - if(size>=1) { + JSONArray color = new JSONArray(); + if (size >= 1) { color.add("#ffcc33"); } - if(size>=2) { + if (size >= 2) { color.add("#99cccc"); } - if(size>=3) { + if (size >= 3) { color.add("#3399ff"); } - if(size>=4) { + if (size >= 4) { color.add("#fff8dc"); } - map.put("color",color); - map.put("lineWidth",15); - map.put("radius","55%"); - map.put("activeRadius","60%"); + map.put("color", color); + map.put("lineWidth", 15); + map.put("radius", "55%"); + map.put("activeRadius", "60%"); return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/inOutDay") + + @PostMapping(value = "/inOutDay") @ApiOperation("每日出入库") @AnonymousAccess public ResponseEntity inOutDay(String type) { - JSONArray array=new JSONArray(); - String date=DateUtil.formatChageDay(new Date(),"DAY",-6); - List objsIn=asnDetailServiceImpl.queryIn("InOutDay", date,"ALL"); - HashMap mapIn=new HashMap(); - mapIn.put("0","0"); - if(objsIn.size()>0){ - for(int i=0;i objsIn = asnDetailServiceImpl.queryIn("InOutDay", date, "ALL"); + HashMap mapIn = new HashMap(); + mapIn.put("0", "0"); + if (objsIn.size() > 0) { + for (int i = 0; i < objsIn.size(); i++) { Object[] obj = objsIn.get(i); String day = obj[0].toString(); Double qty = Double.parseDouble(obj[1].toString()); - mapIn.put(day,qty); + mapIn.put(day, qty); } } - List objsOut=pickDetailServiceImpl.queryOut("InOutDay", date); - HashMap mapOut=new HashMap(); - mapOut.put("0","0"); - if(objsOut.size()>0){ - for(int i=0;i objsOut = pickDetailServiceImpl.queryOut("InOutDay", date); + HashMap mapOut = new HashMap(); + mapOut.put("0", "0"); + if (objsOut.size() > 0) { + for (int i = 0; i < objsOut.size(); i++) { Object[] obj = objsOut.get(i); String day = obj[0].toString(); Double qty = Double.parseDouble(obj[1].toString()); - mapOut.put(day,qty); + mapOut.put(day, qty); } } - HashMap map=new HashMap(); - HashMap dataset=new HashMap(); - JSONArray source=new JSONArray(); - JSONArray sourceH=new JSONArray(); + HashMap map = new HashMap(); + HashMap dataset = new HashMap(); + JSONArray source = new JSONArray(); + JSONArray sourceH = new JSONArray(); sourceH.add("product"); sourceH.add("入库"); sourceH.add("出库"); source.add(sourceH); - for(int i=-6;i<=0;i++){ - String date1=DateUtil.formatChageDay(new Date(),"DAY",i); - if(mapIn.get(date1)!=null||mapOut.get(date1)!=null){ - JSONArray sourceD=new JSONArray(); + for (int i = -6; i <= 0; i++) { + String date1 = DateUtil.formatChageDay(new Date(), "DAY", i); + if (mapIn.get(date1) != null || mapOut.get(date1) != null) { + JSONArray sourceD = new JSONArray(); sourceD.add(date1); - sourceD.add(mapIn.get(date1)==null?0:mapIn.get(date1)); - sourceD.add(mapOut.get(date1)==null?0:mapOut.get(date1)); + sourceD.add(mapIn.get(date1) == null ? 0 : mapIn.get(date1)); + sourceD.add(mapOut.get(date1) == null ? 0 : mapOut.get(date1)); source.add(sourceD); } } - dataset.put("source",source); - HashMap data=new HashMap(); - HashMap config=new HashMap(); - HashMap yAxis=new HashMap(); - HashMap axisLabel=new HashMap(); - HashMap xAxis=new HashMap(); - axisLabel.put("color","#fff"); - HashMap nameTextStyle=new HashMap(); - nameTextStyle.put("color","#fff"); - map.put("msg",""); - data.put("config",config); - config.put("yAxis",yAxis); - yAxis.put("axisLabel",axisLabel); - yAxis.put("show",true); - yAxis.put("nameTextStyle",nameTextStyle); - config.put("xAxis",xAxis); - xAxis.put("axisLabel",axisLabel); - xAxis.put("type","category"); - xAxis.put("nameTextStyle",nameTextStyle); - HashMap legend=new HashMap(); - config.put("legend",legend); - HashMap grid=new HashMap(); - grid.put("top",20); - grid.put("bottom",25); - grid.put("width","auto"); - grid.put("height","auto"); - config.put("grid",grid); - JSONArray series=new JSONArray(); - HashMap c1=new HashMap(); - c1.put("color","#fff68f"); - c1.put("type","bar"); - HashMap c2=new HashMap(); - c2.put("color","#09f"); - c2.put("type","bar"); + dataset.put("source", source); + HashMap data = new HashMap(); + HashMap config = new HashMap(); + HashMap yAxis = new HashMap(); + HashMap axisLabel = new HashMap(); + HashMap xAxis = new HashMap(); + axisLabel.put("color", "#fff"); + HashMap nameTextStyle = new HashMap(); + nameTextStyle.put("color", "#fff"); + map.put("msg", ""); + data.put("config", config); + config.put("yAxis", yAxis); + yAxis.put("axisLabel", axisLabel); + yAxis.put("show", true); + yAxis.put("nameTextStyle", nameTextStyle); + config.put("xAxis", xAxis); + xAxis.put("axisLabel", axisLabel); + xAxis.put("type", "category"); + xAxis.put("nameTextStyle", nameTextStyle); + HashMap legend = new HashMap(); + config.put("legend", legend); + HashMap grid = new HashMap(); + grid.put("top", 20); + grid.put("bottom", 25); + grid.put("width", "auto"); + grid.put("height", "auto"); + config.put("grid", grid); + JSONArray series = new JSONArray(); + HashMap c1 = new HashMap(); + c1.put("color", "#fff68f"); + c1.put("type", "bar"); + HashMap c2 = new HashMap(); + c2.put("color", "#09f"); + c2.put("type", "bar"); series.add(c1); series.add(c2); - config.put("series",series); - HashMap title=new HashMap(); - HashMap textStyle=new HashMap(); - textStyle.put("color","#fff68f"); - title.put("textStyle",textStyle); - config.put("title",title); - config.put("dataset",dataset); - data.put("config",config); - map.put("data",data); - map.put("satus",1); + config.put("series", series); + HashMap title = new HashMap(); + HashMap textStyle = new HashMap(); + textStyle.put("color", "#fff68f"); + title.put("textStyle", textStyle); + config.put("title", title); + config.put("dataset", dataset); + data.put("config", config); + map.put("data", data); + map.put("satus", 1); return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/inventoryView") + @PostMapping(value = "/inventoryView") @ApiOperation("库存余量") @AnonymousAccess public ResponseEntity inventoryView() { - List l=inventoryServiceImpl.queryItemStock(); - HashMap map=new HashMap(); - HashMap dataH=new HashMap(); - HashMap config=new HashMap(); - if(l.size()>0){ - JSONArray header=new JSONArray(); + List l = inventoryServiceImpl.queryItemStock(); + HashMap map = new HashMap(); + HashMap dataH = new HashMap(); + HashMap config = new HashMap(); + if (l.size() > 0) { + JSONArray header = new JSONArray(); header.add("代码"); header.add("名称"); header.add("托数"); - config.put("header",header); - JSONArray data=new JSONArray(); - for(int i=0;i taskPerformed() {//id【任务id】、type【任务类型】、物料号 List agvTasks = agvTaskRepository.queryAgvTaskPerformedQH(); - HashMap map=new HashMap(); - HashMap dataH=new HashMap(); - HashMap config=new HashMap(); - if(agvTasks.size()>0){ - JSONArray header=new JSONArray(); + HashMap map = new HashMap(); + HashMap dataH = new HashMap(); + HashMap config = new HashMap(); + if (agvTasks.size() > 0) { + JSONArray header = new JSONArray(); header.add("料车"); header.add("任务类型"); header.add("任务ID"); - config.put("header",header); - JSONArray data=new JSONArray(); + config.put("header", header); + JSONArray data = new JSONArray(); for (AgvTask a : agvTasks) { - JSONArray d=new JSONArray(); + JSONArray d = new JSONArray(); String itemCode = a.getStockCode(); - if (itemCode == null || itemCode.equals("")){ + if (itemCode == null || itemCode.equals("")) { itemCode = "agv正在前往"; } - String type = a.getType().equals("ASN")? "入库":"出库"; + String type = a.getType().equals("ASN") ? "入库" : "出库"; String id = a.getId().toString(); d.add(itemCode); d.add(type); d.add(id); data.add(d); } - config.put("data",data); - config.put("rowNum",8); - config.put("waitTime",2000); - config.put("carousel","single"); - config.put("headerBGC","#061a3a"); - config.put("oddRowBGC","#06152f"); - config.put("evenRowBGC","#071026"); - dataH.put("config",config); - map.put("msg",""); - map.put("data",dataH); - map.put("satus","1"); + config.put("data", data); + config.put("rowNum", 8); + config.put("waitTime", 2000); + config.put("carousel", "single"); + config.put("headerBGC", "#061a3a"); + config.put("oddRowBGC", "#06152f"); + config.put("evenRowBGC", "#071026"); + dataH.put("config", config); + map.put("msg", ""); + map.put("data", dataH); + map.put("satus", "1"); } return new ResponseEntity(map, HttpStatus.OK); } - public HashMap formatDay(String title,String content,String textAlign,String fill,String fontWeight) { - HashMap map=new HashMap(); - map.put("title",title); - HashMap number=new HashMap(); - number.put("content",content); - number.put("textAlign",textAlign); - HashMap style=new HashMap(); - style.put("fill",fill); - style.put("fontWeight",fontWeight); - number.put("style",style); - map.put("number",number); - return map; - } - public HashMap formatKmd(String name,double value) { - HashMap map=new HashMap(); - map.put("name",name); - map.put("value", NumberUtil.round(value,2)); + public HashMap formatDay(String title, String content, String textAlign, String fill, String fontWeight) { + HashMap map = new HashMap(); + map.put("title", title); + HashMap number = new HashMap(); + number.put("content", content); + number.put("textAlign", textAlign); + HashMap style = new HashMap(); + style.put("fill", fill); + style.put("fontWeight", fontWeight); + number.put("style", style); + map.put("number", number); return map; } - @PostMapping(value="/locLayout") + public HashMap formatKmd(String name, double value) { + HashMap map = new HashMap(); + map.put("name", name); + map.put("value", NumberUtil.round(value, 2)); + return map; + } + + @PostMapping(value = "/locLayout") @ApiOperation("库位布局") @AnonymousAccess public ResponseEntity locLayout(String zoneType) { //0空1满2禁用3空车区满 - if(zoneType==null){ - zoneType="QHT"; + if (zoneType == null) { + zoneType = "QHT"; } - List mins=pointServiceImpl.getPointMinxy(zoneType); - List ls=pointServiceImpl.queryLayout(zoneType,0,0); - HashMap map=new HashMap(); - map.put("mg_top",2); - map.put("mg_left",1); - HashMap seatList=new HashMap(); - int type0=0; - int type1=0; - int type2=0; - int type3=0; - if(ls.size()>0){ - JSONArray seat=new JSONArray(); - Object[] obj=mins.get(0); - double x=Double.parseDouble(obj[0].toString())-2; - double y=Double.parseDouble(obj[1].toString())-2; - double maxy=Double.parseDouble(obj[3].toString()); - HashMap itemTypes=new HashMap(); - for(int i=0;i d=new HashMap(); + List mins = pointServiceImpl.getPointMinxy(zoneType); + List ls = pointServiceImpl.queryLayout(zoneType, 0, 0); + HashMap map = new HashMap(); + map.put("mg_top", 2); + map.put("mg_left", 1); + HashMap seatList = new HashMap(); + int type0 = 0; + int type1 = 0; + int type2 = 0; + int type3 = 0; + if (ls.size() > 0) { + JSONArray seat = new JSONArray(); + Object[] obj = mins.get(0); + double x = Double.parseDouble(obj[0].toString()) - 2; + double y = Double.parseDouble(obj[1].toString()) - 2; + double maxy = Double.parseDouble(obj[3].toString()); + HashMap itemTypes = new HashMap(); + for (int i = 0; i < ls.size(); i++) { + HashMap d = new HashMap(); RLocLayout layout = ls.get(i); d.put("id", layout.getId()); - d.put("gRow", (int)Math.ceil(layout.getX()-x)); - d.put("gCol", Math.abs((int)Math.ceil(layout.getY()-maxy))); + d.put("gRow", (int) Math.ceil(layout.getX() - x)); + d.put("gCol", Math.abs((int) Math.ceil(layout.getY() - maxy))); d.put("type", layout.getType()); d.put("code", layout.getCode()); if (layout.getType() == 0) { @@ -478,8 +481,8 @@ public class ScreenViewController { } else if (layout.getType() == 3) { type3++; } - String itemType= layout.getItemType(); - if(itemType!=null) { + String itemType = layout.getItemType(); + if (itemType != null) { if (itemTypes.get(itemType) != null) { itemTypes.put(itemType, itemTypes.get(itemType) + 1); } else { @@ -488,39 +491,39 @@ public class ScreenViewController { } seat.add(d); } - String movieName=""; - if(zoneType.equals("QHT")){ - movieName="前后桶点位图 "+ls.size()+"库位(空点:"+type0+",空车:"+type3+",满车:"+type1+",禁用:"+type2+")"; - }else if(zoneType.equals("ZCKM")){ - movieName=""; + String movieName = ""; + if (zoneType.equals("QHT")) { + movieName = "前后桶点位图 " + ls.size() + "库位(空点:" + type0 + ",空车:" + type3 + ",满车:" + type1 + ",禁用:" + type2 + ")"; + } else if (zoneType.equals("ZCKM")) { + movieName = ""; } - map.put("movieName",movieName);//+mes); - map.put("seatList",seat); + map.put("movieName", movieName);//+mes); + map.put("seatList", seat); } return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/locJxbLayout") + @PostMapping(value = "/locJxbLayout") @ApiOperation("机械臂库位布局") @AnonymousAccess public ResponseEntity locJxbLayout(String zoneType) { //0空1满2禁用3空车区满 - List mins=pointServiceImpl.getPointMinxy(zoneType); - List ts=pointServiceImpl.getZcJxb(); - HashMap map=new HashMap(); - map.put("mg_top",2); - map.put("mg_left",1); - HashMap seatList=new HashMap(); - if(ts.size()>0){ - JSONArray seat=new JSONArray(); - Object[] obj=mins.get(0); - double x=Double.parseDouble(obj[0].toString())-2; - double y=Double.parseDouble(obj[1].toString())-2; - double maxy=Double.parseDouble(obj[3].toString()); - HashMap itemTypes=new HashMap(); - for(Object[] o:ts) { - HashMap d=new HashMap(); - int j=0; + List mins = pointServiceImpl.getPointMinxy(zoneType); + List ts = pointServiceImpl.getZcJxb(); + HashMap map = new HashMap(); + map.put("mg_top", 2); + map.put("mg_left", 1); + HashMap seatList = new HashMap(); + if (ts.size() > 0) { + JSONArray seat = new JSONArray(); + Object[] obj = mins.get(0); + double x = Double.parseDouble(obj[0].toString()) - 2; + double y = Double.parseDouble(obj[1].toString()) - 2; + double maxy = Double.parseDouble(obj[3].toString()); + HashMap itemTypes = new HashMap(); + for (Object[] o : ts) { + HashMap d = new HashMap(); + int j = 0; // for(Object[] o1:ts){ // log.info("o1:"+o1.length+"==="); // for(int v=0;v itemTypePie(String itemType) { DecimalFormat df = new DecimalFormat("#.0"); - int pointCount=pointServiceImpl.getPointCoutType(itemType); - int invCount=pointServiceImpl.getInvCoutType(itemType); - String color0="#ededed"; - String color1="#FF0000"; - String scoreName="SCORE"; - double percentage=invCount*100*0.1*10/pointCount; + int pointCount = pointServiceImpl.getPointCoutType(itemType); + int invCount = pointServiceImpl.getInvCoutType(itemType); + String color0 = "#ededed"; + String color1 = "#FF0000"; + String scoreName = "SCORE"; + double percentage = invCount * 100 * 0.1 * 10 / pointCount; // percentage=Math.round(percentage); - percentage=Double.parseDouble(df.format(percentage)); - if(itemType.equals("前桶480")){ + percentage = Double.parseDouble(df.format(percentage)); + if (itemType.equals("前桶480")) { // color0="#04CDE6"; - color1="#0CC8E6"; - }else if(itemType.equals("前桶440")){ + color1 = "#0CC8E6"; + } else if (itemType.equals("前桶440")) { // color0="#73E239"; - color1="#35B45E"; - }else if(itemType.equals("后桶1200单洗")){ + color1 = "#35B45E"; + } else if (itemType.equals("后桶1200单洗")) { // color0="#FEBA6B"; - color1="#F29961"; - }else if(itemType.equals("后桶DF440单洗")){ + color1 = "#F29961"; + } else if (itemType.equals("后桶DF440单洗")) { // color0="#E15E68"; - color1="#E53240"; - }else if(itemType.equals("后桶1200洗干")){ + color1 = "#E53240"; + } else if (itemType.equals("后桶1200洗干")) { // color0="#A682E6"; - color1="#6244E6"; - }else if(itemType.equals("后桶1400单洗")){ + color1 = "#6244E6"; + } else if (itemType.equals("后桶1400单洗")) { // color0="#A682E6"; - color1="#8fbc8f"; - }else if(itemType.equals("后桶DF440洗干")){ + color1 = "#8fbc8f"; + } else if (itemType.equals("后桶DF440洗干")) { // color0="#A682E6"; - color1="#663300"; - }else if(itemType.equals("CK")){ + color1 = "#663300"; + } else if (itemType.equals("CK")) { // color0="#A682E6"; - color1="#663300"; + color1 = "#663300"; } - Option option= PieChart.pieStyle(color0,color1,scoreName,percentage); + Option option = PieChart.pieStyle(color0, color1, scoreName, percentage); return new ResponseEntity(option, HttpStatus.OK); } - @PostMapping(value="/itemTypePieQty") + @PostMapping(value = "/itemTypePieQty") @ApiOperation("物料类型比列数量") @AnonymousAccess public ResponseEntity itemTypePieQty(String itemType) { - String invCount=pointServiceImpl.getInvCoutInfo(itemType); - HashMap map=new HashMap(); - map.put("data",invCount); + String invCount = pointServiceImpl.getInvCoutInfo(itemType); + HashMap map = new HashMap(); + map.put("data", invCount); return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/areaInOutDay") + @PostMapping(value = "/areaInOutDay") @ApiOperation("库区出入库") @AnonymousAccess - public ResponseEntity areaInOutDay(String type,String areaType) { - List ts=taskServiceImpl.queryAreaDay(type,areaType); - String invCount="0"; - if(ts.size()>0){ - Object[] obj=ts.get(0); - if(obj[0]!=null&&obj[1]!=null) { + public ResponseEntity areaInOutDay(String type, String areaType) { + List ts = taskServiceImpl.queryAreaDay(type, areaType); + String invCount = "0"; + if (ts.size() > 0) { + Object[] obj = ts.get(0); + if (obj[0] != null && obj[1] != null) { invCount = obj[0] + "车" + obj[1]; } } - HashMap map=new HashMap(); - map.put("data",invCount); + HashMap map = new HashMap(); + map.put("data", invCount); return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/locLayoutOld") + @PostMapping(value = "/locLayoutOld") @ApiOperation("库位布局-旧") @AnonymousAccess public ResponseEntity locLayoutOld() { - List ls=pointServiceImpl.queryLayout("QHT",0,0); - HashMap map=new HashMap(); - map.put("width",2.6); - map.put("height",1.95); - map.put("mg_top",2); - map.put("mg_left",1); + List ls = pointServiceImpl.queryLayout("QHT", 0, 0); + HashMap map = new HashMap(); + map.put("width", 2.6); + map.put("height", 1.95); + map.put("mg_top", 2); + map.put("mg_left", 1); // map.put("positionDistin",3.1); - HashMap seatList=new HashMap(); - int type0=0; - int type1=0; - int type2=0; - if(ls.size()>0){ - int colView=24;//每行显示的库位数 - int kbc=3;//4个库位一个空白格子 - int kbr=14; - int kbcol=(int)Math.ceil(colView*1.0/kbc)-1; - int row=(int)Math.ceil(ls.size()*1.0/colView); - int v=0; - int kbrow=(int)Math.ceil(row*1.0/kbr)-1; - int coutRow=row+kbrow; - JSONArray seat=new JSONArray(); - HashMap itemTypes=new HashMap(); - for(int i=1;i<=coutRow;i++) { - for(int j=1;j<=colView+kbcol;j++){ - HashMap d=new HashMap(); - if((j%(kbc+1)==0)||(i%(kbr+1)==0)){ - if((i%(kbr+1)==0)) { - d.put("id",v); - d.put("gRow",i); - d.put("gCol",j); - int type=3; + HashMap seatList = new HashMap(); + int type0 = 0; + int type1 = 0; + int type2 = 0; + if (ls.size() > 0) { + int colView = 24;//每行显示的库位数 + int kbc = 3;//4个库位一个空白格子 + int kbr = 14; + int kbcol = (int) Math.ceil(colView * 1.0 / kbc) - 1; + int row = (int) Math.ceil(ls.size() * 1.0 / colView); + int v = 0; + int kbrow = (int) Math.ceil(row * 1.0 / kbr) - 1; + int coutRow = row + kbrow; + JSONArray seat = new JSONArray(); + HashMap itemTypes = new HashMap(); + for (int i = 1; i <= coutRow; i++) { + for (int j = 1; j <= colView + kbcol; j++) { + HashMap d = new HashMap(); + if ((j % (kbc + 1) == 0) || (i % (kbr + 1) == 0)) { + if ((i % (kbr + 1) == 0)) { + d.put("id", v); + d.put("gRow", i); + d.put("gCol", j); + int type = 3; // if((j%(kbc+1)==0)&&(i%(kbr+1)==0)){ // type=5; // }else if(i%(kbr+1)==0){ @@ -664,11 +667,11 @@ public class ScreenViewController { // }else if(j%(kbc+1)==0){ // type=4; // } - d.put("type", type);//3横4竖5交叉 - d.put("code",""); - seat.add(d); + d.put("type", type);//3横4竖5交叉 + d.put("code", ""); + seat.add(d); } - }else { + } else { RLocLayout layout = ls.get(v++); d.put("id", layout.getId()); d.put("gRow", i); @@ -682,8 +685,8 @@ public class ScreenViewController { } else if (layout.getType() == 2) { type2++; } - String itemType= layout.getItemType(); - if(itemType!=null) { + String itemType = layout.getItemType(); + if (itemType != null) { if (itemTypes.get(itemType) != null) { itemTypes.put(itemType, itemTypes.get(itemType) + 1); } else { @@ -697,36 +700,36 @@ public class ScreenViewController { } } } - String mes=itemTypes.toString(); - mes=mes.replace("{"," ").replace("}"," "); - map.put("movieName","前后桶 "+ls.size()+"库位(空点:"+type0+",满车:"+type1+",禁用:"+type2+")"+mes); - map.put("seatList",seat); + String mes = itemTypes.toString(); + mes = mes.replace("{", " ").replace("}", " "); + map.put("movieName", "前后桶 " + ls.size() + "库位(空点:" + type0 + ",满车:" + type1 + ",禁用:" + type2 + ")" + mes); + map.put("seatList", seat); } return new ResponseEntity(map, HttpStatus.OK); } - @PostMapping(value="/inOutData") + @PostMapping(value = "/inOutData") @ApiOperation("出入库数据") @AnonymousAccess public ResponseEntity inOutData() { - HashMap data=new HashMap(); + HashMap data = new HashMap(); //获取当天的开始时间 DateTime beginOfDay = cn.hutool.core.date.DateUtil.beginOfDay(new Date()); //获取当月的开始时间 //出库 //已经完成 - data.put("outZX",pickDetailRepository.queryOutQHData(beginOfDay.toString(), "PICK_ALL").size()); + data.put("outZX", pickDetailRepository.queryOutQHData(beginOfDay.toString(), "PICK_ALL").size()); //待执行 - data.put("outDZX",pickDetailRepository.queryOutQHData(beginOfDay.toString(), "ALLOCATE").size()); + data.put("outDZX", pickDetailRepository.queryOutQHData(beginOfDay.toString(), "ALLOCATE").size()); //全部任务 - data.put("outAll",pickDetailRepository.queryOutQHAllData(beginOfDay.toString()).size()); + data.put("outAll", pickDetailRepository.queryOutQHAllData(beginOfDay.toString()).size()); //入库 //已完成 + 已取消 - data.put("inZX",taskService.queryInQHData(beginOfDay.toString(),"FINISH").size()+taskService.queryInQHData(beginOfDay.toString(),"CANCEL").size()); + data.put("inZX", taskService.queryInQHData(beginOfDay.toString(), "FINISH").size() + taskService.queryInQHData(beginOfDay.toString(), "CANCEL").size()); //已执行的 - data.put("inDZX",taskService.queryInQHData(beginOfDay.toString(),"OPEN").size()); + data.put("inDZX", taskService.queryInQHData(beginOfDay.toString(), "OPEN").size()); //全部任务 - data.put("inAll",taskService.queryInQHALLData(beginOfDay.toString()).size()); + data.put("inAll", taskService.queryInQHALLData(beginOfDay.toString()).size()); return new ResponseEntity(data, HttpStatus.OK); } } diff --git a/youchain-system/src/main/java/com/youchain/appupdate/rest/XksAppController.java b/youchain-system/src/main/java/com/youchain/appupdate/rest/XksAppController.java index 99785be..8f6171e 100644 --- a/youchain-system/src/main/java/com/youchain/appupdate/rest/XksAppController.java +++ b/youchain-system/src/main/java/com/youchain/appupdate/rest/XksAppController.java @@ -111,23 +111,6 @@ public class XksAppController { return successRequest("呼叫成功!"); } - - @PostMapping("/lineReturn") - @Log("线边返空") - @ApiOperation("线边返空") - @AnonymousAccess - public ResponseEntity 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 badRequest(String message) { return new ResponseEntity<>(ApiResult.fail(BAD_REQUEST.value(), message, ""), HttpStatus.BAD_REQUEST); } diff --git a/youchain-system/src/main/java/com/youchain/appupdate/service/impl/ContainerServiceImpl.java b/youchain-system/src/main/java/com/youchain/appupdate/service/impl/ContainerServiceImpl.java index 585278f..5d2b592 100644 --- a/youchain-system/src/main/java/com/youchain/appupdate/service/impl/ContainerServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/appupdate/service/impl/ContainerServiceImpl.java @@ -117,7 +117,7 @@ public class ContainerServiceImpl implements ContainerService { String jsonObject = ""; 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 if (agv_on_off.equals("ON")) { //调用容器入场接口 @@ -136,7 +136,7 @@ public class ContainerServiceImpl implements ContainerService { log.error("容器入场失败:{}", message); 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();//物料 Item item = itemService.existItem(itemCode); diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java b/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java index baf881e..30d9291 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java @@ -181,13 +181,6 @@ public interface StockService { */ void bindContainer(String itemCode,String stockCode,String pointCode); - /** - * 线边容器返空 - * @param stockCode - * @param pointCode - */ - void lineContainerReturn(String stockCode,String pointCode); - Map findByCodes(Set stockCodes); } diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java index 5806b53..2791904 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java @@ -290,7 +290,7 @@ public class PointServiceImpl implements PointService { public List queryPointKmd() { List pointList = null; 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"; Query query = entityMapper.createQuery(hql); pointList = query.getResultList(); @@ -302,7 +302,7 @@ public class PointServiceImpl implements PointService { List 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"; 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); pointList = query.getResultList(); @@ -313,11 +313,11 @@ public class PointServiceImpl implements PointService { public int getPointCoutType(String itemType) { String hql = "select count(p.id) from Point p where 1=1 "; 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")) { hql = " select count(p.id) from Point p where p.area.id=27 ";//前后桶空车区空车数量 } 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); 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" + "where 1=1 and p.pos_x>0 and p.pos_y>0"; 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"; List ts = entityMapper.createNativeQuery(sql) diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java index ad01fb7..8efe5eb 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java @@ -219,9 +219,8 @@ public class StockServiceImpl implements StockService { } switch (point.getArea().getName()) { - case AreaNameDic.OneFC: - case AreaNameDic.TwoFB: - case AreaNameDic.TwoFC: + case AreaNameDic.XJQ: + case AreaNameDic.DJQ: if (StringUtils.isEmpty(itemCode)) { throw new RuntimeException(point.getCode() + "点位入场,需扫描物料!"); } @@ -263,9 +262,6 @@ public class StockServiceImpl implements StockService { Point endPoint = validateSrcPoint(pointCode);//验证点位 checkPointStatus(endPoint);//验证点位状态 switch (scene) { - case 1: // 叫空车 - handleEmptyContainerCall(endPoint); - break; case 2: // 叫满车 handleFullContainerCall(itemCode, endPoint); break; @@ -281,13 +277,13 @@ public class StockServiceImpl implements StockService { Stock stock = validateStock(stockCode);//验证容器 validateStockStatus(stock);//验证容器状态 Point srcPoint = validateSrcPoint(pointCode);//验证点位 - //只允许1F满车产线、2F满车产线入库 + //只允许成品入库 String srcPointAreaName = srcPoint.getArea().getName(); if (!isValidMCArea(srcPointAreaName)) { throw new RuntimeException(srcPoint.getCode() + "点位不能入库!"); } //1F满车产线入1F存储区、2F满车产线入2F原材料B区 - String areaName = getMcAreaName(srcPointAreaName); + String areaName = null; Point endPoint = validateEndPoint(areaName);//验证目标点位 checkPointStatus(srcPoint);//验证源点位状态 AgvTask agvTask = createAndSendAgvTask(BizStatus.ASN, stock, srcPoint, endPoint);//生成AGV任务 @@ -298,49 +294,7 @@ public class StockServiceImpl implements StockService { } private boolean isValidMCArea(String areaName) { - return AreaNameDic.OneFMC.equals(areaName) || AreaNameDic.TwoFMC.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); - - + return AreaNameDic.CPRKQ.equals(areaName); } @Override @@ -356,19 +310,6 @@ public class StockServiceImpl implements StockService { 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) { Item item = itemService.existItem(itemCode); if (item == null) { @@ -454,48 +395,14 @@ public class StockServiceImpl implements StockService { 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) { Item item = validateItem(itemCode);//验证物料 String endPointAreaName = endPoint.getArea().getName(); - //只允许2F产线叫料、2F产线叫料2叫满车 + //只允许叫料区叫满车 if (!isValidMCJLArea(endPointAreaName)) { throw new RuntimeException(endPoint.getCode() + "点位不能叫满车!"); } - //2F产线叫料叫满车就查询1F存储区的满车;2F产线叫料2叫满车就查询2F齐套C区的满车 - String areaName = getMCJLAreaName(endPointAreaName); + String areaName = ""; List inventoryList = inventoryService.queryInventory(item.getId(), areaName); if (inventoryList.isEmpty()) { throw new RuntimeException(itemCode + "物料无库存,呼叫失败!"); @@ -516,19 +423,9 @@ public class StockServiceImpl implements StockService { } 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返回信息 * @@ -551,9 +448,8 @@ public class StockServiceImpl implements StockService { } private boolean isRestrictedArea(String areaName) { - return areaName.equals(AreaNameDic.OneFK) || areaName.equals(AreaNameDic.TwoFK) || - areaName.equals(AreaNameDic.OneFC) || areaName.equals(AreaNameDic.TwoFB) || - areaName.equals(AreaNameDic.TwoFC); + return areaName.equals(AreaNameDic.XJQ) || areaName.equals(AreaNameDic.DJQ) || + areaName.equals(AreaNameDic.CPRKQ); } private void handleFullContainer(Stock stock, Point point, String itemCode) { diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java index 8c19034..e3866e6 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java @@ -157,7 +157,7 @@ public class AgvTaskServiceImpl implements AgvTaskService { String viewBoardType = ""; 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"; } objMap.put("viewBoardType", viewBoardType);//上视识别类型;需要 IDENTIFY_REQUIRE 不需要NORMAL @@ -448,20 +448,11 @@ public class AgvTaskServiceImpl implements AgvTaskService { } List taskList = taskService.getAgvTaskList(agvTask.getId()); switch (endAreaName) { - case AreaNameDic.OneFKC: - case AreaNameDic.TwoFKC: - handleFCX(endPoint, stock);//空车出库 - break; - case AreaNameDic.OneFK: - case AreaNameDic.TwoFK: - handleFK(endPoint, stock);//回空车 - break; - case AreaNameDic.TwoFJL: - case AreaNameDic.TwoFJL2: + case AreaNameDic.JLQ: handleJL(taskList, endPoint, stock);//满车出库 break; - case AreaNameDic.TwoFB: - case AreaNameDic.OneFC: + case AreaNameDic.XJQ: + case AreaNameDic.DJQ: handleFBFC(taskList, stock);//满车入库 break; } @@ -471,18 +462,6 @@ public class AgvTaskServiceImpl implements AgvTaskService { 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 + "容器不存在! 请维护"); } switch (endAreaName) { - case AreaNameDic.TwoFJL: - case AreaNameDic.TwoFJL2: + case AreaNameDic.JLQ: handleJLCancel(agvTask, containerCode, endPoint);//满车到2F达产线取消 break; - case AreaNameDic.OneFKC: - case AreaNameDic.TwoFKC: - handleFKCCancel(agvTask, containerCode, endPoint);//空车到达产线取消 - break; - case AreaNameDic.OneFC: - case AreaNameDic.TwoFB: - case AreaNameDic.TwoFC: + case AreaNameDic.XJQ: + case AreaNameDic.DJQ: handleFBFCCancel(agvTask, endPoint, stock);//入库取消 break; - case AreaNameDic.OneFK: - case AreaNameDic.TwoFK: - handleFKCancel(agvTask, endPoint, stock);//回空车取消 - break; } agvTask.setStatus(BizStatus.CANCEL); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java index 303d855..412dc82 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java @@ -328,11 +328,11 @@ public class TaskServiceImpl implements TaskService { List taskList = null; String hql = ""; 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 += " group by t.dstPoint.area.name"; } 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 += " group by t.srcPoint.area.name"; } diff --git a/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java b/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java index 12ea894..267d8b4 100644 --- a/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java +++ b/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java @@ -8,73 +8,33 @@ package com.youchain.utils; 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空车产线"; - - /** - * 2F原材料B区 - */ - public static String TwoFB = "2F原材料B区"; - - /** - * 2F产线叫料 - */ - public static String TwoFJL = "2F产线叫料"; - - /** - * 2F产线反空 - */ - public static String TwoFFK = "2F产线反空"; - - /** - * 2F齐套C区 - */ - 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"; - - - - + public static String JLQ = "叫料区"; }