diff --git a/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java index 23206458..d6d8191a 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java @@ -610,4 +610,24 @@ public class PublicConfig { JSONObject data = (JSONObject) jsonObject.get("data"); return data.getJSONArray("list"); } + + /** + * 绩效考核系统的登录接口 + * @param map + * @return + */ + public static JSONObject baseLogin(Map map){ + String url = PublicConfig.external_url_6666 + "/base/login"; + String jsonString = JSONObject.toJSONString(map); + JSONObject paramObject = JSONObject.parseObject(jsonString); + String post = null; + try { + post = HttpUtils.send(url, paramObject, HTTP.UTF_8, null, null); + } catch (IOException e) { + e.printStackTrace(); + } + JSONObject jsonObject = JSONObject.parseObject(post); + JSONObject data = (JSONObject) jsonObject.get("data"); + return data; + } } diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/UserController.java b/src/main/java/com/dreamchaser/depository_manage/controller/UserController.java index 7dc8d8e4..e9998c07 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/UserController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/UserController.java @@ -70,17 +70,7 @@ public class UserController { // 如果是企业微信跳转 flag = false; } - String url = PublicConfig.external_url_6666 + "/base/login"; - String jsonString = JSONObject.toJSONString(map); - JSONObject paramObject = JSONObject.parseObject(jsonString); - String post = null; - try { - post = HttpUtils.send(url, paramObject, HTTP.UTF_8, null, null); - } catch (IOException e) { - e.printStackTrace(); - } - JSONObject jsonObject = JSONObject.parseObject(post); - JSONObject data = (JSONObject) jsonObject.get("data"); + JSONObject data = PublicConfig.baseLogin(map); String userkey = (String) data.get("key"); if (userkey != null) { String userToken = (String) data.get("token"); diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml index 5e83ab5e..ca1e7b72 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml @@ -654,7 +654,7 @@ select from applicationOutRecordInfo - where quantity = 0; + where aormquantity = 0; @@ -1455,8 +1455,8 @@ checkId = #{checkId}, - - completeOutTime = #{minRecordCompleteTime}, + + completeOutTime = #{completeOutTime}, parentId = #{parentId}, diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index 14ac0e7c..fa7539bd 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -248,7 +248,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { if (placeId == null || "".equals(placeId) || "0".equals(placeId)) { map.put("placeId", 0); } - double quantity = ObjectFormatUtil.toDouble((String) map.get("quantity")) * 100; + double quantity = ObjectFormatUtil.toDouble(map.get("quantity")) * 100; Long time = DateUtil.DateTimeToTimeStamp(DateUtil.getSimpleTime(new Date())); map.put("applicantTime", time); Integer mid = ObjectFormatUtil.toInteger(map.get("mid")); diff --git a/src/main/resources/templates/pages/depository/inEchart/LineChart.html b/src/main/resources/templates/pages/depository/inEchart/LineChart.html new file mode 100644 index 00000000..9bc466af --- /dev/null +++ b/src/main/resources/templates/pages/depository/inEchart/LineChart.html @@ -0,0 +1,141 @@ + + + + + 折线图 + + + + + + + + + + + +
+
+

折线图

+
+ + + +
+
+
+
+
+ + + + + + + + diff --git a/src/test/java/com/dreamchaser/depository_manage/BarChartTest.java b/src/test/java/com/dreamchaser/depository_manage/BarChartTest.java index 48cde89c..b80d3d1a 100644 --- a/src/test/java/com/dreamchaser/depository_manage/BarChartTest.java +++ b/src/test/java/com/dreamchaser/depository_manage/BarChartTest.java @@ -1,11 +1,9 @@ package com.dreamchaser.depository_manage; +import com.alibaba.fastjson.JSONObject; import com.dreamchaser.depository_manage.config.PublicConfig; import com.dreamchaser.depository_manage.entity.UserByPort; -import com.dreamchaser.depository_manage.service.DepositoryRecordService; -import com.dreamchaser.depository_manage.service.DepositoryService; -import com.dreamchaser.depository_manage.service.MaterialService; -import com.dreamchaser.depository_manage.service.MaterialTypeService; +import com.dreamchaser.depository_manage.service.*; import com.dreamchaser.depository_manage.utils.DateUtil; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import lombok.Data; @@ -36,6 +34,9 @@ public class BarChartTest { @Autowired DepositoryService depositoryService; + @Autowired + RoleService roleService; + /** * 获取本月之前的月份 * @@ -72,127 +73,58 @@ public class BarChartTest { @Test public void main() { - UserByPort userByPort = PublicConfig.FindUserById(87, null,null); - + Map map = new HashMap<>(); + map.put("username", "302304"); + map.put("password", "123456789"); + map.put("captcha", "528765"); + map.put("captchaId", "UksBSXVFy0xVZbXUC4dQ"); + JSONObject jsonObject = PublicConfig.baseLogin(map); +// UserByPort userByPort = JSONObject.toJavaObject((JSONObject) jsonObject.get("usercont"), UserByPort.class); + Map barChartData = getBarChartData("2", 41); + System.out.println(barChartData); } /** * 用于获取出入库对照柱状图 - * @param userByPort 待获取的当前用户 + * * @return */ - List getBarChartData( UserByPort userByPort){ - Map depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort); - int threadSize = 2; - ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize)); - - // 结果集 - List> futureList = new ArrayList>(); + Map getBarChartData(String type, Integer depositoryId) { // 定义CompletionService - CompletionService completionService = new ExecutorCompletionService(exs); - Future submitForIn = completionService.submit(new GetBarChartData(depositoryAllNameAndId, "1")); - Future submitForOut = completionService.submit(new GetBarChartData(depositoryAllNameAndId, "2")); - futureList.add(submitForOut); - futureList.add(submitForIn); - List result = new ArrayList<>(); - for (int i = 0; i < 2; i++) { - Object obj = null; - try { - obj = completionService.take().get(); - } catch (InterruptedException | ExecutionException e) { - e.printStackTrace(); - } - result.add(obj); - } - return result; - } - - /** - * 用于执行柱状图线程 - */ - class GetBarChartData implements Callable { - - // 仓库名称与id对应 - Map depositoryAllNameAndId; - // 要查询的类型 - String type; - - public GetBarChartData(Map depositoryAllNameAndId, String type) { - this.depositoryAllNameAndId = depositoryAllNameAndId; - this.type = type; - } - - @Override - public Object call() throws Exception { - Map lineChartData = getLineChartData(depositoryAllNameAndId, type); - Map result = new HashMap<>(); - if("1".equals(type)){ - // 如果是入库 - result.put("in",lineChartData); - }else if("2".equals(type)){ - // 如果是出库 - result.put("out",lineChartData); - } - return result; - } + Map barChartData = getBarChartData(depositoryId, type); + return barChartData; } /** * 获取入库或出库数据 - * @param depositoryAllNameAndId 仓库名称与id对应 - * @param type 类型(1入库2出库) + * + * @param depositoryId 要查看的仓库id + * @param type 类型(1入库2出库) * @return */ - public Map getLineChartData(Map depositoryAllNameAndId, String type) { + public Map getBarChartData(Integer depositoryId, String type) { - // 获取遍历器 - Iterator it = depositoryAllNameAndId.keySet().iterator(); //获取获取系统的当前日历对象 - Calendar instance = Calendar.getInstance(); - // 获取日期 - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); - int now = instance.get(Calendar.DAY_OF_WEEK) - 1 == 0 ? 7 : instance.get(Calendar.DAY_OF_WEEK) - 1; - List days = new ArrayList<>(); // 周一至今的每天 - instance.add(Calendar.DATE, 1); - days.add(DateUtil.DateTimeByDayToTimeStamp(formatter.format(instance.getTime()))); - instance.add(Calendar.DATE, -1); - days.add(DateUtil.DateTimeByDayToTimeStamp(formatter.format(instance.getTime()))); - while (now - 1 > 0) { - now--; - instance.add(Calendar.DATE, -1); - Long format = DateUtil.DateTimeByDayToTimeStamp(formatter.format(instance.getTime())); - days.add(format); - } - // 定义线程 - int threadSize = depositoryAllNameAndId.size(); - ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize)); - // 结果集 - List> futureList = new ArrayList>(); - // 1.定义CompletionService - CompletionService completionService = new ExecutorCompletionService(exs); + Map monthBeginToNow = DateUtil.getMonthBeginToNow(); + // 获取至今的日期名称 + List dayNames = ObjectFormatUtil.objToList(monthBeginToNow.get("dayName"), String.class); + // 获取至今的日期时间戳 + List dayTimeSpaces = ObjectFormatUtil.objToList(monthBeginToNow.get("dayTimeSpace"), Long.class); + // 定义线程 // 每天各仓库入库数目 - Map show_data = new HashMap<>(); - while (it.hasNext()) { - Object next = it.next(); - getBarChartDataForApplicationRecord getApplicationRecordByDate = new getBarChartDataForApplicationRecord(type, next.toString(), days, depositoryAllNameAndId); - Future future = completionService.submit(getApplicationRecordByDate); - futureList.add(future); - } - - for (int i = 0; i < depositoryAllNameAndId.size(); i++) { - Object result = null; - try { - result = completionService.take().get(); - } catch (InterruptedException | ExecutionException e) { - e.printStackTrace(); - } - show_data.putAll((Map) result); + Map show_data = new HashMap<>(); + getBarChartDataForApplicationRecord getApplicationRecordByDate = new getBarChartDataForApplicationRecord(type, depositoryId, dayTimeSpaces); + try { + Object call = getApplicationRecordByDate.call(); + show_data.put("data", call); + } catch (Exception e) { + e.printStackTrace(); } - + show_data.put("dayNames",dayNames); return show_data; } @@ -201,49 +133,38 @@ public class BarChartTest { */ @Data class getBarChartDataForApplicationRecord implements Callable { - String key; + Integer depositoryId; List days; - Map depositoryAllNameAndId; - - String type; - getBarChartDataForApplicationRecord(String type, String key, List days, Map depositoryAllNameAndId) { - this.key = key; - this.depositoryAllNameAndId = depositoryAllNameAndId; + getBarChartDataForApplicationRecord(String type, Integer depositoryId, List days) { this.days = days; this.type = type; + this.depositoryId = depositoryId; } @Override public Object call() throws Exception { - Map result = new HashMap<>(); Map map = new HashMap<>(); map.put("type", "bar"); Map emphasisItem = new HashMap<>(); - emphasisItem.put("focus","series"); + emphasisItem.put("focus", "series"); map.put("emphasis", emphasisItem); Map labelItem = new HashMap<>(); - labelItem.put("show",true); - labelItem.put("position","inside"); + labelItem.put("show", true); + labelItem.put("position", "inside"); map.put("label", labelItem); int i; List drCountbyDrName = new ArrayList<>(); - - Integer val = depositoryAllNameAndId.get(key); for (i = days.size() - 1; i > 0; i--) { // 遍历 Map并计算各仓库的入库数 // 获取一段时间内的库存额度 - Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i - 1), days.get(i), ObjectFormatUtil.toInteger(type), val); - if("2".equals(type)){ - depositoryRecordByDate1 = -depositoryRecordByDate1; - } + Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate( days.get(i),days.get(i - 1), ObjectFormatUtil.toInteger(type), depositoryId); drCountbyDrName.add(depositoryRecordByDate1); } map.put("data", drCountbyDrName); - result.put(val,map); - return result; + return map; } } }