src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/org/jeecg/modules/mes/enums/ProductionWorkOrderStatus.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/org/jeecg/modules/mes/job/FeishuUserService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application-dev.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application-prod.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -167,8 +167,8 @@ @PostMapping(value = "/republish") public Result<String> republish(@RequestBody MesProductionWorkOrderRepublishRequest request) { MesProductionWorkOrder workOrder = mesProductionWorkOrderService.getById(request.getId()); //todo 判断班次是否结束的逻辑 if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())) { if (ProductionWorkOrderStatus.NEW.name().equals(workOrder.getWorkOrderStatus()) || ProductionWorkOrderStatus.CLOSED.name().equals(workOrder.getWorkOrderStatus())) { return Result.error("当前工单状态不支持重发布!"); } MesProductionWorkOrder republish = new MesProductionWorkOrder() @@ -176,12 +176,27 @@ .setPlanQuantity(request.getPlanQuantity()) .setRepublisher(Objects.requireNonNull(getCurrentUser()).getUsername()) .setRepublishTime(new Date()) .setRepublishReason(request.getRepublishReason()) .setWorkOrderStatus(ProductionWorkOrderStatus.REPUBLISHED.name()); .setRepublishReason(request.getRepublishReason()); mesProductionWorkOrderService.updateById(republish); return Result.ok("重发布成功!"); } @AutoLog(value = "排产工单-执行排产工单计划") @ApiOperation(value = "排产工单-执行排产工单计划", notes = "排产工单-执行排产工单计划") @GetMapping(value = "/execute") public Result<?> execute(@RequestParam("id") String id) { MesProductionWorkOrder workOrder = mesProductionWorkOrderService.getById(id); if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())) { return Result.error("当前工单状态不能执行!"); } //todo 齐套性检查、工艺点检、设备点检 的校验逻辑 MesProductionWorkOrder executeOrder = new MesProductionWorkOrder() .setId(id) .setWorkOrderStatus(ProductionWorkOrderStatus.EXECUTING.name()); mesProductionWorkOrderService.updateById(executeOrder); return Result.ok("执行成功!"); } /** * 编辑 * src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java
@@ -92,8 +92,8 @@ @ApiModelProperty(value = "排产日期") private Date workOrderDate; /**工单状态*/ @Excel(name = "工单状态", width = 15, dicCode = "mes_work_order_status") @Dict(dicCode = "mes_work_order_status") @Excel(name = "工单状态", width = 15, dicCode = "work_order_status") @Dict(dicCode = "work_order_status") @ApiModelProperty(value = "工单状态") private String workOrderStatus; /**实际报工数量*/ src/main/java/org/jeecg/modules/mes/enums/ProductionWorkOrderStatus.java
@@ -11,7 +11,11 @@ */ PUBLISHED, /** * 重发布 * 执行中 */ REPUBLISHED EXECUTING, /** * 已关闭 */ CLOSED } src/main/java/org/jeecg/modules/mes/job/FeishuUserService.java
@@ -40,6 +40,9 @@ @Value("${feishu.appSecret:}") private String appSecret; @Value("${feishu.url:}") private String feishuUrl; /** * 同步飞书部门用户到系统用户表 * @param departmentId 飞书部门ID @@ -87,7 +90,7 @@ private String getFeishuAccessToken() { try { String url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"; String url = feishuUrl + "open-apis/auth/v3/tenant_access_token/internal"; log.info("开始获取飞书访问令牌,AppId: {}", appId != null ? appId.substring(0, Math.min(appId.length(), 10)) + "..." : "null"); @@ -135,7 +138,7 @@ log.info("使用的访问令牌前缀: Bearer {}", accessToken.substring(0, Math.min(20, accessToken.length())) + "..."); // 飞书API端点 String url = "https://open.feishu.cn/open-apis/contact/v3/users/find_by_department"; String url = feishuUrl + "open-apis/contact/v3/users/find_by_department"; String pageToken = null; int pageNumber = 1; src/main/resources/application-dev.yml
@@ -298,3 +298,9 @@ poolSize: 5 # 线程池数量 expirationTime: 10000 # 过期时间 peekLimit: 10 # 峰值 feishu: url: https://open.feishu.cn/ appId: cli_a74aab6353b7d00e appSecret: mx5wm7X9S8WSzZCOYlxcggXTFL8iujIT sync: departmentId: od-47692f32e6b66cc3985d317fee780a8b src/main/resources/application-prod.yml
@@ -296,4 +296,10 @@ lang: ZH # 语言 poolSize: 5 # 线程池数量 expirationTime: 10000 # 过期时间 peekLimit: 10 # 峰值 peekLimit: 10 # 峰值 feishu: url: https://open.feishu.cn/ appId: cli_a74aab6353b7d00e appSecret: mx5wm7X9S8WSzZCOYlxcggXTFL8iujIT sync: departmentId: od-47692f32e6b66cc3985d317fee780a8b