skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxDO.java
@@ -51,7 +51,7 @@ private String gxType; public void setUpdateTime(){ public void setCreateUpdateTime(){ Date now = DateUtil.now(); if (this.getId()== null) { this.createTime = now; skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
@@ -12,4 +12,6 @@ private String gxType; private String gxName; private String createUser; private String gxInfoId; private String gxStepNum; } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgGxVO.java
@@ -9,4 +9,5 @@ @Data public class SgGxVO extends SgGxDO { private List<SgGxStepDO> stepDOList; private Integer gxStepCount; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgGxController.java
@@ -49,7 +49,6 @@ */ @GetMapping(value = "/page") public R queryPageList(ProjectSearchDTO searchDTO, Query query) { IPage<SgGxVO> page = sgGxService.queryPageList(Condition.getPage(query), searchDTO); return R.data(page); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgGxStepController.java
@@ -1,8 +1,13 @@ package cn.gistack.sm.sg.controller; import cn.gistack.sm.sg.DO.SgGxStepDO; import cn.gistack.sm.sg.DTO.ProjectSearchDTO; import cn.gistack.sm.sg.VO.SgGxVO; import cn.gistack.sm.sg.service.SgGxStepService; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -47,4 +52,21 @@ sgGxStepService.delete(id); return R.success("删除成功"); } /** * 分页 */ @GetMapping(value = "/page") public R queryPageList(ProjectSearchDTO searchDTO, Query query) { IPage<SgGxStepDO> page = sgGxStepService.queryPageList(Condition.getPage(query), searchDTO); return R.data(page); } /** * 详情 */ @GetMapping(value = "/detail") public R queryPageList(String id) { return R.data(sgGxStepService.getById(id)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.java
@@ -4,7 +4,9 @@ import cn.gistack.sm.sg.DO.SgGxStepDO; import cn.gistack.sm.sg.DTO.ProjectSearchDTO; import cn.gistack.sm.sg.VO.SgGxVO; import cn.gistack.system.user.vo.UserVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -19,9 +21,11 @@ */ public interface SgGxMapper extends BaseMapper<SgGxDO> { List<SgGxVO> queryPageList(@Param("dto") ProjectSearchDTO dto); List<SgGxVO> queryPageList(IPage<SgGxVO> page, @Param("dto") ProjectSearchDTO dto); List<SgGxStepDO> queryStepByIds(@Param("ids") List<Long> ids); SgGxDO selectByGxType(@Param("gxType") String gxType); SgGxVO getById(@Param("id") Long id); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml
@@ -5,10 +5,10 @@ <select id="queryPageList" resultType="cn.gistack.sm.sg.VO.SgGxVO"> select * from YWXT.SG_GX gx where 1=1 <if test="dto.gxType != null and dto.gxType != ''"> and gx.gx_type = #{dto.gxType} and gx.gx_type LIKE CONCAT('%', #{dto.gxType}, '%') </if> <if test="dto.gxName != null and dto.gxName != ''"> and gx.gx_name = #{dto.gxName} and gx.gx_name LIKE CONCAT('%', #{dto.gxName}, '%') </if> </select> <select id="queryStepByIds" resultType="cn.gistack.sm.sg.DO.SgGxStepDO"> @@ -23,4 +23,7 @@ <select id="selectByGxType" resultType="cn.gistack.sm.sg.VO.SgGxVO"> select * from YWXT.SG_GX where gx_type = #{gxType} </select> <select id="getById" resultType="cn.gistack.sm.sg.VO.SgGxVO"> select * from YWXT.SG_GX where id = #{id} </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.java
@@ -1,7 +1,9 @@ package cn.gistack.sm.sg.mapper; import cn.gistack.sm.sg.DO.SgGxStepDO; import cn.gistack.sm.sg.DTO.ProjectSearchDTO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -17,4 +19,6 @@ public interface SgGxStepMapper extends BaseMapper<SgGxStepDO> { List<SgGxStepDO> selectByGxInfoId(@Param("gxInfoId") Long gxInfoId); List<SgGxStepDO> queryPageList(IPage<SgGxStepDO> page, @Param("dto") ProjectSearchDTO searchDTO); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.xml
@@ -5,4 +5,13 @@ <select id="selectByGxInfoId" resultType="cn.gistack.sm.sg.DO.SgGxStepDO"> select * from YWXT.SG_GX_STEP step where step.GX_INFO_ID = #{gxInfoId} order by step.GX_STEP_NUM desc </select> <select id="queryPageList" resultType="cn.gistack.sm.sg.DO.SgGxStepDO"> select * from YWXT.SG_GX_STEP step where 1=1 <if test="dto.gxInfoId != null and dto.gxInfoId != ''"> and step.GX_INFO_ID = #{dto.gxInfoId} </if> <if test="dto.gxStepNum != null and dto.gxStepNum != ''"> and step.GX_STEP_NUM = #{dto.gxStepNum} </if> </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -1,8 +1,10 @@ package cn.gistack.sm.sg.mapper; import cn.gistack.sm.sg.DO.SgGxStepDO; import cn.gistack.sm.sg.DO.SgProjectInfoDO; import cn.gistack.sm.sg.DTO.ProjectSearchDTO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -17,5 +19,5 @@ */ public interface SgProjectInfoMapper extends BaseMapper<SgProjectInfoDO> { List<SgProjectInfoDO> queryPageList(@Param("dto") ProjectSearchDTO dto); List<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, @Param("dto") ProjectSearchDTO dto); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgGxStepService.java
@@ -1,7 +1,10 @@ package cn.gistack.sm.sg.service; import cn.gistack.sm.sg.DO.SgGxStepDO; import cn.gistack.sm.sg.DTO.ProjectSearchDTO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; /** * <p> @@ -18,4 +21,6 @@ void updateOne(SgGxStepDO sgGxStepDO); void delete(String id); IPage<SgGxStepDO> queryPageList(IPage<SgGxStepDO> page, @Param("dto") ProjectSearchDTO searchDTO); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.log.exception.ServiceException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,14 +31,18 @@ private SgGxMapper sgGxMapper; @Override public IPage<SgGxVO> queryPageList(IPage<SgGxVO> page, ProjectSearchDTO searchDTO) { List<SgGxVO> list = sgGxMapper.queryPageList(searchDTO); List<SgGxVO> list = sgGxMapper.queryPageList(page,searchDTO); if (CollectionUtils.isNotEmpty(list)){ List<Long> ids = list.stream().map(SgGxDO::getId).collect(Collectors.toList()); List<SgGxStepDO> stepDOS = sgGxMapper.queryStepByIds(ids); if (CollectionUtils.isNotEmpty(stepDOS)){ Map<Long, List<SgGxStepDO>> map = stepDOS.stream().collect(Collectors.groupingBy(SgGxStepDO::getGxInfoId)); for (SgGxVO sgGxDO : list) { sgGxDO.setStepDOList(map.get(sgGxDO.getId())); List<SgGxStepDO> sgGxStepDOS = map.get(sgGxDO.getId()); if (CollectionUtils.isNotEmpty(sgGxStepDOS)){ sgGxDO.setStepDOList(sgGxStepDOS); sgGxDO.setGxStepCount(sgGxStepDOS.size()); } } } } @@ -46,24 +51,28 @@ @Override public void add(SgGxDO sgGxDO) { sgGxDO.setCreateUpdateTime(); if (sgGxMapper.selectByGxType(sgGxDO.getGxType())!= null){ throw new RuntimeException("工序类型已存在"); throw new ServiceException("工序类型已存在"); } this.save(sgGxDO); } @Override public void update(SgGxDO sgGxDO) { if (sgGxMapper.selectByGxType(sgGxDO.getGxType())!= null){ throw new RuntimeException("工序类型已存在"); sgGxDO.setCreateUpdateTime(); SgGxDO one = sgGxMapper.selectByGxType(sgGxDO.getGxType()); if (one != null && one.getId()!= sgGxDO.getId() ){ throw new ServiceException("工序类型已存在"); } this.updateById(sgGxDO); } @Override public SgGxVO detail(Long id) { SgGxVO byId = (SgGxVO) this.getById(id); byId.setStepDOList(sgGxMapper.queryStepByIds(List.of(id))); SgGxVO byId = sgGxMapper.getById(id); List<SgGxStepDO> stepDOS = sgGxMapper.queryStepByIds(List.of(id)); byId.setStepDOList(stepDOS); return byId; } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxStepServiceImpl.java
@@ -1,16 +1,15 @@ package cn.gistack.sm.sg.service.impl; import cn.gistack.sm.sg.DO.SgGxStepDO; import cn.gistack.sm.sg.DTO.ProjectSearchDTO; import cn.gistack.sm.sg.mapper.SgGxStepMapper; import cn.gistack.sm.sg.service.SgGxStepService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import org.springblade.core.log.exception.ServiceException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.lang.reflect.Array; import java.util.Arrays; import java.util.List; /** @@ -45,9 +44,15 @@ public void delete(String id) { SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(id); List<SgGxStepDO> list= sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId()); if (sgGxStepDO.getGxStepNum().equals(list.get(0).getGxStepNum())){ if (!sgGxStepDO.getGxStepNum().equals(list.get(0).getGxStepNum())){ throw new ServiceException("请按顺序删除工序步骤"); } this.removeById(id); } @Override public IPage<SgGxStepDO> queryPageList(IPage<SgGxStepDO> page, ProjectSearchDTO searchDTO) { List<SgGxStepDO> list = sgGxStepMapper.queryPageList(page,searchDTO); return page.setRecords(list); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -23,7 +23,7 @@ @Override public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) { List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(searchDTO); List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO); return page.setRecords(sgProjectInfoDOS); } }