湖北水库:施工:修复工序创建人展示ID问题、修复项目整体流程状态问题
10 files modified
3 files added
218 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxDO.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectInfoVO.java 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProgressReportController.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectPersonConfigController.java 66 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml 4 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProgressReportService.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectPersonConfigService.java 24 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java 42 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxDO.java
@@ -59,6 +59,12 @@
    @TableField(exist = false)
    private List<SgDeviceDO> deviceDOS;
    /**
     * 创建人姓名
     */
    @TableField(exist = false)
    private String createUserName;
    public void setCreateUpdateTime(){
        Date now = DateUtil.now();
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectInfoVO.java
@@ -17,10 +17,11 @@
    private String deviceName;
    private Long dId;
    private String gxStepName;
    private Integer STATUS;
    private Integer reportStatus;
    private String gxStepNum;
    private String deviceType;
    private String typeName;
    private Integer deviceStatus;
    private Integer projectStatus;
    private String progressName;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProgressReportController.java
@@ -103,4 +103,13 @@
        return R.data(map);
    }
    /**
     * 审批状态统计
     */
    @GetMapping(value = "/check_step")
    public R checkStep(@RequestParam Long deviceId , @RequestParam Long stepId) {
        boolean flag = sgProgressReportService.checkStep(deviceId,stepId);
        return R.data(flag);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectPersonConfigController.java
New file
@@ -0,0 +1,66 @@
package cn.gistack.sm.sg.controller;
import cn.gistack.sm.sg.DO.SgProjectInfoDO;
import cn.gistack.sm.sg.DO.SgProjectPersonConfigDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.service.SgProjectPersonConfigService;
import org.checkerframework.checker.units.qual.A;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 施工项目人员配置表 前端控制器
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-15 11:45:35
 */
@RestController
@RequestMapping("/project_person")
public class SgProjectPersonConfigController {
    @Autowired
    private SgProjectPersonConfigService projectPersonConfigService;
    /**
     * 查询项目下角色
     * @param searchDTO
     * @return
     */
    @GetMapping(value = "/get_role_list")
    public R getRoleList(ProjectSearchDTO searchDTO) {
        List<String> list= projectPersonConfigService.getRoleList(searchDTO);
        return R.data(list);
    }
    /**
     * 新增项目人员配置
     */
    @GetMapping(value = "/add")
    public R add( @RequestBody List<SgProjectPersonConfigDO> list) {
         projectPersonConfigService.add(list);
        return R.success("新增成功");
    }
    /**
     * 删除
     */
    @GetMapping(value = "/delete")
    public R delete( String ids) {
        projectPersonConfigService.removeBatchByIds(List.of(ids.split(",")));
        return R.success("删除成功");
    }
    /**
     * 删除
     */
    @GetMapping(value = "/list")
    public R delete( ProjectSearchDTO searchDTO) {
        projectPersonConfigService.getList(searchDTO);
        return R.success("删除成功");
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -23,7 +23,9 @@
        d.id as dId,
        step.gx_step_name,
        step.gx_step_num,
        re.STATUS
        re.STATUS as reportStatus,
        d.STATUS as deviceStatus,
        pro.STATUS as projectStatus
        FROM
        ywxt.sg_project_info pro
        LEFT JOIN ywxt.sg_device d ON pro.id = d.program_id
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.java
@@ -1,8 +1,11 @@
package cn.gistack.sm.sg.mapper;
import cn.gistack.sm.sg.DO.SgProjectPersonConfigDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -15,4 +18,6 @@
public interface SgProjectPersonConfigMapper extends BaseMapper<SgProjectPersonConfigDO> {
    SgProjectPersonConfigDO selectByUserId(@Param("userId") Long reportUser);
    List<String> getRoleList(@Param("dto") ProjectSearchDTO searchDTO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml
@@ -5,4 +5,20 @@
    <select id="selectByUserId" resultType="cn.gistack.sm.sg.DO.SgProjectPersonConfigDO">
        select  * from YWXT.SG_PROJECT_PERSON_CONFIG where USER_ID = #{userId}
    </select>
    <select id="getRoleList" resultType="java.lang.String">
        SELECT
         <!--   pro.id,
            pro.project_name,
            sgc.gx_device_type as deviceType,
            d.id as deviceId, -->
            sgc.role_id as roleId
        FROM
            ywxt.sg_project_info pro
                LEFT JOIN ywxt.sg_device d ON pro.id = d.program_id
                LEFT JOIN ywxt.sg_gx_config sgc ON d.device_type = sgc.gx_device_type
        where 1=1
        <if test="dto.projectId != null">
            and pro.id = #{dto.projectId}
        </if>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProgressReportService.java
@@ -35,4 +35,6 @@
    Map<String, Long> countList(ProjectSearchDTO searchDTO);
    Map<String, Long> statusCount(ProjectSearchDTO searchDTO);
    boolean checkStep(Long deviceId, Long stepId);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectPersonConfigService.java
New file
@@ -0,0 +1,24 @@
package cn.gistack.sm.sg.service;
import cn.gistack.sm.sg.DO.SgProjectPersonConfigDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * 施工项目人员配置表 服务类
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-15 11:45:35
 */
public interface SgProjectPersonConfigService extends IService<SgProjectPersonConfigDO> {
    List<String> getRoleList(ProjectSearchDTO searchDTO);
    void add(List<SgProjectPersonConfigDO> list);
    void getList(ProjectSearchDTO searchDTO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
@@ -2,9 +2,11 @@
import cn.gistack.sm.sg.DO.SgGxDO;
import cn.gistack.sm.sg.DO.SgGxStepDO;
import cn.gistack.sm.sg.DO.SgReportUserDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.VO.SgGxVO;
import cn.gistack.sm.sg.mapper.SgGxMapper;
import cn.gistack.sm.sg.mapper.SgProgressReportMapper;
import cn.gistack.sm.sg.service.SgGxService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -29,15 +31,25 @@
public class SgGxServiceImpl extends ServiceImpl<SgGxMapper, SgGxDO> implements SgGxService {
    @Autowired
    private SgGxMapper sgGxMapper;
    @Autowired
    private SgProgressReportMapper sgProgressReportMapper;
    @Override
    public IPage<SgGxVO> queryPageList(IPage<SgGxVO> page, ProjectSearchDTO searchDTO) {
        List<SgGxVO> list = sgGxMapper.queryPageList(page,searchDTO);
        if (CollectionUtils.isNotEmpty(list)){
            List<Long> ids = list.stream().map(SgGxDO::getId).collect(Collectors.toList());
            List<Long> userIds = list.stream().map(SgGxDO::getCreateUser).collect(Collectors.toList());
            List<Map<String,Object>> users = sgProgressReportMapper.getUserByIds(userIds);
            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) {
                    for (Map<String, Object> user : users) {
                        if (user.get("ID").equals(sgGxDO.getCreateUser())){
                            sgGxDO.setCreateUserName(user.get("REAL_NAME").toString());
                        }
                    }
                    List<SgGxStepDO> sgGxStepDOS = map.get(sgGxDO.getId());
                    if (CollectionUtils.isNotEmpty(sgGxStepDOS)){
                        sgGxDO.setStepDOList(sgGxStepDOS);
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -306,6 +306,29 @@
        map.put("reject", (long) reject.size());
        return map;
    }
    @Override
    public boolean checkStep(Long gxDeviceId, Long gxStepId) {
        List<SgGxStepDO> list = sgGxStepMapper.selectByGxInfoId(gxDeviceId);
        SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(gxStepId);
        QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>();
        wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId);
        List<SgProgressReportDO> sgProgressReportDOS = sgProgressReportMapper.selectList(wrapper);
        if ( sgProgressReportDOS!=null && sgProgressReportDOS.size()>0){
            return false;
        }
        for (SgGxStepDO gxStepDO : list) {
            if (Integer.parseInt(sgGxStepDO.getGxStepNum()) - Integer.parseInt(gxStepDO.getGxStepNum()) == 1) {
                QueryWrapper<SgProgressReportDO> wrapper1 = new QueryWrapper<>();
                wrapper1.eq("gx_step_id", gxStepDO.getId());
                SgProgressReportDO one = sgProgressReportMapper.selectOne(wrapper1);
                if (one == null || one.getStatus() != 2) {
                    return false;
                }
            }
        }
        return true;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -55,7 +55,8 @@
            if (CollectionUtils.isEmpty(value)){
                continue;
            }
            SgProjectInfoDO sgProjectInfoDO = SgProjectInfoDO.builder().id(porId).projectName(value.get(0).getProjectName()).build();
            SgProjectInfoVO sgProjectInfoVO = value.get(0);
            SgProjectInfoDO sgProjectInfoDO = SgProjectInfoDO.builder().id(porId).status(sgProjectInfoVO.getProjectStatus()).projectName(sgProjectInfoVO.getProjectName()).build();
            List<SgTypeVO> sgGxDOS = new ArrayList<>();
            //类型分组
            Map<String, List<SgProjectInfoVO>> GxMap = value.stream().filter(s->s.getDeviceType()!=null).collect(Collectors.groupingBy(SgProjectInfoVO::getDeviceType));
@@ -75,7 +76,8 @@
                    SgDeviceDO sgDeviceDO = new SgDeviceDO();
                    sgDeviceDO.setId(dId);
                    sgDeviceDO.setDeviceName(deList.get(0).getDeviceName());
                    sgDeviceDO.setStepDOList(deList.stream().map(s->SgGxStepDO.builder().gxStepName(s.getGxStepName()).approvalStatus(s.getSTATUS()).build()).collect(Collectors.toList()));
                    sgDeviceDO.setStatus(    deList.get(0).getDeviceStatus());
                    sgDeviceDO.setStepDOList(deList.stream().map(s->SgGxStepDO.builder().gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList()));
                    deviceDOS.add(sgDeviceDO);
                }
                typeVO.setDeviceDOS(deviceDOS);
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
New file
@@ -0,0 +1,42 @@
package cn.gistack.sm.sg.service.impl;
import cn.gistack.sm.sg.DO.SgProjectPersonConfigDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.mapper.SgProjectPersonConfigMapper;
import cn.gistack.sm.sg.service.SgProjectPersonConfigService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 施工项目人员配置表 服务实现类
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-15 11:45:35
 */
@Service
public class SgProjectPersonConfigServiceImpl extends ServiceImpl<SgProjectPersonConfigMapper, SgProjectPersonConfigDO> implements SgProjectPersonConfigService {
    @Autowired
    private SgProjectPersonConfigMapper projectPersonConfigMapper;
    @Override
    public List<String> getRoleList(ProjectSearchDTO searchDTO) {
        List<String> list = projectPersonConfigMapper.getRoleList(searchDTO);
        return list;
    }
    @Override
    public void add(List<SgProjectPersonConfigDO> list) {
        for (SgProjectPersonConfigDO sgProjectPersonConfigDO : list) {
            projectPersonConfigMapper.insert(sgProjectPersonConfigDO);
        }
    }
    @Override
    public void getList(ProjectSearchDTO searchDTO) {
    }
}