From 14943f4a30e027dcf8956272192666524a851eff Mon Sep 17 00:00:00 2001 From: Houjie <714924425@qq.com> Date: 星期一, 18 八月 2025 20:31:00 +0800 Subject: [PATCH] 安灯发起、安灯处理 安灯响应 --- src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java | 298 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 188 insertions(+), 110 deletions(-) diff --git a/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java b/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java index 23ca85f..2b8e922 100644 --- a/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java +++ b/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java @@ -6,56 +6,66 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; 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.andon.dto.AndonOrdeDto; import org.jeecg.modules.andon.entity.AndonOrder; import org.jeecg.modules.andon.service.IAndonOrderService; +import org.jeecg.modules.andon.service.IAndonResponseConfigService; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; 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.sql.Date; import java.util.Arrays; /** -* @Description: 瀹夌伅宸ュ崟 -* @Author: jeecg-boot -* @Date: 2025-07-10 -* @Version: V1.0 -*/ -@Api(tags="瀹夌伅宸ュ崟") + * @Description: 瀹夌伅宸ュ崟 + * @Author: jeecg-boot + * @Date: 2025-07-10 + * @Version: V1.0 + */ +@Api(tags = "瀹夌伅宸ュ崟") @RestController @RequestMapping("/andonorder/andonOrder") @Slf4j public class AndonOrderController extends JeecgController<AndonOrder, IAndonOrderService> { - @Autowired - private IAndonOrderService andonOrderService; + @Autowired + private IAndonOrderService andonOrderService; - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param andonOrder - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes="瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<AndonOrder>> queryPageList(AndonOrder andonOrder, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<AndonOrder> queryWrapper = QueryGenerator.initQueryWrapper(andonOrder, req.getParameterMap()); - Page<AndonOrder> page = new Page<AndonOrder>(pageNo, pageSize); - IPage<AndonOrder> pageList = andonOrderService.page(page, queryWrapper); - return Result.OK(pageList); - } + @Autowired + private IAndonResponseConfigService andonResponseConfigService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param andonOrder + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<AndonOrder>> queryPageList(AndonOrder andonOrder, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<AndonOrder> queryWrapper = QueryGenerator.initQueryWrapper(andonOrder, req.getParameterMap()); + Page<AndonOrder> page = new Page<AndonOrder>(pageNo, pageSize); + IPage<AndonOrder> pageList = andonOrderService.page(page, queryWrapper); + return Result.OK(pageList); + } /** @@ -65,100 +75,168 @@ * @return */ @AutoLog(value = "瀹夌伅宸ュ崟-娣诲姞") - @ApiOperation(value="瀹夌伅宸ュ崟-娣诲姞", notes="瀹夌伅宸ュ崟-娣诲姞") + @ApiOperation(value = "瀹夌伅宸ュ崟-娣诲姞", notes = "瀹夌伅宸ュ崟-娣诲姞") @PostMapping(value = "/add") public Result<String> add(@RequestBody AndonOrder andonOrder) { + // 鏍规嵁button_id鏌ヨ瀵瑰簲鐨勪骇绾縄D + if (andonOrder.getButtonId() != null) { + String productionLineId = andonResponseConfigService.getProductionLineIdByButtonId(andonOrder.getButtonId()); + if (productionLineId != null) { + andonOrder.setFactoryId(productionLineId); + } + } andonOrderService.save(andonOrder); return Result.OK("娣诲姞鎴愬姛锛�"); } + /** + * 娣诲姞 + * + * @param andonOrder + * @return + */ + @AutoLog(value = "瀹夌伅APP宸ュ崟-娣诲姞") + @ApiOperation(value = "瀹夌伅APP宸ュ崟-娣诲姞", notes = "瀹夌伅APP宸ュ崟-娣诲姞") + @PostMapping(value = "/app/add") + public Result<String> appAdd(@RequestBody AndonOrder andonOrder) { + // 鏍规嵁button_id鏌ヨ瀵瑰簲鐨勪骇绾縄D + andonOrder.setAndonLevel("1"); + andonOrder.setFactoryId(andonOrder.getFactoryId()); + andonOrder.setOperator(andonOrder.getOperator()); + String Responder = andonResponseConfigService.getResponderByButtonId(andonOrder.getButtonId(),andonOrder.getFactoryId()); + andonOrder.setResponder(Responder); + andonOrder.setProcessor(Responder); + andonOrder.setOperateTime(new java.sql.Timestamp(System.currentTimeMillis())); + andonOrderService.save(andonOrder); + // 鍒涘缓AndonOrderDto瀵硅薄骞跺鍒跺睘鎬� + AndonOrdeDto andonOrderDto = new AndonOrdeDto(); + // 澶嶅埗蹇呰灞炴�у埌Dto瀵硅薄 + andonOrderDto.setId(andonOrder.getId()); + andonOrderDto.setButtonId(andonOrder.getButtonId()); + andonOrderDto.setFactoryId(andonOrder.getFactoryId()); + andonOrderDto.setOperator(andonOrder.getOperator()); + andonOrderDto.setResponder(andonOrder.getResponder()); + andonOrderDto.setProcessor(andonOrder.getProcessor()); + andonOrderDto.setAndonLevel(andonOrder.getAndonLevel()); + andonOrderDto.setOperateTime(andonOrder.getOperateTime()); + andonResponseConfigService.sendAndonNotification(andonOrderDto); + return Result.OK("娣诲姞鎴愬姛锛�"); + } - /** - * 缂栬緫 - * - * @param andonOrder - * @return - */ - @AutoLog(value = "瀹夌伅宸ュ崟-缂栬緫") - @ApiOperation(value="瀹夌伅宸ュ崟-缂栬緫", notes="瀹夌伅宸ュ崟-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:andon_order:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody AndonOrder andonOrder) { - andonOrderService.updateById(andonOrder); - return Result.OK("缂栬緫鎴愬姛!"); - } + /** + * APP瀹夌伅鍝嶅簲鎿嶄綔 + * + * @param id + * @return + */ + @ApiOperation(value = "APP瀹夌伅鍝嶅簲鎿嶄綔", notes = "APP瀹夌伅鍝嶅簲鎿嶄綔") + @GetMapping(value = "/AndonRespond") + public Result<String> AndonRespond(@RequestParam("id") String id) { + AndonOrder andonOrder = andonOrderService.getById(id); + andonOrder.setOrderStatus("2"); + andonOrderService.updateById(andonOrder); + return Result.OK("鍝嶅簲鎴愬姛锛�"); + } - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎") - @ApiOperation(value="瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎", notes="瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:andon_order:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - andonOrderService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎") - @ApiOperation(value="瀹夌伅宸ュ崟-鎵归噺鍒犻櫎", notes="瀹夌伅宸ュ崟-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:andon_order:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.andonOrderService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } + /** + * APP瀹夌伅澶勭悊鎿嶄綔 + * + * @return + */ + @ApiOperation(value = "APP瀹夌伅澶勭悊鎿嶄綔", notes = "APP瀹夌伅澶勭悊鎿嶄綔") + @PostMapping(value = "/AndonHandel") + public Result<String> AndonHandel(@RequestBody AndonOrder andonOrder) { + return andonOrderService.handleAndonOrder(andonOrder); + } - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ") - @ApiOperation(value="瀹夌伅宸ュ崟-閫氳繃id鏌ヨ", notes="瀹夌伅宸ュ崟-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<AndonOrder> queryById(@RequestParam(name="id",required=true) String id) { - AndonOrder andonOrder = andonOrderService.getById(id); - if(andonOrder==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(andonOrder); - } - /** - * 瀵煎嚭excel - * - * @param request - * @param andonOrder - */ - //@RequiresPermissions("org.jeecg.modules:andon_order:exportXls") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, AndonOrder andonOrder) { - return super.exportXls(request, andonOrder, AndonOrder.class, "瀹夌伅宸ュ崟"); - } + /** + * 缂栬緫 + * + * @param andonOrder + * @return + */ + @AutoLog(value = "瀹夌伅宸ュ崟-缂栬緫") + @ApiOperation(value = "瀹夌伅宸ュ崟-缂栬緫", notes = "瀹夌伅宸ュ崟-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:andon_order:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody AndonOrder andonOrder) { + andonOrderService.updateById(andonOrder); + return Result.OK("缂栬緫鎴愬姛!"); + } - /** + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎") + @ApiOperation(value = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎", notes = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:andon_order:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + andonOrderService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎") + @ApiOperation(value = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎", notes = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:andon_order:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.andonOrderService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ") + @ApiOperation(value = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ", notes = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<AndonOrder> queryById(@RequestParam(name = "id", required = true) String id) { + AndonOrder andonOrder = andonOrderService.getById(id); + if (andonOrder == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(andonOrder); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param andonOrder + */ + //@RequiresPermissions("org.jeecg.modules:andon_order:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, AndonOrder andonOrder) { + return super.exportXls(request, andonOrder, AndonOrder.class, "瀹夌伅宸ュ崟"); + } + + /** * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - //@RequiresPermissions("andon_order:importExcel") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, AndonOrder.class); - } + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("andon_order:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AndonOrder.class); + } } -- Gitblit v1.9.3