From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 25 六月 2025 11:51:38 +0800 Subject: [PATCH] Merge branch 'mdc_hyjs_master' --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java | 273 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 273 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java new file mode 100644 index 0000000..f50edfc --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java @@ -0,0 +1,273 @@ +package org.jeecg.modules.eam.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; +import org.jeecg.modules.eam.entity.EamSparePartRequisition; +import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail; +import org.jeecg.modules.eam.request.EamEquipmentLeanOutRequest; +import org.jeecg.modules.eam.request.EamSparePartRequisitionRequest; +import org.jeecg.modules.eam.service.IEamSparePartRequisitionDetailService; +import org.jeecg.modules.eam.service.IEamSparePartRequisitionService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.base.controller.JeecgController; + +import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +/** + * @Description: 澶囦欢璇疯喘鍗� + * @Author: Lius + * @Date: 2025-03-19 + * @Version: V1.0 + */ +@Slf4j +@Api(tags = "澶囦欢璇疯喘鍗�") +@RestController +@RequestMapping("/eam/eamSparePartRequisition") +public class EamSparePartRequisitionController extends JeecgController<EamSparePartRequisition, IEamSparePartRequisitionService> { + + @Resource + private IEamSparePartRequisitionService eamSparePartRequisitionService; + + @Resource + private IEamSparePartRequisitionDetailService eamSparePartRequisitionDetailService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param eamSparePartRequisition + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = "澶囦欢璇疯喘鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囦欢璇疯喘鍗�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamSparePartRequisition eamSparePartRequisition, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<EamSparePartRequisition> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartRequisition, req.getParameterMap()); + Page<EamSparePartRequisition> page = new Page<EamSparePartRequisition>(pageNo, pageSize); + IPage<EamSparePartRequisition> pageList = eamSparePartRequisitionService.page(page, queryWrapper); + for (EamSparePartRequisition record : pageList.getRecords()) { + List<EamSparePartRequisitionDetail> details = eamSparePartRequisitionDetailService.lambdaQuery() + .eq(EamSparePartRequisitionDetail::getSpareRequisitionId, record.getId()).list(); + record.setSparePartRequisitionDetails(details); + } + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param eamSparePartRequisition + * @return + */ + @ApiOperation(value = "澶囦欢璇疯喘鍗�-娣诲姞", notes = "澶囦欢璇疯喘鍗�-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody EamSparePartRequisition eamSparePartRequisition) { + eamSparePartRequisition.setRequisitionStatus(BusinessCodeConst.SPARE_REQUISITION_STATUS_1); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String realName = user.getRealname(); + eamSparePartRequisition.setReportUser(realName); + eamSparePartRequisitionService.save(eamSparePartRequisition); + for (EamSparePartRequisitionDetail sparePartRequisitionDetail : eamSparePartRequisition.getSparePartRequisitionDetails()) { + sparePartRequisitionDetail.setSpareRequisitionId(eamSparePartRequisition.getId()); + eamSparePartRequisitionDetailService.saveOrUpdate(sparePartRequisitionDetail); + } + + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param eamSparePartRequisition + * @return + */ + @ApiOperation(value = "澶囦欢璇疯喘鍗�-缂栬緫", notes = "澶囦欢璇疯喘鍗�-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> edit(@RequestBody EamSparePartRequisition eamSparePartRequisition) { + eamSparePartRequisitionService.updateById(eamSparePartRequisition); + + List<EamSparePartRequisitionDetail> details = eamSparePartRequisitionDetailService.lambdaQuery() + .eq(EamSparePartRequisitionDetail::getSpareRequisitionId, eamSparePartRequisition.getId()).list(); + for (EamSparePartRequisitionDetail detail : details) { + eamSparePartRequisitionDetailService.removeById(detail.getId()); + } + + for (EamSparePartRequisitionDetail sparePartRequisitionDetail : eamSparePartRequisition.getSparePartRequisitionDetails()) { + sparePartRequisitionDetail.setSpareRequisitionId(eamSparePartRequisition.getId()); + eamSparePartRequisitionDetailService.saveOrUpdate(sparePartRequisitionDetail); + } + + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @ApiOperation(value = "澶囦欢璇疯喘鍗�-閫氳繃id鍒犻櫎", notes = "澶囦欢璇疯喘鍗�-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + public Result<?> delete(@RequestParam(name = "id", required = true) String id) { + List<EamSparePartRequisitionDetail> details = eamSparePartRequisitionDetailService.lambdaQuery() + .eq(EamSparePartRequisitionDetail::getSpareRequisitionId, id).list(); + for (EamSparePartRequisitionDetail detail : details) { + eamSparePartRequisitionDetailService.removeById(detail.getId()); + } + eamSparePartRequisitionService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @ApiOperation(value = "澶囦欢璇疯喘鍗�-鎵归噺鍒犻櫎", notes = "澶囦欢璇疯喘鍗�-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.eamSparePartRequisitionService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + @ApiOperation(value = "澶囦欢璇疯喘鍗�-閫氳繃id鏌ヨ", notes = "澶囦欢璇疯喘鍗�-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { + EamSparePartRequisition eamSparePartRequisition = eamSparePartRequisitionService.getById(id); + return Result.OK(eamSparePartRequisition); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param eamSparePartRequisition + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, EamSparePartRequisition eamSparePartRequisition) { + return super.exportXls(request, eamSparePartRequisition, EamSparePartRequisition.class, "澶囦欢璇疯喘鍗�"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, EamSparePartRequisition.class); + } + + /** + * 鎻愪氦璇疯喘鍗� + * + * @return + */ + @AutoLog(value = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�") + @ApiOperation(value = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�", notes = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�") + @PostMapping(value = "/submitSpareRequisition") + public Result<?> submitSpareRequisition(@RequestBody EamSparePartRequisition eamSparePartRequisition) { +// eamSparePartRequisition.setRequisitionStatus(BusinessCodeConst.SPARE_REQUISITION_STATUS_2); +// eamSparePartRequisitionService.updateById(eamSparePartRequisition); + boolean b = eamSparePartRequisitionService.submitSpareRequisition(eamSparePartRequisition); + if (!b) { + return Result.error("鎻愪氦澶辫触锛�"); + } + return Result.OK("鎻愪氦鎴愬姛!"); + } + + @GetMapping(value = "/getSparePartRequisitionList") + public Result<?> getSparePartRequisitionList(EamSparePartRequisition eamSparePartRequisition, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<EamSparePartRequisition> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartRequisition, req.getParameterMap()); + Page<EamSparePartRequisition> page = new Page<EamSparePartRequisition>(pageNo, pageSize); + IPage<EamSparePartRequisition> pageList = eamSparePartRequisitionService.page(page, queryWrapper); + List<EamSparePartRequisition> records = pageList.getRecords(); + for (EamSparePartRequisition record : records) { + String id = record.getId(); + List<Map<String, Object>> sparePartRequisitionDetailList = eamSparePartRequisitionService.getSparePartRequisitionDetailList(id); + record.setSparePartRequisitionDetailList(sparePartRequisitionDetailList); + } + return Result.OK(pageList); + } + + /** + * 瀹℃牳 + */ + @AutoLog(value = "澶囦欢璇疯喘-瀹℃壒娴�") + @ApiOperation(value = "澶囦欢璇疯喘-瀹℃壒娴�", notes = "澶囦欢璇疯喘-瀹℃壒娴�") + @RequestMapping(value = "/approval", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> approval(@RequestBody EamSparePartRequisitionRequest request) { + if (request == null) { + return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒"); + } + EamSparePartRequisition entity = eamSparePartRequisitionService.approval(request); + if (entity == null) { + return Result.error("鎿嶄綔澶辫触锛�"); + } + return Result.OK("鎿嶄綔鎴愬姛!"); + } + + /** + * 瀹℃牳璇疯喘鍗� + * + * @return + */ + @AutoLog(value = "澶囦欢璇疯喘鍗�-瀹℃牳璇疯喘鍗�") + @ApiOperation(value = "澶囦欢璇疯喘鍗�-瀹℃牳璇疯喘鍗�", notes = "澶囦欢璇疯喘鍗�-瀹℃牳璇疯喘鍗�") + @PostMapping(value = "/examineSpareRequisition") + public Result<?> examineSpareRequisition(@RequestBody EamSparePartRequisition eamSparePartRequisition) { + String title = ""; + switch (eamSparePartRequisition.getRequisitionStatus()) { + case BusinessCodeConst.SPARE_REQUISITION_STATUS_3: + title = "閫氳繃"; + break; + case BusinessCodeConst.SPARE_REQUISITION_STATUS_4: + title = "椹冲洖"; + break; + } + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String realName = user.getRealname(); + eamSparePartRequisition.setApprovalUser(realName); + eamSparePartRequisition.setApprovalTime(DateUtils.getDate()); + eamSparePartRequisitionService.updateById(eamSparePartRequisition); + return Result.OK(title + "鎴愬姛锛�"); + } + +} -- Gitblit v1.9.3