From 5f0fa0407e68fe36b2bfa8722843bab421ade017 Mon Sep 17 00:00:00 2001 From: wangh <123456> Date: Fri, 14 Oct 2022 17:05:28 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E9=93=9D=E5=86=85?= =?UTF-8?q?=E8=83=86=E8=AE=BE=E5=A4=87=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FoamBoxController.java | 106 +++++++++--------- .../controller/StorageController.java | 4 +- .../static/js/common/echarts.common.js | 4 +- .../controller/FoamBoxController.class | Bin 6198 -> 5253 bytes .../controller/StorageController.class | Bin 2897 -> 2001 bytes .../static/js/common/echarts.common.js | 6 +- 6 files changed, 60 insertions(+), 60 deletions(-) diff --git a/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java b/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java index 2285227..2b691ff 100644 --- a/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java +++ b/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java @@ -183,57 +183,57 @@ public class FoamBoxController { return JSONArray.toJSONString(mesMaterialStoreStatisticsList); } - /** - * 根据型号统计产量 - * - * @author WenJY - * @date 2022/4/20 10:15 - * @return java.lang.String - */ - @GetMapping("/getStatisticalOutputByModel") - @ResponseBody - public String getStatisticalOutputByModel() { - String info = - "{\n" - + "\t\"datas\":[\n" - + " {\"ranking\": 1,\"station\":\"SC227\",\"value\": 199999},\n" - + " {\"ranking\": 2,\"station\":\"SC228\",\"value\": 104970},\n" - + " {\"ranking\": 3,\"station\":\"SC229\",\"value\": 29034},\n" - + " {\"ranking\": 4,\"station\":\"SC223\",\"value\": 23489},\n" - + " {\"ranking\": 5,\"station\":\"SC224\",\"value\": 18203}\n" - + " ],\n" - + "\t\"plan\":[290000, 290000, 290000, 290000, 290000, 290000]\n" - + "}"; - return info; - } - - /** - * 库存 统计 - * - * @author WenJY - * @date 2022/4/20 10:16 - * @return java.lang.String - */ - @GetMapping("/getInventoryStatistics") - @ResponseBody - public String getInventoryStatistics() { - String info = - "{\n" - + "\t\"datas\":[\n" - + " {\n" - + " \"name\": \"SC528\",\n" - + " \"value\": 175.17\n" - + " },\n" - + " {\n" - + " \"name\": \"SC529\",\n" - + " \"value\": 148.35\n" - + " },\n" - + " {\n" - + " \"name\": \"SC327\",\n" - + " \"value\": 95.36\n" - + " }\n" - + " ]\n" - + "}"; - return info; - } +// /** +// * 根据型号统计产量 +// * +// * @author WenJY +// * @date 2022/4/20 10:15 +// * @return java.lang.String +// */ +// @GetMapping("/getStatisticalOutputByModel") +// @ResponseBody +// public String getStatisticalOutputByModel() { +// String info = +// "{\n" +// + "\t\"datas\":[\n" +// + " {\"ranking\": 1,\"station\":\"SC227\",\"value\": 199999},\n" +// + " {\"ranking\": 2,\"station\":\"SC228\",\"value\": 104970},\n" +// + " {\"ranking\": 3,\"station\":\"SC229\",\"value\": 29034},\n" +// + " {\"ranking\": 4,\"station\":\"SC223\",\"value\": 23489},\n" +// + " {\"ranking\": 5,\"station\":\"SC224\",\"value\": 18203}\n" +// + " ],\n" +// + "\t\"plan\":[290000, 290000, 290000, 290000, 290000, 290000]\n" +// + "}"; +// return info; +// } + +// /** +// * 库存 统计 +// * +// * @author WenJY +// * @date 2022/4/20 10:16 +// * @return java.lang.String +// */ +// @GetMapping("/getInventoryStatistics") +// @ResponseBody +// public String getInventoryStatistics() { +// String info = +// "{\n" +// + "\t\"datas\":[\n" +// + " {\n" +// + " \"name\": \"SC528\",\n" +// + " \"value\": 175.17\n" +// + " },\n" +// + " {\n" +// + " \"name\": \"SC529\",\n" +// + " \"value\": 148.35\n" +// + " },\n" +// + " {\n" +// + " \"name\": \"SC327\",\n" +// + " \"value\": 95.36\n" +// + " }\n" +// + " ]\n" +// + "}"; +// return info; +// } } diff --git a/productionboard/src/main/java/com/productionboard/controller/StorageController.java b/productionboard/src/main/java/com/productionboard/controller/StorageController.java index 558bd48..1078d4e 100644 --- a/productionboard/src/main/java/com/productionboard/controller/StorageController.java +++ b/productionboard/src/main/java/com/productionboard/controller/StorageController.java @@ -47,7 +47,7 @@ public class StorageController { return prefix; } - @GetMapping("/getProductionPlan") + /* @GetMapping("/getProductionPlan") @ResponseBody() public String productionPlan(){ String info = @@ -99,7 +99,7 @@ public class StorageController { + "}"; return info; - } + }*/ /** * 库存统计 diff --git a/productionboard/src/main/resources/static/js/common/echarts.common.js b/productionboard/src/main/resources/static/js/common/echarts.common.js index 7c75747..dd3d183 100644 --- a/productionboard/src/main/resources/static/js/common/echarts.common.js +++ b/productionboard/src/main/resources/static/js/common/echarts.common.js @@ -364,10 +364,10 @@ const threeDimensionalCylindrical = (res, ids) => { }, axisLabel: { show: true, + rotate:-30, margin: 25, - align: "center", textStyle: { - fontSize: 14, + fontSize: 10, color: "#A8A6AB", rich: { a: { diff --git a/productionboard/target/classes/com/productionboard/controller/FoamBoxController.class b/productionboard/target/classes/com/productionboard/controller/FoamBoxController.class index 33f4f1706827825d11c61e9eeb7b8941ab873f0f..d02c0a24536b022ca2449d867edb522b8f04effc 100644 GIT binary patch delta 1729 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 diff --git a/productionboard/target/classes/com/productionboard/controller/StorageController.class b/productionboard/target/classes/com/productionboard/controller/StorageController.class index ca48389bc5285a088d77d6c4ace21ed8e850de13..a67def66478662d62463d6d144d0e8442da09be1 100644 GIT binary patch delta 662 zcmaiw%T5$Q6o$X59_*f`TLcG08AOzeGU$wQ7e-LQTLL@)D-wvAgfQr^aOFIMsdsQK z2@7@Mj*UB>f%j1V>LIuwgmk*@+PL8iHONOF;fxKF*D4@ z%<&NI&&r08>H?_aP+Q=>xQ(kU;nuIe!E=T-P-Qfem ztMabs?#NX2)}52D(K-w6dsHlSON&*3v>d(k$VwDNy>7@y_DyanR&al#HPh|Z@&iqu zb%#J_^)$;{eH63GD*fD6&jH2T2#RT{WXM}(pcrRlgR<{>->UGQ{-H*eWBh*VUr=ma zo&2P9?2xeZgUHfc9sef9@}GWBydN_97FT-4l`^W$jpCO3vTO#^W+b;jx+D$y*&CP! v4;Yhf{M%jtkhe|F1ANwi=A{7RmjgV^04$HP4a?bEdBlqR$1Tj9IG_9jKT175 literal 2897 zcmeHJOK%%h6h7CFIB~{#xFyi0(9{rc9(2-Br)kp^l0b`#-9!xvi;BhAbK~6Bo|(>! z6C%VzY^VfM5fYmsA+do4QdA@$P*t#J%WrU1{siK?Gb7uHrwuHTn9)4Wx#ynmJCC_{ ze*f#qp5~KufnM&WSEO>GmlkPB-d;`6YYDo@sK08K zHCLF%Dz`U9nKPO$l+BuI*`{7E%Yl-q*}CfZ!)ks}b9iCzoH<5EuGS4#)cBfkM5)Rb z48wFiw+^G(f@xP&$FhY{S+}(s-!knRYKd!xqpoXZ*R;1)tvNwmsJrHtu(=MmU6#$) z#XF4Bh3nd;rdBnhqOQ8qlN>!S4B=j26wQvUF^VmjI{5b&gu$=WYb9>Ksey}}48GMh z%@$G)lreWhfLwUAWz%qNvs&dg&`eva@TH~(z;R*d9IR%t`Ow(vLM?(zwWwKhV`0oA zLTAMC;9RR|7NZjfx?z-Bb+z&hxC{aqC~|kh)K@f_QkUBZ=5(l=EnZSfVBDVMOWcJg z%gIYnBd|J=fwAShI; z5xP|wBD!6nLv$D|7l^9Y?+Oi4no-g+9U&Knyq=&-3cXJG1YK6>4Jxq6AMYkdaAY>P zrgJ-U?wTihs)svYH*S62`0A6!?cL1ee*J?l?*94lZRmS?GL4;2AKdz^sgbkgk!kGi zH12=Y`0#$`^oPHF*|_&j#`F5N?>wVxuGY?=#l`bBJvDu5s?C$9%ynp{bNg*NHMyx# zA6ohd;N|Q8h%yT!ng3>1{bowOr%;Oe5>!-Zf+iK3qDe+mVSD7`b`3@YtsQK+be)%7 zMuRO?-f($^+l&(4a=E;Y^&p#XUyT9_EM~{U_S3dK2OFYQhx^&~_07keYg_RGO*=-Q zdPIDW`v;&C_`gu_9}>Zdd=b`5NL_dicv`F-c*Y@PX~F#oNM~Wo@a!GmB{rUp{7BL7 zJ>wzVlNclz$LJ|~5^suc3h4+WMn`EFW75qXisB@iAN~$^qBFSUTzL%Rk`QB)=~(n< zivL7iZ+%OHkYY_KI{pJi@4_fb68I=s6OGa_dI4va#&PCQ`&m*wA|pOnKm@R`eA)w< zr)TImphqx2PSInj6w*S}6M+R`jG8&g;Qd)#eKG;h;Tm;38*ECzjCf(qLoLIIrxS$< zNiX8j^YfAe3GUGu@{IyIQAk;&+E0HPQbu~eM$Dlx1R}G6HpXn3xn+#Y%%zZl?ulO{ z)8gcQC<~Rn*%o=K8F`9c^q_j-<|N)CUbt}vwIAwUd^Nzw7xW1HWElSY!2jSt{8I { }, axisLabel: { show: true, + rotate:-30, margin: 25, - // align: "center", textStyle: { - fontSize: 14, + fontSize: 10, color: "#A8A6AB", rich: { a: { @@ -382,7 +382,7 @@ const threeDimensionalCylindrical = (res, ids) => { }, }, }, - interval: 3, + interval: 0, }, yAxis: { splitLine: { From f8dccd27637784989ec9801623f6e3eafd39f6d3 Mon Sep 17 00:00:00 2001 From: wenjy Date: Sat, 15 Oct 2022 21:46:53 +0800 Subject: [PATCH 2/3] =?UTF-8?q?change=20-=20=E7=AE=B1=E5=A3=B3=E7=9C=8B?= =?UTF-8?q?=E6=9D=BF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Maven__cn_hutool_hutool_all_5_8_0_M4.xml | 13 + deviceboard/deviceboard.iml | 1 + pom.xml | 6 + productionboard/productionboard.iml | 1 + .../controller/StorageController.java | 54 +--- .../mapper/BaseLocationInfoMapper.java | 38 +++ .../mapper/RecordTaskMapper.java | 14 ++ .../service/impl/BaseLocationServiceImpl.java | 234 ++++++++++-------- .../static/js/common/echarts.common.js | 117 +-------- .../main/resources/static/js/storage/index.js | 37 ++- .../controller/StorageController.class | Bin 2001 -> 2974 bytes .../mapper/BaseLocationInfoMapper.class | Bin 425 -> 3045 bytes .../mapper/RecordTaskMapper.class | Bin 407 -> 1443 bytes .../impl/BaseLocationServiceImpl.class | Bin 9688 -> 5603 bytes .../classes/static/css/foamBox/style.css | 5 - .../classes/static/js/aluminumLiner/index.js | 4 +- .../static/js/common/echarts.common.js | 115 +-------- .../target/classes/static/js/foamBox/index.js | 18 +- .../target/classes/static/js/storage/index.js | 37 ++- visualboard.iml | 1 + 20 files changed, 284 insertions(+), 411 deletions(-) create mode 100644 .idea/libraries/Maven__cn_hutool_hutool_all_5_8_0_M4.xml diff --git a/.idea/libraries/Maven__cn_hutool_hutool_all_5_8_0_M4.xml b/.idea/libraries/Maven__cn_hutool_hutool_all_5_8_0_M4.xml new file mode 100644 index 0000000..5c7d413 --- /dev/null +++ b/.idea/libraries/Maven__cn_hutool_hutool_all_5_8_0_M4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/deviceboard/deviceboard.iml b/deviceboard/deviceboard.iml index bafa983..8e1c90e 100644 --- a/deviceboard/deviceboard.iml +++ b/deviceboard/deviceboard.iml @@ -115,5 +115,6 @@ + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 9160f6d..dc74c8c 100644 --- a/pom.xml +++ b/pom.xml @@ -95,6 +95,12 @@ 12.1.0.2.0 + + cn.hutool + hutool-all + 5.8.0.M4 + + diff --git a/productionboard/productionboard.iml b/productionboard/productionboard.iml index bafa983..8e1c90e 100644 --- a/productionboard/productionboard.iml +++ b/productionboard/productionboard.iml @@ -115,5 +115,6 @@ + \ No newline at end of file diff --git a/productionboard/src/main/java/com/productionboard/controller/StorageController.java b/productionboard/src/main/java/com/productionboard/controller/StorageController.java index 1078d4e..e9ab4ef 100644 --- a/productionboard/src/main/java/com/productionboard/controller/StorageController.java +++ b/productionboard/src/main/java/com/productionboard/controller/StorageController.java @@ -1,5 +1,6 @@ package com.productionboard.controller; +import cn.hutool.http.HttpUtil; import com.productionboard.service.IBaseLocationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -47,10 +48,16 @@ public class StorageController { return prefix; } - /* @GetMapping("/getProductionPlan") + @GetMapping("/getProductionPlan") @ResponseBody() public String productionPlan(){ - String info = + + String urlStr = "http://10.100.71.119:8012/system/NorthWareHouse/getPlanInfo"; + + String param = "{\"StartTime\":\"2018-10-10 09:42:02\",\"EndTime\":\"2018-10-29 09:42:02\",\"StartIndex\":\"0\",\"PageSize\":\"30\"}"; + String response = HttpUtil.post(urlStr,param); + + String info = "{\n" + " \"header\":[\n" + " \"计划型号\",\n" @@ -59,47 +66,12 @@ public class StorageController { + " \"差异值\",\n" + " \"计划进度\"\n" + " ],\n" - + " \"data\":[\n" - + " [\n" - + " \"20210\",\n" - + " \"50\",\n" - + " \"25\",\n" - + " \"25\",\n" - + " \"50%\"\n" - + " ],\n" - + " [\n" - + " \"20210\",\n" - + " \"50\",\n" - + " \"25\",\n" - + " \"25\",\n" - + " \"50%\"\n" - + " ],\n" - + " [\n" - + " \"20210\",\n" - + " \"50\",\n" - + " \"25\",\n" - + " \"25\",\n" - + " \"50%\"\n" - + " ],\n" - + " [\n" - + " \"20210\",\n" - + " \"50\",\n" - + " \"25\",\n" - + " \"25\",\n" - + " \"50%\"\n" - + " ],\n" - + " [\n" - + " \"20210\",\n" - + " \"50\",\n" - + " \"25\",\n" - + " \"25\",\n" - + " \"50%\"\n" - + " ]\n" - + " ]\n" + + " \"data\":\n" + +response + "}"; - + System.out.println(info); return info; - }*/ + } /** * 库存统计 diff --git a/productionboard/src/main/java/com/productionboard/mapper/BaseLocationInfoMapper.java b/productionboard/src/main/java/com/productionboard/mapper/BaseLocationInfoMapper.java index 422c9eb..7c1523a 100644 --- a/productionboard/src/main/java/com/productionboard/mapper/BaseLocationInfoMapper.java +++ b/productionboard/src/main/java/com/productionboard/mapper/BaseLocationInfoMapper.java @@ -3,6 +3,11 @@ package com.productionboard.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.productionboard.entity.BaseLocationInfo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Service; + +import java.util.List; /** *

@@ -15,4 +20,37 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface BaseLocationInfoMapper extends BaseMapper { + @Select( + "select t1.objid, t1.location_code, t1.location_name,\n" + + " NVL(substr(t2.DETIAL_MATERIAL_NAME,instr(t2.DETIAL_MATERIAL_NAME,',',1,1)+1,instr(t2.DETIAL_MATERIAL_NAME,',',1,2)-1-instr(t2.DETIAL_MATERIAL_NAME,',',1,1)),'--') as material_type,\n" + + " t1.store_code, t1.location_area, t1.location_row, t1.location_line,\n" + + " t1.location_tier, t1.location_status, t1.efficiency,\n" + + " t1.delete_flag, t1.record_time\n" + + " from base_location_info t1\n" + + " left join IMOS_TE_BOM @SCADA_DBLINK t2 on t1.MATERIAL_TYPE = t2.DETIAL_MATERIAL_CODE\n" + + "where t1.STORE_CODE = #{STORE_CODE}") + List SelectLocationInfo(@Param("STORE_CODE") String STORE_CODE); + + @Select( + "select * from BASE_LOCATION_INFO where STORE_CODE = #{STORE_CODE} and LOCATION_STATUS = 1") + List SelectInUseLocationInfo(@Param("STORE_CODE") String STORE_CODE); + + @Select( + "select *\n" + + "from (select t1.objid, t1.location_code, t1.location_name,\n" + + " NVL(substr(t2.DETIAL_MATERIAL_NAME,instr(t2.DETIAL_MATERIAL_NAME,',',1,1)+1,instr(t2.DETIAL_MATERIAL_NAME,',',1,2)-1-instr(t2.DETIAL_MATERIAL_NAME,',',1,1)),'--') as material_type,\n" + + " t1.store_code, t1.location_area, t1.location_row, t1.location_line,\n" + + " t1.location_tier, t1.location_status, t1.efficiency,\n" + + " t1.delete_flag, t1.record_time\n" + + " from base_location_info t1\n" + + " left join IMOS_TE_BOM @SCADA_DBLINK t2 on t1.MATERIAL_TYPE = t2.DETIAL_MATERIAL_CODE\n" + + "where t1.LOCATION_STATUS = 1 and t1.DELETE_FLAG = 1) a\n" + + "where a.STORE_CODE = #{STORE_CODE} and a.material_type = #{MATERIAL_TYPE} and a.LOCATION_AREA = #{LOCATION_AREA}") + List SelectLocationInfoByArea( + @Param("STORE_CODE") String STORE_CODE, + @Param("LOCATION_AREA") String LOCATION_AREA, + @Param("MATERIAL_TYPE") String MATERIAL_TYPE); + + @Select("select * from BASE_LOCATION_INFO where STORE_CODE = #{STORE_CODE} and LOCATION_AREA = #{LOCATION_AREA} and LOCATION_STATUS = 1") + List SelectInUseLocationInfoByArea(@Param("STORE_CODE") String STORE_CODE,@Param("LOCATION_AREA") String LOCATION_AREA); } diff --git a/productionboard/src/main/java/com/productionboard/mapper/RecordTaskMapper.java b/productionboard/src/main/java/com/productionboard/mapper/RecordTaskMapper.java index 087a74e..2657066 100644 --- a/productionboard/src/main/java/com/productionboard/mapper/RecordTaskMapper.java +++ b/productionboard/src/main/java/com/productionboard/mapper/RecordTaskMapper.java @@ -1,8 +1,13 @@ package com.productionboard.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.productionboard.entity.MesProduction.PlanInfo; import com.productionboard.entity.RecordTask; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +20,13 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface RecordTaskMapper extends BaseMapper { + @Select( + "select * from RECORD_TASK where to_char(RECORD_TIME, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd') And STORE_CODE = #{STORE_CODE}") + List getRecordTasks(@Param("STORE_CODE") String STORE_CODE); + + @Select("select *\n" + + "from RECORD_TASK\n" + + "where to_char(RECORD_TIME, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')\n" + + " and STORE_CODE = #{STORE_CODE} and LOCATION_AREA = #{LOCATION_AREA} and TASK_TYPE = #{TASK_TYPE}") + List SelectRecordTaskByTaskType(@Param("STORE_CODE") String STORE_CODE,@Param("LOCATION_AREA") String LOCATION_AREA,@Param("TASK_TYPE") String TASK_TYPE); } diff --git a/productionboard/src/main/java/com/productionboard/service/impl/BaseLocationServiceImpl.java b/productionboard/src/main/java/com/productionboard/service/impl/BaseLocationServiceImpl.java index 9eadae4..9344be8 100644 --- a/productionboard/src/main/java/com/productionboard/service/impl/BaseLocationServiceImpl.java +++ b/productionboard/src/main/java/com/productionboard/service/impl/BaseLocationServiceImpl.java @@ -1,5 +1,8 @@ package com.productionboard.service.impl; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -26,123 +29,146 @@ import java.util.stream.Collectors; @Service public class BaseLocationServiceImpl implements IBaseLocationService { - @Autowired - private BaseLocationInfoMapper lcoationMapper; + @Autowired private BaseLocationInfoMapper lcoationMapper; + + @Autowired private RecordTaskMapper recordTaskMapper; + + private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + @Override + public String getStoreStatistics(String ids) { + String STORE_CODE = "A"; + QueryWrapper wrapper = new QueryWrapper<>(); + switch (ids) { + case "0": + wrapper.eq("STORE_CODE", "B"); + STORE_CODE = "B"; + break; + case "1": + wrapper.eq("STORE_CODE", "A"); + STORE_CODE = "A"; + break; + default: + break; + } + + List baseLocationInfos = lcoationMapper.SelectLocationInfo(STORE_CODE); + List materialType = + baseLocationInfos.stream() + .map(BaseLocationInfo::getMaterialType) + .distinct() + .collect(Collectors.toList()); + + Map> collect = + baseLocationInfos.stream() + .collect(Collectors.groupingBy(BaseLocationInfo::getMaterialType)); + List result = new ArrayList<>(); + + for (String item : materialType) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("materialName",item); + jsonObject.put("lineStoreAmount",lcoationMapper.SelectLocationInfoByArea(STORE_CODE,"1",item).size()); + jsonObject.put("hullStoreAmount",lcoationMapper.SelectLocationInfoByArea(STORE_CODE,"2",item).size()); + result.add(jsonObject); + } + + + String s = JSONArray.toJSONString(result); + System.out.println("物料库存统计:" + s); + return s; + } + + @Override + public String getParamJson(String ids) { - @Autowired - private RecordTaskMapper recordTaskMapper; + String urlStr = "http://10.100.71.119:8012/system/NorthWareHouse/getStoreInfo"; - private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + switch (ids) { + case "0": + urlStr = "http://10.100.71.119:8012/system/NorthWareHouse/getStoreInfo"; + break; + case "1": + urlStr = "http://10.100.71.119:8012/system/SouthWareHouse/getStoreInfo"; + break; + default: + break; + } + + String param = + "{\"StartTime\":\"2018-10-10 09:42:02\",\"EndTime\":\"2018-10-29 09:42:02\",\"StartIndex\":\"0\",\"PageSize\":\"30\"}"; + String response = HttpUtil.post(urlStr, param); + return response; - @Override - public String getStoreStatistics(String ids) { - QueryWrapper wrapper = new QueryWrapper<>(); + /*String[] result =new String[12]; + String STORE_CODE = "A"; + try{ + QueryWrapper locationWrapper = new QueryWrapper(); + QueryWrapper taskWrapper = new QueryWrapper<>(); switch (ids) { case"0": - wrapper.eq("STORE_CODE","B"); + locationWrapper.eq("STORE_CODE","B"); + STORE_CODE = "B"; break; case"1": - wrapper.eq("STORE_CODE","A"); + locationWrapper.eq("STORE_CODE","A"); + STORE_CODE = "A"; break; default: break; } - List baseLocationInfos = lcoationMapper.selectList(wrapper); - Map> collect = baseLocationInfos.stream().collect(Collectors.groupingBy(BaseLocationInfo::getMaterialType)); - List result = new ArrayList<>(); - - for (String item : collect.keySet()) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("materialName",item); - jsonObject.put("lineStoreAmount",collect.get(item).stream().filter(x->x.getLocationArea().equals("1")).collect(Collectors.toList()).size()); - jsonObject.put("hullStoreAmount",collect.get(item).stream().filter(x->x.getLocationArea().equals("2")).collect(Collectors.toList()).size()); - result.add(jsonObject); + int inAmount1 = recordTaskMapper.SelectRecordTaskByTaskType("A", "1", "1").size(); + int outAmount1 = recordTaskMapper.SelectRecordTaskByTaskType("A", "1", "2").size(); + //2号库入库数量、出库数量:1入库2出库 + int inAmount2 = recordTaskMapper.SelectRecordTaskByTaskType("A", "2", "1").size(); + int outAmount2 = recordTaskMapper.SelectRecordTaskByTaskType("A", "2", "2").size(); + result[0] = inAmount1+""; + result[1] = outAmount1+""; + result[2] = inAmount2+""; + result[3] = outAmount2+""; + + List baseLocationInfos = lcoationMapper.selectList(locationWrapper); + if(baseLocationInfos.size() > 0){ + + //正在使用 + int inUse = lcoationMapper.SelectInUseLocationInfo(STORE_CODE).size(); + System.out.println("正在使用:"+inUse); + //未使用 + int unUse = baseLocationInfos.size() - inUse; + + //1#正在使用 + int size1 = baseLocationInfos.stream().filter(x -> x.getLocationArea().equals("1")).collect(Collectors.toList()).size(); + int size2 = baseLocationInfos.stream().filter(x -> x.getLocationArea().equals("2")).collect(Collectors.toList()).size(); + int inUse1 = lcoationMapper.SelectInUseLocationInfoByArea(STORE_CODE,"1").size(); + int inUse2 = lcoationMapper.SelectInUseLocationInfoByArea(STORE_CODE,"2").size(); + int unUse1 = size1 - inUse1; + int unUse2 = size2 - inUse2; + + result[4] = inUse1+""; + result[5] = unUse1+""; + result[6] = inUse2+""; + result[7] = unUse2+""; + result[8] = unUse+""; + + // 创建一个数值格式化对象 + NumberFormat numberFormat = NumberFormat.getInstance(); + // 设置精确到小数点后2位 + numberFormat.setMaximumFractionDigits(2); + String unUsePercentage = numberFormat.format((float)unUse/(float)baseLocationInfos.size()*100); + System.out.println("diliverNum和queryMailNum的百分比为:" + result + "%"); + result[9] = unUsePercentage+"%"; + result[10] = inUse+""; + String inUsePercentage = numberFormat.format((float)inUse/(float)baseLocationInfos.size()*100); + result[11] = inUsePercentage+"%"; } - String s = JSONArray.toJSONString(result); - System.out.println("物料库存统计:"+s); - return s; + }catch (Exception e){ + System.out.println("门体库参数统计getParamJson异常:"+e.getMessage()); + for (int i = 0; i < 12; i++) { + // + result[i] = i+""; + } } - @Override - public String getParamJson(String ids) { - String[] result =new String[12]; - - try{ - QueryWrapper locationWrapper = new QueryWrapper(); - QueryWrapper taskWrapper = new QueryWrapper<>(); - switch (ids) { - case"0": - locationWrapper.eq("STORE_CODE","B"); - taskWrapper.eq("STORE_CODE","B"); - break; - case"1": - locationWrapper.eq("STORE_CODE","A"); - taskWrapper.eq("STORE_CODE","A"); - break; - default: - break; - } - taskWrapper.like("RECORD_TIME",simpleDateFormat.format(new Date())); - - List recordTasks = recordTaskMapper.selectList(taskWrapper); - - if(recordTasks.size()>0){ - //1号库入库数量、出库数量:1入库2出库 - int inAmount1 = recordTasks.stream().filter(x -> x.getLocationArea().equals("1") && x.getTaskType().equals("1")).collect(Collectors.toList()).size(); - int outAmount1 = recordTasks.stream().filter(x -> x.getLocationArea().equals("1") && x.getTaskType().equals("2")).collect(Collectors.toList()).size(); - //2号库入库数量、出库数量:1入库2出库 - int inAmount2 = recordTasks.stream().filter(x -> x.getLocationArea().equals("2") && x.getTaskType().equals("1")).collect(Collectors.toList()).size(); - int outAmount2 = recordTasks.stream().filter(x -> x.getLocationArea().equals("2") && x.getTaskType().equals("2")).collect(Collectors.toList()).size(); - result[0] = inAmount1+""; - result[1] = outAmount1+""; - result[2] = inAmount2+""; - result[3] = outAmount2+""; - - } - - List baseLocationInfos = lcoationMapper.selectList(locationWrapper); - if(baseLocationInfos.size() > 0){ - - //正在使用 - int inUse = baseLocationInfos.stream().filter(x -> x.getLocationStatus() == 1L).collect(Collectors.toList()).size(); - System.out.println("正在使用:"+inUse); - //未使用 - int unUse = baseLocationInfos.size() - inUse; - - //1#正在使用 - int size1 = baseLocationInfos.stream().filter(x -> x.getLocationArea().equals("1")).collect(Collectors.toList()).size(); - int size2 = baseLocationInfos.stream().filter(x -> x.getLocationArea().equals("2")).collect(Collectors.toList()).size(); - int inUse1 = baseLocationInfos.stream().filter(x -> x.getLocationArea().equals("1") && x.getLocationStatus().equals("1")).collect(Collectors.toList()).size(); - int inUse2 = baseLocationInfos.stream().filter(x -> x.getLocationArea().equals("2") && x.getLocationStatus().equals("1")).collect(Collectors.toList()).size(); - int unUse1 = size1 - inUse1; - int unUse2 = size2 - inUse2; - - result[4] = inUse1+""; - result[5] = unUse1+""; - result[6] = inUse2+""; - result[7] = unUse2+""; - result[8] = unUse+""; - - // 创建一个数值格式化对象 - NumberFormat numberFormat = NumberFormat.getInstance(); - // 设置精确到小数点后2位 - numberFormat.setMaximumFractionDigits(2); - String unUsePercentage = numberFormat.format((float)unUse/(float)baseLocationInfos.size()*100); - System.out.println("diliverNum和queryMailNum的百分比为:" + result + "%"); - result[9] = unUsePercentage+"%"; - result[10] = inUse+""; - String inUsePercentage = numberFormat.format((float)inUse/(float)baseLocationInfos.size()*100); - result[11] = inUsePercentage+"%"; - } - }catch (Exception e){ - System.out.println("门体库参数统计getParamJson异常:"+e.getMessage()); - for (int i = 0; i < 12; i++) { - // - result[i] = i+""; - } - } - - return JSONArray.toJSONString(result); - } + return JSONArray.toJSONString(result);*/ + } } diff --git a/productionboard/src/main/resources/static/js/common/echarts.common.js b/productionboard/src/main/resources/static/js/common/echarts.common.js index 95169cf..742fff8 100644 --- a/productionboard/src/main/resources/static/js/common/echarts.common.js +++ b/productionboard/src/main/resources/static/js/common/echarts.common.js @@ -1191,16 +1191,6 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { let lineWidth = 1; let isDataZoom = xValue.length > 3 let stepSize = 1 / (xValue.length / 3) * 100 - // hullStoreAmount.forEach((val, index) => { - // if (val == 0) { - // hullStoreAmount[index] = 0 - // } - // }) - // lineStoreAmount.forEach((val, index) => { - // if (val == 0) { - // lineStoreAmount[index] = 0 - // } - // }) let option = { grid: { left: "0%", @@ -1226,7 +1216,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { color: "#fff", fontSize: fontSize, }, - data: ["箱壳库", "内胆库"], + data: ["内胆库", "箱壳库"], }, xAxis: [ { @@ -1328,59 +1318,6 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { color: "#26B2E8", data: hullStoreAmount, }, - // { - // // 左侧下内圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolSize: function (val) { - // if (val == 0) { - // return [0, 0] - // }else{ - // return [37, 20] - // } - // }, - // symbolOffset: [-39, 20], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#2EA9E5", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // - // data: hullStoreAmount, - // }, - // { - // // 左侧下外圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolSize: function (val) { - // if (val == 0) { - // return [0, 0] - // }else{ - // return [50, 25] - // } - // }, - // symbolOffset: [-39, 25], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#26B2E8", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // data: hullStoreAmount, - // }, { // 左侧下圆片 name: "", @@ -1396,7 +1333,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { }, { type: "bar", - name: "箱壳库", + name: "内胆库", barWidth: "26", barGap: "200%", barCateGoryGap: "10%", @@ -1441,54 +1378,6 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { color: "#20D3AB", data: lineStoreAmount, }, - // { - // // 右柱下内圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolPosition:'start', - // symbolSize: function (val,data) { - // console.log(val) - // if (!lineStoreAmount[data.dataIndex] > 0) return [0, 0] - // return [37, 20] - // }, - // symbolOffset: [39, 20], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#20D3AB", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // data: hullStoreAmount, - // }, - // { - // // 右柱下外圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolSize: function (val,data) { - // if (!lineStoreAmount[data.dataIndex] > 0) return [0, 0] - // return [50, 25] - // }, - // symbolOffset: [39, 25], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#20D3AB", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // data: hullStoreAmount, - // }, { // 右柱下圆片 name: "", @@ -1504,7 +1393,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { }, { type: "bar", - name: "内胆库", + name: "箱壳库", barWidth: "26", barGap: "200%", barCateGoryGap: "10%", diff --git a/productionboard/src/main/resources/static/js/storage/index.js b/productionboard/src/main/resources/static/js/storage/index.js index f4b81ff..9157a5d 100644 --- a/productionboard/src/main/resources/static/js/storage/index.js +++ b/productionboard/src/main/resources/static/js/storage/index.js @@ -27,24 +27,39 @@ $(()=>{ tableAnimation('#productionPlan') //当前库存统计 - $.getJSON(`/storage/getStoreStatistics?ids=${ids}`, function (result) { - multipleThreeDimensionalCylindrical(result, document.getElementById("theCurrentInventory")); + $.getJSON('/tankShell/getMaterialStoreJson', function (result) { + multipleThreeDimensionalCylindrical(result,document.getElementById("theCurrentInventory")); }); + //库位参数 $.getJSON(`/storage/getParamJson?ids=${ids}`, function (result) { + + console.log(result); + //单日出入库统计 - storageStatistics(result[0] == null ? 0 : result[0],result[1] == null ? 0 : result[1],result[2] == null ? 0 : result[2],result[3] == null ? 0 : result[3]); + storageStatistics(result.inStoreLeftCount,result.outStoreLeftCount,result.inStoreRightCount,result.outStoreRightCount); //库存统计 - $("#emptyLocation-left").text(result[4] == null ? 0 : result[4]); - $("#haveUsedLocation-left").text(result[6] == null ? 0 : result[5]); - $("#emptyLocation-right").text(result[5] == null ? 0 : result[6]); - $("#haveUsedLocation-right").text(result[7] == null ? 0 : result[7]); + $("#emptyLocation-left").text(result.freeStoreLeftCount); + $("#haveUsedLocation-left").text(result.useStoreLeftCount); + $("#emptyLocation-right").text(result.freeStoreRightCount); + $("#haveUsedLocation-right").text(result.useStoreRightCount); //库位占比 - $("#emptyLocationNumber").text(result[8] == null ? 0 : result[8]); - $("#emptyLocationRatio").text(result[9] == null ? 0 : result[9]); - $("#haveUsedLocationNumber").text(result[10] == null ? 0 : result[10]); - $("#haveUsedLocationRatio").text(result[11] == null ? 0 : result[11]); + $("#emptyLocationNumber").text(result.freeStoreCount); + $("#emptyLocationRatio").text(GetPercent(result.freeStoreCount,312)); + $("#haveUsedLocationNumber").text(result.useStoreCount); + $("#haveUsedLocationRatio").text(GetPercent(result.useStoreCount,312)); }); + + //百分比 + function GetPercent(num, total) { + num = parseFloat(num); + total = parseFloat(total); + if (isNaN(num) || isNaN(total)) { + return "-"; + } + return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00)+"%"; + } + }) \ No newline at end of file diff --git a/productionboard/target/classes/com/productionboard/controller/StorageController.class b/productionboard/target/classes/com/productionboard/controller/StorageController.class index a67def66478662d62463d6d144d0e8442da09be1..0e4512878453fb73c7cb5c24178b34c5a3f06cce 100644 GIT binary patch literal 2974 zcmb7GYi|@)7=C7V+r4y`!g3R+QbvJZww>Klq1^&X5$IxX(o#f3o!vcc2X<$cnOU$B z65|(1G{KM<6HQF~q905M8f_7Ye)oSY!9QVq&g^EpZ5PmO=bSm0_j#Z9a^5q4{qyh- z0E2KM*nv|aoDO3<&V(=)K?Y|dcoX9xOoT8Q!4#&0cq@X4+;>j)Ga<~%{(Km7xDdhH zxG2TnX~QMFE1Szfycfj#3fc=+PInE2TQ7W~n7qh~i)yYK)lW$>8w+%V2O$OXWgXEf9o3l*Uwh9GdQ=4V$3*uyb zhKgGZGcU;Ma95_OZDm87AeX{~UK;6c#@uJ*6(|{UE*ABYf_=}0Q4pJP_1slL)(qG@ zA>2hPKdnoby27S0gH2&>h^&?+<3=Z+5iXHRRX?h0gI7mf6UD>-8T*{LRu+!y!ANIa z*9&DvVbf|#O*4)Pwskf2O>5aMFvJurNz)XBY~hqF(;-H{Fy}1>R9g`4bUj0>aQ}y3 z6>rqaFOguJU^2>r4t5R4HF9+2fv$~lYf9H|~%i1{cMu&7|?`g${3 zHVS#cw7h#W(#fB?D0Gh1^d)cTO+C5yUFG)O%D10Y?yRVZ_4ALvy#M#7cQ_votCf47 zKfe7%eMU;lpITYDS9$bF<>N;i#h?87P37VDs)u^H3a;jLS69=KC=6U-LAe#hRiuI_ zL{WqpgcU^z*P_^o7lN>(7{YKA$1toQ*{sGttLiD(yy}su>=lu76>M3Z%9yTLknRb3 z$9-y^Iop+KJTbK$JaBuP-3JXdlLft0Cj3z28La9YX*iX&nMNJ8DTXg+YKy!`tb!)9 zP8(x$-Zcs=AxzQr*tHv_0lPNSh`oC4uy6{K1-!43-%}-Oi9@?Xu2tQ&#+fr-?$c&V z+Pu9=!mzYy-f}D;w$O`|-Rik|?KGV&FIBg|O0vBf7hZ}@1O2Sa9Q*j8u!El-KK?Or zz{{PZR`$ESSsrxuEgZ8Bu-(hiF!w6#+j>@@^u&F?!vB-Exsz>#i@-Jn2(*uH(dt&H zc$p&wuV6pdB+S?F^A9+-=SQ}{5k68@{`T;ZD!LQ#fd2tnmeG3Q2W;UeP#^hweu4i! zH~G=Yb~jlA2gtVz2hoil^x{<{cnp#rkK@9sz~2#zQ4|RK zxC2~6-6sjY_wm^z9njB5bG$wDJW@oEW_`uJg?%a>9FK=4dJ_*2p8Oq=iz{f0N0$-n z;}hS+W*P12z|YvcE3k|$y8_Y_UxO(}NO+h=rRl??R5M168PAl#s)Cv+e$EfjY^9LB$ysm^pdqb{W`MeABEO0_8JPFdgqL`33}M$?vdVWqD?X72@TNNiZx z+1Odxdjt<4zB8mGB62ckzW@FAKbO8|Px9&g{sBN7t2*2m)ev_w7H9AstdNXc3;C274VkLfzpOE8P2{K@X&el(NY+dnl>gIWoCAz#dt zGWp!vo{D(`3s_XKWMCO91`L=g(gu3aYaoJNYuov1?Km4Q&iye2IoVA-nTLsxP)*Cp zzsL5nJ^v2coX*>8U1|PE1ARIxK%WCmXrwY21$+5ugSr_ljCrj$ZKEvmTi6wZ@S~3> zgfLHnJQIl8^#Lf1r@rciYGtnInL-=dIjw`b3X0z}5ukL*%m8DkFbAnSg)OtNi(hw9 ziqjn7sw5h<>hF7Vp8A{{w)F{02DVfbzcp1OEdIBHV2+H)P*Y`>_P$Fzt~FXY2#s C13uRP diff --git a/productionboard/target/classes/com/productionboard/mapper/BaseLocationInfoMapper.class b/productionboard/target/classes/com/productionboard/mapper/BaseLocationInfoMapper.class index 7a4ee2635e5cb681c4ad178d2cc7c28450f66e14..495f6ebf65be0d1bb4a889da7a825e6174c4f2d1 100644 GIT binary patch literal 3045 zcmeHJZ*SW~7=JGP6B<_7Mn^Zsz;uH)kk(3tcvC<)jSCS@GS%6ni5J$zxujP)zUX{j z6`}FLc)?Pa2h0jXp|l?e91~*^v%~ zq3Q>sf6fQBWEac==YoeutKD_Ip6xZdZR02R*lJo{v*ENlzZ&Y$5Mh$# zEKj{>k8R@zd~qd%Nl8~O&X{D$fxOI7`{D2T;|l^i#iGpGqfnh+zM(qxDJ;(Iv`ky! zlVbT3cs487uMHiIhUMCx(>=C&t!~F_bxyiQiZ;jgGE{?x10y@)_N?9$7j^0c?xwfS z_giCXVI>gwWkDlfWs9ql1^ls@-EE!P7Jet z)^YEcA?5ZWGh{WL_ml23tevLq*vLaCj`efWW=P00LZPqW6MdK-6o^|la-msX%+#{m zlaA7A1qrg#gS54;5XxnLf45ZAE$C+UzYbozH{p-V-h4~E_liipnjGaExpn*JI6WQd z!KF{dm=8p3j;DIsm;`ZT;+2IsYjT$-d^A9iYsF2vlAZRFm?asVJNkFkPK~a z9(+<|{I=8=jazeA=jlH^gfm}07^c1xKp)5EHJo23K%j(c1*g%~RRXK9hHD+4)(DjG z?>$^4*nkTDe}Ibb7PQD;mKT-f{<5 zisa)3NVc`1os~Hx`F1Pc-a&kK;oi*rMkzC&n*L;g>HFIBb`qjXC-dzVhAln%DLg=g OCHPF6SVxu50saFqb#SWy delta 79 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 literal 9688 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 { let Res = {} Res.data=res.map(val => { - return [val.spe,val.oq,val.aq,val.cha,val.round,] + return [val["spe"],val["oq"],val["aq"],val["cha"],val.round,] }) Res.header = ['型号', '计划数', '完成数', '差异数', '执行进度'] dynamicTable({ @@ -51,7 +51,7 @@ $(() => { header: Res.header, data: Res.data, index: false, - fontColor: '#B4B7BF ', + fontColor: '#B4B7BF', indexBGC: '#86F3FF', headerBGC: 'rgba(8,36,75,0.2)', oddRowBGC: 'rgba(8,36,75,0.2)', diff --git a/productionboard/target/classes/static/js/common/echarts.common.js b/productionboard/target/classes/static/js/common/echarts.common.js index dd3d183..742fff8 100644 --- a/productionboard/target/classes/static/js/common/echarts.common.js +++ b/productionboard/target/classes/static/js/common/echarts.common.js @@ -1191,16 +1191,6 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { let lineWidth = 1; let isDataZoom = xValue.length > 3 let stepSize = 1 / (xValue.length / 3) * 100 - // hullStoreAmount.forEach((val, index) => { - // if (val == 0) { - // hullStoreAmount[index] = 0 - // } - // }) - // lineStoreAmount.forEach((val, index) => { - // if (val == 0) { - // lineStoreAmount[index] = 0 - // } - // }) let option = { grid: { left: "0%", @@ -1328,59 +1318,6 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { color: "#26B2E8", data: hullStoreAmount, }, - // { - // // 左侧下内圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolSize: function (val) { - // if (val == 0) { - // return [0, 0] - // }else{ - // return [37, 20] - // } - // }, - // symbolOffset: [-39, 20], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#2EA9E5", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // - // data: hullStoreAmount, - // }, - // { - // // 左侧下外圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolSize: function (val) { - // if (val == 0) { - // return [0, 0] - // }else{ - // return [50, 25] - // } - // }, - // symbolOffset: [-39, 25], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#26B2E8", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // data: hullStoreAmount, - // }, { // 左侧下圆片 name: "", @@ -1396,7 +1333,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { }, { type: "bar", - name: "箱壳库", + name: "内胆库", barWidth: "26", barGap: "200%", barCateGoryGap: "10%", @@ -1441,54 +1378,6 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { color: "#20D3AB", data: lineStoreAmount, }, - // { - // // 右柱下内圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolPosition:'start', - // symbolSize: function (val,data) { - // console.log(val) - // if (!lineStoreAmount[data.dataIndex] > 0) return [0, 0] - // return [37, 20] - // }, - // symbolOffset: [39, 20], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#20D3AB", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // data: hullStoreAmount, - // }, - // { - // // 右柱下外圈 - // name: "", - // type: "pictorialBar", - // tooltip: { - // show: false, - // }, - // symbolSize: function (val,data) { - // if (!lineStoreAmount[data.dataIndex] > 0) return [0, 0] - // return [50, 25] - // }, - // symbolOffset: [39, 25], - // z: 10, - // itemStyle: { - // normal: { - // color: "transparent", - // borderColor: "#20D3AB", - // borderType: "solid", - // borderWidth: 20, - // }, - // }, - // data: hullStoreAmount, - // }, { // 右柱下圆片 name: "", @@ -1504,7 +1393,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { }, { type: "bar", - name: "内胆库", + name: "箱壳库", barWidth: "26", barGap: "200%", barCateGoryGap: "10%", diff --git a/productionboard/target/classes/static/js/foamBox/index.js b/productionboard/target/classes/static/js/foamBox/index.js index a920f1b..710886f 100644 --- a/productionboard/target/classes/static/js/foamBox/index.js +++ b/productionboard/target/classes/static/js/foamBox/index.js @@ -119,16 +119,14 @@ $(() => { }) const deviceStatus = (statusArray) => { - let info = ` - - - - - - - - -
`; + let info = ` + + + + + + +`; $(".foamingLineRunStatus table tr").append(info); diff --git a/productionboard/target/classes/static/js/storage/index.js b/productionboard/target/classes/static/js/storage/index.js index f4b81ff..9157a5d 100644 --- a/productionboard/target/classes/static/js/storage/index.js +++ b/productionboard/target/classes/static/js/storage/index.js @@ -27,24 +27,39 @@ $(()=>{ tableAnimation('#productionPlan') //当前库存统计 - $.getJSON(`/storage/getStoreStatistics?ids=${ids}`, function (result) { - multipleThreeDimensionalCylindrical(result, document.getElementById("theCurrentInventory")); + $.getJSON('/tankShell/getMaterialStoreJson', function (result) { + multipleThreeDimensionalCylindrical(result,document.getElementById("theCurrentInventory")); }); + //库位参数 $.getJSON(`/storage/getParamJson?ids=${ids}`, function (result) { + + console.log(result); + //单日出入库统计 - storageStatistics(result[0] == null ? 0 : result[0],result[1] == null ? 0 : result[1],result[2] == null ? 0 : result[2],result[3] == null ? 0 : result[3]); + storageStatistics(result.inStoreLeftCount,result.outStoreLeftCount,result.inStoreRightCount,result.outStoreRightCount); //库存统计 - $("#emptyLocation-left").text(result[4] == null ? 0 : result[4]); - $("#haveUsedLocation-left").text(result[6] == null ? 0 : result[5]); - $("#emptyLocation-right").text(result[5] == null ? 0 : result[6]); - $("#haveUsedLocation-right").text(result[7] == null ? 0 : result[7]); + $("#emptyLocation-left").text(result.freeStoreLeftCount); + $("#haveUsedLocation-left").text(result.useStoreLeftCount); + $("#emptyLocation-right").text(result.freeStoreRightCount); + $("#haveUsedLocation-right").text(result.useStoreRightCount); //库位占比 - $("#emptyLocationNumber").text(result[8] == null ? 0 : result[8]); - $("#emptyLocationRatio").text(result[9] == null ? 0 : result[9]); - $("#haveUsedLocationNumber").text(result[10] == null ? 0 : result[10]); - $("#haveUsedLocationRatio").text(result[11] == null ? 0 : result[11]); + $("#emptyLocationNumber").text(result.freeStoreCount); + $("#emptyLocationRatio").text(GetPercent(result.freeStoreCount,312)); + $("#haveUsedLocationNumber").text(result.useStoreCount); + $("#haveUsedLocationRatio").text(GetPercent(result.useStoreCount,312)); }); + + //百分比 + function GetPercent(num, total) { + num = parseFloat(num); + total = parseFloat(total); + if (isNaN(num) || isNaN(total)) { + return "-"; + } + return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00)+"%"; + } + }) \ No newline at end of file diff --git a/visualboard.iml b/visualboard.iml index 3aaa796..db0ef63 100644 --- a/visualboard.iml +++ b/visualboard.iml @@ -115,5 +115,6 @@ + \ No newline at end of file From 86c3a7f48413b573d9c38f77f283b729394e8a8d Mon Sep 17 00:00:00 2001 From: wangh <123456> Date: Wed, 2 Nov 2022 10:35:48 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E9=93=9D=E5=86=85?= =?UTF-8?q?=E8=83=86=E8=AE=BE=E5=A4=87=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PreassembleController.java | 13 +++++++------ .../MesMaterialStoreStatisticsMapper.java | 1 - .../impl/MesProductionDataServiceImpl.java | 2 +- .../controller/PreassembleController.class | Bin 4695 -> 3750 bytes .../impl/MesProductionDataServiceImpl.class | Bin 9857 -> 10046 bytes .../classes/static/css/foamBox/style.css | 5 ----- .../classes/static/js/aluminumLiner/index.js | 4 ++-- .../static/js/common/echarts.common.js | 2 +- .../target/classes/static/js/foamBox/index.js | 18 ++++++++---------- 9 files changed, 19 insertions(+), 26 deletions(-) diff --git a/productionboard/src/main/java/com/productionboard/controller/PreassembleController.java b/productionboard/src/main/java/com/productionboard/controller/PreassembleController.java index 878cb92..d51eb31 100644 --- a/productionboard/src/main/java/com/productionboard/controller/PreassembleController.java +++ b/productionboard/src/main/java/com/productionboard/controller/PreassembleController.java @@ -99,17 +99,18 @@ public class PreassembleController { @GetMapping("/getMaterialStoreJson") @ResponseBody public String getMesMaterialStoreStatisticsJson(){ - List mesMaterialStoreStatisticsList = iMesProductionDataService.getMesMaterialStoreStatisticsList("1004"); + List mesMaterialStoreStatisticsList = + iMesProductionDataService.getMesMaterialStoreStatisticsList("1004"); return JSONArray.toJSONString(mesMaterialStoreStatisticsList); } - /** + /* *//** * 根据型号统计产量 * * @author WenJY * @date 2022/4/20 10:15 * @return java.lang.String - */ + *//* @GetMapping("/getStatisticalOutputByModel") @ResponseBody public String getStatisticalOutputByModel() { @@ -127,13 +128,13 @@ public class PreassembleController { return info; } - /** + *//** * 库存 统计 * * @author WenJY * @date 2022/4/20 10:16 * @return java.lang.String - */ + *//* @GetMapping("/getInventoryStatistics") @ResponseBody public String getInventoryStatistics() { @@ -155,5 +156,5 @@ public class PreassembleController { + " ]\n" + "}"; return info; - } + }*/ } diff --git a/productionboard/src/main/java/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.java b/productionboard/src/main/java/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.java index 461c242..2052afa 100644 --- a/productionboard/src/main/java/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.java +++ b/productionboard/src/main/java/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.java @@ -68,7 +68,6 @@ public interface MesMaterialStoreStatisticsMapper extends BaseMapper getAdsorptionTankStoreStatistics4(@Param("in_id") Integer in_id); @Select("select * from table ( scada_adsorb_fault(#{in_id}) )") List selectDeviceFaultByType1005(int in_id); diff --git a/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java b/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java index 81e6b97..22648bb 100644 --- a/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java +++ b/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java @@ -165,7 +165,7 @@ public class MesProductionDataServiceImpl implements IMesProductionDataService { public List getMesMaterialStoreStatisticsList(String locationNumber) { List mesMaterialStoreStatistics = new ArrayList<>(); - + System.out.println("数据切换标志: "+this.in_id); switch (locationNumber) { case "1001": mesMaterialStoreStatistics = materialStoreStatisticsMapper.getAdsorptionTankStoreStatistics(this.in_id); diff --git a/productionboard/target/classes/com/productionboard/controller/PreassembleController.class b/productionboard/target/classes/com/productionboard/controller/PreassembleController.class index 848fb81b5512c6499d9820db5aeafc58346c79e8..f8a09d906137245c23a07af30daaf13d8032a6ad 100644 GIT binary patch delta 1051 zcmZ{i$xqW!5XV2S3%~l~NzoWlTtLJP&=x^la6xdxT~XYZ0tJh;Y6}7`)CI+T`<+ZY zdGKbU(UXZD)RQM~UcGVg56}R{d2P|Cm?rPdeBaD`W~RT-#ZRXtKmK_A7O2FrDWt*2 zt}zs_+Z>HP_GGh{ec9~ifH@9Y9P)A4W(-Hnanwi1rio_bv{-~~a%r$>rOjB!d_>IM zZjR$7CTeqnn6Vm6<&#z(r);LAz0*dDTO=$xUOfKfvN{E4apq;heaGc=Wj(2x!(7F< zQ}J*pkqDn?iiQJ`SWCEDGmF`p85Aiz<-uU3MVF?V9*a)RSfJf* zimZW0ZwBr?)AW+mTqK}SL5oY8%Usd)86mGdbS4ythGK1jhK_h7)>hjYiME8L#jBcY z^lPqjLxH((YHktG+$L#pM{}2Zn)~!P!`7ti2lQwj(xa%97A83FRpHBb_Mj_JAUg+_ z{G@plGsVl2yEvuFR2g3e7j>TVb?nq+iDIR$(xgeQ6j8n#7E&Rl zt63t-BHV13;#FdKB&Ii0S`%lnL@1VuYI;s9%fzY{B_HoF6&A}aR@7On9Kx^6{hc|f z&5Rd9P-0gdKqaWjVYMVFYSTSBAN*C)*r0#PA=B7I2}VAQ^h&fWtL`tfQPyP8KGYET zf*u95Hp5w$;Usd4n#~S#WK3w3UG9}Z_NR84rjGkX^|Jmis!=uw)$IAtf$B4yjTz3j r+@h}Ee|D=d+Wy1X^bcbbn@44ANike(6}pRUzq;5i{tn4VuXg883NneW literal 4695 zcmb_fYjYFV8GhCmB#RBkA~rE3t`P|}Sn=AHd?&QV6k=){7g0zcG+9ZCzIP4EzlQUa!ydKA$7``6E zT?PHdvT#;yt5_+xhGm}7T|Fo4O`{+bOf40x4Xqq3<}KYWYL36GEw)meqt%NQ(=|54 zWy3M@B{6TBma9wqj)LhW%U;)*(EiZJ_(bn{WYuQ_x9w=z@71z3L z*rG_Yd&;(0GhS1WT)L@m>RL%R*R`B0Ey>lBhH1E`6toW=zpS8R!74I{?j^$%E0vAB zurKMvB9*OzUb?K?h8$NXJKP%v!A(YnT(C^nwn`;oYpb@<9Y<_Xb0L_e^G?Go3L<-a z=y(*iY-G^4MPAEOF&ytX;V$dtvL90Kx^OQEeIqB?b6lg~oOdi!LC=P88s`<9jD#+@ z5AK%Muvc=_sLcQpWwJTHVR7RWD2obI?nOl})uwuPxLhJ41^fMQE3Q$}PB^Ptnt3B&KkSe0jSV!yCLlF}%s`*wjlE?scEmg2BmMZ^%XAlzDK)X{)$J zmjg8Tyj8KiJ0p*D^WF@Qs1^b~V^@okUlv$g=CCX0Ig%tABS= zwr<{H5lGDrj-^wMUp-T^socW&_*5#L^75NpoRNQb(~+9v&6?9;&C%@4)MyLMOta=p zNOOEh#_MVFC2JMwA`t$i2Y2_ro?yT8 zFq-awKFNQ|WLH9NN%q7zDQjE|n4g*$8Jh~$!h8giJFJn$#>K!|c6uZ;5v=XTT1Fm( zK*MuYvo#as>I3gvr(7k)7l#r`TAA3kiRJkto!@w=i1M#AsN3VQ!o+b?Nj?l z1y3-kG1E8pD884chx`H*ZvCnqSGWb~aE#ZP_t*)tlWC_p7RRB*aBJqr!J?@;!d)n_ zsaxT$D_D(m5EaPoa*ga#=zlfTUG>!2Tr^#=E^GzyvTi$qLkTn@M268#GxH5SnZE}f z6)ZeA7^$9TQRrZ#l;6WPQkX>+m&VBb-Ki!s!h1H#-wp_M`M7JB?Eo4&oO(6% z56Ch9?9>Wz{ijW{;3u~e(io2LKgHi}ZTx3Ff`Vr_+QauTZNV-Wqb~EG(%Yy z1?)ZXA(Ruzw!fhLPo8j^&jc5Neso{}&+<$4MKJ=6BL$-vql7f0aU{)jp7=A`Kj23j zqygz0#8Ox8tSZ-#jdNW=re;V<(ODZLvCik<9eU7t|SbyduznJPGf;{3eMDcWRDt)|vd=(s2D2`A%KN|7OT(?IyKTk diff --git a/productionboard/target/classes/com/productionboard/service/impl/MesProductionDataServiceImpl.class b/productionboard/target/classes/com/productionboard/service/impl/MesProductionDataServiceImpl.class index d1c8388d5590c4f3381c6a9ae7ba4a413e279bd3..52c4ede32adb8a57fabd20e65aa8723fb810fd9d 100644 GIT binary patch delta 2959 zcmai030PEB7(M@N?=kZl*(Oi~K`{Zr0k;$)mlo5&OhToVA<slf#>kNf)|`f#(EVmO8Jt&%L1=B z@hVI%D4|)_z)ktO7Jm0ap6;Z zCh)m}FPs>OFI9Xcp6v(Co_gqT^rOMKqC+KNi= znCfcZ{DO*_S{|+8SNuk>`v~+V&r7>MCkDJLO%vJ9?5kZ+J(^gjT zlX#+7n$mE$XM$x_{MGt5@k{;VIa3J}pm3&gAaK2qqtLCYGoRWTw<%|F}aI8Ft zR6N9C{RrCdDE`JqJ`5hGNNlDQY@t+arD51cBhXCa(Lx2-LFZv7mEu_=pUp%q3pr0^ zp%|dEv9xOp7|b#w24(>XaJS>4PMPX5uj693zP#rAWjI*2h~4Jh%qevaSTaM6($q#+w*gNxgQAr}5xlFg@MU)*K*c&ynq ztj=x3Erp)Zk(4*`Gj75v?q14q_W~mLTmYJbP86^ML-{geYZ$LP+cDhFM@3c>jwjrT zRa_ZCcnTwPZ9VxPK<I*o%#F#PGp{YH)7OqyVUZf=ICh)#=FPv zaZKk}j~>l&Zv^}p9uPg&wgagrl~_HFdXK$+ZY)lo-H20*8Zj<_)241XJUbMXdU=0y zTRD-Fyb9x>^O0lcoiHCabIpOFycMj*Eyl_>2aQs(#aKMzoqrw2Md)M@JI%JW?3dYg zD|52_&48mF$qH^Wg75aj=nK1oJA{}e2gmIS?gW1_-FcWF6>14LSh#@?m&yOr-o{@s TW>DP4kGflyDvE+)Lj(a)L}LlQw|luH1U~P+{b%l8^cwWN`(!QwSB@HiYSgqle5aeKuz^g92hP7_Ij&%a-1vUt5 z6xbvoMQ&`y76HG&R)J!H5*aOZqYS<`1h)xn7kE=(hlaN#;%ztH!Mg(Q3G5WuC9qq? z9v4!uLc?BZ_X)XQ;C=bu2X1_b18#hTgKm6`PXs58TD;=&7&mI*&n-PZy*QXj3l5H&axQz*Thdk&xKV*b<+@0*}PUm;#&f0(c}SuwOu+a8uYc1sd-gk!q_l&1A+iBc|1b zy#mPr({yh+6Jl0~VwyFDyOv@1v8bt5zSyvtP>jh9%UQ{|gz8qE2`V`gwCXtSzr-qG zrd`o0Gi8^t>H${pV9=F=0ax^GU6FO*a8w>(lv4&Je=BUcMt0IrYG|xX8sbZ6x*2*g z>XaZ+LGEgd;NMkTlF9X{!8J0u&NaAXlWTSvu3inUu^DGe-@rE6!Dji;38DOBHM_M2 z`}wjtinUzC>u?V1aUL7_6y8J{Hd8dVP%KI*17(znZPXRpsT<#FRa-Tu(pk!>%sO?# z^qN^WnHhns$H3>QK#yvB)#FZ;&3gG=GLv0>7_>vLTjmD`g*7h7@+SNp89~wV5Aj zePzYzC1|RkXND})CJPNz#cp2b9zF^7A_n_dyAQC+BCb+A;xL;f^Erb^%)wli8pDq) z!zv5&Tr#8P1*0AbM$O=;z%etMXSH_Cqa65HWjWv)4pw-~!$Ph6m!O#fk*b(d+_QLhfV|b|9;RJ(|CMwA=;F+lnj0{NYFIz82r6I^V{Rw#;*MG1|3tNUx3boYD3& zwCB8B73qj{4)vphH`|Y^{pjdNC;o%Cvwa)7*!)!+ou@a{J5^~ z>WiZ*i_}O;vCfuGeEt>ko%bYPI}Wy?BNlMaiPoH)g)q!wC=D2;VUw9W;_F})76ofi z?6k%fvtQQOQ_RU3I2_IjB&b+o*5lHPNPG>0!2yK__{Qn| YKjY;r*(!=>c-m*poG%Yv-p>L50rBJZ`v3p{ diff --git a/productionboard/target/classes/static/css/foamBox/style.css b/productionboard/target/classes/static/css/foamBox/style.css index 6e10715..1aaaa90 100644 --- a/productionboard/target/classes/static/css/foamBox/style.css +++ b/productionboard/target/classes/static/css/foamBox/style.css @@ -33,11 +33,6 @@ body { } .foamingLineRunStatus { - position: absolute; - width: 40%; - height: 27%; - top: 12%; - left: 30%; } .inventoryStatistics { diff --git a/productionboard/target/classes/static/js/aluminumLiner/index.js b/productionboard/target/classes/static/js/aluminumLiner/index.js index 07e3562..8d7bc47 100644 --- a/productionboard/target/classes/static/js/aluminumLiner/index.js +++ b/productionboard/target/classes/static/js/aluminumLiner/index.js @@ -41,7 +41,7 @@ $(() => { let Res = {} Res.data=res.map(val => { - return [val.spe,val.oq,val.aq,val.cha,val.round,] + return [val["spe"],val["oq"],val["aq"],val["cha"],val.round,] }) Res.header = ['型号', '计划数', '完成数', '差异数', '执行进度'] dynamicTable({ @@ -51,7 +51,7 @@ $(() => { header: Res.header, data: Res.data, index: false, - fontColor: '#B4B7BF ', + fontColor: '#B4B7BF', indexBGC: '#86F3FF', headerBGC: 'rgba(8,36,75,0.2)', oddRowBGC: 'rgba(8,36,75,0.2)', diff --git a/productionboard/target/classes/static/js/common/echarts.common.js b/productionboard/target/classes/static/js/common/echarts.common.js index dd3d183..95169cf 100644 --- a/productionboard/target/classes/static/js/common/echarts.common.js +++ b/productionboard/target/classes/static/js/common/echarts.common.js @@ -1226,7 +1226,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => { color: "#fff", fontSize: fontSize, }, - data: ["内胆库", "箱壳库"], + data: ["箱壳库", "内胆库"], }, xAxis: [ { diff --git a/productionboard/target/classes/static/js/foamBox/index.js b/productionboard/target/classes/static/js/foamBox/index.js index a920f1b..710886f 100644 --- a/productionboard/target/classes/static/js/foamBox/index.js +++ b/productionboard/target/classes/static/js/foamBox/index.js @@ -119,16 +119,14 @@ $(() => { }) const deviceStatus = (statusArray) => { - let info = ` - - - - - - - - -
`; + let info = ` + + + + + + +`; $(".foamingLineRunStatus table tr").append(info);