diff --git a/README.md b/README.md index 178b8e2e..d93eab72 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,33 @@ # depositroy - +``` +目录格式: + java: + aop:切面 + config:配置信息 + controller:各功能的控制器 + conveter:用于excel导入时的数据转换 + depository_mapper depository库的mapper文件 + entity: 基础使用数据类 + EPSON:弃用 + exception:自定义异常 + exceptionHandler:自定义异常处理 + hrNew_mapper:hr系统数据类 + intercepter:拦截器 + listener:excel导入时的监听器 + pojo:entity中的二次封装 + scheduled:定时任务 + security: + bean:弃用 + pool:连接池 + service:逻辑处理 + utils:工具类 + resources: + static:静态资源 + templates:页面文件 + application-prod.yml:线上环境 + application-test.yml:本地开发环境 + logback-spring.xml:日志文件配置 + redisson-config.yml:redisson配置 + test: + 测试类 +``` \ No newline at end of file diff --git a/src/main/java/com/dreamchaser/depository_manage/config/FileConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/FileConfig.java index 239c487c..0b19924d 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/FileConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/FileConfig.java @@ -4,6 +4,9 @@ import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; +/** + * 用于文件上传时的路径存储 + */ @Data @Component @ConfigurationProperties(prefix = "file") diff --git a/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java index fa988b8d..84f6e523 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/PublicConfig.java @@ -36,7 +36,10 @@ public class PublicConfig { - // 高权限部门列表 + // 高权限部门列表(仓储中心,企管部,综合办) + /** + * 因为后需要进行整合,暂没进行具体权限分配,暂用部门进行分配 + */ public static List roleAdminorgList = Arrays.asList(361L, 102L, 268L); // 定义登录存储在redis中的前缀 @@ -46,6 +49,9 @@ public class PublicConfig { // 定义redis加锁的名称 public static String redis_Lock_name = "Wms_redis_lock"; + /** + * 当前电脑可用的空闲cpu + */ public static int availableVirtualMachine = Runtime.getRuntime().availableProcessors(); /** diff --git a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java index 172bbeca..dd655af4 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java @@ -24,7 +24,7 @@ import java.util.*; import java.util.concurrent.TimeUnit; -// 用于实现企业微信相关功能 +// 用于实现企业微信相关配置 @Data @Component @@ -93,10 +93,8 @@ public class QyWxConfig { // 获取当前redis中存储的key值 Set keys = redisPool.getRedisTemplateByDb(14).keys("wms_access_token_*"); // 获取遍历器 - Iterator iterator = keys.iterator(); - while (iterator.hasNext()) { // 如果有下个,则进行遍历 + for (String next : keys) { // 如果有下个,则进行遍历 // 获取当前key - String next = iterator.next(); // 当前key对应的token String next_access_token = redisPool.getRedisTemplateByDb(14).opsForValue().get(next); if (accessToken.equals(next_access_token)) { diff --git a/src/main/java/com/dreamchaser/depository_manage/config/RedissionConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/RedissionConfig.java index 333cd206..ab3e12d1 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/RedissionConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/RedissionConfig.java @@ -8,6 +8,10 @@ import org.springframework.context.annotation.Configuration; import java.io.IOException; + +/** + * redission的简单配置 + */ @Configuration public class RedissionConfig { diff --git a/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java index 0471b9c6..0d22afdc 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java @@ -8,6 +8,10 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.util.Arrays; import java.util.List; + +/** + * 路径配置 + */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { diff --git a/src/main/java/com/dreamchaser/depository_manage/config/WebSocketConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/WebSocketConfig.java index 209db424..f617eea4 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/WebSocketConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/WebSocketConfig.java @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter; /** - * webSocket配置项 + * webSocket配置项,线上暂没实现 */ @Configuration public class WebSocketConfig { diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/BusinessTypeController.java b/src/main/java/com/dreamchaser/depository_manage/controller/BusinessTypeController.java index 99d13ec7..20bd2b22 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/BusinessTypeController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/BusinessTypeController.java @@ -17,6 +17,10 @@ import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; + +/** + * 用于页面类型的控制类 + */ @RestController @RequestMapping("/businessType") public class BusinessTypeController { diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java b/src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java index 092b2834..47c1e241 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java @@ -20,6 +20,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; + +/** + * 用于获取行政组织的控制器 + */ @RestController @RequestMapping("/company") public class CompanyController { @@ -39,8 +43,6 @@ public class CompanyController { @Autowired private PostService postService; - @Autowired - private UserService userService; 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 409eb869..22937118 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java @@ -21,6 +21,9 @@ import java.util.*; import java.util.concurrent.*; +/** + * 用于仓库的配置类 + */ @RestController @RequestMapping("/repository") public class DepositoryController { @@ -91,6 +94,11 @@ public class DepositoryController { } + /** + * 获取所有没有父级的仓库列表 + * @param request + * @return + */ @GetMapping("/getDepositoryForNoParent") public RestResponse getDepositoryForNoParent(HttpServletRequest request) { List depositoryForNoParent = depositoryService.findDepositoryForNoParent(); @@ -120,8 +128,6 @@ public class DepositoryController { paramForAdminitions.put("superior", 313); paramForAdminitions.put("state", 1); paramForAdminitions.put("level", 3);; -// Map administration = PublicConfig.findAdministration(userKey, token); -// List administrationPList = ObjectFormatUtil.objToList(administration.get("administrationPList"), AdministrationP.class); List administrationPList = administrativeService.findAdministrationPListByCondition(paramForAdminitions); for (Depository depository : list) { for (AdministrationP administrationP : administrationPList) { @@ -334,7 +340,7 @@ public class DepositoryController { } } - // 获取各类别库存容量 + // 获取各类别库存容量(暂时弃用) @RequestMapping(value = "/layui/echart_back_invetory", method = RequestMethod.GET) @ResponseBody public Map echart_back_MaterialTypeInventory(@RequestParam Map map, HttpServletRequest request) { @@ -358,7 +364,6 @@ public class DepositoryController { parm.put("end", months.get(num)); parm.put("oldId", materialType.getOldId()); //根据条件获取月份中物料的总额 - // 测试 Double materialCountByMonth1 = depositoryRecordService.calMaterialTypeTopCount(parm); ((Map) sourceList.get(num)).put(materialType.getTname(), materialCountByMonth1); } @@ -369,8 +374,7 @@ public class DepositoryController { /** - * 获取上周 - * + * 获取上周echart数据 * @return */ @RequestMapping(value = "/layui/echart_back_lastWeek", method = RequestMethod.GET) @@ -466,7 +470,7 @@ public class DepositoryController { /** - * 获取本周 + * 获取本周echart数据 * * @return */ @@ -1120,11 +1124,9 @@ public class DepositoryController { return new RestResponse(result); } - // 构造仓库二维码 + // 构造仓库条码 @PostMapping("/createQrCode") public RestResponse createQrCode(@RequestBody Map map) { - - Long depositoryId = ObjectFormatUtil.toLong(map.get("depositoryId")); Depository depository = depositoryService.findDepositoryById(depositoryId); String qrCode = depositoryService.findQrCodeByDepository(depository.getId()); @@ -1137,8 +1139,7 @@ public class DepositoryController { } /** - * 用于打印图片 - * + * 用于导出图片 * @param map * @param request * @param response 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 84e2eed8..50a3cc08 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -63,6 +63,12 @@ public class DepositoryRecordController { private UserService userService; + /** + * 我的任务 + * @param map 待查询数据 + * @param request + * @return + */ @GetMapping("/myApply") public RestResponse findDepositoryInAndOutRecordPByCondition(@RequestParam Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); @@ -95,6 +101,12 @@ public class DepositoryRecordController { return new RestResponse(result, result.size(), 200); } + /** + * 我的申请(出库申请) + * @param map 待查讯数据 + * @param request + * @return + */ @GetMapping("/myTaskOut") public RestResponse myTaskOut(@RequestParam Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); @@ -111,7 +123,12 @@ public class DepositoryRecordController { , depositoryRecordService.findMyTaskOutCount(map), 200); } - + /** + * 我的申请(入库申请) + * @param map 待查讯数据 + * @param request + * @return + */ @GetMapping("/myTaskIn") public RestResponse myTaskIn(@RequestParam Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); @@ -215,6 +232,12 @@ public class DepositoryRecordController { return new RestResponse(userManageHouse); } + /** + * 弃用 + * @param map + * @param request + * @return + */ @PostMapping("/depositoryRecord") public RestResponse insertDepositoryRecord(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); @@ -648,7 +671,6 @@ public class DepositoryRecordController { // 开启一个线程执行发送信息操作 // 开启一个线程开启审批 - SendQyWxMessageThreadPool.execute(() -> { JSONObject jsonObject = qyWxOperationService.sendOutApprovalTemplate(crypt, userToken, ObjectFormatUtil.toLong(id), finalUserkey, finalUsertoken); String sp_no = jsonObject.getString("sp_no"); @@ -1088,6 +1110,11 @@ public class DepositoryRecordController { } + /** + * 弃用 + * @param map + * @return + */ @DeleteMapping("/depositoryRecord") public RestResponse deleteDepositoryRecord(@RequestBody Map map) { if (map.containsKey("id")) { @@ -1190,6 +1217,12 @@ public class DepositoryRecordController { } } + /** + * 入库审核 + * @param map + * @param request + * @return + */ @PutMapping("/reviewIn") public RestResponse reviewIn(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); 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 ab78a654..5cfa0f85 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -1713,7 +1713,8 @@ public class MaterialController { CodeType = 1; Material materialByCode = materialService.findMaterialByCode(materialCode); result.put("material", materialByCode); - } else { + } + else { // 如果为空,则扫描的为条形码 MaterialAndBarCode materialByBarCode = materialService.findMaterialByBarCode(qrCode); if (materialByBarCode != null) { @@ -1722,7 +1723,8 @@ public class MaterialController { flag = 1; CodeType = 2; result.put("material", material); - } else { + } + else { // 如果为空,则扫描的可能为库位码 PidOrDidAndCode locationByQrCode = placeService.findLocationByQrCode(qrCode); if (locationByQrCode != null) { @@ -1736,8 +1738,7 @@ public class MaterialController { List placeAndMaterialByPid = placeService.findPlaceAndMaterialByPid(placeById.getId()); PlaceP pp = new PlaceP(placeById); List mcodeList = new ArrayList<>(); - for (int i = 0; i < placeAndMaterialByPid.size(); i++) { - MaterialAndPlace materialAndPlace = placeAndMaterialByPid.get(i); + for (MaterialAndPlace materialAndPlace : placeAndMaterialByPid) { Inventory materialById = materialService.findInventoryById(materialAndPlace.getMid()); mcodeList.add(materialById.getCode()); } diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java b/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java index 5949cb15..74947239 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java @@ -150,7 +150,8 @@ public class QyWxOperationController { PrintWriter writer = response.getWriter(); writer.println(sEchoStr); writer.close(); - } else { + } + else { // 如果是响应事件 String ToUserName = (String) map.get("ToUserName"); @@ -362,15 +363,19 @@ public class QyWxOperationController { url = (String) redisPool.getRedisTemplateByDb(14).opsForHash().get("wms_QyWxScanQrCodeSignature", "url"); noncestr = (String) redisPool.getRedisTemplateByDb(14).opsForHash().get("wms_QyWxScanQrCodeSignature", "noncestr"); } else { - + // 时间戳 timestamp = System.currentTimeMillis() / 1000; //生成从ASCII 32到126组成的随机字符串 // String noncestr = RandomStringUtils.randomAscii(10); + // 时间戳字符串 noncestr = String.valueOf(timestamp); // 获取企业的jsapi_ticket + + // user-agent加密 String header = request.getHeader("user-agent"); String crypt = Md5.crypt(header); + JSONObject ticketForApp = QyWxConfig.getQyWxJsApiTicketForApp(crypt); JSONObject ticketForEnterprise = QyWxConfig.getQyWxJsApiTicketForEnterprise(crypt); Integer errcodeForEnterprise = ticketForEnterprise.getInteger("errcode"); @@ -499,7 +504,8 @@ public class QyWxOperationController { PrintWriter writer = response.getWriter(); writer.println(sEchoStr); writer.close(); - } else { + } + else { String ToUserName = (String) map.get("ToUserName"); String Encrypt = (String) map.get("Encrypt"); String AgentID = (String) map.get("AgentID"); @@ -620,7 +626,6 @@ public class QyWxOperationController { // 如果是物料出库申请审批 // 获取第二个节点数据 - ApprovalInfo_SpRecord approvalInfo_spRecord = null; if (spRecord_list.size() > 1 && spRecord_list.size() < 4) { // 如果审批节点数大于1小于等于4 diff --git a/src/main/java/com/dreamchaser/depository_manage/security/pool/RedisPool.java b/src/main/java/com/dreamchaser/depository_manage/security/pool/RedisPool.java index a70120d6..c50a268d 100644 --- a/src/main/java/com/dreamchaser/depository_manage/security/pool/RedisPool.java +++ b/src/main/java/com/dreamchaser/depository_manage/security/pool/RedisPool.java @@ -18,6 +18,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +/** + * redis连接池 + */ @Configuration public class RedisPool { //redis地址 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 8ed387a9..801899e4 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 @@ -3289,7 +3289,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { int flagForOpenDepository = record.getFlagForOpenDepository(); if (manager1 != null && !"".equals(manager1)) { flagForHasOtherDepository = false; - } else { + } + else { if (flagForOpenDepository != 1) { // 如果是开放仓库 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java index 76a18f68..b4ba3257 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java @@ -24,6 +24,9 @@ import org.springframework.stereotype.Service; import java.util.*; +/** + * 企业微信发送消息 + */ @Slf4j @Service public class QyWxOperationService { @@ -1477,6 +1480,7 @@ public class QyWxOperationService { // 获取当前出库主订单 ApplicationOutRecord mainRecord = depositoryRecordMapper.findApplicationOutRecordPById(mainId); + // 获取当前出库单是2代表是通过开放仓库申请1代表不是 Integer flagForOpenDepository = mainRecord.getFlagForOpenDepository(); @@ -1874,7 +1878,8 @@ public class QyWxOperationService { } - } else if (flag == 12) { + } + else if (flag == 12) { // 如果是备品备件库 // 获取申请用户所在部门的设备员 @@ -1980,7 +1985,8 @@ public class QyWxOperationService { otherDepartmentIdList = qyWxLabelUserList; } } - } else { + } + else { // 如果不是中心仓下的仓库 if (Integer.compare(2, flagForOpenDepository) == 0) { // 如果该仓库是通过开放仓库获取到的 @@ -2070,7 +2076,8 @@ public class QyWxOperationService { approval_template_approver_list.add(approval_template_approver_depository_manager); } } - } else { + } + else { for (Long depositoryId : depositoryIdList ) {