From 2c95d8a38ae6267e6d5b28ae6c8eb2ad4dacc41d Mon Sep 17 00:00:00 2001 From: erdanergou Date: Fri, 18 Nov 2022 16:15:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8F=AF=E8=A7=86=E5=8C=96?= =?UTF-8?q?=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DepositoryController.java | 281 ++++++++++++------ .../mapper/DepositoryRecordMapper.java | 6 +- .../mapper/DepositoryRecordMapper.xml | 12 +- .../service/DepositoryRecordService.java | 8 +- .../impl/DepositoryRecordServiceImpl.java | 11 +- .../service/impl/MaterialServiceImpl.java | 2 +- src/main/resources/application-test.yml | 6 +- .../pages/application/application-in.html | 3 +- .../pages/material/material-out.html | 1 - .../pages/scanQrCode/ScanBarCodeByNew.html | 2 +- .../dreamchaser/depository_manage/Test2.java | 257 ++++++++-------- .../dreamchaser/depository_manage/Test3.java | 12 +- target/classes/application-test.yml | 6 +- .../mapper/DepositoryRecordMapper.xml | 12 +- .../pages/application/application-in.html | 3 +- .../pages/material/material-out.html | 1 - .../pages/scanQrCode/ScanBarCodeByNew.html | 2 +- 17 files changed, 362 insertions(+), 263 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java index 3c831f05..dd164880 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java @@ -14,6 +14,7 @@ import com.dreamchaser.depository_manage.utils.CrudUtil; import com.dreamchaser.depository_manage.utils.DateUtil; import com.dreamchaser.depository_manage.utils.HttpUtils; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; +import lombok.Data; import org.apache.http.protocol.HTTP; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -101,8 +102,8 @@ public class DepositoryController { * * @return */ - public static Map getBeforeInventoryByDName(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort user) { - List result = new ArrayList<>(); + public Map getBeforeInventoryByDName(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort user) { + List result = new ArrayList<>(); List days = getLastTimeInterval(); Map depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(user); Iterator it = depositoryAllNameAndId.keySet().iterator(); @@ -112,24 +113,24 @@ public class DepositoryController { while (it.hasNext()) { int i; Object key = it.next(); - Double thisDayInventory = 0.0; + Integer thisDayInventory = 0; // 本周周一的总量 - thisDayInventory = ((List) thisWeekInventoryByDName.get(key.toString())).get(0); + thisDayInventory = ((List) thisWeekInventoryByDName.get(key.toString())).get(0); result.add(thisDayInventory); int j = 0; for (i = days.size() - 1; i > 0; i--) { // 遍历 Map并计算各仓库的入库数 Integer val = (Integer) depositoryAllNameAndId.get(key); // 获取一段时间内的入库额度 - Double depositoryRecordByDateByIn1 = depositoryRecordService.findApplicationInRecordByDate(days.get(i), days.get(i - 1), val); + Integer depositoryRecordByDateByIn1 = depositoryRecordService.findApplicationInRecordByDate(days.get(i), days.get(i - 1), val); // 获取一段时间内的出库库额度 - Double depositoryRecordByDateByOut1 = depositoryRecordService.findApplicationOutRecordByDate(days.get(i), days.get(i - 1), val); - Double wareHouseCount1 = result.get(j++) - depositoryRecordByDateByIn1 + depositoryRecordByDateByOut1; + Integer depositoryRecordByDateByOut1 = depositoryRecordService.findApplicationOutRecordByDate(days.get(i), days.get(i - 1), val); + Integer wareHouseCount1 = result.get(j++) - depositoryRecordByDateByIn1 + depositoryRecordByDateByOut1; result.add(wareHouseCount1); } result.remove(0); Collections.reverse(result); - map.put(key.toString(), ((ArrayList) result).clone()); + map.put(key.toString(), ((ArrayList) result).clone()); result.clear(); } return map; @@ -142,7 +143,7 @@ public class DepositoryController { * @param depositoryRecordService * @return */ - public static Map getThisWeekInventoryByDName(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort user) { + public Map getThisWeekInventoryByDName(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort user) { Calendar instance = Calendar.getInstance(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); int weekDay = instance.get(Calendar.DAY_OF_WEEK); @@ -151,17 +152,20 @@ public class DepositoryController { Map depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(user); Iterator it = depositoryAllNameAndId.keySet().iterator(); //result用来接收每个仓库每天的库存 - List result = new ArrayList<>(); + List result = new ArrayList<>(); // map用来存储仓库与库存的映射 Map map = new HashMap<>(); // 只获取当天 + List toDayInventoryByDNameTest = depositoryService.getToDayInventoryByDNameTest(); + System.out.println("当前仓库中的库存记录为:"+JSONObject.toJSONString(toDayInventoryByDNameTest)); if (weekDay == 1) { while (it.hasNext()) { int i; - Object key = it.next(); - Double toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString()); - result.add(toDayInventoryByDName); - map.put(key.toString(), ((ArrayList) result).clone()); + String key = it.next().toString(); + String dname = key.split(",")[0]; + Integer inventoryByDname = getInventoryByDname(dname, toDayInventoryByDNameTest); + result.add(inventoryByDname); + map.put(key, ((ArrayList) result).clone()); result.clear(); } } else { @@ -177,18 +181,23 @@ public class DepositoryController { } while (it.hasNext()) { int i; - Object key = it.next(); + String key = it.next().toString(); int j = 0; + // 获取今天容量 - Double toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString()); - result.add(toDayInventoryByDName); + String dname = key.split(",")[0]; + Integer inventoryByDname = getInventoryByDname(dname, toDayInventoryByDNameTest); + result.add(inventoryByDname); // 判断当天是否有出入口记录 + System.out.println("当前进行运算的仓库:"+key+"此时的库存为"+inventoryByDname); + Calendar IsInOut = Calendar.getInstance(); Long start = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(IsInOut.getTime())); IsInOut.add(Calendar.DATE, 1); Long end = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(IsInOut.getTime())); - Double inCount = depositoryRecordService.findApplicationInRecordByDate(end, start, null); - Double OutCount = depositoryRecordService.findApplicationOutRecordByDate(end, start, null); + // 判断今天是否有出入库记录 + Integer inCount = depositoryRecordService.findApplicationInRecordByDate(end, start, null); + Integer OutCount = depositoryRecordService.findApplicationOutRecordByDate(end, start, null); if (inCount > 0 || OutCount > 0) { flag = true; } @@ -199,26 +208,27 @@ public class DepositoryController { break; } // 当前日期额度 - Double aDouble = result.get(j++); + Integer aDouble = result.get(j++); // 获取当前仓库 Integer val = (Integer) depositoryAllNameAndId.get(key); // 如果今天有出入库记录 if (flag) { - Double inRecordByDate = depositoryRecordService.findApplicationInRecordByDate(end, start, val); - Double OutRecordByDate = depositoryRecordService.findApplicationOutRecordByDate(end, start, val); + Integer inRecordByDate = depositoryRecordService.findApplicationInRecordByDate(end, start, val); + Integer OutRecordByDate = depositoryRecordService.findApplicationOutRecordByDate(end, start, val); aDouble = aDouble - inRecordByDate + OutRecordByDate; flag = false; } // 获取一段时间内的入库额度 //测试 - Double depositoryRecordByDateByIn1 = depositoryRecordService.findApplicationInRecordByDate(days.get(i), days.get(i + 1), val); + Integer depositoryRecordByDateByIn1 = depositoryRecordService.findApplicationInRecordByDate(days.get(i), days.get(i + 1), val); // 获取一段时间内的出库额度 - Double depositoryRecordByDateByOut1 = depositoryRecordService.findApplicationOutRecordByDate(days.get(i), days.get(i + 1), val); - Double warehouserCount1 = aDouble - depositoryRecordByDateByIn1 + depositoryRecordByDateByOut1; + Integer depositoryRecordByDateByOut1 = depositoryRecordService.findApplicationOutRecordByDate(days.get(i), days.get(i + 1), val); + Integer warehouserCount1 = (int)aDouble - depositoryRecordByDateByIn1 + depositoryRecordByDateByOut1; result.add(warehouserCount1); } + System.out.println("当前仓库本周的库存"+result); Collections.reverse(result); - map.put(key.toString(), ((ArrayList) result).clone()); + map.put(key.toString(), ((ArrayList) result).clone()); result.clear(); } } @@ -232,7 +242,7 @@ public class DepositoryController { * @param depositoryRecordService * @return */ - public static List getBeforeInventoryByMonth(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { + public List getBeforeInventoryByMonth(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { List depositoryAll = depositoryService.findDepositoryByAdminorgAndUser(userByPort); // 获取该用户管理的仓库 Map previousMonth = getPreviousMonth(); @@ -242,13 +252,15 @@ public class DepositoryController { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); instance.add(Calendar.MONTH, 1); instance.set(Calendar.DATE, 1); - List result = new ArrayList<>(); + List result = new ArrayList<>(); String month = formatter.format(instance.getTime()); + List toDayInventoryByDNameTest = depositoryService.getToDayInventoryByDNameTest(); for (int i = 0; i < depositoryAll.size(); i++) { - result.add(depositoryService.getToDayInventoryByDName(depositoryAll.get(i).getDname())); - ((Map) sourceList.get(0)).put(depositoryAll.get(i).getDname(), result.get(i)); + String dname = depositoryAll.get(i).getDname(); + Integer todayDepositoryInventory = getInventoryByDname(dname,toDayInventoryByDNameTest); + result.add(todayDepositoryInventory); + ((Map) sourceList.get(0)).put(dname, result.get(i)); } - for (int num = 0; num < months.size() - 1; num++) { int k = 0; for (int j = 0; j < depositoryAll.size(); j++) { @@ -275,7 +287,7 @@ public class DepositoryController { Integer wareHouseOutCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parmOut); // 获取当前月库存容量 // 测试 - Double wareHouseCount1 = result.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; + Integer wareHouseCount1 = result.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; result.add(wareHouseCount1); ((Map) sourceList.get(num)).put(depositoryAll.get(j).getDname(), wareHouseCount1); } @@ -283,9 +295,11 @@ public class DepositoryController { result.remove(0); } } - for (int i = 0; i < depositoryAll.size(); i++) { - ((Map) sourceList.get(0)).put(depositoryAll.get(i).getDname(), depositoryService.getToDayInventoryByDName(depositoryAll.get(i).getDname())); + String dname = depositoryAll.get(i).getDname(); + Integer todayDepositoryInventory = getInventoryByDname(dname,toDayInventoryByDNameTest); + result.add(todayDepositoryInventory); + ((Map) sourceList.get(0)).put(dname, result.get(i)); } List barSource = new ArrayList<>(); barSource.add("month"); @@ -296,6 +310,22 @@ public class DepositoryController { return sourceList; } + + /** + * 获取当前仓库下的库存 + * @param dname + * @param list + * @return + */ + public Integer getInventoryByDname(String dname,List list){ + for (InventoryByDname inventoryByDname : list) { + if (dname.equals(inventoryByDname.getDname())) { + return inventoryByDname.getInventory(); + } + } + return 0; + } + /** * 获取之前个月的库存给地图数据 * @@ -303,7 +333,7 @@ public class DepositoryController { * @param depositoryRecordService * @return */ - public static Map getBeforeInventoryOnMap(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { + public Map getBeforeInventoryOnMap(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { // 中国地图数据 // ['product', '3月', '4月', '5月', '6月', '7月', '8月'], // ['电子产品类', 41.1, 30.4, 65.1, 53.3, 83.8, 98.7], @@ -318,16 +348,14 @@ public class DepositoryController { for (int i = sourceList.size() - 1; i >= 0; i--) { title.add(((Map) sourceList.get(i)).get("month")); } - Calendar instance1 = Calendar.getInstance(); - instance1.add(Calendar.MONTH, 1); - instance1.set(Calendar.DATE, 1); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); - String month = formatter.format(instance1.getTime()); mapDataList.add(title); + List toDayInventoryByDNameTest = depositoryService.getToDayInventoryByDNameTest(); for (int i = 0; i < depositoryAll.size(); i++) { List productData = new ArrayList<>(); - productData.add(depositoryAll.get(i).getDname()); - productData.add(depositoryService.getToDayInventoryByDName(depositoryAll.get(i).getDname())); + String dname = depositoryAll.get(i).getDname(); + productData.add(dname); + Integer inventoryByDname = getInventoryByDname(dname, toDayInventoryByDNameTest); + productData.add(inventoryByDname); int k = 1; for (int j = 0; j < months.size() - 1; j++) { Map parmIn = new HashMap<>(); @@ -348,7 +376,7 @@ public class DepositoryController { // 获取某个月某物料出库总额 // 测试 Integer wareHouseOutCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parmOut); - Double wareHouseCount1 = (Double) productData.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; + Integer wareHouseCount1 = (int)productData.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; productData.add(wareHouseCount1); } List result = new ArrayList<>(); @@ -363,7 +391,6 @@ public class DepositoryController { return mapData; } - /** * 根据条件查询仓库 * @@ -722,14 +749,14 @@ public class DepositoryController { List depositoryName = new ArrayList<>(); // 各仓库对应入库数目 - Map yesterdayData = new HashMap<>(); + Map yesterdayData = new HashMap<>(); // 获取昨天数据标志位 boolean flag = true; // 每天各仓库入库数目 Map show_data = new HashMap<>(); List days = getLastTimeInterval(); - List drCountbyDrName = new ArrayList<>(); + List drCountbyDrName = new ArrayList<>(); while (it.hasNext()) { @@ -743,14 +770,14 @@ public class DepositoryController { Integer val = (Integer) depositoryAllNameAndId.get(key); // 获取一段时间内的库存额度 // 测试 - Double depositoryRecordByDateAndType1 = depositoryRecordService.findApplicationRecordByDate(days.get(i), days.get(i - 1), Integer.parseInt(type), val); + Integer depositoryRecordByDateAndType1 = depositoryRecordService.findApplicationRecordByDate(days.get(i), days.get(i - 1), Integer.parseInt(type), val); drCountbyDrName.add(depositoryRecordByDateAndType1); if (i == 2 && flag) { yesterdayData.put(key.toString(), depositoryRecordByDateAndType1); } } Collections.reverse(drCountbyDrName); - show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); + show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); drCountbyDrName.clear(); } Map depository_data = new HashMap<>(); @@ -795,7 +822,7 @@ public class DepositoryController { // 仓库名称列表 List depositoryName = new ArrayList<>(); // 各仓库对应入库数目 - Map yesterdayData = new HashMap<>(); + Map yesterdayData = new HashMap<>(); // 每天各仓库入库数目 Map show_data = new HashMap<>(); // 各仓库当前库存数目 @@ -822,13 +849,13 @@ public class DepositoryController { depositoryName.add(key.toString()); Integer val = (Integer) depositoryAllNameAndId.get(key); // 获取一段时间内的库存额度 - Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val); - Double toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString()); + Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val); + Integer toDayInventoryByDName = ObjectFormatUtil.toInteger(depositoryService.getToDayInventoryByDName(key.toString())); todayInventory.put(key.toString(), toDayInventoryByDName); yesterdayData.put(key.toString(), depositoryRecordByDate1); - List drCountbyDrName = new ArrayList<>(); + List drCountbyDrName = new ArrayList<>(); drCountbyDrName.add(depositoryRecordByDate1); - show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); + show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); } } else { int now = instance.get(Calendar.DAY_OF_WEEK) - 1; @@ -843,7 +870,7 @@ public class DepositoryController { Long format = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime())); days.add(format); } - List drCountbyDrName = new ArrayList<>(); + List drCountbyDrName = new ArrayList<>(); while (it.hasNext()) { int i; Object key = it.next(); @@ -857,13 +884,13 @@ public class DepositoryController { Integer val = (Integer) depositoryAllNameAndId.get(key); // 获取一段时间内的库存额度 - Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i - 1), days.get(i), Integer.parseInt(type), val); + Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i - 1), days.get(i), Integer.parseInt(type), val); drCountbyDrName.add(depositoryRecordByDate1); if (i == 2 && flag) { yesterdayData.put(key.toString(), depositoryRecordByDate1); } } - show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); + show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); drCountbyDrName.clear(); } } @@ -915,7 +942,7 @@ public class DepositoryController { // 仓库名称列表 List depositoryName = new ArrayList<>(); // 各仓库对应入库数目 - Map yesterdayData = new HashMap<>(); + Map yesterdayData = new HashMap<>(); // 每天各仓库入库数目 Map show_data = new HashMap<>(); // 各仓库当前库存数目 @@ -947,13 +974,13 @@ public class DepositoryController { depositoryName.add(key.toString()); Integer val = (Integer) depositoryAllNameAndId.get(key); // 获取一段时间内的库存额度 - Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val); - Double toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString()); + Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val); + Integer toDayInventoryByDName =ObjectFormatUtil.toInteger(depositoryService.getToDayInventoryByDName(key.toString())); todayInventory.put(key.toString(), toDayInventoryByDName); yesterdayData.put(key.toString(), depositoryRecordByDate1); - List drCountbyDrName = new ArrayList<>(); + List drCountbyDrName = new ArrayList<>(); drCountbyDrName.add(depositoryRecordByDate1); - show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); + show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); } } else { @@ -1005,10 +1032,45 @@ public class DepositoryController { if ("0".equals(type)) { // 如果是获取库存 depository_data.put("todayInventory", todayInventory); - depository_data.put("sourceListByMonth", getBeforeInventoryByMonth(depositoryService, depositoryRecordService, userByPort)); - depository_data.put("ThisWeekInventory", getThisWeekInventoryByDName(depositoryService, depositoryRecordService, userByPort)); - depository_data.put("BeforeInventory", getBeforeInventoryByDName(depositoryService, depositoryRecordService, userByPort)); - depository_data.put("MapInventory", getBeforeInventoryOnMap(depositoryService, depositoryRecordService, userByPort)); + distributeTasks distributeTasks1 = new distributeTasks(type, 5, userByPort, yesterdayData, depositoryName); + distributeTasks1.setDepositoryService(depositoryService); + distributeTasks1.setDepositoryRecordService(depositoryRecordService); + distributeTasks distributeTasks2 = new distributeTasks(type, 6, userByPort, yesterdayData, depositoryName); + distributeTasks2.setDepositoryService(depositoryService); + distributeTasks2.setDepositoryRecordService(depositoryRecordService); + distributeTasks distributeTasks3 = new distributeTasks(type, 7, userByPort, yesterdayData, depositoryName); + distributeTasks3.setDepositoryService(depositoryService); + distributeTasks3.setDepositoryRecordService(depositoryRecordService); + Future future1 = completionService.submit(distributeTasks1); + Future future2 = completionService.submit(distributeTasks2); + Future future3 = completionService.submit(distributeTasks3); + futureList.add(future1); + futureList.add(future2); + futureList.add(future3); + List beforeInventoryByMonth = null; + Map thisWeekInventoryByDName = null; + Map beforeInventoryOnMap = null; + for (int i = 0; i < 3; i++) { + Object result = null; + try { + result = completionService.take().get(); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + if(beforeInventoryByMonth == null || beforeInventoryByMonth.size() == 0) { + beforeInventoryByMonth = (List) ((Map) result).get("sourceListByMonth"); + } + if(thisWeekInventoryByDName == null || thisWeekInventoryByDName.size() == 0) { + thisWeekInventoryByDName = (Map) ((Map) result).get("ThisWeekInventory"); + } + if(beforeInventoryOnMap == null || beforeInventoryOnMap.size() == 0){ + beforeInventoryOnMap = (Map) ((Map) result).get("MapInventory"); + } + } + + depository_data.put("sourceListByMonth", beforeInventoryByMonth); + depository_data.put("ThisWeekInventory", thisWeekInventoryByDName); + depository_data.put("MapInventory", beforeInventoryOnMap); } else { // 如果不是 @@ -1028,16 +1090,19 @@ public class DepositoryController { return resMap; } - // 用于 + // 用于分发任务 + @Data class distributeTasks implements Callable{ String type; int taskType; UserByPort userByPort; - Map yesterdayData; + Map yesterdayData; List depositoryName; + DepositoryService depositoryService; + DepositoryRecordService depositoryRecordService; - distributeTasks(String type ,int taskType,UserByPort userByPort,Map yesterdayData,List depositoryName){ + distributeTasks(String type ,int taskType,UserByPort userByPort,Map yesterdayData,List depositoryName){ this.taskType = taskType; this.type = type; this.userByPort = userByPort; @@ -1047,7 +1112,7 @@ public class DepositoryController { } @Override public Object call() throws Exception { - // taskType 1为折线图2为饼图3为柱状图4为中国地图 + // taskType 1为折线图2为饼图3为柱状图4为中国地图5为库存可视化中的折线图6为库存可视化中中国地图7为库存可视化中柱状图 Map result = new HashMap<>(); if(1 == taskType){ @@ -1061,6 +1126,15 @@ public class DepositoryController { }else if(4 == taskType){ Map mapData = getMapData(type); result.put("mapData",mapData); + }else if(5 == taskType){ + List beforeInventoryByMonth = getBeforeInventoryByMonth(depositoryService, depositoryRecordService, userByPort); + result.put("sourceListByMonth",beforeInventoryByMonth); + }else if(6 == taskType){ + Map thisWeekInventoryByDName = getThisWeekInventoryByDName(depositoryService, depositoryRecordService, userByPort); + result.put("ThisWeekInventory",thisWeekInventoryByDName); + }else if(7 == taskType){ + Map beforeInventoryOnMap = getBeforeInventoryOnMap(depositoryService, depositoryRecordService, userByPort); + result.put("MapInventory",beforeInventoryOnMap); } return result; } @@ -1068,12 +1142,10 @@ public class DepositoryController { // 用于获取折线图 - public Map getShowData(String type,UserByPort userByPort,Map yesterdayData,List depositoryName){ + public Map getShowData(String type,UserByPort userByPort,Map yesterdayData,List depositoryName){ // 获取各仓库名称以及id Map depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort); - // 各仓库当前库存数目 - Map todayInventory = new HashMap<>(); Iterator it = depositoryAllNameAndId.keySet().iterator(); @@ -1095,15 +1167,58 @@ public class DepositoryController { days.add(format); } List drCountbyDrName = new ArrayList<>(); - // 获取昨天数据标志位 - boolean flag = true; + + // 定义线程 + ExecutorService exs = Executors.newFixedThreadPool(depositoryAllNameAndId.size()); + // 结果集 + List> futureList = new ArrayList>(); + // 1.定义CompletionService + CompletionService completionService = new ExecutorCompletionService(exs); + // 每天各仓库入库数目 Map show_data = new HashMap<>(); while (it.hasNext()) { + Object next = it.next(); + getApplicationRecordByDate getApplicationRecordByDate = new getApplicationRecordByDate(type, next, days, depositoryAllNameAndId); + getApplicationRecordByDate.setShow_data(show_data); + getApplicationRecordByDate.setDepositoryName(depositoryName); + getApplicationRecordByDate.setYesterdayData(yesterdayData); + 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(); + } + } + + return show_data; + } + + @Data + class getApplicationRecordByDate implements Callable{ + Object key; + List days; + Map depositoryAllNameAndId; + List depositoryName; + Map yesterdayData; + String type; + Map show_data; + getApplicationRecordByDate(String type,Object key,List days,Map depositoryAllNameAndId ){ + this.key = key; + this.depositoryAllNameAndId = depositoryAllNameAndId; + this.days = days; + this.type = type; + } + + @Override + public Object call() throws Exception { int i; - Object key = it.next(); - Double toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString()); - todayInventory.put(key.toString(), toDayInventoryByDName); + List drCountbyDrName = new ArrayList<>(); for (i = days.size() - 1; i > 0; i--) { // 遍历 Map并计算各仓库的入库数 if (i == days.size() - 1) { @@ -1111,20 +1226,16 @@ public class DepositoryController { } Integer val = (Integer) depositoryAllNameAndId.get(key); // 获取一段时间内的库存额度 - - Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i - 1), days.get(i), Integer.parseInt(type), val); + Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i - 1), days.get(i), Integer.parseInt(type), val); drCountbyDrName.add(depositoryRecordByDate1); - if (i == 2 && flag) { + if (i == 2) { yesterdayData.put(key.toString(), depositoryRecordByDate1); } } - show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); - drCountbyDrName.clear(); + show_data.put(key.toString(),drCountbyDrName); + return null; } - return show_data; } - - //获取本月及之前月份各种类别入/出库总量 public List getSourceList(String type){ List materialTypeAll = materialTypeService.findMaterialTypeNoParent(); diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java index 333dc9d7..3f019294 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java @@ -154,7 +154,7 @@ public interface DepositoryRecordMapper { * @param map * @return */ - Double findApplicationInRecordByDate(Map map); + Integer findApplicationInRecordByDate(Map map); /** * 获取一段时间内的出库额度 @@ -162,14 +162,14 @@ public interface DepositoryRecordMapper { * @param map * @return */ - Double findApplicationOutRecordByDate(Map map); + Integer findApplicationOutRecordByDate(Map map); /** * 根据条件获取月份中物料的总额 * @param map * @return */ - Double findMaterialCountByMonth(Map map); + Integer findMaterialCountByMonth(Map map); /** * 根据条件获取月份中入库物料的总额 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 9f136f76..c34c01f4 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml @@ -905,11 +905,9 @@ checkId = #{checkId}, - parentId = #{parentId}, - - - transferId = #{transferId} + parentId = #{parentId} + where id = #{id} @@ -1075,7 +1073,7 @@ - SELECT ifnull(sum(quantity),0) FROM applicationInrecordinfo @@ -1087,7 +1085,7 @@ - SELECT ifnull(sum(aormquantity),0) FROM applicationoutrecordinfo @@ -1108,7 +1106,7 @@ - select ifnull(sum(quantity),0) from MaterialCountByMonth where 1 = 1 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java index 7ed6df66..809ad5d9 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java @@ -201,7 +201,7 @@ public interface DepositoryRecordService { * @param depositoryId * @return */ - Double findApplicationRecordByDate(Long end,Long start,Integer type,Integer depositoryId); + Integer findApplicationRecordByDate(Long end,Long start,Integer type,Integer depositoryId); /** * 获取一段时间内的入库额度 * @@ -210,7 +210,7 @@ public interface DepositoryRecordService { * @param depositoryId * @return */ - Double findApplicationInRecordByDate(Long end,Long start,Integer depositoryId); + Integer findApplicationInRecordByDate(Long end,Long start,Integer depositoryId); /** * 获取一段时间内的出库额度 @@ -220,13 +220,13 @@ public interface DepositoryRecordService { * @param depositoryId * @return */ - Double findApplicationOutRecordByDate(Long end,Long start,Integer depositoryId); + Integer findApplicationOutRecordByDate(Long end,Long start,Integer depositoryId); /** * 根据条件获取月份中物料的总额 * @param map * @return */ - Double findMaterialCountByMonth(Map map); + Integer findMaterialCountByMonth(Map map); /** * 根据条件获取月份中物料的总额 * @param map 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 eb95fe98..6f3ab462 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 @@ -1008,7 +1008,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { qyWxOperationService.sendMessageForOtherUserByCard(ObjectFormatUtil.toInteger(id), s, userAgent, 1); } }).start(); - } else { + } + else { String result = ""; // 开启线程更改其他用户卡片模板样式 String simpleTime = DateUtil.getSimpleTime(new Date()); @@ -1847,7 +1848,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { * @return */ @Override - public Double findApplicationRecordByDate(Long end, Long start, Integer type, Integer depositoryId) { + public Integer findApplicationRecordByDate(Long end, Long start, Integer type, Integer depositoryId) { Map map = new HashMap<>(); map.put("start", start); map.put("end", end); @@ -1870,7 +1871,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { * @return */ @Override - public Double findApplicationInRecordByDate(Long end, Long start, Integer depositoryId) { + public Integer findApplicationInRecordByDate(Long end, Long start, Integer depositoryId) { Map map = new HashMap<>(); map.put("start", start); map.put("end", end); @@ -1887,7 +1888,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { * @return */ @Override - public Double findApplicationOutRecordByDate(Long end, Long start, Integer depositoryId) { + public Integer findApplicationOutRecordByDate(Long end, Long start, Integer depositoryId) { Map map = new HashMap<>(); map.put("start", start); map.put("end", end); @@ -1903,7 +1904,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { * @return */ @Override - public Double findMaterialCountByMonth(Map map) { + public Integer findMaterialCountByMonth(Map map) { return depositoryRecordMapper.findMaterialCountByMonth(map); } diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java index 8066c178..69e268db 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java @@ -443,7 +443,7 @@ public class MaterialServiceImpl implements MaterialService { public Integer insertMaterialForImport(Map map) { if (map.containsKey("quantity") && map.containsKey("price")) { int quantity = (int) Math.round(Double.parseDouble(map.get("quantity").toString())); - int price = (int) (Double.parseDouble(map.get("price").toString()) * 100); + int price = (int) (Double.parseDouble(map.get("price").toString())); map.put("price", price); map.put("amounts", quantity * price); } diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 2f1cdd67..18c56b83 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -79,9 +79,9 @@ mybatis: log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl log-prefix: mapper. -#mybatis-plus: -# configuration: -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl file: uploadPath: D:/upLoad \ No newline at end of file diff --git a/src/main/resources/templates/pages/application/application-in.html b/src/main/resources/templates/pages/application/application-in.html index a05a8a9f..d761ff65 100644 --- a/src/main/resources/templates/pages/application/application-in.html +++ b/src/main/resources/templates/pages/application/application-in.html @@ -127,7 +127,7 @@ - +
@@ -137,6 +137,7 @@
+
diff --git a/src/main/resources/templates/pages/material/material-out.html b/src/main/resources/templates/pages/material/material-out.html index bface218..5593d911 100644 --- a/src/main/resources/templates/pages/material/material-out.html +++ b/src/main/resources/templates/pages/material/material-out.html @@ -335,7 +335,6 @@ layer.closeAll('loading'); //关闭loading //如果上传成功 - console.log(res); var re = ""; for (let i = 0; i < res.data.errMsg.length; i++) { var show = "

"+res.data.errMsg[i] + ":错误"+"

" diff --git a/src/main/resources/templates/pages/scanQrCode/ScanBarCodeByNew.html b/src/main/resources/templates/pages/scanQrCode/ScanBarCodeByNew.html index f7cb9994..8d81f28e 100644 --- a/src/main/resources/templates/pages/scanQrCode/ScanBarCodeByNew.html +++ b/src/main/resources/templates/pages/scanQrCode/ScanBarCodeByNew.html @@ -57,7 +57,7 @@ btn: ["扫描", "取消"] }, function () { // 继续 layer.close(layer.index); // 关闭弹窗 - parent.parent.parent.wx.scanQRCode({ + parent.parent.parent.parent.wx.scanQRCode({ desc: 'scanQRCode desc', needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, scanType: ["barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 diff --git a/src/test/java/com/dreamchaser/depository_manage/Test2.java b/src/test/java/com/dreamchaser/depository_manage/Test2.java index ac856697..20507a0f 100644 --- a/src/test/java/com/dreamchaser/depository_manage/Test2.java +++ b/src/test/java/com/dreamchaser/depository_manage/Test2.java @@ -53,153 +53,108 @@ public class Test2 { RoleMapper roleMapper; @Test public void test(){ - UserByPort userByPort = PageController.FindUserById(6235, null); - List depositoryAll = depositoryService.findDepositoryByAdminorgAndUser(userByPort); - // 获取该用户管理的仓库 - Map previousMonth = getPreviousMonth(); - List sourceList = (List) previousMonth.get("sourceList"); - Calendar instance = Calendar.getInstance(); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); - instance.add(Calendar.MONTH, 1); - instance.set(Calendar.DATE, 1); - List result = new ArrayList<>(); - List toDayInventoryByDNameTest = depositoryMapper.getToDayInventoryByDNameTest(); - for (int i = 0; i < depositoryAll.size(); i++) { - Depository depository = depositoryAll.get(i); - Integer inventoryByDname = getInventoryByDname(depository.getDname(), toDayInventoryByDNameTest); - result.add(inventoryByDname); - ((Map) sourceList.get(0)).put(depository.getDname(), result.get(i)); - } - } - /** - * 获取当前仓库下的库存 - * @param dname - * @param list - * @return - */ - public Integer getInventoryByDname(String dname,List list){ - for (InventoryByDname inventoryByDname : list) { - if (dname.equals(inventoryByDname.getDname())) { - return inventoryByDname.getInventory(); - } - } - return 0; + UserByPort userByPort = PageController.FindUserById(78, null); + Map beforeInventoryOnMap = getThisWeekInventoryByDName(depositoryService, depositoryRecordService, userByPort); + System.out.println(JSONObject.toJSONString(beforeInventoryOnMap)); + + } - public List getBeforeInventoryByMonth(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { - List depositoryAll = depositoryService.findDepositoryByAdminorgAndUser(userByPort); - // 获取该用户管理的仓库 - Map previousMonth = getPreviousMonth(); - List months = (List) previousMonth.get("months"); - List sourceList = (List) previousMonth.get("sourceList"); + + + public Map getThisWeekInventoryByDName(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort user) { Calendar instance = Calendar.getInstance(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); - instance.add(Calendar.MONTH, 1); - instance.set(Calendar.DATE, 1); + int weekDay = instance.get(Calendar.DAY_OF_WEEK); + weekDay = weekDay - 1; + // 获取所有仓库名称 + Map depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(user); + Iterator it = depositoryAllNameAndId.keySet().iterator(); + //result用来接收每个仓库每天的库存 List result = new ArrayList<>(); + // map用来存储仓库与库存的映射 + Map map = new HashMap<>(); + // 只获取当天 List toDayInventoryByDNameTest = depositoryService.getToDayInventoryByDNameTest(); - for (int i = 0; i < depositoryAll.size(); i++) { - Depository depository = depositoryAll.get(i); - Integer inventoryByDname = getInventoryByDname(depository.getDname(), toDayInventoryByDNameTest); - result.add(inventoryByDname); - ((Map) sourceList.get(0)).put(depository.getDname(), result.get(i)); - } - for (int num = 0; num < months.size() - 1; num++) { - int k = 0; - for (int j = 0; j < depositoryAll.size(); j++) { - // 获取该仓库本月库存 - Map parmIn = new HashMap<>(); - Map parmOut = new HashMap<>(); - // 获取每月入库总额 - parmIn.put("type", 1); - parmIn.put("state", "已入库"); - parmIn.put("depository_id", depositoryAll.get(j).getId()); - parmIn.put("start", months.get(num + 1)); - parmIn.put("end", months.get(num)); - // 获取每月出库总额 - parmOut.put("type", 2); - parmOut.put("state", "已出库"); - parmOut.put("depository_id", depositoryAll.get(j).getId()); - parmOut.put("start", months.get(num + 1)); - parmOut.put("end", months.get(num)); - // 获取月份中入库物料的总额 - Integer wareHouseInCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parmIn); - // 获取月份中出库物料的总额 - Integer wareHouseOutCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parmOut); - // 获取当前月库存容量 - Integer wareHouseCount1 = result.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; - result.add(wareHouseCount1); - Map map = (Map) sourceList.get(num); - map.put(depositoryAll.get(j).getDname(), wareHouseCount1); + System.out.println("当前仓库中的库存记录为:"+JSONObject.toJSONString(toDayInventoryByDNameTest)); + if (weekDay == 1) { + while (it.hasNext()) { + int i; + String key = it.next().toString(); + String dname = key.split(",")[0]; + Integer inventoryByDname = getInventoryByDname(dname, toDayInventoryByDNameTest); + result.add(inventoryByDname); + map.put(key, ((ArrayList) result).clone()); + result.clear(); } - for (int i = 0; i < depositoryAll.size(); i++) { - result.remove(0); + } else { + int now = instance.get(Calendar.DAY_OF_WEEK) - 1; + List days = new ArrayList<>(); + days.add(DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime()))); + Boolean flag = false; + while (now - 1 > 0) { + now--; + instance.add(Calendar.DATE, -1); + long format = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime())); + days.add(format); + } + while (it.hasNext()) { + int i; + String key = it.next().toString(); + int j = 0; + + // 获取今天容量 + String dname = key.split(",")[0]; + Integer inventoryByDname = getInventoryByDname(dname, toDayInventoryByDNameTest); + result.add(inventoryByDname); + // 判断当天是否有出入口记录 + + Calendar IsInOut = Calendar.getInstance(); + Long start = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(IsInOut.getTime())); + IsInOut.add(Calendar.DATE, 1); + Long end = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(IsInOut.getTime())); + // 判断今天是否有出入库记录 + Integer inCount = depositoryRecordService.findApplicationInRecordByDate(end, start, null); + Integer OutCount = depositoryRecordService.findApplicationOutRecordByDate(end, start, null); + if (inCount > 0 || OutCount > 0) { + flag = true; + } + for (i = 0; i < days.size() - 1; i++) { + // 获取本周周一日期 + String mondayOnThisWeek = DateUtil.getMondayOnThisWeek(); + if (mondayOnThisWeek.equals(DateUtil.TimeStampToDateTime(days.get(i)))) { + break; + } + // 当前日期额度 + Integer aDouble = result.get(j++); + // 获取当前仓库 + Integer val = (Integer) depositoryAllNameAndId.get(key); + // 如果今天有出入库记录 + if (flag) { + Integer inRecordByDate = depositoryRecordService.findApplicationInRecordByDate(end, start, val); + Integer OutRecordByDate = depositoryRecordService.findApplicationOutRecordByDate(end, start, val); + aDouble = aDouble - inRecordByDate + OutRecordByDate; + flag = false; + } + // 获取一段时间内的入库额度 + //测试 + Integer depositoryRecordByDateByIn1 = depositoryRecordService.findApplicationInRecordByDate(days.get(i), days.get(i + 1), val); + // 获取一段时间内的出库额度 + Integer depositoryRecordByDateByOut1 = depositoryRecordService.findApplicationOutRecordByDate(days.get(i), days.get(i + 1), val); + Integer warehouserCount1 = (int)aDouble - depositoryRecordByDateByIn1 + depositoryRecordByDateByOut1; + result.add(warehouserCount1); + } + Collections.reverse(result); + map.put(key.toString(), ((ArrayList) result).clone()); + result.clear(); } } - - for (int i = 0; i < depositoryAll.size(); i++) { - ((Map) sourceList.get(0)).put(depositoryAll.get(i).getDname(), depositoryService.getToDayInventoryByDName(depositoryAll.get(i).getDname())); - } - List barSource = new ArrayList<>(); - barSource.add("month"); - for (int i = 0; i < depositoryAll.size(); i++) { - barSource.add(depositoryAll.get(i).getDname()); - } - sourceList.add(barSource); - return sourceList; + return map; } - // 用于获取之前各月库存的线程任务 - class getBeforeInventoryByMonthTask implements Callable{ - - List depositoryAll; - List months; - Integer num; - Map map; - getBeforeInventoryByMonthTask( List depositoryAll, List months,Integer num,Map map){ - this.depositoryAll = depositoryAll; - this.months = months; - this.num = num; - this.map = map; - } - - - @Override - public Object call() throws Exception { - for (int j = 0; j < depositoryAll.size(); j++) { - // 获取该仓库本月库存 - Map parmIn = new HashMap<>(); - Map parmOut = new HashMap<>(); - // 获取每月入库总额 - parmIn.put("type", 1); - parmIn.put("state", "已入库"); - parmIn.put("depository_id", depositoryAll.get(j).getId()); - parmIn.put("start", months.get(num + 1)); - parmIn.put("end", months.get(num)); - // 获取每月出库总额 - parmOut.put("type", 2); - parmOut.put("state", "已出库"); - parmOut.put("depository_id", depositoryAll.get(j).getId()); - parmOut.put("start", months.get(num + 1)); - parmOut.put("end", months.get(num)); - // 获取月份中入库物料的总额 - // 测试 - Integer wareHouseInCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parmIn); - // 获取月份中出库物料的总额 - // 测试 - Integer wareHouseOutCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parmOut); - // 获取当前月库存容量 - // 测试 -// Double wareHouseCount1 = result.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; -// result.add(wareHouseCount1); -// map.put(depositoryAll.get(j).getDname(), wareHouseCount1); - } - return null; - } - } /** @@ -230,5 +185,41 @@ public class Test2 { map.put("sourceList", sourceList); return map; } + + + /** + * 获取当前仓库下的库存 + * @param dname + * @param list + * @return + */ + public Integer getInventoryByDname(String dname,List list){ + for (InventoryByDname inventoryByDname : list) { + if (dname.equals(inventoryByDname.getDname())) { + return inventoryByDname.getInventory(); + } + } + return 0; + } + /** + * 获取上周一到本周一的日期 + * + * @return + */ + public static List getLastTimeInterval() { + Calendar calendar = Calendar.getInstance(); + ArrayList lastTime = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; + int offset1 = 1 - dayOfWeek; + calendar.add(Calendar.DATE, offset1 - 7); + lastTime.add(DateUtil.DateTimeByMonthToTimeStamp(sdf.format(calendar.getTime()))); + for (int i = 0; i < 7; i++) { + calendar.add(Calendar.DATE, 1); + lastTime.add(DateUtil.DateTimeByMonthToTimeStamp(sdf.format(calendar.getTime()))); + } + return lastTime; + } + } diff --git a/src/test/java/com/dreamchaser/depository_manage/Test3.java b/src/test/java/com/dreamchaser/depository_manage/Test3.java index cefd4249..51e92972 100644 --- a/src/test/java/com/dreamchaser/depository_manage/Test3.java +++ b/src/test/java/com/dreamchaser/depository_manage/Test3.java @@ -54,13 +54,13 @@ public class Test3 { @Test public void Test() { UserByPort userByPort = PageController.FindUserById(78, null); - Map yesterdayData = new HashMap<>(); + Map yesterdayData = new HashMap<>(); List depositoryName = new ArrayList<>(); - Map showData = getShowData("1", userByPort, yesterdayData, depositoryName); + Map showData = getShowData("2", userByPort, yesterdayData, depositoryName); System.out.println(JSONObject.toJSONString(showData)); } - public Map getShowData(String type,UserByPort userByPort,Map yesterdayData,List depositoryName){ + public Map getShowData(String type,UserByPort userByPort,Map yesterdayData,List depositoryName){ // 获取各仓库名称以及id Map depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort); @@ -123,7 +123,7 @@ public class Test3 { List days; Map depositoryAllNameAndId; List depositoryName; - Map yesterdayData; + Map yesterdayData; String type; Map show_data; getApplicationRecordByDate(String type,Object key,List days,Map depositoryAllNameAndId ){ @@ -136,7 +136,7 @@ public class Test3 { @Override public Object call() throws Exception { int i; - List drCountbyDrName = new ArrayList<>(); + List drCountbyDrName = new ArrayList<>(); for (i = days.size() - 1; i > 0; i--) { // 遍历 Map并计算各仓库的入库数 if (i == days.size() - 1) { @@ -144,7 +144,7 @@ public class Test3 { } Integer val = (Integer) depositoryAllNameAndId.get(key); // 获取一段时间内的库存额度 - Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i - 1), days.get(i), Integer.parseInt(type), val); + Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i - 1), days.get(i), Integer.parseInt(type), val); drCountbyDrName.add(depositoryRecordByDate1); if (i == 2) { yesterdayData.put(key.toString(), depositoryRecordByDate1); diff --git a/target/classes/application-test.yml b/target/classes/application-test.yml index 2f1cdd67..18c56b83 100644 --- a/target/classes/application-test.yml +++ b/target/classes/application-test.yml @@ -79,9 +79,9 @@ mybatis: log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl log-prefix: mapper. -#mybatis-plus: -# configuration: -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl file: uploadPath: D:/upLoad \ No newline at end of file diff --git a/target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml b/target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml index 9f136f76..c34c01f4 100644 --- a/target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml +++ b/target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml @@ -905,11 +905,9 @@ checkId = #{checkId}, - parentId = #{parentId}, - - - transferId = #{transferId} + parentId = #{parentId} + where id = #{id} @@ -1075,7 +1073,7 @@ - SELECT ifnull(sum(quantity),0) FROM applicationInrecordinfo @@ -1087,7 +1085,7 @@ - SELECT ifnull(sum(aormquantity),0) FROM applicationoutrecordinfo @@ -1108,7 +1106,7 @@ - select ifnull(sum(quantity),0) from MaterialCountByMonth where 1 = 1 diff --git a/target/classes/templates/pages/application/application-in.html b/target/classes/templates/pages/application/application-in.html index a05a8a9f..d761ff65 100644 --- a/target/classes/templates/pages/application/application-in.html +++ b/target/classes/templates/pages/application/application-in.html @@ -127,7 +127,7 @@ - +
@@ -137,6 +137,7 @@
+
diff --git a/target/classes/templates/pages/material/material-out.html b/target/classes/templates/pages/material/material-out.html index bface218..5593d911 100644 --- a/target/classes/templates/pages/material/material-out.html +++ b/target/classes/templates/pages/material/material-out.html @@ -335,7 +335,6 @@ layer.closeAll('loading'); //关闭loading //如果上传成功 - console.log(res); var re = ""; for (let i = 0; i < res.data.errMsg.length; i++) { var show = "

"+res.data.errMsg[i] + ":错误"+"

" diff --git a/target/classes/templates/pages/scanQrCode/ScanBarCodeByNew.html b/target/classes/templates/pages/scanQrCode/ScanBarCodeByNew.html index f7cb9994..8d81f28e 100644 --- a/target/classes/templates/pages/scanQrCode/ScanBarCodeByNew.html +++ b/target/classes/templates/pages/scanQrCode/ScanBarCodeByNew.html @@ -57,7 +57,7 @@ btn: ["扫描", "取消"] }, function () { // 继续 layer.close(layer.index); // 关闭弹窗 - parent.parent.parent.wx.scanQRCode({ + parent.parent.parent.parent.wx.scanQRCode({ desc: 'scanQRCode desc', needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, scanType: ["barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有