src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java
@@ -8,39 +8,22 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; 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.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.base.entity.Factory; import org.jeecg.modules.base.entity.LineSideWarehouse; import org.jeecg.modules.base.enums.ProductionTypeEnum; import org.jeecg.modules.base.service.IFactoryService; import org.jeecg.modules.base.service.ILineSideWarehouseService; import org.jeecg.modules.lsw.entity.LswMaterial; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.enums.MaterialCategoryEnum; 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.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; 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.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; /** * @Description: 线边åºç©æä¿¡æ¯ @@ -55,10 +38,6 @@ public class LswMaterialController { @Autowired private ILswMaterialService lswMaterialService; @Autowired private ILswMaterialInventoryService lswMaterialInventoryService; @Autowired private ILineSideWarehouseService lineSideWarehouseService; @Autowired private IFactoryService factoryService; @@ -147,27 +126,6 @@ } /** * éè¿idæ¥è¯¢ * * @param id * @return */ //@AutoLog(value = "ç©æåºåä¿¡æ¯éè¿ä¸»è¡¨IDæ¥è¯¢") @ApiOperation(value = "ç©æåºåä¿¡æ¯ä¸»è¡¨IDæ¥è¯¢", notes = "ç©æåºåä¿¡æ¯-é主表IDæ¥è¯¢") @GetMapping(value = "/queryLswMaterialInventoryByMainId") public Result<List<LswMaterialInventory>> queryLswMaterialInventoryListByMainId(@RequestParam(name = "id", required = true) String id) { List<LswMaterialInventory> lswMaterialInventoryList = lswMaterialInventoryService.selectByMainId(id); for (LswMaterialInventory lswMaterialInventory : lswMaterialInventoryList) { if (StringUtils.isNotEmpty(lswMaterialInventory.getWarehouseId())) { String warehouseId = lswMaterialInventory.getWarehouseId(); LineSideWarehouse warehouse = lineSideWarehouseService.getById(warehouseId); lswMaterialInventory.setWarehouseName(warehouse.getWarehouseName()); } } return Result.OK(lswMaterialInventoryList); } @AutoLog(value = "线边åºç©æä¿¡æ¯-éè¿äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åºç©æ") @ApiOperation(value = "线边åºç©æä¿¡æ¯-éè¿äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åºç©æ", notes = "线边åºç©æä¿¡æ¯-éè¿äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åºç©æ") @GetMapping(value = "/queryLswMaterialByProductionType") @@ -206,55 +164,4 @@ } return Result.OK(lswMaterialList); } /** * 导åº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; } @GetMapping(value = "/searchlikeQuery") public Result<?> searchlikeQuery(LswMaterial lswMaterial, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { IPage<Map<String, Object>> pageList = lswMaterialService.getLswMaterialListData(pageNo, pageSize, req); return Result.OK(pageList); } } src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java
@@ -1,161 +1,74 @@ package org.jeecg.modules.lsw.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.enums.MaterialInventoryStatusEnum; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; /** * @Description: ç©æåºåä¿¡æ¯ * @Author: jeecg-boot * @Date: 2025-06-30 * @Version: V1.0 */ @Api(tags="ç©æåºåä¿¡æ¯") * @Description: ç©æåºåä¿¡æ¯ * @Author: jeecg-boot * @Date: 2025-06-30 * @Version: V1.0 */ @Api(tags = "ç©æåºåä¿¡æ¯") @RestController @RequestMapping("/lswmaterialinventory/lswMaterialInventory") @RequestMapping("/lsw/materialInventory") @Slf4j public class LswMaterialInventoryController extends JeecgController<LswMaterialInventory, ILswMaterialInventoryService> { @Autowired private ILswMaterialInventoryService lswMaterialInventoryService; @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 materialId * @param pageNo * @param pageSize * @return */ @ApiOperation(value = "ç©æåºåä¿¡æ¯-å页å表æ¥è¯¢", notes = "ç©æåºåä¿¡æ¯-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<IPage<LswMaterialInventory>> queryPageList(@RequestParam(name = "materialId") String materialId, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { LambdaQueryWrapper<LswMaterialInventory> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(LswMaterialInventory::getMaterialId, materialId); queryWrapper.eq(LswMaterialInventory::getInventoryStatus, MaterialInventoryStatusEnum.NORMAL.name()); queryWrapper.orderByDesc(LswMaterialInventory::getCreateTime); 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); } @ApiOperation(value = "ç©æåºåä¿¡æ¯-ç»è®¡å线边åºç©æä¸ªæ°", notes = "ç©æåºåä¿¡æ¯-ç»è®¡å线边åºç©æä¸ªæ°") @GetMapping(value = "/statisticsInventory") public Result<String> statisticsInventory(@RequestParam(name = "materialId") String materialId) { //åºåç»è®¡æ°é List<MaterialInventoryStatisticsVO> list = lswMaterialInventoryService.statisticsInventory(materialId); if(CollectionUtil.isEmpty(list)){ return Result.OK("0"); } StringBuilder sb = new StringBuilder(); for(MaterialInventoryStatisticsVO vo : list){ sb.append(vo.getWarehouseName()).append(": ").append(vo.getMaterialQuantity().stripTrailingZeros().toPlainString()).append(" | "); } return Result.OK(sb.toString()); } } src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java
@@ -60,22 +60,21 @@ /**åºåç±»å*/ @Excel(name = "åºåç±»å", width = 15) @ApiModelProperty(value = "åºåç±»å") @Dict(dicCode = "material_inventory_category") private String inventoryCategory; /**æ°é*/ @Excel(name = "æ°é", width = 15) @ApiModelProperty(value = "æ°é") private BigDecimal quantity; /**åºåå°ID*/ @Excel(name = "åºåå°ID", width = 15) @Excel(name = "åºåå°", width = 15) @Dict(dictTable = "base_line_side_warehouse", dicCode = "id", dicText = "warehouse_name") @ApiModelProperty(value = "åºåå°ID") private String warehouseId; @TableField(exist = false) @ApiModelProperty(value = "åºåå°") private String warehouseName; private String warehouseId; /**åºåç¶æ*/ @Excel(name = "åºåç¶æ", width = 15) @ApiModelProperty(value = "åºåç¶æ") @Dict(dicCode = "material_inventory_status") private String inventoryStatus; public LswMaterialInventory(){} src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java
@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Param; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import java.util.List; @@ -15,22 +16,13 @@ */ 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); List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(@Param("materialNumberList") List<String> bomMaterialNumberList, @Param("factoryId") String factoryId); /** * åºåç»è®¡ * @param materialId * @return */ List<MaterialInventoryStatisticsVO> statisticsInventory(@Param("materialId") String materialId); } src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java
@@ -1,11 +1,7 @@ package org.jeecg.modules.lsw.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.lsw.entity.LswMaterial; import java.util.Map; /** * @Description: 线边åºç©æä¿¡æ¯ @@ -14,5 +10,5 @@ * @Version: V1.0 */ public interface LswMaterialMapper extends BaseMapper<LswMaterial> { IPage<Map<String, Object>> getLswMaterialListData(IPage<Map> pageData, @Param("params")Map<String, String> paramMap); } src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml
@@ -1,18 +1,6 @@ <?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> <select id="selectLineSideMaterialInventoryByMaterialNumber" resultType="org.jeecg.modules.lsw.vo.LswMaterialInventoryVo"> SELECT @@ -31,4 +19,14 @@ t1.material_number, t1.material_name </select> <select id="statisticsInventory" resultType="org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO"> select m1.warehouse_id, m2.warehouse_name, m1.materialQuantity from (select warehouse_id, SUM(quantity) as materialQuantity from lsw_material_inventory where material_id = #{materialId} and inventory_status = 'NORMAL' group by warehouse_id) m1 left join base_line_side_warehouse m2 on m1.warehouse_id = m2.id </select> </mapper> src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml
@@ -1,19 +1,4 @@ <?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"> <select id="getLswMaterialListData" parameterType="Map" resultType="Map"> select * from lsw_material WHERE 1=1 <if test="params.materialNumber != null and params.materialNumber != ''"> AND material_number LIKE CONCAT('%', #{params.materialNumber}, '%') </if> <if test="params.materialName != null and params.materialName != ''"> AND material_name LIKE CONCAT('%', #{params.materialName}, '%') </if> <if test="params.materialModel != null and params.materialModel != ''"> AND material_model LIKE CONCAT('%', #{params.materialModel}, '%') </if> <if test="params.materialCategory != null and params.materialCategory != ''"> AND material_category = #{params.materialCategory} </if> </select> </mapper> src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import java.util.List; @@ -13,14 +14,13 @@ * @Version: V1.0 */ public interface ILswMaterialInventoryService extends IService<LswMaterialInventory> { /** * éè¿ä¸»è¡¨idæ¥è¯¢åè¡¨æ°æ® * * @param mainId 主表id * @return List<LswMaterialInventory> */ public List<LswMaterialInventory> selectByMainId(String mainId); /** éè¿ç©æç¼ç å线边åºidæ¥è¯¢ç©æåºå */ List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId); /** * åºåç»è®¡ * @param materialId ç©æID * @return */ List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId); } src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java
@@ -1,12 +1,10 @@ package org.jeecg.modules.lsw.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.lsw.entity.LswMaterial; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.sap.dto.OrderBomDTO; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -17,9 +15,6 @@ * @Version: V1.0 */ public interface ILswMaterialService extends IService<LswMaterial> { IPage<Map<String, Object>> getLswMaterialListData(Integer pageNo, Integer pageSize, HttpServletRequest req); /** * ç¼è¾ç©æä¿¡æ¯ src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java
@@ -5,6 +5,7 @@ import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,14 +23,14 @@ @Autowired private LswMaterialInventoryMapper lswMaterialInventoryMapper; @Override public List<LswMaterialInventory> selectByMainId(String mainId) { return lswMaterialInventoryMapper.selectByMainId(mainId); } @Override public List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId) { return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId); } @Override public List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId) { return lswMaterialInventoryMapper.statisticsInventory(materialId); } } src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java
@@ -2,28 +2,21 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang.StringUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; 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.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.pms.entity.PmsProcessBillMaterials; import org.jeecg.modules.sap.dto.OrderBomDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.io.Serializable; import java.util.*; import java.util.stream.Collectors; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description: 线边åºç©æä¿¡æ¯ @@ -33,33 +26,6 @@ */ @Service public class LswMaterialServiceImpl extends ServiceImpl<LswMaterialMapper, LswMaterial> implements ILswMaterialService { @Autowired private LswMaterialMapper lswMaterialMapper; @Autowired private LswMaterialInventoryMapper lswMaterialInventoryMapper; @Override public IPage<Map<String, Object>> getLswMaterialListData(Integer pageNo, Integer pageSize, HttpServletRequest req) { IPage<Map> pageData = new Page<Map>(pageNo, pageSize); Map<String, String> paramMap = new HashMap<String, String>(); Map<String, String[]> parameterMap = req.getParameterMap(); if (null != parameterMap) { if (parameterMap.containsKey("materialNumber") && StringUtils.isNotBlank(parameterMap.get("materialNumber")[0])) { paramMap.put("materialNumber", parameterMap.get("materialNumber")[0]); } if (parameterMap.containsKey("materialName") && StringUtils.isNotBlank(parameterMap.get("materialName")[0])) { paramMap.put("materialName", parameterMap.get("materialName")[0].trim()); } if (parameterMap.containsKey("materialModel") && StringUtils.isNotBlank(parameterMap.get("materialModel")[0])) { paramMap.put("materialModel", parameterMap.get("materialModel")[0].trim()); } if (parameterMap.containsKey("materialCategory") && StringUtils.isNotBlank(parameterMap.get("materialCategory")[0])) { paramMap.put("materialCategory", parameterMap.get("materialCategory")[0].trim()); } } return super.getBaseMapper().getLswMaterialListData(pageData, paramMap); } @Override @Transactional(rollbackFor = Exception.class) src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java
ÎļþÒÑɾ³ý src/main/java/org/jeecg/modules/lsw/vo/MaterialInventoryStatisticsVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package org.jeecg.modules.lsw.vo; import lombok.Data; import java.math.BigDecimal; @Data public class MaterialInventoryStatisticsVO { //åºåå°ID private String warehouseId; //åºåå°åç§° private String warehouseName; //åºåæ»æ° private BigDecimal materialQuantity; }