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/EamSparePartReceiveController.java | 318 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 318 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveController.java new file mode 100644 index 0000000..72e64b0 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveController.java @@ -0,0 +1,318 @@ +package org.jeecg.modules.eam.controller; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.entity.EamSparePartInventory; +import org.jeecg.modules.eam.entity.EamSparePartReceive; +import org.jeecg.modules.eam.entity.EamSparePartReceiveDetail; +import org.jeecg.modules.eam.entity.EamSparePartRequisition; +import org.jeecg.modules.eam.service.IEamSparePartInventoryService; +import org.jeecg.modules.eam.service.IEamSparePartReceiveDetailService; +import org.jeecg.modules.eam.service.IEamSparePartReceiveService; +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.springframework.transaction.annotation.Transactional; +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/eamSparePartReceive") +public class EamSparePartReceiveController extends JeecgController<EamSparePartReceive, IEamSparePartReceiveService> { + + @Resource + private IEamSparePartReceiveService eamSparePartReceiveService; + + @Resource + private IEamSparePartReceiveDetailService sparePartReceiveDetailService; + + @Resource + private IEamSparePartInventoryService sparePartInventoryService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param eamSparePartReceive + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囧搧澶囦欢棰嗙敤鍗�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamSparePartReceive eamSparePartReceive, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { +// QueryWrapper<EamSparePartReceive> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartReceive, req.getParameterMap()); + QueryWrapper<EamSparePartReceive> queryWrapper = new QueryWrapper<>(); + String receiveCode = eamSparePartReceive.getReceiveCode(); + if(StringUtils.isNotBlank(receiveCode)){ + queryWrapper.like("receive_code",receiveCode); + } + String receiveStatus = eamSparePartReceive.getReceiveStatus(); + if(StringUtils.isNotBlank(receiveStatus)){ + queryWrapper.eq("receive_status",receiveStatus); + } + String receiveUser = eamSparePartReceive.getReceiveUser(); + if(StringUtils.isNotBlank(receiveUser)){ + queryWrapper.like("receive_user",receiveUser); + } + queryWrapper.orderByDesc("create_time"); + Page<EamSparePartReceive> page = new Page<EamSparePartReceive>(pageNo, pageSize); + IPage<EamSparePartReceive> pageList = eamSparePartReceiveService.page(page, queryWrapper); + for (EamSparePartReceive record : pageList.getRecords()) { + List<EamSparePartReceiveDetail> details = sparePartReceiveDetailService.lambdaQuery() + .eq(EamSparePartReceiveDetail::getSparePartReceiveId, record.getId()).list(); + record.setSparePartReceiveDetails(details); + } + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param eamSparePartReceive + * @return + */ + @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-娣诲姞", notes = "澶囧搧澶囦欢棰嗙敤鍗�-娣诲姞") + @PostMapping(value = "/add") + @Transactional(rollbackFor = Exception.class) + public Result<?> add(@RequestBody EamSparePartReceive eamSparePartReceive) { + eamSparePartReceive.setReceiveStatus(BusinessCodeConst.receive_status_1); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String realName = user.getRealname(); + eamSparePartReceive.setReceiveUser(realName); + eamSparePartReceiveService.save(eamSparePartReceive); + List<EamSparePartReceiveDetail> sparePartReceiveDetails = eamSparePartReceive.getSparePartReceiveDetails(); + for (EamSparePartReceiveDetail sparePartReceiveDetail : sparePartReceiveDetails) { + sparePartReceiveDetail.setSparePartReceiveId(eamSparePartReceive.getId()); + sparePartReceiveDetailService.saveOrUpdate(sparePartReceiveDetail); + } + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param eamSparePartReceive + * @return + */ + @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-缂栬緫", notes = "澶囧搧澶囦欢棰嗙敤鍗�-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + @Transactional(rollbackFor = Exception.class) + public Result<?> edit(@RequestBody EamSparePartReceive eamSparePartReceive) { + eamSparePartReceiveService.updateById(eamSparePartReceive); + List<EamSparePartReceiveDetail> details = sparePartReceiveDetailService.lambdaQuery().eq(EamSparePartReceiveDetail::getSparePartReceiveId, eamSparePartReceive.getId()).list(); + for (EamSparePartReceiveDetail detail : details) { + sparePartReceiveDetailService.removeById(detail); + } + List<EamSparePartReceiveDetail> sparePartReceiveDetails = eamSparePartReceive.getSparePartReceiveDetails(); + for (EamSparePartReceiveDetail sparePartReceiveDetail : sparePartReceiveDetails) { + sparePartReceiveDetail.setSparePartReceiveId(eamSparePartReceive.getId()); + sparePartReceiveDetailService.saveOrUpdate(sparePartReceiveDetail); + } + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鍒犻櫎", notes = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + @Transactional(rollbackFor = Exception.class) + public Result<?> delete(@RequestParam(name = "id", required = true) String id) { + List<EamSparePartReceiveDetail> details = sparePartReceiveDetailService.lambdaQuery() + .eq(EamSparePartReceiveDetail::getSparePartReceiveId,id).list(); + for (EamSparePartReceiveDetail detail : details) { + sparePartReceiveDetailService.removeById(detail); + } + eamSparePartReceiveService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-鎵归噺鍒犻櫎", notes = "澶囧搧澶囦欢棰嗙敤鍗�-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + @Transactional(rollbackFor = Exception.class) + public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + List<String> strings = Arrays.asList(ids.split(",")); + for (String s : strings) { + List<EamSparePartReceiveDetail> details = sparePartReceiveDetailService.lambdaQuery() + .eq(EamSparePartReceiveDetail::getSparePartReceiveId,s).list(); + for (EamSparePartReceiveDetail detail : details) { + sparePartReceiveDetailService.removeById(detail); + } + } + this.eamSparePartReceiveService.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) { + EamSparePartReceive eamSparePartReceive = eamSparePartReceiveService.getById(id); + return Result.OK(eamSparePartReceive); + } + + /** + * 鎻愪氦 + * + * @return + */ + @AutoLog(value = "澶囦欢棰嗙敤-鎻愪氦") + @ApiOperation(value = "澶囦欢棰嗙敤-鎻愪氦", notes = "澶囦欢棰嗙敤-鎻愪氦") + @PostMapping(value = "/submit") + public Result<?> submitSparePartReceive(@RequestBody EamSparePartReceive eamSparePartReceive) { + eamSparePartReceive.setReceiveStatus(BusinessCodeConst.receive_status_2); + boolean b = eamSparePartReceiveService.updateById(eamSparePartReceive); + if (!b) { + return Result.error("鎻愪氦澶辫触锛�"); + } + return Result.OK("鎻愪氦鎴愬姛!"); + } + + /** + * 纭 + * + * @return + */ + @AutoLog(value = "澶囦欢棰嗙敤-纭") + @ApiOperation(value = "澶囦欢棰嗙敤-纭", notes = "澶囦欢棰嗙敤-纭") + @PostMapping(value = "/confirm") + @Transactional(rollbackFor = Exception.class) + public Result<?> confirmSparePartReceive(@RequestBody EamSparePartReceive eamSparePartReceive) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶纭澶囦欢棰嗙敤锛�"); + } + List<EamSparePartReceiveDetail> details = sparePartReceiveDetailService.lambdaQuery().eq(EamSparePartReceiveDetail::getSparePartReceiveId, eamSparePartReceive.getId()).list(); + for (EamSparePartReceiveDetail detail : details) { + EamSparePartInventory eamSparePartInventory = new EamSparePartInventory(); + eamSparePartInventory.setSparePartId(detail.getPartId()); + eamSparePartInventory.setInventory(detail.getReceiveNum().negate()); + eamSparePartInventory.setSparePartIntoType("2");//搴撳瓨鏉ユ簮绫诲瀷 1.鍏ュ簱 2.棰嗘枡鍑哄簱 3.褰掕繕鍏ュ簱 + sparePartInventoryService.save(eamSparePartInventory); + } + eamSparePartReceive.setApprovalUser(sysUser.getRealname()); + eamSparePartReceive.setApprovalTime(new Date()); + eamSparePartReceive.setReceiveStatus(BusinessCodeConst.receive_status_3); + boolean b = eamSparePartReceiveService.updateById(eamSparePartReceive); + if (!b) { + return Result.error("纭澶辫触锛�"); + } + return Result.OK("纭鎴愬姛!"); + } + + /** + * 褰掕繕 + * + * @return + */ + @AutoLog(value = "澶囦欢棰嗙敤-褰掕繕") + @ApiOperation(value = "澶囦欢棰嗙敤-褰掕繕", notes = "澶囦欢棰嗙敤-褰掕繕") + @PostMapping(value = "/return") + public Result<?> returnSparePartReceive(@RequestBody EamSparePartReceive eamSparePartReceive) { + eamSparePartReceive.setReceiveStatus(BusinessCodeConst.receive_status_4); + boolean b = eamSparePartReceiveService.updateById(eamSparePartReceive); + if (!b) { + return Result.error("褰掕繕澶辫触锛�"); + } + return Result.OK("褰掕繕鎴愬姛!"); + } + + /** + * 褰掕繕纭 + * + * @return + */ + @AutoLog(value = "澶囦欢棰嗙敤-褰掕繕纭") + @ApiOperation(value = "澶囦欢棰嗙敤-褰掕繕纭", notes = "澶囦欢棰嗙敤-褰掕繕纭") + @PostMapping(value = "/returnConfirm") + @Transactional(rollbackFor = Exception.class) + public Result<?> returnConfirmSparePartReceive(@RequestBody EamSparePartReceive eamSparePartReceive) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶纭澶囦欢褰掕繕锛�"); + } + List<EamSparePartReceiveDetail> details = sparePartReceiveDetailService.lambdaQuery().eq(EamSparePartReceiveDetail::getSparePartReceiveId, eamSparePartReceive.getId()).list(); + for (EamSparePartReceiveDetail detail : details) { + EamSparePartInventory eamSparePartInventory = new EamSparePartInventory(); + eamSparePartInventory.setSparePartId(detail.getPartId()); + eamSparePartInventory.setInventory(detail.getReceiveNum()); + eamSparePartInventory.setSparePartIntoType("3");//搴撳瓨鏉ユ簮绫诲瀷 1.鍏ュ簱 2.棰嗘枡鍑哄簱 3.褰掕繕鍏ュ簱 + sparePartInventoryService.save(eamSparePartInventory); + } + eamSparePartReceive.setReceiveStatus(BusinessCodeConst.receive_status_5); + boolean b = eamSparePartReceiveService.updateById(eamSparePartReceive); + if (!b) { + return Result.error("褰掕繕纭澶辫触锛�"); + } + return Result.OK("褰掕繕纭鎴愬姛!"); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param eamSparePartReceive + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, EamSparePartReceive eamSparePartReceive) { + return super.exportXls(request, eamSparePartReceive, EamSparePartReceive.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, EamSparePartReceive.class); + } + +} -- Gitblit v1.9.3