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 e489fd7b..68f2e66c 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java @@ -12,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; @@ -42,6 +44,10 @@ public class DepositoryController { @Autowired StockTakingService stockTakingService; + + @Autowired + PlaceService placeService; + /** * 获取本月之前的月份 * @@ -54,11 +60,11 @@ public class DepositoryController { List sourceList = new ArrayList<>(); int month = instance.get(Calendar.MONTH) + 1; // 获取下个月 - instance.add(Calendar.MONTH,1); + instance.add(Calendar.MONTH, 1); Long nextMonth = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime())); ArrayList months = new ArrayList<>(); months.add(nextMonth); - instance.add(Calendar.MONTH,-1); + instance.add(Calendar.MONTH, -1); while (month > 0) { instance.set(Calendar.MONTH, month); @@ -102,7 +108,7 @@ public class DepositoryController { * * @return */ - public Map getBeforeInventoryByDName(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort user) { + public Map getBeforeInventoryByDName(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort user) { List result = new ArrayList<>(); List days = getLastTimeInterval(); Map depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(user); @@ -143,7 +149,7 @@ public class DepositoryController { * @param depositoryRecordService * @return */ - public 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); @@ -221,7 +227,7 @@ public class DepositoryController { 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; + Integer warehouserCount1 = (int) aDouble - depositoryRecordByDateByIn1 + depositoryRecordByDateByOut1; result.add(warehouserCount1); } Collections.reverse(result); @@ -239,7 +245,7 @@ public class DepositoryController { * @param depositoryRecordService * @return */ - public List getBeforeInventoryByMonth(DepositoryService depositoryService,Map todayInventory, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { + public List getBeforeInventoryByMonth(DepositoryService depositoryService, Map todayInventory, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { List depositoryAll = depositoryService.findDepositoryByAdminorgAndUser(userByPort); // 获取该用户管理的仓库 Map previousMonth = getPreviousMonth(); @@ -254,9 +260,9 @@ public class DepositoryController { List toDayInventoryByDNameTest = depositoryService.getToDayInventoryByDNameTest(); for (int i = 0; i < depositoryAll.size(); i++) { String dname = depositoryAll.get(i).getDname(); - Integer todayDepositoryInventory = getInventoryByDname(dname,toDayInventoryByDNameTest); + Integer todayDepositoryInventory = getInventoryByDname(dname, toDayInventoryByDNameTest); result.add(todayDepositoryInventory); - todayInventory.put(dname,todayDepositoryInventory); + todayInventory.put(dname, todayDepositoryInventory); ((Map) sourceList.get(0)).put(dname, result.get(i)); } for (int num = 0; num < months.size() - 1; num++) { @@ -295,7 +301,7 @@ public class DepositoryController { } for (int i = 0; i < depositoryAll.size(); i++) { String dname = depositoryAll.get(i).getDname(); - Integer todayDepositoryInventory = getInventoryByDname(dname,toDayInventoryByDNameTest); + Integer todayDepositoryInventory = getInventoryByDname(dname, toDayInventoryByDNameTest); ((Map) sourceList.get(0)).put(dname, todayDepositoryInventory); } List barSource = new ArrayList<>(); @@ -310,11 +316,12 @@ public class DepositoryController { /** * 获取当前仓库下的库存 + * * @param dname * @param list * @return */ - public Integer getInventoryByDname(String dname,List list){ + public Integer getInventoryByDname(String dname, List list) { for (InventoryByDname inventoryByDname : list) { if (dname.equals(inventoryByDname.getDname())) { return inventoryByDname.getInventory(); @@ -373,7 +380,7 @@ public class DepositoryController { // 获取某个月某物料出库总额 // 测试 Integer wareHouseOutCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parmOut); - Integer wareHouseCount1 = (int)productData.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; + Integer wareHouseCount1 = (int) productData.get(k++) - wareHouseInCountByMonth1 + wareHouseOutCountByMonth1; productData.add(wareHouseCount1); } List result = new ArrayList<>(); @@ -397,7 +404,7 @@ public class DepositoryController { @GetMapping("/warehouseRecord") public RestResponse findDepositoryRecordByCondition(@RequestParam Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -419,7 +426,7 @@ public class DepositoryController { @GetMapping("/allWarehouseByParent") public RestResponse findDepositoryByNoParent(@RequestParam Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -452,7 +459,7 @@ public class DepositoryController { @PostMapping("/realDeleteDepository") public RestResponse realDeleteDepository(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -508,7 +515,7 @@ public class DepositoryController { @PostMapping("/depository") public RestResponse insertDepository(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -524,7 +531,7 @@ public class DepositoryController { @PostMapping("/depository_del") public RestResponse deleteDepository(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -581,7 +588,7 @@ public class DepositoryController { @PostMapping("/EditDepositoryState") public RestResponse EditDepositoryState(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -682,7 +689,7 @@ public class DepositoryController { // 获取当前登录用户 String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -760,7 +767,7 @@ public class DepositoryController { // 获取当前登录用户 String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -878,7 +885,7 @@ public class DepositoryController { public Map learnLayuiAndEchart_back(@RequestParam("type") String type, HttpServletRequest request) { // 获取当前登录用户 String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -949,14 +956,13 @@ public class DepositoryController { drCountbyDrName.add(depositoryRecordByDate1); show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); } - } - else { - Future future = completionService.submit(new distributeTasks(type,1,userByPort,yesterdayData,depositoryName)); + } else { + Future future = completionService.submit(new distributeTasks(type, 1, userByPort, yesterdayData, depositoryName)); futureList.add(future); taskNum += 1; } // 获取本月及之前月份各种类别入/出库总量 - Future future = completionService.submit(new distributeTasks(type,3,userByPort,yesterdayData,depositoryName)); + Future future = completionService.submit(new distributeTasks(type, 3, userByPort, yesterdayData, depositoryName)); futureList.add(future); taskNum += 1; // 中国地图数据 @@ -966,7 +972,7 @@ public class DepositoryController { Map mapData = new HashMap<>(); if (!"0".equals(type)) { - Future future1 = completionService.submit(new distributeTasks(type,4,userByPort,yesterdayData,depositoryName)); + Future future1 = completionService.submit(new distributeTasks(type, 4, userByPort, yesterdayData, depositoryName)); futureList.add(future1); taskNum += 1; } @@ -981,13 +987,13 @@ public class DepositoryController { } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } - if(sourceList == null || sourceList.size() == 0) { + if (sourceList == null || sourceList.size() == 0) { sourceList = (List) ((Map) result).get("sourceList"); } - if(show_data == null || show_data.size() == 0) { + if (show_data == null || show_data.size() == 0) { show_data = (Map) ((Map) result).get("show_data"); } - if(mapData == null || mapData.size() == 0){ + if (mapData == null || mapData.size() == 0) { mapData = (Map) ((Map) result).get("mapData"); } } @@ -1025,13 +1031,13 @@ public class DepositoryController { } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } - if(beforeInventoryByMonth == null || beforeInventoryByMonth.size() == 0) { + if (beforeInventoryByMonth == null || beforeInventoryByMonth.size() == 0) { beforeInventoryByMonth = (List) ((Map) result).get("sourceListByMonth"); } - if(thisWeekInventoryByDName == null || thisWeekInventoryByDName.size() == 0) { + if (thisWeekInventoryByDName == null || thisWeekInventoryByDName.size() == 0) { thisWeekInventoryByDName = (Map) ((Map) result).get("ThisWeekInventory"); } - if(beforeInventoryOnMap == null || beforeInventoryOnMap.size() == 0){ + if (beforeInventoryOnMap == null || beforeInventoryOnMap.size() == 0) { beforeInventoryOnMap = (Map) ((Map) result).get("MapInventory"); } } @@ -1039,8 +1045,7 @@ public class DepositoryController { depository_data.put("sourceListByMonth", beforeInventoryByMonth); depository_data.put("ThisWeekInventory", thisWeekInventoryByDName); depository_data.put("MapInventory", beforeInventoryOnMap); - } - else { + } else { // 如果不是 depository_data.put("yesterdayData", yesterdayData); depository_data.put("mapData", mapData); @@ -1058,61 +1063,7 @@ public class DepositoryController { return resMap; } - // 用于分发任务 - @Data - class distributeTasks implements Callable{ - - String type; //请求类型 - int taskType; // 任务类型 - UserByPort userByPort; // 登录用户 - Map yesterdayData; // 昨天的数据 - List depositoryName; // 仓库名称 - DepositoryService depositoryService; // 操作depository的service - DepositoryRecordService depositoryRecordService; // 操作订单的service - Map todayInventory; // 当前仓库的额度 - - distributeTasks(String type ,int taskType,UserByPort userByPort,Map yesterdayData,List depositoryName){ - this.taskType = taskType; // 任务类型 - this.type = type; // 请求类型 - this.userByPort = userByPort; // 登录用户 - this.yesterdayData = yesterdayData; // 昨天的数据 - this.depositoryName = depositoryName; // 仓库名称 - - } - @Override - public Object call() throws Exception { - // taskType 1为折线图2为饼图3为柱状图4为中国地图5为库存可视化中的折线图6为库存可视化中中国地图7为库存可视化中柱状图 - - Map result = new HashMap<>(); - if(1 == taskType){ - Map showData = getShowData(type, userByPort, yesterdayData,depositoryName); - result.put("show_data",showData); - }else if(2 == taskType){ - - }else if(3 == taskType){ - List sourceList = getSourceList(type); - result.put("sourceList",sourceList); - }else if(4 == taskType){ - Map mapData = getMapData(type); - result.put("mapData",mapData); - }else if(5 == taskType){ - List beforeInventoryByMonth = getBeforeInventoryByMonth(depositoryService, todayInventory,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; - } - } - - - // 用于获取折线图 - - 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); // 获取遍历器 @@ -1166,45 +1117,11 @@ public class DepositoryController { 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; - List drCountbyDrName = new ArrayList<>(); - for (i = days.size() - 1; i > 0; i--) { - // 遍历 Map并计算各仓库的入库数 - if (i == days.size() - 1) { - depositoryName.add(key.toString()); - } - Integer val = (Integer) depositoryAllNameAndId.get(key); - // 获取一段时间内的库存额度 - 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); - } - } - show_data.put(key.toString(),drCountbyDrName); - return null; - } - } + // 用于获取折线图 + //获取本月及之前月份各种类别入/出库总量 - public List getSourceList(String type){ + public List getSourceList(String type) { Map previousMonth = getPreviousMonth(); List months = (List) previousMonth.get("months"); @@ -1215,8 +1132,8 @@ public class DepositoryController { // 1.定义CompletionService CompletionService completionService = new ExecutorCompletionService(exs); for (int num = 0; num < months.size() - 1; num++) { - Map map = (Map) sourceList.get(num); - Future future = completionService.submit(new getSourceListTask(map,type,months.get(num + 1).toString(),months.get(num).toString())); + Map map = (Map) sourceList.get(num); + Future future = completionService.submit(new getSourceListTask(map, type, months.get(num + 1).toString(), months.get(num).toString())); futureList.add(future); } for (int i = 0; i < months.size() - 1; i++) { @@ -1237,84 +1154,8 @@ public class DepositoryController { return sourceList; } - - - // 具体执行getSourceList逻辑 - class getSourceListTask implements Callable { - - String type; - String start; - String end; - Map map; - getSourceListTask(Map map, String type, String start, String end){ - this.map = map; - this.type = type; - this.start = start; - this.end = end; - } - @Override - public Object call() throws Exception { - List materialTypeAll = materialTypeService.findMaterialTypeNoParent(); - ExecutorService exs = Executors.newFixedThreadPool(materialTypeAll.size()); - // 结果集 - List> futureList = new ArrayList>(); - // 1.定义CompletionService - CompletionService completionService = new ExecutorCompletionService(exs); - - for (int j = 0; j < materialTypeAll.size(); j++) { - Map parm = new HashMap<>(); - parm.put("type", Integer.parseInt(type)); - if (Integer.parseInt(type) == 1) { - parm.put("state", "已入库"); - } else if (Integer.parseInt(type) == 2) { - parm.put("state", "已出库"); - } - parm.put("start",start); - parm.put("end", end); - parm.put("oldId", materialTypeAll.get(j).getOldId()); - //根据条件获取月份中物料的总额 - // 测试 - - Future future = completionService.submit(new findMaterialCountTaskForSourceList(parm)); - futureList.add(future); - } - for (int i = 0; i < materialTypeAll.size(); i++) { - Object result = null; - try { - result = completionService.take().get(); - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (ExecutionException e) { - e.printStackTrace(); - } - map.putAll((Map) result); - } - return map; - } - } - - - // 根据条件获取月份中物料的总额用于sourcelist - class findMaterialCountTaskForSourceList implements Callable { - - Map map; - findMaterialCountTaskForSourceList(Map map){ - this.map = map; - } - @Override - public Object call() throws Exception { - Map result = new HashMap<>(); - Integer materialCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(map); - Long oldId = Long.valueOf(map.get("oldId").toString()); - MaterialType materialTypeByOldId = materialTypeService.findMaterialTypeByOldId(oldId); - result.put(materialTypeByOldId.getTname(),materialCountByMonth1); - return result; - } - } - - // 中国地图数据 - public Map getMapData(String type){ + public Map getMapData(String type) { List mapDataList = new ArrayList<>(); Map previousMonth1 = getPreviousMonth(); List sourceList1 = (List) previousMonth1.get("sourceList"); @@ -1336,7 +1177,7 @@ public class DepositoryController { for (int i = 0; i < materialTypeAll.size(); i++) { MaterialType mt = materialTypeAll.get(i); - Future future = completionService.submit(new findMapData(previousMonth1,type,mt)); + Future future = completionService.submit(new findMapData(previousMonth1, type, mt)); futureList.add(future); } for (int i = 0; i < materialTypeAll.size(); i++) { @@ -1348,47 +1189,11 @@ public class DepositoryController { } mapDataList.add(result); } - Map mapData =new HashMap<>(); + Map mapData = new HashMap<>(); mapData.put("mapDataList", mapDataList); return mapData; } - class findMapData implements Callable{ - String type ; - MaterialType mt; - Map previousMonth1; - findMapData( Map previousMonth1,String type ,MaterialType mt){ - this.previousMonth1 = previousMonth1; - this.type = type; - this.mt = mt; - } - - @Override - public Object call() throws Exception { - List productData = new ArrayList<>(); - List months1 = (List) previousMonth1.get("months"); - productData.add(mt.getTname()); - for (int j = months1.size() - 1; j > 0; j--) { - Map parm = new HashMap<>(); - parm.put("type", Integer.parseInt(type)); - if (Integer.parseInt(type) == 1) { - parm.put("state", "已入库"); - } else if (Integer.parseInt(type) == 2) { - parm.put("state", "已出库"); - } - parm.put("start", months1.get(j)); - parm.put("end", months1.get(j - 1)); - parm.put("oldId", mt.getOldId()); - //根据条件获取月份中物料的总额 - // 测试 - Integer materialCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parm); - productData.add(materialCountByMonth1); - } - return productData; - } - } - - /** * 根据物料编号查询所在仓库 * @@ -1398,7 +1203,7 @@ public class DepositoryController { @GetMapping("/find_depository") public RestResponse FindDepositoryByMid(@RequestParam("mid") String mid, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1420,7 +1225,6 @@ public class DepositoryController { return null; } - /** * 查找仓库内是否有物品 * @@ -1487,6 +1291,7 @@ public class DepositoryController { /** * 根据父级编号查询所有关联信息 + * * @param did 待查询仓库 * @return */ @@ -1529,6 +1334,7 @@ public class DepositoryController { /** * 根据仓库编号查询与其有关的订单信息 + * * @param depositoryId 待查询仓库id * @return */ @@ -1543,13 +1349,14 @@ public class DepositoryController { /** * 查询当前仓库子仓库 + * * @param parentId * @return */ @GetMapping("/findDepositoryByParent") public RestResponse FindDepositoryByParentId(@RequestParam("parentId") String parentId, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1561,14 +1368,15 @@ public class DepositoryController { /** * 查询当前仓库的管理员 - * @param did 待查询仓库 + * + * @param did 待查询仓库 * @param request * @return */ @GetMapping("/findManagerByDid") public RestResponse FindManagerByDid(@RequestParam("did") Integer did, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1580,14 +1388,13 @@ public class DepositoryController { list.add(user); } int size = list.size(); - return new RestResponse(list,size,200); + return new RestResponse(list, size, 200); } - @GetMapping("/findPostByCompany") public RestResponse findPostByCompany(@RequestParam("company") String company, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1598,18 +1405,18 @@ public class DepositoryController { // 构造树选择框 @GetMapping("/treeMenus") - public RestResponse InitTreeMenus(@RequestParam(value = "adminorg", required = false) Integer adminorg,HttpServletRequest request) { + public RestResponse InitTreeMenus(@RequestParam(value = "adminorg", required = false) Integer adminorg, HttpServletRequest request) { List list = new ArrayList<>(); // 获取当前登录的用户 String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); if (Integer.compare(0, adminorg) == 0) { - list = depositoryService.InitTreeMenus("",userToken); + list = depositoryService.InitTreeMenus("", userToken); } else { - list = depositoryService.InitTreeMenus(adminorg.toString(),userToken); + list = depositoryService.InitTreeMenus(adminorg.toString(), userToken); } return new RestResponse(list); @@ -1617,7 +1424,7 @@ public class DepositoryController { // 构造库位树 @GetMapping("/treeMenus_Place") - public RestResponse InitTreeMenus_Place(@RequestParam(value = "depositoryId") Integer depositoryId){ + public RestResponse InitTreeMenus_Place(@RequestParam(value = "depositoryId") Integer depositoryId) { List list = new ArrayList<>(); list = depositoryService.InitTreeMenus_Place(depositoryId); return new RestResponse(list); @@ -1630,12 +1437,11 @@ public class DepositoryController { return new RestResponse(depositoryRecordById); } - @GetMapping("/findDepositoryCountInfo") - public RestResponse findDepositoryCountInfo(HttpServletRequest request){ + public RestResponse findDepositoryCountInfo(HttpServletRequest request) { // 获取当前登录的用户 String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1658,43 +1464,63 @@ public class DepositoryController { Integer inventoryCount = materialService.findInventoryCountByDepository(depositoryIdList); - Map result = new HashMap<>(); - result.put("wareHouseCount",depositoryIdList.size()); - result.put("inventoryCount",inventoryCount); + Map result = new HashMap<>(); + result.put("wareHouseCount", depositoryIdList.size()); + result.put("inventoryCount", inventoryCount); return new RestResponse(result); } - // 构造仓库二维码 @PostMapping("/createQrCode") public RestResponse createQrCode(@RequestBody Map map) { - // 通过雪花算法计算随机数 - Snowflake snowflake = new Snowflake(10, 10, true); - String qrCode = snowflake.nextIdStr(); + Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); Depository depository = depositoryService.findDepositoryById(depositoryId); - String qrCodeByDepository = depositoryService.findQrCodeByDepository(depository.getId()); - - if (qrCodeByDepository == null) { - Map param = new HashMap<>(); - param.put("depositoryId", depository.getId()); - param.put("qrCode", qrCode); - depositoryService.addQrCodeByDepository(param); - } else { - qrCode = qrCodeByDepository; - } + String qrCode = depositoryService.findQrCodeByDepository(depository.getId()); try { // 二维码保存信息 - return RestResponse.CreateBarCode(qrCode,depository.getDname()); + return RestResponse.CreateBarCode(qrCode, depository.getDname()); } catch (IOException e) { return new RestResponse("err: " + e.getMessage(), 678, new StatusInfo("失败", "请联系开发人员")); } } + @GetMapping("/allBarCodeImgForDepository") + public void allBarCodeImgForDepository(@RequestParam Map map, HttpServletRequest request, HttpServletResponse response) { + // 获取当前仓库id + Integer id = ObjectFormatUtil.toInteger(map.get("id")); + // 获取当前仓库 + Depository depository = depositoryService.findDepositoryById(id); + List placeByDid = placeService.findPlaceByDid(depository.getId()); + List qrCodeListForPlaces = new ArrayList<>(); + for (Place place : placeByDid + ) { + String qrCodeByDepository = placeService.findQrCodeByPlace(place.getId()); + String qrCode = CreateQrCodeUtil.CreateBarCode128(qrCodeByDepository, depository.getDname() + "-" + place.getCode(), 60, 200); + try { + File file = RestResponse.base64ToFile(qrCode); + qrCodeListForPlaces.add(file); + } catch (Exception e) { + e.printStackTrace(); + } + } + // 将其暂存到本地 + String qrCodeByDepository = depositoryService.findQrCodeByDepository(depository.getId()); + String qrCode = CreateQrCodeUtil.CreateBarCode128(qrCodeByDepository, depository.getDname(), 60, 200); + try { + File file = RestResponse.base64ToFile(qrCode); + qrCodeListForPlaces.add(file); + } catch (Exception e) { + e.printStackTrace(); + } + ZipMultiFileUtil.zipDownload(response, depository.getDname() + "图片.zip", qrCodeListForPlaces); + + } /** * 用于获取当前仓库的所有子类 + * * @param d 待查询仓库 * @return */ @@ -1720,7 +1546,7 @@ public class DepositoryController { * 判断当前id是否在ids中 * * @param parentList 父级列表 - * @param id 待判断id + * @param id 待判断id * @return */ public Boolean isTrueForParent(List parentList, Integer id) { @@ -1731,4 +1557,207 @@ public class DepositoryController { } return false; } + + // 用于分发任务 + @Data + class distributeTasks implements Callable { + + String type; //请求类型 + int taskType; // 任务类型 + UserByPort userByPort; // 登录用户 + Map yesterdayData; // 昨天的数据 + List depositoryName; // 仓库名称 + DepositoryService depositoryService; // 操作depository的service + DepositoryRecordService depositoryRecordService; // 操作订单的service + Map todayInventory; // 当前仓库的额度 + + distributeTasks(String type, int taskType, UserByPort userByPort, Map yesterdayData, List depositoryName) { + this.taskType = taskType; // 任务类型 + this.type = type; // 请求类型 + this.userByPort = userByPort; // 登录用户 + this.yesterdayData = yesterdayData; // 昨天的数据 + this.depositoryName = depositoryName; // 仓库名称 + + } + + @Override + public Object call() throws Exception { + // taskType 1为折线图2为饼图3为柱状图4为中国地图5为库存可视化中的折线图6为库存可视化中中国地图7为库存可视化中柱状图 + + Map result = new HashMap<>(); + if (1 == taskType) { + Map showData = getShowData(type, userByPort, yesterdayData, depositoryName); + result.put("show_data", showData); + } else if (2 == taskType) { + + } else if (3 == taskType) { + List sourceList = getSourceList(type); + result.put("sourceList", sourceList); + } else if (4 == taskType) { + Map mapData = getMapData(type); + result.put("mapData", mapData); + } else if (5 == taskType) { + List beforeInventoryByMonth = getBeforeInventoryByMonth(depositoryService, todayInventory, 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; + } + } + + @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; + List drCountbyDrName = new ArrayList<>(); + for (i = days.size() - 1; i > 0; i--) { + // 遍历 Map并计算各仓库的入库数 + if (i == days.size() - 1) { + depositoryName.add(key.toString()); + } + Integer val = (Integer) depositoryAllNameAndId.get(key); + // 获取一段时间内的库存额度 + 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); + } + } + show_data.put(key.toString(), drCountbyDrName); + return null; + } + } + + // 具体执行getSourceList逻辑 + class getSourceListTask implements Callable { + + String type; + String start; + String end; + Map map; + + getSourceListTask(Map map, String type, String start, String end) { + this.map = map; + this.type = type; + this.start = start; + this.end = end; + } + + @Override + public Object call() throws Exception { + List materialTypeAll = materialTypeService.findMaterialTypeNoParent(); + ExecutorService exs = Executors.newFixedThreadPool(materialTypeAll.size()); + // 结果集 + List> futureList = new ArrayList>(); + // 1.定义CompletionService + CompletionService completionService = new ExecutorCompletionService(exs); + + for (int j = 0; j < materialTypeAll.size(); j++) { + Map parm = new HashMap<>(); + parm.put("type", Integer.parseInt(type)); + if (Integer.parseInt(type) == 1) { + parm.put("state", "已入库"); + } else if (Integer.parseInt(type) == 2) { + parm.put("state", "已出库"); + } + parm.put("start", start); + parm.put("end", end); + parm.put("oldId", materialTypeAll.get(j).getOldId()); + //根据条件获取月份中物料的总额 + // 测试 + + Future future = completionService.submit(new findMaterialCountTaskForSourceList(parm)); + futureList.add(future); + } + for (int i = 0; i < materialTypeAll.size(); i++) { + Object result = null; + try { + result = completionService.take().get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + map.putAll((Map) result); + } + return map; + } + } + + // 根据条件获取月份中物料的总额用于sourcelist + class findMaterialCountTaskForSourceList implements Callable { + + Map map; + + findMaterialCountTaskForSourceList(Map map) { + this.map = map; + } + + @Override + public Object call() throws Exception { + Map result = new HashMap<>(); + Integer materialCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(map); + Long oldId = Long.valueOf(map.get("oldId").toString()); + MaterialType materialTypeByOldId = materialTypeService.findMaterialTypeByOldId(oldId); + result.put(materialTypeByOldId.getTname(), materialCountByMonth1); + return result; + } + } + + class findMapData implements Callable { + String type; + MaterialType mt; + Map previousMonth1; + + findMapData(Map previousMonth1, String type, MaterialType mt) { + this.previousMonth1 = previousMonth1; + this.type = type; + this.mt = mt; + } + + @Override + public Object call() throws Exception { + List productData = new ArrayList<>(); + List months1 = (List) previousMonth1.get("months"); + productData.add(mt.getTname()); + for (int j = months1.size() - 1; j > 0; j--) { + Map parm = new HashMap<>(); + parm.put("type", Integer.parseInt(type)); + if (Integer.parseInt(type) == 1) { + parm.put("state", "已入库"); + } else if (Integer.parseInt(type) == 2) { + parm.put("state", "已出库"); + } + parm.put("start", months1.get(j)); + parm.put("end", months1.get(j - 1)); + parm.put("oldId", mt.getOldId()); + //根据条件获取月份中物料的总额 + // 测试 + Integer materialCountByMonth1 = depositoryRecordService.findMaterialCountByMonth2(parm); + productData.add(materialCountByMonth1); + } + return productData; + } + } } diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java index 64733ace..231c4d83 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -230,7 +230,7 @@ public class DepositoryRecordController { // 定义列表用于储存入库单id List recordIds = new ArrayList<>(); // 定义列表用于存储入库仓库id - List depositoryIds = new ArrayList<>(); + List mtIdList = new ArrayList<>(); if (params.size() < 1 && map.size() > 3) { @@ -242,22 +242,23 @@ public class DepositoryRecordController { if (addSplitInventory != -1) { integer += addSplitInventory; recordIds.add(ObjectFormatUtil.toInteger(map.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } - } else { + } + else { // 获取库位id Integer placeId = ObjectFormatUtil.toInteger(map.get("placeId")); if (placeId == 0) {// 如果插入到仓库 map.put("placeId", 0); // 到默认库位 integer += depositoryRecordService.applicationInPlace(map, false); recordIds.add(ObjectFormatUtil.toInteger(map.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } else { // 如果具体到库位 Integer flag = depositoryRecordService.applicationInPlace(map, false); if (flag != -1) { integer += flag; recordIds.add(ObjectFormatUtil.toInteger(map.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } } } @@ -286,7 +287,7 @@ public class DepositoryRecordController { if (addSplitInventory != -1) { integer += addSplitInventory; recordIds.add(ObjectFormatUtil.toInteger(insert.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(insert.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); successMsg.add(insert); } else { errMsg.add(insert); @@ -301,7 +302,7 @@ public class DepositoryRecordController { integer += add; successMsg.add(insert); recordIds.add(ObjectFormatUtil.toInteger(insert.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(insert.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } } else {// 如果具体到库位 @@ -313,7 +314,7 @@ public class DepositoryRecordController { } else { integer += flag; recordIds.add(ObjectFormatUtil.toInteger(insert.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(insert.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } } @@ -327,7 +328,7 @@ public class DepositoryRecordController { integer += addSplitInventory; successMsg.add(map); recordIds.add(ObjectFormatUtil.toInteger(map.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } else { errMsg.add(map); } @@ -343,7 +344,7 @@ public class DepositoryRecordController { integer += add; successMsg.add(map); recordIds.add(ObjectFormatUtil.toInteger(map.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } } else { // 如果具体到库位 @@ -354,7 +355,7 @@ public class DepositoryRecordController { } else { integer += flag; recordIds.add(ObjectFormatUtil.toInteger(map.get("applicationInId"))); - depositoryIds.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + mtIdList.add(ObjectFormatUtil.toLong(map.get("mtId"))); } } } @@ -367,14 +368,14 @@ public class DepositoryRecordController { new Thread(new Runnable() { @Override public void run() { - Map> depositoryIdToRecordId = new HashMap<>(); + Map> MtIdToRecordId = new HashMap<>(); for (int i = 0; i < recordIds.size(); i++) { Integer recordId = recordIds.get(i); if (recordId != null) { // 如果当前id不是空 获取对应的入库仓库id - Integer depositoryId = depositoryIds.get(i); + Long mtId = mtIdList.get(i); // 将对应仓库与订单id添加映射关系 - List integers = depositoryIdToRecordId.get(depositoryId); + List integers = MtIdToRecordId.get(mtId); if (integers != null) { // 如果有对应关系 integers.add(recordId); @@ -382,25 +383,25 @@ public class DepositoryRecordController { // 如果没有 integers = new ArrayList<>(); integers.add(recordId); - depositoryIdToRecordId.put(depositoryId, integers); + MtIdToRecordId.put(mtId, integers); } } } // 获取遍历器 - Iterator iterator = depositoryIdToRecordId.keySet().iterator(); + Iterator iterator = MtIdToRecordId.keySet().iterator(); if (iterator.hasNext()) { // 获取当前仓库 - Integer next = iterator.next(); + Long next = iterator.next(); // 获取入库到当前仓库的订单id - List integerList = depositoryIdToRecordId.get(next); - // 获取当前仓库的管理员 - List depositoryIdForIn = roleService.findRoleAndDepositoryByDepositoryIdForIn(next); + List integerList = MtIdToRecordId.get(next); + // 获取当前类型的管理员 + List materialTypeIdForIn = roleService.findRoleAndMaterialTypeByMtId(next); // 用于存储当前仓库的管理员企业微信userId StringBuilder sb = new StringBuilder(); - for (RoleAndDepository depository : depositoryIdForIn + for (RoleAndMaterialType mt : materialTypeIdForIn ) { // 获取管理员数据 - UserByPort userByPort = LinkInterfaceUtil.FindUserById(depository.getUserId(), userToken); + UserByPort userByPort = LinkInterfaceUtil.FindUserById(mt.getUid(), userToken); String workwechat = userByPort.getWorkwechat(); if (workwechat == null || "".equals(workwechat)) { workwechat = userByPort.getWechat(); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DownLoadFileController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DownLoadFileController.java index c2a471ba..09d51729 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DownLoadFileController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DownLoadFileController.java @@ -1,6 +1,7 @@ package com.dreamchaser.depository_manage.controller; import org.springframework.core.io.ClassPathResource; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -25,9 +26,7 @@ public class DownLoadFileController { @RequestMapping("/zipDownload") public void zipDownload(HttpServletRequest request,HttpServletResponse response) { try { - String path = "static/upload/PrintServer.zip"; - String fileName = "PrintServer.zip"; response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); response.setContentType("content-type:octet-stream"); @@ -160,4 +159,7 @@ public class DownLoadFileController { + + + } diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java index c6c45585..cdb66a17 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -160,7 +160,6 @@ public class MaterialController { // 定义仓库编号列表 List didList = new ArrayList<>(); - Integer size = 10, page = 1; // 定义每页展示数量 if (map.containsKey("size")) { size = ObjectFormatUtil.toInteger(map.get("size")); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java index b7957a1a..ada2bf2a 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -82,7 +82,7 @@ public class PageController { public ModelAndView Init(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -148,7 +148,7 @@ public class PageController { public ModelAndView index(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -176,7 +176,7 @@ public class PageController { HttpServletRequest request, HttpServletResponse response) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -302,7 +302,7 @@ public class PageController { ModelAndView mv = new ModelAndView(); String header = request.getHeader("user-agent"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -407,7 +407,7 @@ public class PageController { @GetMapping("/depository_add") public ModelAndView depository_add(HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -422,7 +422,7 @@ public class PageController { @GetMapping("/depository-out") public ModelAndView depository_out(HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -462,7 +462,7 @@ public class PageController { @GetMapping("/split_out") public ModelAndView split_out(HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -486,7 +486,7 @@ public class PageController { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/material/material-out"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -525,7 +525,7 @@ public class PageController { public ModelAndView selectDepository(Integer type, HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -592,7 +592,7 @@ public class PageController { public ModelAndView selectDepositoryByCard(Integer type, String clickObj, @RequestParam(value = "flagForGroup", required = false) boolean flagForGroup, HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -630,10 +630,10 @@ public class PageController { // 负责人树形菜单页面 @GetMapping("/selectManager") - public ModelAndView selectManager(@RequestParam Map map) { + public ModelAndView selectManager(@RequestParam Map map) { ModelAndView mv = new ModelAndView(); - if(map.containsKey("type")){ - mv.addObject("type",map.get("type")); + if (map.containsKey("type")) { + mv.addObject("type", map.get("type")); } mv.setViewName("pages/post/selectManager"); return mv; @@ -669,7 +669,7 @@ public class PageController { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/material/material-view"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -705,7 +705,7 @@ public class PageController { Map map = new HashMap<>(); map.put("parentId", 0); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -825,7 +825,7 @@ public class PageController { public ModelAndView table_in(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -846,7 +846,7 @@ public class PageController { public ModelAndView table_out(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -873,7 +873,7 @@ public class PageController { @GetMapping("/table_user") public ModelAndView table_user(HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -959,7 +959,7 @@ public class PageController { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/group/group-out"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1005,7 +1005,7 @@ public class PageController { mv.setViewName("pages/group/group_edit"); Group group = groupService.findGroupOnlyById(id); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1034,7 +1034,7 @@ public class PageController { mv.setViewName("pages/chart/chart-in_back"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1088,7 +1088,7 @@ public class PageController { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/chart/chart-out_back"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1153,7 +1153,7 @@ public class PageController { @GetMapping("/user_add") public ModelAndView user_add(Integer userId, Integer classes, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1166,10 +1166,27 @@ public class PageController { return mv; } + @GetMapping("/user_addForIn") + public ModelAndView user_addForIn(Integer userId, Integer classes, HttpServletRequest request) { + String token = request.getHeader("user-token"); + if (token == null) { + token = (String) request.getSession().getAttribute("userToken"); + } + UserByPort userToken = AuthenticationTokenPool.getUserToken(token); + ModelAndView mv = new ModelAndView(); + mv.setViewName("pages/user/user-addForIn"); + UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userToken); + UserByPortP userByPortP = new UserByPortP(userByPort); + mv.addObject("userByPort", userByPortP); + mv.addObject("classes", classes); + return mv; + } + + @GetMapping("/user_role_edit") public ModelAndView user_role_edit(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1188,10 +1205,33 @@ public class PageController { return mv; } + @GetMapping("/user_role_editForIn") + public ModelAndView user_role_editForIn(Integer id, HttpServletRequest request) { + String token = request.getHeader("user-token"); + if (token == null) { + token = (String) request.getSession().getAttribute("userToken"); + } + UserByPort userToken = AuthenticationTokenPool.getUserToken(token); + ModelAndView mv = new ModelAndView(); + mv.setViewName("pages/user/user-role-editForIn"); + RoleAndMaterialType roleAndMaterialTypeById = roleService.findRoleAndMaterialTypeById(id); + UserByPortP userByPortP = null; + if (roleAndMaterialTypeById != null) { + UserByPort userByPort = LinkInterfaceUtil.FindUserById(roleAndMaterialTypeById.getUid(), userToken); + userByPortP = new UserByPortP(userByPort); + userByPortP.setMaterialTypeName(roleAndMaterialTypeById.getTname()); + } + mv.addObject("userByPort", userByPortP); + mv.addObject("roleId", roleAndMaterialTypeById.getId()); + mv.addObject("mtid", roleAndMaterialTypeById.getMtid()); + return mv; + } + + @GetMapping("/post_role_edit") public ModelAndView post_role_edit(Integer id, Integer depositoryId, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1217,7 +1257,7 @@ public class PageController { @GetMapping("/user_detail") public ModelAndView user_edit(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1235,7 +1275,7 @@ public class PageController { @GetMapping("/warehouse_view") public ModelAndView warehouse_view(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1263,7 +1303,7 @@ public class PageController { @GetMapping("/warehouseByParentId") public ModelAndView warehouseByParentId(Integer parentId, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1325,7 +1365,7 @@ public class PageController { @GetMapping("/findWareHouseByParentId") public ModelAndView findWareHouseByParentId(Integer parentId, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -1419,7 +1459,7 @@ public class PageController { @GetMapping("/findMaterialTypeByParentId") public ModelAndView findMaterialTypeByParentId(Integer parentId, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -1469,7 +1509,7 @@ public class PageController { @GetMapping("/application_review") public ModelAndView application_review(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1584,7 +1624,7 @@ public class PageController { @GetMapping("/form_step_look") public ModelAndView form_step_look(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1653,7 +1693,7 @@ public class PageController { @GetMapping("/application_in_review") public ModelAndView application_in_review(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1722,7 +1762,7 @@ public class PageController { @GetMapping("/form_step_lookByminRecordOut") public ModelAndView form_step_lookByminRecordOut(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1797,7 +1837,7 @@ public class PageController { @GetMapping("/ApplicationOutView") public ModelAndView ApplicationOutView(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -1976,7 +2016,7 @@ public class PageController { public ModelAndView StockTakingReview(Integer id, HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2033,7 +2073,7 @@ public class PageController { public ModelAndView StockTakingView(Integer id, HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2098,7 +2138,7 @@ public class PageController { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/user/account-look"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2153,7 +2193,7 @@ public class PageController { @GetMapping("/company_out") public ModelAndView Company_Out(HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2179,7 +2219,7 @@ public class PageController { @GetMapping("/company_detail") public ModelAndView company_detail(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -2214,7 +2254,7 @@ public class PageController { @GetMapping("/findCompanyByParentId") public ModelAndView findCompanyByParentId(Integer parentId, Integer level, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2238,7 +2278,7 @@ public class PageController { @GetMapping("/findPostByOrganization") public ModelAndView findPostByOrganization(Integer organization, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2279,7 +2319,7 @@ public class PageController { @GetMapping("/post_detail") public ModelAndView post_detail(Integer id, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2298,7 +2338,7 @@ public class PageController { @GetMapping("/findPostByParentId") public ModelAndView findPostByParentId(Integer parentId, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2345,7 +2385,7 @@ public class PageController { @GetMapping("/postRoleAdd") public ModelAndView PostRoleAdd(Integer id, Integer classes, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2496,7 +2536,7 @@ public class PageController { public ModelAndView applicationInScanQrCode(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -2524,7 +2564,7 @@ public class PageController { public ModelAndView applicationInByMaterial(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -2562,7 +2602,7 @@ public class PageController { public ModelAndView applicationOutScanQrCode(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); @@ -2621,7 +2661,7 @@ public class PageController { @GetMapping("/stockTaking") public ModelAndView stockTaking(HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2660,7 +2700,7 @@ public class PageController { @GetMapping("/stockTakingTransfer") public ModelAndView stockTakingTransfer(String minIds, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2816,7 +2856,7 @@ public class PageController { NoticeP noticeById = noticeService.findNoticeById(id); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -2851,7 +2891,7 @@ public class PageController { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/notice/notice-out_user"); String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java index ce5a7c7a..985d1f53 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java @@ -93,7 +93,11 @@ public class PlaceController { // insert.put("y", place_y); insert.put("z", place_z); insert.put("code", code); + Depository depository = depositoryService.findDepositoryById(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + String depositoryCode = depository.getCode(); + String kingdeeCode = depositoryCode.substring(depositoryCode.length() - 2) + code; insert.put("did", map.get("depositoryId")); + insert.put("kingdeecode", kingdeeCode); if (!"".equals(min)) { insert.put("min", map.get("min")); } else { @@ -124,6 +128,8 @@ public class PlaceController { total = (place_end_x - place_start_x + 1) * (place_end_z - place_start_z + 1); String min = (String) map.get("min"); String max = (String) map.get("max"); + Depository depository = depositoryService.findDepositoryById(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + String depositoryCode = depository.getCode(); for (int i = place_start_x; i <= place_end_x; i++) { // for (int j = place_start_y; j < place_end_y; j++) { for (int k = place_start_z; k <= place_end_z; k++) { @@ -133,9 +139,11 @@ public class PlaceController { // insert.put("y",j); insert.put("z",k); insert.put("code",code); + String kingdeeCode = depositoryCode.substring(depositoryCode.length() - 2) + code; + insert.put("did", map.get("depositoryId")); + insert.put("kingdeecode", kingdeeCode); insert.put("min",min); insert.put("max",max); - insert.put("did", map.get("depositoryId")); insert.put("state",1); insert.put("quantity",0); insert.put("flagType",1); @@ -239,7 +247,6 @@ public class PlaceController { Object id = map.get("id"); // 获取当前修改的库位 Place placeById = placeService.findPlaceById(ObjectFormatUtil.toInteger(id)); - Map update = new HashMap<>(); Integer place_x = ObjectFormatUtil.toInteger(map.get("place_x")); // Integer place_y = ObjectFormatUtil.toInteger(map.get("place_y")); @@ -257,7 +264,7 @@ public class PlaceController { // 如果编码发生改变 // 获取当前修改后的库位编码是否存在 - Place placeByDidAndCode = placeService.findPlaceByDidAndCode(placeById.getDid(), oldCode); + Place placeByDidAndCode = placeService.findPlaceByDidAndCode(placeById.getDid(), newCode); if(placeByDidAndCode != null){ // 如果存在 return new RestResponse("",12345,new StatusInfo("修改失败","该编码或位置已经存在")); @@ -269,6 +276,7 @@ public class PlaceController { // update.put("y", place_y); update.put("z", place_z); update.put("code", newCode); + update.put("kingdeecode",placeById.getKingdeecode().substring(0,2) + newCode); update.put("oldCode", oldCode); update.put("did", map.get("did")); if (!"".equals(min)) { @@ -396,28 +404,14 @@ public class PlaceController { // 构造仓库二维码 @PostMapping("/createQrCode") public RestResponse createQrCode(@RequestBody Map map) { - // 通过雪花算法计算随机数 - Snowflake snowflake = new Snowflake(10,10,true); - String qrCode = snowflake.nextIdStr(); - Integer pid = ObjectFormatUtil.toInteger(map.get("pid")); - String qrCodeByDepository = placeService.findQrCodeByPlace(pid); - if(qrCodeByDepository == null) { - Map param = new HashMap<>(); - param.put("pid", pid); - param.put("qrCode", qrCode); - placeService.addQrCodeByPlace(param); - }else{ - qrCode = qrCodeByDepository; - } + Integer pid = ObjectFormatUtil.toInteger(map.get("pid")); + String qrCode = placeService.findQrCodeByPlace(pid); try { // 二维码保存信息 - Place placeById = placeService.findPlaceById(pid); - Depository depositoryById = depositoryService.findDepositoryById(placeById.getDid()); - return RestResponse.CreateBarCode(qrCode,depositoryById.getDname() + "-" + placeById.getCode()); } catch (IOException e) { return new RestResponse("err: " + e.getMessage(), 678, new StatusInfo("失败", "请联系开发人员")); 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 b21744a9..72a8b418 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/UserController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/UserController.java @@ -7,10 +7,7 @@ import com.dreamchaser.depository_manage.entity.Depository; import com.dreamchaser.depository_manage.entity.User; import com.dreamchaser.depository_manage.entity.UserByPort; import com.dreamchaser.depository_manage.exception.MyException; -import com.dreamchaser.depository_manage.pojo.RestResponse; -import com.dreamchaser.depository_manage.pojo.RoleAndDepository; -import com.dreamchaser.depository_manage.pojo.StatusInfo; -import com.dreamchaser.depository_manage.pojo.UserByPortP; +import com.dreamchaser.depository_manage.pojo.*; import com.dreamchaser.depository_manage.security.bean.LoginRealms; import com.dreamchaser.depository_manage.security.bean.LoginType; import com.dreamchaser.depository_manage.security.bean.UserToken; @@ -243,7 +240,7 @@ public class UserController { @PostMapping("/sys/findUsers") public RestResponse findUsersByPort(@RequestParam Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); @@ -296,11 +293,8 @@ public class UserController { } /** - * 添加用户权限 - * @param map - * @return - */ - /** + * 添加用户管理仓库的权限 + * * @param map * @return */ @@ -331,7 +325,28 @@ public class UserController { } return CrudUtil.postHandle(success, depositoryAll.size()); } + } + + /** + * 添加用户管理仓库的权限 + * + * @param map + * @return + */ + @PostMapping("/sys/user_roleForIn") + public RestResponse addUserForIn(@RequestBody Map map) { + Map param = new HashMap<>(); + param.put("userId", map.get("userid")); + param.put("classes", map.get("classes")); + param.put("mtid", map.get("mtid")); + List roleAndMaterialTypeByCondition = roleService.findRoleAndMaterialTypeByCondition(param); + if (roleAndMaterialTypeByCondition.size() > 0) { + return CrudUtil.postHandle(-1, -1); + } else { + Integer integer = roleService.addUserOrPostRoleAndMaterialType(map); + return CrudUtil.postHandle(integer, integer); + } } @PostMapping("/sys/userRole_edit") @@ -339,6 +354,11 @@ public class UserController { return CrudUtil.postHandle(roleService.UpdateRoleAndDepositoryById(map), 1); } + @PostMapping("/sys/userRole_editForIn") + public RestResponse editUserRoleForIn(@RequestBody Map map) { + return CrudUtil.postHandle(roleService.UpdateRoleAndMaterialTypeById(map), 1); + } + @PostMapping("/sys/user_detail") public RestResponse updateUser(@RequestBody Map map) { if (map.containsKey("pwd") && map.get("pwd") != "") { @@ -369,7 +389,7 @@ public class UserController { } /** - * 根据主键删除权限类型 + * 根据主键删除管理仓库权限 * * @param map * @return @@ -382,8 +402,7 @@ public class UserController { } else if (map.containsKey("ids")) { Integer num = 0; List ids = (List) map.get("ids"); - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); + for (Integer id : ids) { num += roleService.deleteRoleAndDepositoryById(id); } return CrudUtil.deleteHandle(num, ids.size()); @@ -392,6 +411,30 @@ public class UserController { } } + + /** + * 根据主键删除管理类型权限 + * + * @param map + * @return + */ + @PostMapping("/sys/userRole_delForIn") + public RestResponse deleteRoleAndMaterialType(@RequestBody Map map) { + if (map.containsKey("id")) { + Integer id = ObjectFormatUtil.toInteger(map.get("id")); + return CrudUtil.deleteHandle(roleService.deleteRoleAndMaterialTypeById(id), 1); + } else if (map.containsKey("ids")) { + Integer num = 0; + List ids = (List) map.get("ids"); + for (Integer id : ids) { + num += roleService.deleteRoleAndMaterialTypeById(id); + } + return CrudUtil.deleteHandle(num, ids.size()); + } else { + throw new MyException("所需请求参数缺失!"); + } + } + @PutMapping("/user") public RestResponse updateSelf(@RequestBody Map map, HttpServletRequest request) { UserToken userToken = (UserToken) request.getAttribute("userToken"); @@ -495,11 +538,12 @@ public class UserController { @GetMapping("/findUserRole") public RestResponse findUserRole(@RequestParam Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); - if(token == null){ + if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); List userByPortPList = new ArrayList<>(); + String classes = (String) map.get("classes"); List roleAndDepositoryByCondition = roleService.findRoleAndDepositoryByCondition(map); for (RoleAndDepository roleAndDepository : roleAndDepositoryByCondition) { UserByPort userByPort = LinkInterfaceUtil.FindUserById(roleAndDepository.getUserId(), userToken); @@ -508,7 +552,28 @@ public class UserController { up.setDepositoryName(roleAndDepository.getDepositoryName()); userByPortPList.add(up); } - return new RestResponse(userByPortPList, userByPortPList.size(), 200); + return new RestResponse(userByPortPList, roleService.findRoleAndDepositoryCountByCondition(map), 200); + } + + @GetMapping("/findUserInRole") + public RestResponse findUserInRole(@RequestParam Map map, HttpServletRequest request) { + String token = request.getHeader("user-token"); + if (token == null) { + token = (String) request.getSession().getAttribute("userToken"); + } + UserByPort userToken = AuthenticationTokenPool.getUserToken(token); + List userByPortPList = new ArrayList<>(); + // 如果查询的是入库 + List roleAndMaterialTypeByCondition = roleService.findRoleAndMaterialTypeByCondition(map); + for (RoleAndMaterialType roleAndMaterialType : roleAndMaterialTypeByCondition + ) { + UserByPort userByPort = LinkInterfaceUtil.FindUserById(roleAndMaterialType.getUid(), userToken); + UserByPortP up = new UserByPortP(userByPort); + up.setId(roleAndMaterialType.getId()); + up.setMaterialTypeName(roleAndMaterialType.getTname()); + userByPortPList.add(up); + } + return new RestResponse(userByPortPList, roleService.findRoleAndMaterialTypeCountByCondition(map), 200); } diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java b/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java index 4d1148fc..eb7d48f5 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java @@ -104,6 +104,11 @@ public class Inventory { */ private String placeCode; + /** + * 库位编码(金蝶) + */ + private String placeKingdeeCode; + /** * 暂存额度 diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndPlace.java b/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndPlace.java index 10eda8fc..5a4f9e19 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndPlace.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndPlace.java @@ -24,6 +24,11 @@ public class MaterialAndPlace { * 库位编码 */ private String code; + + /** + * 库位编码(金蝶) + */ + private String kingdeecode; /** * 库位最大存储量 */ diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/Place.java b/src/main/java/com/dreamchaser/depository_manage/entity/Place.java index 13be6d32..af924fa4 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/Place.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/Place.java @@ -64,4 +64,10 @@ public class Place { * 当前库位类型(1库位2托盘) */ private Integer flagForType; + + + /** + * 库位编码(金蝶) + */ + private String kingdeecode; } diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.java index 47ffd975..1cb6c4e1 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.java @@ -73,6 +73,13 @@ public interface DepositoryMapper { */ Depository findDepositoryById(Integer id); + /** + * 根据主键id批量获取数据 + * @param list + * @return 查询数据 + */ + List findDepositoryByIds(List list); + /** diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.xml index 90021ff8..a76db67a 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.xml @@ -6,10 +6,10 @@ - - - - + + + + @@ -23,18 +23,18 @@ - + d.id, d.dname, d.address, d.introduce,d.state,d.parentId,d.cid,d.code,d.adminorg,d.maxNumber,d.minNumber - + id,dname,address,introduce,state,parentId,cid,cname,code,adminorg,minNumber,maxNumber - + - + @@ -61,41 +61,38 @@ - - - - + - + SELECT - + FROM depository d WHERE 1 = 1 - and (d.adminorg = #{adminorg} or d.adminorg = 361) + and (d.adminorg = #{adminorg} or d.adminorg = 361) AND d.parentId = #{parentId} - or d.adminorg = '' and d.state != 3 + or d.adminorg = '' and d.state != 3 - + - + + - - - SELECT - + FROM depository d WHERE d.id = #{id} - + + + INSERT INTO depository ( @@ -222,7 +228,7 @@ #{minNumber} ) - + - + UPDATE depository @@ -259,7 +265,7 @@ parentId = #{parentId}, - cid = #{cid}, + cid = #{cid}, adminorg = #{adminorg}, @@ -277,7 +283,7 @@ WHERE id = #{id} - + - + - + DELETE FROM depository WHERE id = #{id} - - - + + + DELETE FROM depository WHERE id IN #{id} - + UPDATE depository @@ -334,7 +340,7 @@ and state != 3 - + update depository @@ -347,7 +353,7 @@ - + - @@ -106,8 +161,6 @@ - - @@ -126,19 +179,63 @@ and classes = #{classes} + + LIMIT #{begin},#{size} + - select - + COUNT(*) from userroleanddepository where 1 = 1 and did = #{depositoryId} - and classes in (3,4) + + and userId = #{userId} + + + and classes = #{classes} + + + + + + + + + delete from postoruserrole WHERE id = #{id} + + delete from mtanduserrole WHERE id = #{id} + + diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java index e62843c6..2809e494 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java @@ -109,6 +109,11 @@ public class InventoryP { */ private String placeCode; + /** + * 库位编码(金蝶) + */ + private String placeKingdeeCode; + /** * 物料编码与条形码的对应关系 @@ -238,6 +243,7 @@ public class InventoryP { this.shelfLifeForCalc = inventory.getShelfLife(); //保质期,用于计算 this.numberOfTemporary = inventory.getNumberOfTemporary(); // 临时数量(出库数量) this.baseUnit = inventory.getUnit(); // 基础单位 + this.placeKingdeeCode = inventory.getPlaceKingdeeCode(); // 库位编码(金蝶) } public InventoryP() { diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialAndPlaceForView.java b/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialAndPlaceForView.java index 087cefb0..ab092037 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialAndPlaceForView.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialAndPlaceForView.java @@ -111,6 +111,11 @@ public class MaterialAndPlaceForView { */ private String takingUnit; + /** + * 库位编码(金蝶使用) + */ + private String kingdeecode; + /** * 拆单单位 */ diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/PlaceP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/PlaceP.java index 9a1d60a3..a198b017 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/PlaceP.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/PlaceP.java @@ -81,6 +81,11 @@ public class PlaceP { private List materialAndPlaceList; + /** + * 库位编码(金蝶) + */ + private String kingdeecode; + public PlaceP(Integer id, Integer x, Integer y, Integer z, Integer mid, Integer did, String code, Integer min, Integer max, Integer state, String mname, String mcode, String depositoryCode, String depositoryName) { this.id = id; this.x = x; @@ -109,5 +114,6 @@ public class PlaceP { this.min = p.getMin(); this.max = p.getMax(); this.state = p.getState(); + this.kingdeecode = p.getKingdeecode(); } } diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/RestResponse.java b/src/main/java/com/dreamchaser/depository_manage/pojo/RestResponse.java index 69ea6a0c..5a8cfd44 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/RestResponse.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/RestResponse.java @@ -9,12 +9,11 @@ import lombok.Data; import lombok.experimental.Accessors; import sun.misc.BASE64Decoder; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.Serializable; +import java.io.*; +import java.util.Base64; import java.util.HashMap; import java.util.Map; +import java.util.UUID; /** * 所有服务统一响应数据格式 @@ -101,7 +100,7 @@ public class RestResponse implements Serializable { /** - * 将base64编码转为图片 + * 将base64编码转为图片并保存到本地 * @param imgStr * @param imgFilePath * @return @@ -130,5 +129,48 @@ public class RestResponse implements Serializable { } + /** + * 将base64编码转为file对象 + * @param base64 + * @return + * @throws Exception + */ + public static File base64ToFile(String base64) throws Exception { + if(base64.contains("data:image")){ + base64 = base64.substring(base64.indexOf(",")+1); + } + base64 = base64.toString().replace("\r\n", ""); + //创建文件目录 + String prefix=".jpeg"; + File file = File.createTempFile(UUID.randomUUID().toString(), prefix); + BufferedOutputStream bos = null; + FileOutputStream fos = null; + try { + BASE64Decoder decoder = new BASE64Decoder(); + byte[] bytes = decoder.decodeBuffer(base64); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(bytes); + }finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return file; + } + + + } diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/RoleAndMaterialType.java b/src/main/java/com/dreamchaser/depository_manage/pojo/RoleAndMaterialType.java new file mode 100644 index 00000000..c76b1b60 --- /dev/null +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/RoleAndMaterialType.java @@ -0,0 +1,51 @@ +package com.dreamchaser.depository_manage.pojo; + +import lombok.Data; + +/** + * 用于存储用户与物料类型之间的权限关系 + */ +@Data +public class RoleAndMaterialType { + /** + * id + */ + private Integer id; + + /** + * 类型id + */ + private Integer mtid; + /** + * 类型名称 + */ + private String tname; + /** + * 类型介绍 + */ + private String mtintroduce; + /** + * 类型父级 + */ + private Integer mtparentId; + /** + * 用户名称 + */ + private String username; + /** + * 用户id + */ + private Integer uid; + /** + * 1个人2岗位 + */ + private Integer classes; + /** + * 类型状态 + */ + private Integer mtstate; + /** + * 用户工号 + */ + private String userNumber; +} diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/UserByPortP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/UserByPortP.java index 37cbd9d5..075ad5b7 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/UserByPortP.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/UserByPortP.java @@ -70,6 +70,12 @@ public class UserByPortP { */ private String depositoryName; + /** + * 管理类型 + */ + private String materialTypeName; + + /** * 是否为本部门负责人(1:是;2:否) */ diff --git a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java index 7f8907b2..cbc68733 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java @@ -57,6 +57,14 @@ public interface DepositoryService { Depository findDepositoryById(Integer id); + /** + * 根据主键id批量获取数据 + * @param ids + * @return 查询数据 + */ + List findDepositoryByIds(List ids); + + /** * 根据多个id获取数据 * @param ids diff --git a/src/main/java/com/dreamchaser/depository_manage/service/RoleService.java b/src/main/java/com/dreamchaser/depository_manage/service/RoleService.java index 72b83a36..db7ac06a 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/RoleService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/RoleService.java @@ -2,6 +2,7 @@ package com.dreamchaser.depository_manage.service; import com.dreamchaser.depository_manage.entity.Role; import com.dreamchaser.depository_manage.pojo.RoleAndDepository; +import com.dreamchaser.depository_manage.pojo.RoleAndMaterialType; import java.util.List; import java.util.Map; @@ -16,6 +17,13 @@ public interface RoleService { */ Integer addUserOrPostRoleAndDepository(Map map); + /** + * 添加用户或者岗位权限及管理的类型 + * @param map + * @return + */ + Integer addUserOrPostRoleAndMaterialType(Map map); + /** * 根据使用者id获取角色权限以及管理的仓库 @@ -47,45 +55,95 @@ public interface RoleService { List findUserIdByDid(Integer did); /** - * 根据条件获取权限 - * @param map + * 根据条件获取管理仓库权限 + * @param map 查询条件 * @return */ List findRoleAndDepositoryByCondition(Map map); + + /** + * 根据条件获取管理类型权限 + * @param map 查询条件 + * @return + */ + List findRoleAndMaterialTypeByCondition(Map map); + + /** - * 根据id获取权限 + * 根据条件获取管理仓库权限数量 + * + * @param map + * @return + */ + Integer findRoleAndDepositoryCountByCondition(Map map); + + + /** + * 根据条件获取管理类型权限数量 + * + * @param map + * @return + */ + Integer findRoleAndMaterialTypeCountByCondition(Map map); + + /** + * 根据id获取用户管理仓库的权限 * @param id * @return */ RoleAndDepository findRoleAndDepositoryById(Integer id); + /** - * 修改权限列表 + * 查询当前物料类型的管理人员 + * @param mtId 待查询类型id + * @return + */ + List findRoleAndMaterialTypeByMtId(Long mtId); + + + /** + * 根据id获取用户管理类型的权限 + * @param id + * @return + */ + RoleAndMaterialType findRoleAndMaterialTypeById(Integer id); + + /** + * 修改管理仓库权限列表 * @param map * @return */ Integer UpdateRoleAndDepositoryById(Map map); + + /** + * 修改管理类型权限列表 + * @param map + * @return + */ + Integer UpdateRoleAndMaterialTypeById(Map map); + /** - * 根据id删除 + * 根据id删除仓库管理权限 * @param id * @return */ Integer deleteRoleAndDepositoryById(Integer id); /** - * 根据仓库编号查询权限记录 - * @param did + * 根据id删除类型管理权限 + * @param id * @return */ - List findRoleAndDepositoryByDid(Integer did); - + Integer deleteRoleAndMaterialTypeById(Integer id); /** - * 判断当前仓库是否需要入库审批 + * 根据仓库编号查询权限记录 + * @param did * @return */ - List findRoleAndDepositoryByDepositoryIdForIn(Integer depositoryId); + List findRoleAndDepositoryByDid(Integer did); } 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 30d1c8fc..1f6d3454 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 @@ -160,11 +160,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { map.put("state", "已入库"); } else { // 如果需要审批 - List depositoryListForIn = roleService.findRoleAndDepositoryByDepositoryIdForIn(depositoryId); + List roleAndMaterials = roleService.findRoleAndMaterialTypeByMtId(material.getMaterialTypeId()); map.put("approverPass", 3); StringBuilder approverId = new StringBuilder(); - for (RoleAndDepository roleAndDepository : depositoryListForIn) { - approverId.append(roleAndDepository.getUserId()).append(","); + for (RoleAndMaterialType roleAndMaterialType : roleAndMaterials) { + approverId.append(roleAndMaterialType.getUid()).append(","); } map.put("approverId", approverId.toString()); map.put("state", "待审核"); @@ -657,15 +657,16 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 获取当前物料基本信息 Integer mid = ObjectFormatUtil.toInteger(map.get("mid")); Material materialById = materialMapper.findMaterialById(mid); + map.put("mtId",materialById.getMaterialTypeId()); String unit = (String) map.get("unit"); if ("-1".equals(unit)) { map.put("unit", materialById.getUnit()); } - // 获取当前仓库是否需要审批 - List depositoryListForIn = roleService.findRoleAndDepositoryByDepositoryIdForIn(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + // 获取当前类别物料是否需要审批 + List roleAndMaterials = roleService.findRoleAndMaterialTypeByMtId(materialById.getMaterialTypeId()); boolean flagForApproval = false; // 默认不需要审批 - if (depositoryListForIn.size() > 0) { + if (roleAndMaterials.size() > 0) { flagForApproval = true; } if (isApprovalPass) { diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java index a90c4c4d..87ef5a6b 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java @@ -1,5 +1,6 @@ package com.dreamchaser.depository_manage.service.impl; +import cn.hutool.core.lang.Snowflake; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dreamchaser.depository_manage.entity.*; @@ -200,6 +201,11 @@ public class DepositoryServiceImpl implements DepositoryService { return depositoryMapper.findDepositoryById(id); } + @Override + public List findDepositoryByIds(List ids) { + return depositoryMapper.findDepositoryByIds(ids); + } + /** * 根据条件修改对应数据信息 * @@ -687,11 +693,25 @@ public class DepositoryServiceImpl implements DepositoryService { */ @Override public String findQrCodeByDepository(Integer did) { + // 通过雪花算法计算随机数 + Snowflake snowflake = new Snowflake(10, 10, true); + String qrCode = snowflake.nextIdStr(); + Map map = new HashMap<>(); // 1为库位2为仓库 map.put("flag", 2); map.put("depositoryId", did); - return qrCodeMapper.selectQrCodeByDepositoryOrPlace(map); + + String qrCodeByDepository = qrCodeMapper.selectQrCodeByDepositoryOrPlace(map); + if (qrCodeByDepository == null) { + Map param = new HashMap<>(); + param.put("depositoryId", did); + param.put("qrCode", qrCode); + addQrCodeByDepository(param); + } else { + qrCode = qrCodeByDepository; + } + return qrCode; } /** diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java index 2e84344f..8dc952e6 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java @@ -785,19 +785,19 @@ public class GroupServiceImpl implements GroupService { // 获取入库到当前仓库的订单id List integerList = depositoryIdToRecordId.get(next); // 获取当前仓库的管理员 - List depositoryIdForIn = roleMapper.findRoleAndDepositoryByDepositoryIdForIn(next); +// List depositoryIdForIn = roleMapper.findRoleAndDepositoryByDepositoryIdForIn(next); // 用于存储当前仓库的管理员企业微信userId StringBuilder sb = new StringBuilder(); - for (RoleAndDepository depository : depositoryIdForIn - ) { - // 获取管理员数据 - UserByPort userByPort = LinkInterfaceUtil.FindUserById(depository.getUserId(), userToken); - String workwechat = userByPort.getWorkwechat(); - if (workwechat == null || "".equals(workwechat)) { - workwechat = userByPort.getWechat(); - } - sb.append(workwechat).append(","); - } +// for (RoleAndDepository depository : depositoryIdForIn +// ) { +// 获取管理员数据 +// UserByPort userByPort = LinkInterfaceUtil.FindUserById(depository.getUserId(), userToken); +// String workwechat = userByPort.getWorkwechat(); +// if (workwechat == null || "".equals(workwechat)) { +// workwechat = userByPort.getWechat(); +// } +// sb.append(workwechat).append(","); +// } JSONObject jsonObject = qyWxOperationService.sendApprovalTemplateIn(userAgent, userToken, integerList, sb.toString()); String sp_no = jsonObject.getString("sp_no"); Map QyWxApprovalMap = new HashMap<>(); @@ -838,13 +838,13 @@ public class GroupServiceImpl implements GroupService { // 获取入库的仓库 Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); - List depositoryIdForIn = roleMapper.findRoleAndDepositoryByDepositoryIdForIn(depositoryId); +// List depositoryIdForIn = roleMapper.findRoleAndDepositoryByDepositoryIdForIn(depositoryId); // 用于标志该仓库是否需要进行审批 boolean flagForApproval = false; // 默认不需要 - if (depositoryIdForIn.size() > 0) { - flagForApproval = true; // 需要 - } +// if (depositoryIdForIn.size() > 0) { +// flagForApproval = true; // 需要 +// } map.put("flagForApproval", flagForApproval); // 定义参数用与入库 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 567aa4b6..0ed1c240 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 @@ -311,7 +311,6 @@ public class MaterialServiceImpl implements MaterialService { List list = materialMapper.findInventory(map); for (Inventory inventory : list) { if (inventory.getPrice() != null) { - inventory.setPrice(inventory.getPrice() / 100); } else { inventory.setPrice(0.0); @@ -323,7 +322,9 @@ public class MaterialServiceImpl implements MaterialService { Integer mid = inventory.getId(); List placeByMidAndDid = placeService.findPlaceByMidAndDid(mid, depositoryId); StringBuilder placeCode = new StringBuilder(); + StringBuilder placeKingdeeCode = new StringBuilder(); for (PlaceP placeP : placeByMidAndDid) { + placeKingdeeCode.append(placeP.getKingdeecode()).append(" "); placeCode.append(placeP.getCode()).append(" "); } if (depositoryId != null) { @@ -332,6 +333,7 @@ public class MaterialServiceImpl implements MaterialService { inventory.setDepositoryCode(code); } inventory.setPlaceCode(placeCode.toString()); + inventory.setPlaceKingdeeCode(placeKingdeeCode.toString()); } return pack(list); } @@ -349,8 +351,7 @@ public class MaterialServiceImpl implements MaterialService { state = map.get("state"); } map.put("state", state); - List list = materialMapper.findInventory(map); - return list; + return materialMapper.findInventory(map); } /** @@ -458,8 +459,10 @@ public class MaterialServiceImpl implements MaterialService { @Override public Material findMaterialById(int id) { Material material = materialMapper.findMaterialById(id); - MaterialType materialTypeByOldId = materialTypeMapper.findMaterialTypeByOldId(material.getMaterialTypeId()); - material.setTypeName(materialTypeByOldId.getTname()); + if (material.getMaterialTypeId() != null) { + MaterialType materialTypeByOldId = materialTypeMapper.findMaterialTypeByOldId(material.getMaterialTypeId()); + material.setTypeName(materialTypeByOldId.getTname()); + } if (material.getPrice() != null) { material.setPrice(material.getPrice() / 100); @@ -589,7 +592,7 @@ public class MaterialServiceImpl implements MaterialService { if (placeAndMaterialByDidsAndMid.size() > 0) { // 如果存在库存记录 - return packMpvList(placeAndMaterialByDidsAndMid,map); + return packMpvList(placeAndMaterialByDidsAndMid, map); } return null; @@ -938,12 +941,14 @@ public class MaterialServiceImpl implements MaterialService { Integer mid = inventory.getId(); List placeByMidAndDid = placeService.findPlaceByMidAndDid(mid, depositoryId); StringBuilder placeCode = new StringBuilder(); + StringBuilder placeKingdeeCode = new StringBuilder(); for (PlaceP placeP : placeByMidAndDid) { + placeKingdeeCode.append(placeP.getKingdeecode()).append(" "); placeCode.append(placeP.getCode()).append(" "); } inventory.setPlaceCode(placeCode.toString()); + inventory.setPlaceKingdeeCode(placeKingdeeCode.toString()); if (inventory.getPrice() != null) { - inventory.setPrice(inventory.getPrice() / 100); } else { inventory.setPrice(0.0); @@ -2635,11 +2640,11 @@ public class MaterialServiceImpl implements MaterialService { map.remove("placeId"); } List placeAndMaterialByCondition = placeService.findPlaceAndMaterialByCondition(map); - return packMpvList(placeAndMaterialByCondition,map); + return packMpvList(placeAndMaterialByCondition, map); } - List packMpvList(List materialAndPlaceForViewList,Map map){ + List packMpvList(List materialAndPlaceForViewList, Map map) { for (MaterialAndPlaceForView mpv : materialAndPlaceForViewList ) { // 获取其对应的拆单记录 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/PlaceServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/PlaceServiceImpl.java index c0c00d1b..3429a943 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/PlaceServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/PlaceServiceImpl.java @@ -1,5 +1,6 @@ package com.dreamchaser.depository_manage.service.impl; +import cn.hutool.core.lang.Snowflake; import com.dreamchaser.depository_manage.entity.*; import com.dreamchaser.depository_manage.mapper.MaterialMapper; import com.dreamchaser.depository_manage.mapper.PlaceMapper; @@ -12,10 +13,7 @@ import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service public class PlaceServiceImpl implements PlaceService { @@ -421,11 +419,23 @@ public class PlaceServiceImpl implements PlaceService { */ @Override public String findQrCodeByPlace(Integer pid) { + // 通过雪花算法计算随机数 + Snowflake snowflake = new Snowflake(10,10,true); + String qrCode = snowflake.nextIdStr(); Map map = new HashMap<>(); // 1为库位2为仓库 map.put("flag", 1); map.put("pid", pid); - return qrCodeMapper.selectQrCodeByDepositoryOrPlace(map); + String qrCodeByDepository = qrCodeMapper.selectQrCodeByDepositoryOrPlace(map); + if(qrCodeByDepository == null) { + Map param = new HashMap<>(); + param.put("pid", pid); + param.put("qrCode", qrCode); + addQrCodeByPlace(param); + }else{ + qrCode = qrCodeByDepository; + } + return qrCode; } /** diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/RoleServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/RoleServiceImpl.java index 3c67f225..7590499f 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/RoleServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/RoleServiceImpl.java @@ -1,9 +1,12 @@ package com.dreamchaser.depository_manage.service.impl; import com.dreamchaser.depository_manage.entity.Depository; +import com.dreamchaser.depository_manage.entity.MaterialType; import com.dreamchaser.depository_manage.mapper.DepositoryMapper; +import com.dreamchaser.depository_manage.mapper.MaterialTypeMapper; import com.dreamchaser.depository_manage.mapper.RoleMapper; import com.dreamchaser.depository_manage.pojo.RoleAndDepository; +import com.dreamchaser.depository_manage.pojo.RoleAndMaterialType; import com.dreamchaser.depository_manage.service.RoleService; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -23,21 +26,43 @@ public class RoleServiceImpl implements RoleService { @Autowired DepositoryMapper depositoryMapper; + + @Autowired + MaterialTypeMapper materialTypeMapper; + /** * 添加用户或者岗位权限及管理的仓库 + * * @param map * @return */ @Override - public Integer addUserOrPostRoleAndDepository(Map map){ - map.put("authority",0); + public Integer addUserOrPostRoleAndDepository(Map map) { + map.put("authority", 0); Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); List depositoryByParent = findChildForDepositoryByParent(depositoryId); - map.put("depositoryIds",depositoryByParent); + map.put("depositoryIds", depositoryByParent); return roleMapper.addUserOrPostRoleAndDepositorys(map); } + + /** + * 添加用户或者岗位权限及管理的类型 + * + * @param map + * @return + */ + @Override + public Integer addUserOrPostRoleAndMaterialType(Map map) { + long mtId = ObjectFormatUtil.toLong(map.get("mtid")); + MaterialType materialTypeByOldId = materialTypeMapper.findMaterialTypeByOldId(mtId); + List childForMaterialTypeByParent = findChildForMaterialTypeByParent(materialTypeByOldId); + map.put("mtIds", childForMaterialTypeByParent); + return roleMapper.addUserOrPostRoleAndMaterialTypes(map); + } + /** * 根据使用者id获取角色权限以及管理的正常使用的仓库 + * * @param userid * @return */ @@ -45,8 +70,10 @@ public class RoleServiceImpl implements RoleService { public List findDepositoryAndRole(Integer userid) { return roleMapper.findDepositoryAndRole(userid); } + /** * 修改用户或者岗位权限及管理的仓库 + * * @param map * @return */ @@ -57,6 +84,7 @@ public class RoleServiceImpl implements RoleService { /** * 获取当前登录用户的权限 + * * @param userid * @return */ @@ -72,16 +100,69 @@ public class RoleServiceImpl implements RoleService { /** * 根据条件获取权限 + * * @param map * @return */ @Override public List findRoleAndDepositoryByCondition(Map map) { + Integer size = 10, page = 1; + if (map.containsKey("size")) { + size = ObjectFormatUtil.toInteger(map.get("size")); + map.put("size", size); + } + if (map.containsKey("page")) { + page = ObjectFormatUtil.toInteger(map.get("page")); + map.put("begin", (page - 1) * size); + } return roleMapper.findRoleAndDepositoryByCondition(map); } + /** + * 根据条件获取管理类型权限 + * + * @param map 查询条件 + * @return + */ + @Override + public List findRoleAndMaterialTypeByCondition(Map map) { + Integer size = 10, page = 1; + if (map.containsKey("size")) { + size = ObjectFormatUtil.toInteger(map.get("size")); + map.put("size", size); + } + if (map.containsKey("page")) { + page = ObjectFormatUtil.toInteger(map.get("page")); + map.put("begin", (page - 1) * size); + } + return roleMapper.findRoleAndMaterialTypeByCondition(map); + } + + /** + * 根据条件获取管理类型仓库数量 + * + * @param map + * @return + */ + @Override + public Integer findRoleAndDepositoryCountByCondition(Map map) { + return roleMapper.findRoleAndDepositoryCountByCondition(map); + } + + /** + * 根据条件获取管理类型权限数量 + * + * @param map + * @return + */ + @Override + public Integer findRoleAndMaterialTypeCountByCondition(Map map) { + return roleMapper.findRoleAndMaterialTypeCountByCondition(map); + } + /** * 根据id获取权限 + * * @param id * @return */ @@ -90,8 +171,32 @@ public class RoleServiceImpl implements RoleService { return roleMapper.findRoleAndDepositoryById(id); } + /** + * 查询当前物料类型的管理人员 + * @param mtId 待查询类型id + * @return + */ + @Override + public List findRoleAndMaterialTypeByMtId(Long mtId) { + Map map = new HashMap<>(); + map.put("mtid",mtId); + return roleMapper.findRoleAndMaterialTypeByCondition(map); + } + + /** + * 根据id获取用户管理类型的权限 + * + * @param id + * @return + */ + @Override + public RoleAndMaterialType findRoleAndMaterialTypeById(Integer id) { + return roleMapper.findRoleAndMaterialTypeById(id); + } + /** * 修改权限列表 + * * @param map * @return */ @@ -99,8 +204,21 @@ public class RoleServiceImpl implements RoleService { public Integer UpdateRoleAndDepositoryById(Map map) { return roleMapper.UpdateRoleAndDepositoryById(map); } + + /** + * 修改管理类型权限列表 + * + * @param map + * @return + */ + @Override + public Integer UpdateRoleAndMaterialTypeById(Map map) { + return roleMapper.UpdateRoleAndMaterialTypeById(map); + } + /** * 根据id删除 + * * @param id * @return */ @@ -110,32 +228,36 @@ public class RoleServiceImpl implements RoleService { } /** - * 根据仓库编号查询权限记录 - * @param did + * 根据id删除类型管理权限 + * + * @param id * @return */ @Override - public List findRoleAndDepositoryByDid(Integer did) { - Map map = new HashMap<>(); - map.put("depositoryId",did); - return roleMapper.findRoleAndDepositoryByCondition(map); + public Integer deleteRoleAndMaterialTypeById(Integer id) { + return roleMapper.deleteRoleAndMaterialTypeById(id); } + /** - * 判断当前仓库是否需要入库审批 + * 根据仓库编号查询权限记录 + * + * @param did * @return */ @Override - public List findRoleAndDepositoryByDepositoryIdForIn(Integer depositoryId) { - return roleMapper.findRoleAndDepositoryByDepositoryIdForIn(depositoryId); + public List findRoleAndDepositoryByDid(Integer did) { + Map map = new HashMap<>(); + map.put("depositoryId", did); + return roleMapper.findRoleAndDepositoryByCondition(map); } /** * 获取当前仓库的子仓库 + * * @param depositoryId 当前待查询仓库id * @return */ - // 根据id获取子类 public List findChildForDepositoryByParent(Integer depositoryId) { List result = new ArrayList<>(); result.add(depositoryId); @@ -150,4 +272,26 @@ public class RoleServiceImpl implements RoleService { } return result; } + + + /** + * 获取当前类型的子类型 + * + * @param mt 当前待查询类型 + * @return + */ + public List findChildForMaterialTypeByParent(MaterialType mt) { + List result = new ArrayList<>(); + result.add(mt.getOldId()); + List parentId = new ArrayList<>(); + parentId.add(mt.getOldId()); + List materialTypeAll = materialTypeMapper.findMaterialTypeAll(); + for (MaterialType materialType : materialTypeAll) { + if (parentId.contains(materialType.getParentId())) { + parentId.add(materialType.getOldId()); + result.add(materialType.getOldId()); + } + } + return result; + } } diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java index ecd4973d..f3eff85e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java @@ -3,6 +3,7 @@ package com.dreamchaser.depository_manage.service.impl; import com.dreamchaser.depository_manage.entity.*; import com.dreamchaser.depository_manage.mapper.*; import com.dreamchaser.depository_manage.pojo.RoleAndDepository; +import com.dreamchaser.depository_manage.pojo.RoleAndMaterialType; import com.dreamchaser.depository_manage.pojo.SplitInfoP; import com.dreamchaser.depository_manage.service.DepositoryRecordService; import com.dreamchaser.depository_manage.service.SplitUnitService; @@ -88,11 +89,16 @@ public class SplitUnitServiceImpl implements SplitUnitService { SplitInfo splitInfoForUnit = splitUnitMapper.findSplitInfoByMidAndUnit(paramForSplitInfo); + // 获取当前仓库是否有用户进行管理入库审批 - List roleAndDepositoryByCondition = roleMapper.findRoleAndDepositoryByDepositoryIdForIn(ObjectFormatUtil.toInteger(map.get("depositoryId"))); + Map paramForMtRole = new HashMap<>(); + Material materialById = materialMapper.findMaterialById(ObjectFormatUtil.toInteger(map.get("mid"))); + paramForMtRole.put("mtid",materialById.getMaterialTypeId()); + map.put("mtId",materialById.getMaterialTypeId()); + List roleAndMaterials = roleMapper.findRoleAndMaterialTypeByCondition(paramForMtRole); // 用于标志该仓库是否需要进行审批 boolean flagForApproval = false; // 默认不需要 - if (roleAndDepositoryByCondition.size() > 0) { + if (roleAndMaterials.size() > 0) { flagForApproval = true; } map.put("flagForApproval",flagForApproval); diff --git a/src/main/java/com/dreamchaser/depository_manage/utils/ZipMultiFileUtil.java b/src/main/java/com/dreamchaser/depository_manage/utils/ZipMultiFileUtil.java new file mode 100644 index 00000000..bcc917da --- /dev/null +++ b/src/main/java/com/dreamchaser/depository_manage/utils/ZipMultiFileUtil.java @@ -0,0 +1,115 @@ +package com.dreamchaser.depository_manage.utils; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; +import java.nio.file.Files; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + + + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +/** + * 压缩工具类 + */ +public class ZipMultiFileUtil { + + private static final Logger logger = LoggerFactory.getLogger(ZipMultiFileUtil.class); + + /** + * 获取当前系统的临时目录 + */ + private static final String FILE_PATH = System.getProperty("java.io.tmpdir") + File.separator; + + private static final int ZIP_BUFFER_SIZE = 8192; + + + /** + * zip打包下载 + * + * @param response + * @param zipFileName + * @param fileList + */ + public static void zipDownload(HttpServletResponse response, String zipFileName, List fileList) { + // zip文件路径 + String zipPath = FILE_PATH + zipFileName; + try { + //创建zip输出流 + try (ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipPath))) { + //声明文件集合用于存放文件 + byte[] buffer = new byte[1024]; + //将文件放入zip压缩包 + for (File file : fileList) { + try (FileInputStream fis = new FileInputStream(file)) { + out.putNextEntry(new ZipEntry(file.getName())); + int len; + // 读入需要下载的文件的内容,打包到zip文件 + while ((len = fis.read(buffer)) > 0) { + out.write(buffer, 0, len); + } + out.closeEntry(); + } + } + } + //下载zip文件 + downFile(response, zipFileName); + } catch (Exception e) { + logger.error("文件下载出错", e); + } finally { + // zip文件也删除 + fileList.add(new File(zipPath)); + deleteFile(fileList); + } + } + + + /** + * 文件下载 + * + * @param response + * @param zipFileName + */ + private static void downFile(HttpServletResponse response, String zipFileName) { + try { + String path = FILE_PATH + zipFileName; + File file = new File(path); + if (file.exists()) { + try (InputStream ins = new FileInputStream(path); + BufferedInputStream bins = new BufferedInputStream(ins); + OutputStream outs = response.getOutputStream(); + BufferedOutputStream bouts = new BufferedOutputStream(outs)) { + response.setContentType("application/x-download"); + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(zipFileName, "UTF-8")); + int bytesRead = 0; + byte[] buffer = new byte[ZIP_BUFFER_SIZE]; + while ((bytesRead = bins.read(buffer, 0, ZIP_BUFFER_SIZE)) != -1) { + bouts.write(buffer, 0, bytesRead); + } + bouts.flush(); + } + } + } catch (Exception e) { + logger.error("文件下载出错", e); + } + } + + /** + * 删除文件 + * + * @param fileList + * @return + */ + public static void deleteFile(List fileList) { + for (File file : fileList) { + if (file.exists()) { + file.delete(); + } + } + } + + +} diff --git a/src/main/resources/templates/pages/company/company-out.html b/src/main/resources/templates/pages/company/company-out.html index 64c43c34..e035f31b 100644 --- a/src/main/resources/templates/pages/company/company-out.html +++ b/src/main/resources/templates/pages/company/company-out.html @@ -84,7 +84,7 @@ height: 'full-255',//固定高度-即固定表头固定第一行首行 request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize', //每页数据量的参数名,默认:limit + limitName: 'size', //每页数据量的参数名,默认:limit }, where: { superior: parentId, diff --git a/src/main/resources/templates/pages/company/companyByParentId.html b/src/main/resources/templates/pages/company/companyByParentId.html index 1384e4b5..659d6b03 100644 --- a/src/main/resources/templates/pages/company/companyByParentId.html +++ b/src/main/resources/templates/pages/company/companyByParentId.html @@ -84,7 +84,7 @@ }, request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize' //每页数据量的参数名,默认:limit + limitName: 'size' //每页数据量的参数名,默认:limit }, where: { superior: parentId, diff --git a/src/main/resources/templates/pages/constructionunit/constructionunit_add.html b/src/main/resources/templates/pages/constructionunit/constructionunit_add.html new file mode 100644 index 00000000..13522072 --- /dev/null +++ b/src/main/resources/templates/pages/constructionunit/constructionunit_add.html @@ -0,0 +1,193 @@ + + + + + layui + + + + + + + +
+
+
+ 仓库创建 +
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + +
+ +
+ +
+
+ +
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/pages/depository/table-in.html b/src/main/resources/templates/pages/depository/table-in.html index f5b361b8..19de5e5c 100644 --- a/src/main/resources/templates/pages/depository/table-in.html +++ b/src/main/resources/templates/pages/depository/table-in.html @@ -79,6 +79,10 @@
+ + diff --git a/src/main/resources/templates/pages/depository/table-stock.html b/src/main/resources/templates/pages/depository/table-stock.html index a47e6725..bb4e8041 100644 --- a/src/main/resources/templates/pages/depository/table-stock.html +++ b/src/main/resources/templates/pages/depository/table-stock.html @@ -179,6 +179,7 @@ $.each(res['data'], function (i, j) { let jElement = j['warningCount']; let placeCode = j['placeCode'].split(" "); + let placeKingdeeCode = j['placeKingdeeCode'].split(" "); let depositoryId = j['depositoryId']; let unit = j['unit']; let mid = j['id']; @@ -196,9 +197,9 @@ // 用于库位的添加 var aItem = placeCodeItem.childNodes[0]; // 用于计量单位的添加 - for (let k = 0; k < placeCode.length; k++) { - if (placeCode[k] !== "") { - $(aItem).append('') + for (let k = 0; k < placeKingdeeCode.length; k++) { + if (placeKingdeeCode[k] !== "") { + $(aItem).append('') } } @@ -417,7 +418,7 @@ // 用于更改同一仓库下的库位 changePlaceCode = function (obj) { var depositoryId = obj.value; - var placeCode = obj.innerText; + var placeCode = obj.getAttribute("code"); var mid = obj.id; // 当前点击行中的计量单位按钮 let unitBtn = obj.parentNode.parentNode.parentNode.childNodes[5].childNodes[0].childNodes[1]; diff --git a/src/main/resources/templates/pages/material/material-add.html b/src/main/resources/templates/pages/material/material-add.html index a746ff49..fe32fc02 100644 --- a/src/main/resources/templates/pages/material/material-add.html +++ b/src/main/resources/templates/pages/material/material-add.html @@ -34,6 +34,9 @@ .inputdiv .layui-unselect{ border-style: none; } + .layuimini-container .table-search-fieldset{ + z-index: 0; + }
diff --git a/src/main/resources/templates/pages/material/material-out.html b/src/main/resources/templates/pages/material/material-out.html index 87668265..2d74d16c 100644 --- a/src/main/resources/templates/pages/material/material-out.html +++ b/src/main/resources/templates/pages/material/material-out.html @@ -94,6 +94,9 @@
+ diff --git a/src/main/resources/templates/pages/post/post-out.html b/src/main/resources/templates/pages/post/post-out.html index 7574cd95..cb260d4a 100644 --- a/src/main/resources/templates/pages/post/post-out.html +++ b/src/main/resources/templates/pages/post/post-out.html @@ -85,7 +85,7 @@ height: 'full-255',//固定高度-即固定表头固定第一行首行 request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize', //每页数据量的参数名,默认:limit + limitName: 'size', //每页数据量的参数名,默认:limit }, where: { organization: parentId diff --git a/src/main/resources/templates/pages/post/postRole.html b/src/main/resources/templates/pages/post/postRole.html index 1fe91d01..f4e8b53c 100644 --- a/src/main/resources/templates/pages/post/postRole.html +++ b/src/main/resources/templates/pages/post/postRole.html @@ -50,7 +50,7 @@ height: 'full-255',//固定高度-即固定表头固定第一行首行 request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize' //每页数据量的参数名,默认:limit + limitName: 'size' //每页数据量的参数名,默认:limit }, response: { statusName: 'status' //规定数据状态的字段名称,默认:code diff --git a/src/main/resources/templates/pages/user/table-user.html b/src/main/resources/templates/pages/user/table-user.html index 300b0cef..d3f45302 100644 --- a/src/main/resources/templates/pages/user/table-user.html +++ b/src/main/resources/templates/pages/user/table-user.html @@ -92,7 +92,7 @@ height: 'full-255',//固定高度-即固定表头固定第一行首行 request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize' //每页数据量的参数名,默认:limit + limitName: 'size' //每页数据量的参数名,默认:limit }, response: { statusName: 'status' //规定数据状态的字段名称,默认:code diff --git a/src/main/resources/templates/pages/user/user-addForIn.html b/src/main/resources/templates/pages/user/user-addForIn.html new file mode 100644 index 00000000..1e70bb35 --- /dev/null +++ b/src/main/resources/templates/pages/user/user-addForIn.html @@ -0,0 +1,111 @@ + + + + + layui + + + + + + + + +
+ + +
+ +
+ + 填写自己管理账号的名称。 +
+
+
+ +
+ + +
+
+ +
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/pages/user/user-role-editForIn.html b/src/main/resources/templates/pages/user/user-role-editForIn.html new file mode 100644 index 00000000..05fa628f --- /dev/null +++ b/src/main/resources/templates/pages/user/user-role-editForIn.html @@ -0,0 +1,112 @@ + + + + + layui + + + + + + + + +
+ + +
+ +
+ + 填写自己管理账号的名称。 +
+
+
+ +
+ + +
+
+ +
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/pages/user/userRole.html b/src/main/resources/templates/pages/user/userRole.html index 2fe04401..21b5e278 100644 --- a/src/main/resources/templates/pages/user/userRole.html +++ b/src/main/resources/templates/pages/user/userRole.html @@ -48,7 +48,7 @@ height: 'full-255',//固定高度-即固定表头固定第一行首行 request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize' //每页数据量的参数名,默认:limit + limitName: 'size' //每页数据量的参数名,默认:limit }, response: { statusName: 'status' //规定数据状态的字段名称,默认:code diff --git a/src/main/resources/templates/pages/user/userRoleForIn.html b/src/main/resources/templates/pages/user/userRoleForIn.html index db66ad2d..26629f77 100644 --- a/src/main/resources/templates/pages/user/userRoleForIn.html +++ b/src/main/resources/templates/pages/user/userRoleForIn.html @@ -15,8 +15,8 @@
@@ -36,7 +36,7 @@ //第一个实例 table.render({ elem: '#demo' - , url: 'findUserRole?userId=' + userId+'&classes=3', //数据接口 + , url: '/findUserInRole?userId=' + userId+'&classes=1', //数据接口 parseData: function (res) { //res 即为原始返回的数据 return { "status": res.status, //解析接口状态 @@ -48,7 +48,7 @@ // height: 'full-255',//固定高度-即固定表头固定第一行首行 request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize' //每页数据量的参数名,默认:limit + limitName: 'size' //每页数据量的参数名,默认:limit }, response: { statusName: 'status' //规定数据状态的字段名称,默认:code @@ -60,8 +60,7 @@ , cols: [ [ //表头 {type: "checkbox", width: 50}, - {field: 'id', width: 80, title: 'ID', sort: true}, - {field: 'depositoryName', width: 200, title: '仓库名称', sort: true}, + {field: 'materialTypeName', width: 200, title: '类型名称', sort: true}, {field: 'number', width: 100, title: '工号', sort: true}, {field: 'name', width: 100, title: '姓名', sort: true}, {field: 'mobilephone', width: 200, title: '内线电话', sort: true}, @@ -74,10 +73,7 @@ limits: [10, 15, 20, 25, 50, 100], limit: 10, page: true, - skin: 'line', - done:function () { - $("[data-field='id']").css('display','none'); - } + skin: 'line' }); //监听表格复选框选择 table.on('checkbox(currentTableFilter)', function (obj) { @@ -93,7 +89,7 @@ maxmin:true, shadeClose: true, area: ['100%', '100%'], - content: '/user_role_edit?id='+data.id, + content: '/user_role_editForIn?id='+data.id, end:function () { location.reload() } @@ -108,7 +104,7 @@ req.id = data.id; layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) { $.ajax({ - url: '/sys/userRole_del', + url: '/sys/userRole_delForIn', dataType: 'json', type: 'POST', contentType: "application/json;charset=utf-8", @@ -142,7 +138,7 @@ maxmin:true, shadeClose: true, area: ['100%', '100%'], - content: '/user_add?userId='+userId+'&classes=3', + content: '/user_addForIn?userId='+userId+'&classes=1', end:function () { location.reload() } @@ -163,7 +159,7 @@ if(req.ids.length > 0) { layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) { $.ajax({ - url: '/sys/userRole_del', + url: '/sys/userRole_delForIn', dataType: 'json', type: 'POST', contentType: "application/json;charset=utf-8", @@ -183,7 +179,7 @@ }); //执行搜索重载 table.reload('demo', { - url: 'findUserRole?userId=' + userId+'&classes=3', + url: '/findUserInRole?userId=' + userId+'&classes=1', page: { curr: 1 } diff --git a/src/main/resources/templates/pages/warehouse/depository-out.html b/src/main/resources/templates/pages/warehouse/depository-out.html index be333505..2838f912 100644 --- a/src/main/resources/templates/pages/warehouse/depository-out.html +++ b/src/main/resources/templates/pages/warehouse/depository-out.html @@ -65,6 +65,11 @@ 仓管员 + + + diff --git a/src/main/resources/templates/pages/warehouse/manager.html b/src/main/resources/templates/pages/warehouse/manager.html index 34de27a8..bb4554b9 100644 --- a/src/main/resources/templates/pages/warehouse/manager.html +++ b/src/main/resources/templates/pages/warehouse/manager.html @@ -34,7 +34,7 @@ height: 'full-255',//固定高度-即固定表头固定第一行首行 request: { pageName: 'page', //页码的参数名称,默认:page - limitName: 'pagesize' //每页数据量的参数名,默认:limit + limitName: 'size' //每页数据量的参数名,默认:limit }, response: { statusName: 'status' //规定数据状态的字段名称,默认:code diff --git a/src/main/resources/templates/pages/warehouse/warehouseByParentId.html b/src/main/resources/templates/pages/warehouse/warehouseByParentId.html index 06421781..2e42013c 100644 --- a/src/main/resources/templates/pages/warehouse/warehouseByParentId.html +++ b/src/main/resources/templates/pages/warehouse/warehouseByParentId.html @@ -80,6 +80,10 @@ 删除 + + diff --git a/src/main/resources/templates/pages/warehouse/warehouse_view.html b/src/main/resources/templates/pages/warehouse/warehouse_view.html index 8f7fdfa7..675f4fa6 100644 --- a/src/main/resources/templates/pages/warehouse/warehouse_view.html +++ b/src/main/resources/templates/pages/warehouse/warehouse_view.html @@ -1,216 +1,267 @@ - - 分步表单 - - - - - - + + 分步表单 + + + + + + -
-