From d451fd28b27b45c5b49a1659a424d76c436e1088 Mon Sep 17 00:00:00 2001 From: houshuai <17802598606@163.com> Date: 星期一, 30 六月 2025 17:15:56 +0800 Subject: [PATCH] 线边库基本模块搭建 --- src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java | 161 ++++++ src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java | 92 +++ src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java | 14 src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java | 18 src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml | 5 src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java | 92 +++ src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java | 78 +++ src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInboundMapper.xml | 5 src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java | 161 ++++++ src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java | 49 + src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInboundService.java | 14 src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java | 32 + src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java | 161 ++++++ src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialOutboundMapper.java | 14 src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInboundMapper.java | 14 src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java | 79 +++ src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java | 18 src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java | 260 ++++++++++ src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java | 23 src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialOutboundMapper.xml | 5 src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml | 16 src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java | 71 ++ src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java | 28 + src/main/java/org/jeecg/modules/lsw/service/ILswMaterialOutboundService.java | 14 src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java | 78 +++ 25 files changed, 1,502 insertions(+), 0 deletions(-) diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java new file mode 100644 index 0000000..a9c9e20 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java @@ -0,0 +1,260 @@ +package org.jeecg.modules.lsw.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.lsw.entity.LswMaterial; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.jeecg.modules.lsw.service.ILswMaterialService; +import org.jeecg.modules.lsw.vo.LswMaterialPage; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** +* @Description: 绾胯竟搴撶墿鏂欎俊鎭� +* @Author: jeecg-boot +* @Date: 2025-06-30 +* @Version: V1.0 +*/ +@Api(tags="绾胯竟搴撶墿鏂欎俊鎭�") +@RestController +@RequestMapping("/lswmaterial/lswMaterial") +@Slf4j +public class LswMaterialController { + @Autowired + private ILswMaterialService lswMaterialService; + @Autowired + private ILswMaterialInventoryService lswMaterialInventoryService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param lswMaterial + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="绾胯竟搴撶墿鏂欎俊鎭�-鍒嗛〉鍒楄〃鏌ヨ", notes="绾胯竟搴撶墿鏂欎俊鎭�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LswMaterial>> queryPageList(LswMaterial lswMaterial, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<LswMaterial> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterial, req.getParameterMap()); + Page<LswMaterial> page = new Page<LswMaterial>(pageNo, pageSize); + IPage<LswMaterial> pageList = lswMaterialService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param lswMaterialPage + * @return + */ + @AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-娣诲姞") + @ApiOperation(value="绾胯竟搴撶墿鏂欎俊鎭�-娣诲姞", notes="绾胯竟搴撶墿鏂欎俊鎭�-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:lsw_material:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody LswMaterialPage lswMaterialPage) { + LswMaterial lswMaterial = new LswMaterial(); + BeanUtils.copyProperties(lswMaterialPage, lswMaterial); + lswMaterialService.saveMain(lswMaterial, lswMaterialPage.getLswMaterialInventoryList()); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param lswMaterialPage + * @return + */ + @AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-缂栬緫") + @ApiOperation(value="绾胯竟搴撶墿鏂欎俊鎭�-缂栬緫", notes="绾胯竟搴撶墿鏂欎俊鎭�-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:lsw_material:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody LswMaterialPage lswMaterialPage) { + LswMaterial lswMaterial = new LswMaterial(); + BeanUtils.copyProperties(lswMaterialPage, lswMaterial); + LswMaterial lswMaterialEntity = lswMaterialService.getById(lswMaterial.getId()); + if(lswMaterialEntity==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + lswMaterialService.updateMain(lswMaterial, lswMaterialPage.getLswMaterialInventoryList()); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃id鍒犻櫎") + @ApiOperation(value="绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃id鍒犻櫎", notes="绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + lswMaterialService.delMain(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-鎵归噺鍒犻櫎") + @ApiOperation(value="绾胯竟搴撶墿鏂欎俊鎭�-鎵归噺鍒犻櫎", notes="绾胯竟搴撶墿鏂欎俊鎭�-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.lswMaterialService.delBatchMain(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃id鏌ヨ") + @ApiOperation(value="绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃id鏌ヨ", notes="绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<LswMaterial> queryById(@RequestParam(name="id",required=true) String id) { + LswMaterial lswMaterial = lswMaterialService.getById(id); + if(lswMaterial==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lswMaterial); + + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "鐗╂枡搴撳瓨淇℃伅閫氳繃涓昏〃ID鏌ヨ") + @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅涓昏〃ID鏌ヨ", notes="鐗╂枡搴撳瓨淇℃伅-閫氫富琛↖D鏌ヨ") + @GetMapping(value = "/queryLswMaterialInventoryByMainId") + public Result<List<LswMaterialInventory>> queryLswMaterialInventoryListByMainId(@RequestParam(name="id",required=true) String id) { + List<LswMaterialInventory> lswMaterialInventoryList = lswMaterialInventoryService.selectByMainId(id); + return Result.OK(lswMaterialInventoryList); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param lswMaterial + */ + //@RequiresPermissions("org.jeecg.modules:lsw_material:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, LswMaterial lswMaterial) { + // Step.1 缁勮鏌ヨ鏉′欢鏌ヨ鏁版嵁 + QueryWrapper<LswMaterial> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterial, request.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + //閰嶇疆閫変腑鏁版嵁鏌ヨ鏉′欢 + String selections = request.getParameter("selections"); + if(oConvertUtils.isNotEmpty(selections)) { + List<String> selectionList = Arrays.asList(selections.split(",")); + queryWrapper.in("id",selectionList); + } + //Step.2 鑾峰彇瀵煎嚭鏁版嵁 + List<LswMaterial> lswMaterialList = lswMaterialService.list(queryWrapper); + + // Step.3 缁勮pageList + List<LswMaterialPage> pageList = new ArrayList<LswMaterialPage>(); + for (LswMaterial main : lswMaterialList) { + LswMaterialPage vo = new LswMaterialPage(); + BeanUtils.copyProperties(main, vo); + List<LswMaterialInventory> lswMaterialInventoryList = lswMaterialInventoryService.selectByMainId(main.getId()); + vo.setLswMaterialInventoryList(lswMaterialInventoryList); + pageList.add(vo); + } + + // Step.4 AutoPoi 瀵煎嚭Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, "绾胯竟搴撶墿鏂欎俊鎭垪琛�"); + mv.addObject(NormalExcelConstants.CLASS, LswMaterialPage.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("绾胯竟搴撶墿鏂欎俊鎭暟鎹�", "瀵煎嚭浜�:"+sysUser.getRealname(), "绾胯竟搴撶墿鏂欎俊鎭�")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("org.jeecg.modules:lsw_material:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + // 鑾峰彇涓婁紶鏂囦欢瀵硅薄 + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List<LswMaterialPage> list = ExcelImportUtil.importExcel(file.getInputStream(), LswMaterialPage.class, params); + for (LswMaterialPage page : list) { + LswMaterial po = new LswMaterial(); + BeanUtils.copyProperties(page, po); + lswMaterialService.saveMain(po, page.getLswMaterialInventoryList()); + } + return Result.OK("鏂囦欢瀵煎叆鎴愬姛锛佹暟鎹鏁�:" + list.size()); + } catch (Exception e) { + log.error(e.getMessage(),e); + return Result.error("鏂囦欢瀵煎叆澶辫触:"+e.getMessage()); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.OK("鏂囦欢瀵煎叆澶辫触锛�"); + } + +} diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java new file mode 100644 index 0000000..c8e69a5 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java @@ -0,0 +1,161 @@ +package org.jeecg.modules.lsw.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +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.modules.lsw.entity.LswMaterialInbound; +import org.jeecg.modules.lsw.service.ILswMaterialInboundService; +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.Arrays; + +/** +* @Description: 鐗╂枡鍏ュ簱鍗� +* @Author: jeecg-boot +* @Date: 2025-06-30 +* @Version: V1.0 +*/ +@Api(tags="鐗╂枡鍏ュ簱鍗�") +@RestController +@RequestMapping("/lswmaterialinbound/lswMaterialInbound") +@Slf4j +public class LswMaterialInboundController extends JeecgController<LswMaterialInbound, ILswMaterialInboundService> { + @Autowired + private ILswMaterialInboundService lswMaterialInboundService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param lswMaterialInbound + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "鐗╂枡鍏ュ簱鍗�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="鐗╂枡鍏ュ簱鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡鍏ュ簱鍗�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LswMaterialInbound>> queryPageList(LswMaterialInbound lswMaterialInbound, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<LswMaterialInbound> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialInbound, req.getParameterMap()); + Page<LswMaterialInbound> page = new Page<LswMaterialInbound>(pageNo, pageSize); + IPage<LswMaterialInbound> pageList = lswMaterialInboundService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param lswMaterialInbound + * @return + */ + @AutoLog(value = "鐗╂枡鍏ュ簱鍗�-娣诲姞") + @ApiOperation(value="鐗╂枡鍏ュ簱鍗�-娣诲姞", notes="鐗╂枡鍏ュ簱鍗�-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inbound:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody LswMaterialInbound lswMaterialInbound) { + lswMaterialInboundService.save(lswMaterialInbound); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param lswMaterialInbound + * @return + */ + @AutoLog(value = "鐗╂枡鍏ュ簱鍗�-缂栬緫") + @ApiOperation(value="鐗╂枡鍏ュ簱鍗�-缂栬緫", notes="鐗╂枡鍏ュ簱鍗�-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inbound:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody LswMaterialInbound lswMaterialInbound) { + lswMaterialInboundService.updateById(lswMaterialInbound); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鐗╂枡鍏ュ簱鍗�-閫氳繃id鍒犻櫎") + @ApiOperation(value="鐗╂枡鍏ュ簱鍗�-閫氳繃id鍒犻櫎", notes="鐗╂枡鍏ュ簱鍗�-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inbound:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + lswMaterialInboundService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鐗╂枡鍏ュ簱鍗�-鎵归噺鍒犻櫎") + @ApiOperation(value="鐗╂枡鍏ュ簱鍗�-鎵归噺鍒犻櫎", notes="鐗╂枡鍏ュ簱鍗�-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inbound:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.lswMaterialInboundService.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<LswMaterialInbound> queryById(@RequestParam(name="id",required=true) String id) { + LswMaterialInbound lswMaterialInbound = lswMaterialInboundService.getById(id); + if(lswMaterialInbound==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lswMaterialInbound); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param lswMaterialInbound + */ + //@RequiresPermissions("org.jeecg.modules:lsw_material_inbound:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, LswMaterialInbound lswMaterialInbound) { + return super.exportXls(request, lswMaterialInbound, LswMaterialInbound.class, "鐗╂枡鍏ュ簱鍗�"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("lsw_material_inbound:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, LswMaterialInbound.class); + } + +} diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java new file mode 100644 index 0000000..2a2f162 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java @@ -0,0 +1,161 @@ +package org.jeecg.modules.lsw.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +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.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +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.Arrays; + +/** +* @Description: 鐗╂枡搴撳瓨淇℃伅 +* @Author: jeecg-boot +* @Date: 2025-06-30 +* @Version: V1.0 +*/ +@Api(tags="鐗╂枡搴撳瓨淇℃伅") +@RestController +@RequestMapping("/lswmaterialinventory/lswMaterialInventory") +@Slf4j +public class LswMaterialInventoryController extends JeecgController<LswMaterialInventory, ILswMaterialInventoryService> { + @Autowired + private ILswMaterialInventoryService lswMaterialInventoryService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param lswMaterialInventory + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LswMaterialInventory>> queryPageList(LswMaterialInventory lswMaterialInventory, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<LswMaterialInventory> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialInventory, req.getParameterMap()); + Page<LswMaterialInventory> page = new Page<LswMaterialInventory>(pageNo, pageSize); + IPage<LswMaterialInventory> pageList = lswMaterialInventoryService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param lswMaterialInventory + * @return + */ + @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-娣诲姞") + @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-娣诲姞", notes="鐗╂枡搴撳瓨淇℃伅-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody LswMaterialInventory lswMaterialInventory) { + lswMaterialInventoryService.save(lswMaterialInventory); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param lswMaterialInventory + * @return + */ + @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-缂栬緫") + @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-缂栬緫", notes="鐗╂枡搴撳瓨淇℃伅-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody LswMaterialInventory lswMaterialInventory) { + lswMaterialInventoryService.updateById(lswMaterialInventory); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎") + @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎", notes="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + lswMaterialInventoryService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎") + @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎", notes="鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.lswMaterialInventoryService.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<LswMaterialInventory> queryById(@RequestParam(name="id",required=true) String id) { + LswMaterialInventory lswMaterialInventory = lswMaterialInventoryService.getById(id); + if(lswMaterialInventory==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lswMaterialInventory); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param lswMaterialInventory + */ + //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, LswMaterialInventory lswMaterialInventory) { + return super.exportXls(request, lswMaterialInventory, LswMaterialInventory.class, "鐗╂枡搴撳瓨淇℃伅"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("lsw_material_inventory:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, LswMaterialInventory.class); + } + +} diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java new file mode 100644 index 0000000..b1d171b --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java @@ -0,0 +1,161 @@ +package org.jeecg.modules.lsw.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +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.modules.lsw.entity.LswMaterialOutbound; +import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; +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.Arrays; + +/** +* @Description: 鐗╂枡鍑哄簱鍗� +* @Author: jeecg-boot +* @Date: 2025-06-30 +* @Version: V1.0 +*/ +@Api(tags="鐗╂枡鍑哄簱鍗�") +@RestController +@RequestMapping("/lswmaterialoutbound/lswMaterialOutbound") +@Slf4j +public class LswMaterialOutboundController extends JeecgController<LswMaterialOutbound, ILswMaterialOutboundService> { + @Autowired + private ILswMaterialOutboundService lswMaterialOutboundService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param lswMaterialOutbound + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LswMaterialOutbound>> queryPageList(LswMaterialOutbound lswMaterialOutbound, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<LswMaterialOutbound> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialOutbound, req.getParameterMap()); + Page<LswMaterialOutbound> page = new Page<LswMaterialOutbound>(pageNo, pageSize); + IPage<LswMaterialOutbound> pageList = lswMaterialOutboundService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param lswMaterialOutbound + * @return + */ + @AutoLog(value = "鐗╂枡鍑哄簱鍗�-娣诲姞") + @ApiOperation(value="鐗╂枡鍑哄簱鍗�-娣诲姞", notes="鐗╂枡鍑哄簱鍗�-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody LswMaterialOutbound lswMaterialOutbound) { + lswMaterialOutboundService.save(lswMaterialOutbound); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param lswMaterialOutbound + * @return + */ + @AutoLog(value = "鐗╂枡鍑哄簱鍗�-缂栬緫") + @ApiOperation(value="鐗╂枡鍑哄簱鍗�-缂栬緫", notes="鐗╂枡鍑哄簱鍗�-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody LswMaterialOutbound lswMaterialOutbound) { + lswMaterialOutboundService.updateById(lswMaterialOutbound); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鐗╂枡鍑哄簱鍗�-閫氳繃id鍒犻櫎") + @ApiOperation(value="鐗╂枡鍑哄簱鍗�-閫氳繃id鍒犻櫎", notes="鐗╂枡鍑哄簱鍗�-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + lswMaterialOutboundService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鐗╂枡鍑哄簱鍗�-鎵归噺鍒犻櫎") + @ApiOperation(value="鐗╂枡鍑哄簱鍗�-鎵归噺鍒犻櫎", notes="鐗╂枡鍑哄簱鍗�-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.lswMaterialOutboundService.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<LswMaterialOutbound> queryById(@RequestParam(name="id",required=true) String id) { + LswMaterialOutbound lswMaterialOutbound = lswMaterialOutboundService.getById(id); + if(lswMaterialOutbound==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lswMaterialOutbound); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param lswMaterialOutbound + */ + //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, LswMaterialOutbound lswMaterialOutbound) { + return super.exportXls(request, lswMaterialOutbound, LswMaterialOutbound.class, "鐗╂枡鍑哄簱鍗�"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("lsw_material_outbound:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, LswMaterialOutbound.class); + } + +} diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java new file mode 100644 index 0000000..b988d39 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java @@ -0,0 +1,79 @@ +package org.jeecg.modules.lsw.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 绾胯竟搴撶墿鏂欎俊鎭� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@ApiModel(value="lsw_material瀵硅薄", description="绾胯竟搴撶墿鏂欎俊鎭�") +@Data +@TableName("lsw_material") +public class LswMaterial implements Serializable { + private static final long serialVersionUID = 1L; + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /**鎵�灞為儴闂�*/ + @ApiModelProperty(value = "鎵�灞為儴闂�") + private String sysOrgCode; + /**鍒犻櫎鏍囪*/ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + @TableLogic + private Integer delFlag; + /**鐗╂枡缂栫爜*/ + @Excel(name = "鐗╂枡缂栫爜", width = 15) + @ApiModelProperty(value = "鐗╂枡缂栫爜") + private String materialNumber; + /**鐗╂枡鍚嶇О*/ + @Excel(name = "鐗╂枡鍚嶇О", width = 15) + @ApiModelProperty(value = "鐗╂枡鍚嶇О") + private String materialName; + /**鐗╂枡鍨嬪彿*/ + @Excel(name = "鐗╂枡鍨嬪彿", width = 15) + @ApiModelProperty(value = "鐗╂枡鍨嬪彿") + private String materialModel; + /**鐗╂枡绫诲瀷*/ + @Excel(name = "鐗╂枡绫诲瀷", width = 15, dicCode = "material_category") + @Dict(dicCode = "material_category") + @ApiModelProperty(value = "鐗╂枡绫诲瀷") + private String materialCategory; + /**鍗曚綅*/ + @Excel(name = "鍗曚綅", width = 15) + @ApiModelProperty(value = "鍗曚綅") + private String materialUnit; +} diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java new file mode 100644 index 0000000..1b7f50c --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java @@ -0,0 +1,92 @@ +package org.jeecg.modules.lsw.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 鐗╂枡鍏ュ簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Data +@TableName("lsw_material_inbound") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="lsw_material_inbound瀵硅薄", description="鐗╂枡鍏ュ簱鍗�") +public class LswMaterialInbound implements Serializable { + private static final long serialVersionUID = 1L; + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /**鍒犻櫎鏍囪*/ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + @TableLogic + private Integer delFlag; + /**浜х嚎ID*/ + @Excel(name = "浜х嚎ID", width = 15) + @ApiModelProperty(value = "浜х嚎ID") + private String factoryId; + /**搴撳瓨鍦癐D*/ + @Excel(name = "搴撳瓨鍦癐D", width = 15) + @ApiModelProperty(value = "搴撳瓨鍦癐D") + private String warehouseId; + /**鐗╂枡缂栫爜*/ + @Excel(name = "鐗╂枡缂栫爜", width = 15) + @ApiModelProperty(value = "鐗╂枡缂栫爜") + private String materialNumber; + /**鐗╂枡鍚嶇О*/ + @Excel(name = "鐗╂枡鍚嶇О", width = 15) + @ApiModelProperty(value = "鐗╂枡鍚嶇О") + private String materialName; + /**鎵规鍙�*/ + @Excel(name = "鎵规鍙�", width = 15) + @ApiModelProperty(value = "鎵规鍙�") + private String batchNumber; + /**鍏ュ簱鏁伴噺*/ + @Excel(name = "鍏ュ簱鏁伴噺", width = 15) + @ApiModelProperty(value = "鍏ュ簱鏁伴噺") + private Integer quantity; + /**鎺ユ敹浜�*/ + @Excel(name = "鎺ユ敹浜�", width = 15) + @ApiModelProperty(value = "鎺ユ敹浜�") + private String receiver; + /**鎺ユ敹鏃堕棿*/ + @Excel(name = "鎺ユ敹鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鎺ユ敹鏃堕棿") + private Date receiveTime; +} diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java new file mode 100644 index 0000000..ff35baa --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java @@ -0,0 +1,71 @@ +package org.jeecg.modules.lsw.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 鐗╂枡搴撳瓨淇℃伅 + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@ApiModel(value="lsw_material_inventory瀵硅薄", description="鐗╂枡搴撳瓨淇℃伅") +@Data +@TableName("lsw_material_inventory") +public class LswMaterialInventory implements Serializable { + private static final long serialVersionUID = 1L; + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /**鐗╂枡ID*/ + @ApiModelProperty(value = "鐗╂枡ID") + private String materialId; + /**鎵规鍙�*/ + @Excel(name = "鎵规鍙�", width = 15) + @ApiModelProperty(value = "鎵规鍙�") + private String batchNumber; + /**搴撳瓨绫诲瀷*/ + @Excel(name = "搴撳瓨绫诲瀷", width = 15) + @ApiModelProperty(value = "搴撳瓨绫诲瀷") + private String inventoryCategory; + /**鏁伴噺*/ + @Excel(name = "鏁伴噺", width = 15) + @ApiModelProperty(value = "鏁伴噺") + private String quantity; + /**搴撳瓨鍦癐D*/ + @Excel(name = "搴撳瓨鍦癐D", width = 15) + @ApiModelProperty(value = "搴撳瓨鍦癐D") + private String warehouseId; + /**搴撳瓨鐘舵��*/ + @Excel(name = "搴撳瓨鐘舵��", width = 15) + @ApiModelProperty(value = "搴撳瓨鐘舵��") + private String inventoryStatus; +} diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java new file mode 100644 index 0000000..9724b77 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java @@ -0,0 +1,92 @@ +package org.jeecg.modules.lsw.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 鐗╂枡鍑哄簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Data +@TableName("lsw_material_outbound") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="lsw_material_outbound瀵硅薄", description="鐗╂枡鍑哄簱鍗�") +public class LswMaterialOutbound implements Serializable { + private static final long serialVersionUID = 1L; + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /**鍒犻櫎鏍囪*/ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + @TableLogic + private Integer delFlag; + /**鐗╂枡缂栫爜*/ + @Excel(name = "鐗╂枡缂栫爜", width = 15) + @ApiModelProperty(value = "鐗╂枡缂栫爜") + private String materialNumber; + /**鐗╂枡鍚嶇О*/ + @Excel(name = "鐗╂枡鍚嶇О", width = 15) + @ApiModelProperty(value = "鐗╂枡鍚嶇О") + private String materialName; + /**浜х嚎ID*/ + @Excel(name = "浜х嚎ID", width = 15) + @ApiModelProperty(value = "浜х嚎ID") + private String factoryId; + /**鎵规鍙�*/ + @Excel(name = "鎵规鍙�", width = 15) + @ApiModelProperty(value = "鎵规鍙�") + private String batchNumber; + /**鍑哄簱浜�*/ + @Excel(name = "鍑哄簱浜�", width = 15) + @ApiModelProperty(value = "鍑哄簱浜�") + private String outboundStaff; + /**鍑哄簱鏃堕棿*/ + @Excel(name = "鍑哄簱鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍑哄簱鏃堕棿") + private Date outboundTime; + /**鍑哄簱鏁伴噺*/ + @Excel(name = "鍑哄簱鏁伴噺", width = 15) + @ApiModelProperty(value = "鍑哄簱鏁伴噺") + private String quantity; + /**宸ュ崟ID*/ + @Excel(name = "宸ュ崟ID", width = 15) + @ApiModelProperty(value = "宸ュ崟ID") + private String workOrderId; +} diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInboundMapper.java b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInboundMapper.java new file mode 100644 index 0000000..c784e80 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInboundMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.lsw.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.lsw.entity.LswMaterialInbound; + +/** + * @Description: 鐗╂枡鍏ュ簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface LswMaterialInboundMapper extends BaseMapper<LswMaterialInbound> { + +} diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java new file mode 100644 index 0000000..c715596 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java @@ -0,0 +1,32 @@ +package org.jeecg.modules.lsw.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; + +import java.util.List; + +/** + * @Description: 鐗╂枡搴撳瓨淇℃伅 + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface LswMaterialInventoryMapper extends BaseMapper<LswMaterialInventory> { + + /** + * 閫氳繃涓昏〃id鍒犻櫎瀛愯〃鏁版嵁 + * + * @param mainId 涓昏〃id + * @return boolean + */ + public boolean deleteByMainId(@Param("mainId") String mainId); + + /** + * 閫氳繃涓昏〃id鏌ヨ瀛愯〃鏁版嵁 + * + * @param mainId 涓昏〃id + * @return List<LswMaterialInventory> + */ + public List<LswMaterialInventory> selectByMainId(@Param("mainId") String mainId); +} diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java new file mode 100644 index 0000000..db4a787 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.lsw.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.lsw.entity.LswMaterial; + +/** + * @Description: 绾胯竟搴撶墿鏂欎俊鎭� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface LswMaterialMapper extends BaseMapper<LswMaterial> { + +} diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialOutboundMapper.java b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialOutboundMapper.java new file mode 100644 index 0000000..be73eee --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialOutboundMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.lsw.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.lsw.entity.LswMaterialOutbound; + +/** + * @Description: 鐗╂枡鍑哄簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface LswMaterialOutboundMapper extends BaseMapper<LswMaterialOutbound> { + +} diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInboundMapper.xml b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInboundMapper.xml new file mode 100644 index 0000000..1e6636c --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInboundMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialInboundMapper"> + +</mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml new file mode 100644 index 0000000..6620c48 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper"> + + <delete id="deleteByMainId" parameterType="java.lang.String"> + DELETE + FROM lsw_material_inventory + WHERE + material_id = #{mainId} </delete> + + <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.lsw.entity.LswMaterialInventory"> + SELECT * + FROM lsw_material_inventory + WHERE + material_id = #{mainId} </select> +</mapper> diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml new file mode 100644 index 0000000..35d5282 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialMapper"> + +</mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialOutboundMapper.xml b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialOutboundMapper.xml new file mode 100644 index 0000000..71f1ed6 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialOutboundMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialOutboundMapper"> + +</mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInboundService.java b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInboundService.java new file mode 100644 index 0000000..6ec0b42 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInboundService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.lsw.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.lsw.entity.LswMaterialInbound; + +/** + * @Description: 鐗╂枡鍏ュ簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface ILswMaterialInboundService extends IService<LswMaterialInbound> { + +} diff --git a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java new file mode 100644 index 0000000..3b49085 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.lsw.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; + +import java.util.List; + +/** + * @Description: 鐗╂枡搴撳瓨淇℃伅 + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface ILswMaterialInventoryService extends IService<LswMaterialInventory> { + + /** + * 閫氳繃涓昏〃id鏌ヨ瀛愯〃鏁版嵁 + * + * @param mainId 涓昏〃id + * @return List<LswMaterialInventory> + */ + public List<LswMaterialInventory> selectByMainId(String mainId); +} diff --git a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialOutboundService.java b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialOutboundService.java new file mode 100644 index 0000000..150fa57 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialOutboundService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.lsw.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.lsw.entity.LswMaterialOutbound; + +/** + * @Description: 鐗╂枡鍑哄簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface ILswMaterialOutboundService extends IService<LswMaterialOutbound> { + +} diff --git a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java new file mode 100644 index 0000000..d3289f2 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java @@ -0,0 +1,49 @@ +package org.jeecg.modules.lsw.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.lsw.entity.LswMaterial; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * @Description: 绾胯竟搴撶墿鏂欎俊鎭� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +public interface ILswMaterialService extends IService<LswMaterial> { + + /** + * 娣诲姞涓�瀵瑰 + * + * @param lswMaterial + * @param lswMaterialInventoryList + */ + public void saveMain(LswMaterial lswMaterial,List<LswMaterialInventory> lswMaterialInventoryList) ; + + /** + * 淇敼涓�瀵瑰 + * + * @param lswMaterial + * @param lswMaterialInventoryList + */ + public void updateMain(LswMaterial lswMaterial,List<LswMaterialInventory> lswMaterialInventoryList); + + /** + * 鍒犻櫎涓�瀵瑰 + * + * @param id + */ + public void delMain (String id); + + /** + * 鎵归噺鍒犻櫎涓�瀵瑰 + * + * @param idList + */ + public void delBatchMain (Collection<? extends Serializable> idList); + +} diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java new file mode 100644 index 0000000..9acc70f --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.lsw.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.lsw.entity.LswMaterialInbound; +import org.jeecg.modules.lsw.mapper.LswMaterialInboundMapper; +import org.jeecg.modules.lsw.service.ILswMaterialInboundService; +import org.springframework.stereotype.Service; + +/** + * @Description: 鐗╂枡鍏ュ簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Service +public class LswMaterialInboundServiceImpl extends ServiceImpl<LswMaterialInboundMapper, LswMaterialInbound> implements ILswMaterialInboundService { + +} diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java new file mode 100644 index 0000000..dc8f786 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java @@ -0,0 +1,28 @@ +package org.jeecg.modules.lsw.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; +import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description: 鐗╂枡搴撳瓨淇℃伅 + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Service +public class LswMaterialInventoryServiceImpl extends ServiceImpl<LswMaterialInventoryMapper, LswMaterialInventory> implements ILswMaterialInventoryService { + + @Autowired + private LswMaterialInventoryMapper lswMaterialInventoryMapper; + + @Override + public List<LswMaterialInventory> selectByMainId(String mainId) { + return lswMaterialInventoryMapper.selectByMainId(mainId); + } +} diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java new file mode 100644 index 0000000..6ce2d72 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.lsw.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.lsw.entity.LswMaterialOutbound; +import org.jeecg.modules.lsw.mapper.LswMaterialOutboundMapper; +import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; +import org.springframework.stereotype.Service; + +/** + * @Description: 鐗╂枡鍑哄簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Service +public class LswMaterialOutboundServiceImpl extends ServiceImpl<LswMaterialOutboundMapper, LswMaterialOutbound> implements ILswMaterialOutboundService { + +} diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java new file mode 100644 index 0000000..28aaff6 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java @@ -0,0 +1,78 @@ +package org.jeecg.modules.lsw.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.lsw.entity.LswMaterial; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; +import org.jeecg.modules.lsw.mapper.LswMaterialMapper; +import org.jeecg.modules.lsw.service.ILswMaterialService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * @Description: 绾胯竟搴撶墿鏂欎俊鎭� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Service +public class LswMaterialServiceImpl extends ServiceImpl<LswMaterialMapper, LswMaterial> implements ILswMaterialService { + + @Autowired + private LswMaterialMapper lswMaterialMapper; + @Autowired + private LswMaterialInventoryMapper lswMaterialInventoryMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveMain(LswMaterial lswMaterial, List<LswMaterialInventory> lswMaterialInventoryList) { + lswMaterialMapper.insert(lswMaterial); + if(lswMaterialInventoryList!=null && lswMaterialInventoryList.size()>0) { + for(LswMaterialInventory entity:lswMaterialInventoryList) { + //澶栭敭璁剧疆 + entity.setMaterialId(lswMaterial.getId()); + lswMaterialInventoryMapper.insert(entity); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateMain(LswMaterial lswMaterial,List<LswMaterialInventory> lswMaterialInventoryList) { + lswMaterialMapper.updateById(lswMaterial); + + //1.鍏堝垹闄ゅ瓙琛ㄦ暟鎹� + lswMaterialInventoryMapper.deleteByMainId(lswMaterial.getId()); + + //2.瀛愯〃鏁版嵁閲嶆柊鎻掑叆 + if(lswMaterialInventoryList!=null && lswMaterialInventoryList.size()>0) { + for(LswMaterialInventory entity:lswMaterialInventoryList) { + //澶栭敭璁剧疆 + entity.setMaterialId(lswMaterial.getId()); + lswMaterialInventoryMapper.insert(entity); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delMain(String id) { + lswMaterialInventoryMapper.deleteByMainId(id); + lswMaterialMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delBatchMain(Collection<? extends Serializable> idList) { + for(Serializable id:idList) { + lswMaterialInventoryMapper.deleteByMainId(id.toString()); + lswMaterialMapper.deleteById(id); + } + } + +} diff --git a/src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java b/src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java new file mode 100644 index 0000000..44d8f6c --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java @@ -0,0 +1,78 @@ +package org.jeecg.modules.lsw.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * @Description: 绾胯竟搴撶墿鏂欎俊鎭� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Data +@ApiModel(value="lsw_materialPage瀵硅薄", description="绾胯竟搴撶墿鏂欎俊鎭�") +public class LswMaterialPage { + + /**涓婚敭*/ + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /**鎵�灞為儴闂�*/ + @ApiModelProperty(value = "鎵�灞為儴闂�") + private String sysOrgCode; + /**鍒犻櫎鏍囪*/ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + private Integer delFlag; + /**鐗╂枡缂栫爜*/ + @Excel(name = "鐗╂枡缂栫爜", width = 15) + @ApiModelProperty(value = "鐗╂枡缂栫爜") + private String materialNumber; + /**鐗╂枡鍚嶇О*/ + @Excel(name = "鐗╂枡鍚嶇О", width = 15) + @ApiModelProperty(value = "鐗╂枡鍚嶇О") + private String materialName; + /**鐗╂枡鍨嬪彿*/ + @Excel(name = "鐗╂枡鍨嬪彿", width = 15) + @ApiModelProperty(value = "鐗╂枡鍨嬪彿") + private String materialModel; + /**鐗╂枡绫诲瀷*/ + @Excel(name = "鐗╂枡绫诲瀷", width = 15, dicCode = "material_category") + @Dict(dicCode = "material_category") + @ApiModelProperty(value = "鐗╂枡绫诲瀷") + private String materialCategory; + /**鍗曚綅*/ + @Excel(name = "鍗曚綅", width = 15) + @ApiModelProperty(value = "鍗曚綅") + private String materialUnit; + + @ExcelCollection(name="鐗╂枡搴撳瓨淇℃伅") + @ApiModelProperty(value = "鐗╂枡搴撳瓨淇℃伅") + private List<LswMaterialInventory> lswMaterialInventoryList; + +} -- Gitblit v1.9.3