From 0e19bbb301fd4efdcbf3285ade2a149db7d0a613 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 15 八月 2025 18:34:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java | 78 ++++++++++++++++++++++++-------------- 1 files changed, 49 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java index d712a21..c021299 100644 --- a/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java +++ b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java @@ -9,23 +9,22 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; -import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.mes.dto.MesProductionWorkOrderRepublishRequest; import org.jeecg.modules.mes.dto.MesProductionWorkScheduleRequest; +import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck; import org.jeecg.modules.mes.entity.MesProductionWorkOrder; import org.jeecg.modules.mes.enums.ProductionWorkOrderStatus; import org.jeecg.modules.mes.service.IMesProductionWorkOrderService; +import org.jeecg.modules.mes.utils.CommonUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.*; @@ -63,16 +62,8 @@ HttpServletRequest req) { Map<String, String[]> parameterMap = req.getParameterMap(); QueryWrapper<MesProductionWorkOrder> queryWrapper = QueryGenerator.initQueryWrapper(mesProductionWorkOrder, parameterMap); - String[] startDates = parameterMap.get("startDate"); - String[] endDates = parameterMap.get("endDate"); - if (startDates != null && startDates.length > 0) { - queryWrapper.ge("work_order_date", startDates[0]); - } - if (endDates != null && endDates.length > 0) { - queryWrapper.le("work_order_date", endDates[0]); - } Page<MesProductionWorkOrder> page = new Page<MesProductionWorkOrder>(pageNo, pageSize); - IPage<MesProductionWorkOrder> pageList = mesProductionWorkOrderService.page(page, queryWrapper); + IPage<MesProductionWorkOrder> pageList = mesProductionWorkOrderService.queryPageList(page, parameterMap); return Result.OK(pageList); } @@ -99,8 +90,12 @@ if (!validatePlan(mesProductionWorkOrderList)) { return Result.error("鎺掍骇璁″垝涓嶅悎鐞嗭紝淇濆瓨澶辫触锛�"); } - mesProductionWorkOrderList.forEach(item -> item.setWorkOrderStatus(ProductionWorkOrderStatus.NEW.name())); - mesProductionWorkOrderService.saveBatch(mesProductionWorkOrderList); + mesProductionWorkOrderList.forEach(item -> { + if (Objects.isNull(item.getId())) { + item.setWorkOrderStatus(ProductionWorkOrderStatus.NEW.name()); + } + }); + mesProductionWorkOrderService.saveOrUpdateBatch(mesProductionWorkOrderList); return Result.OK("娣诲姞鎴愬姛锛�"); } @@ -142,7 +137,7 @@ @AutoLog(value = "鎺掍骇宸ュ崟-鍙戝竷鎺掍骇璁″垝") @ApiOperation(value = "鎺掍骇宸ュ崟-鍙戝竷鎺掍骇璁″垝", notes = "鎺掍骇宸ュ崟-鍙戝竷鎺掍骇璁″垝") - //@RequiresPermissions("mes:production:work:order:publish") + //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:publish") @RequestMapping(value = "/publish", method = {RequestMethod.POST, RequestMethod.PUT}) public Result<String> publish(@RequestParam("ids") String ids) { List<String> idList = Arrays.asList(ids.split(",")); @@ -159,7 +154,7 @@ MesProductionWorkOrder publish = new MesProductionWorkOrder() .setId(id) .setPublishTime(new Date()) - .setPublisher(Objects.requireNonNull(getCurrentUser()).getUsername()) + .setPublisher(Objects.requireNonNull(CommonUtils.getCurrentUser()).getUsername()) .setWorkOrderStatus(ProductionWorkOrderStatus.PUBLISHED.name()); publishList.add(publish); }); @@ -169,23 +164,55 @@ @AutoLog(value = "鎺掍骇宸ュ崟-閲嶅彂甯冩帓浜ц鍒�") @ApiOperation(value="鎺掍骇宸ュ崟-閲嶅彂甯冩帓浜ц鍒�", notes="閲嶅彂甯冩帓浜ц鍒�") - //@RequiresPermissions("mes:production:work:order:republish") + //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:republish") @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() .setId(request.getId()) .setPlanQuantity(request.getPlanQuantity()) - .setRepublisher(Objects.requireNonNull(getCurrentUser()).getUsername()) + .setRepublisher(Objects.requireNonNull(Objects.requireNonNull(CommonUtils.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="榻愬鎬ф鏌�") + //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:workOrderCompletenessCheck") + @GetMapping(value = "/workOrderCompletenessCheck") + public Result<List<MesKittingCompletenessCheck>> workOrderCompletenessCheck(@RequestParam("id") String id) { + MesProductionWorkOrder workOrder = mesProductionWorkOrderService.getById(id); + if (workOrder == null) { + return Result.error("宸ュ崟涓嶅瓨鍦紒"); + } + if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())) { + return Result.error("褰撳墠宸ュ崟鐘舵�佷笉鑳借繘琛岄綈濂楁�ф鏌ワ紒"); + } + List<MesKittingCompletenessCheck> list = mesProductionWorkOrderService.workOrderCompletenessCheck(workOrder); + return Result.ok(list); + } + + @AutoLog(value = "鎺掍骇宸ュ崟-鎵ц鎺掍骇宸ュ崟璁″垝") + @ApiOperation(value = "鎺掍骇宸ュ崟-鎵ц鎺掍骇宸ュ崟璁″垝", notes = "鎺掍骇宸ュ崟-鎵ц鎺掍骇宸ュ崟璁″垝") + //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:execute") + @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("鎵ц鎴愬姛锛�"); } /** @@ -275,11 +302,4 @@ return super.importExcel(request, response, MesProductionWorkOrder.class); } - private LoginUser getCurrentUser() { - try { - return (LoginUser) SecurityUtils.getSubject().getPrincipal(); - } catch (Exception e) { - return null; - } - } } -- Gitblit v1.9.3