yxm
2024-07-13 350c8c98dd6c435df0f8bb46c513e6e3422a58d4
项目进度上报点击图标上报逻辑优化v0.3
2 files modified
81 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java 40 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java 41 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java
@@ -9,12 +9,14 @@
import cn.gistack.sm.sg.mapper.SgProgressReportMapper;
import cn.gistack.sm.sg.service.SgDeviceService;
import org.springblade.core.log.exception.ServiceException;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -31,8 +33,6 @@
    @Autowired
    private SgGxStepMapper sgGxStepMapper;
    @Autowired
    private SgProgressReportMapper sgProgressReportMapper;
    @Override
    public IPage<SgDeviceDO> queryPageList(IPage<SgDeviceDO> page, SgDeviceSearchDTO searchDTO) {
@@ -48,10 +48,29 @@
     */
    @Override
    public List<SgDeviceDO> getDeviceList(String programId) {
        List<SgDeviceDO> list = new ArrayList<>();
        QueryWrapper<SgDeviceDO> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("program_id",programId).or()
            .in("device_type", Arrays.asList("sgys", "sgzb")).orderByAsc("create_time");
        return baseMapper.selectList(queryWrapper);
        queryWrapper.eq("program_id", programId);
        SgDeviceDO sg1 = new SgDeviceDO();
        sg1.setId((long) 999);
        sg1.setDeviceName("施工准备");
        sg1.setDeviceType("sgzb");
        sg1.setStatus(0);
        list.add(sg1);
        List<SgDeviceDO> sgDeviceDOS = baseMapper.selectList(queryWrapper);
        if (CollectionUtils.isNotEmpty(sgDeviceDOS)) {
            list.addAll(sgDeviceDOS);
        }
        SgDeviceDO sg2 = new SgDeviceDO();
        sg2.setId((long) 998);
        sg2.setDeviceName("项目验收");
        sg2.setDeviceType("xmys");
        sg2.setStatus(0);
        list.add(sg2);
        return list;
    }
    @Override
@@ -61,14 +80,7 @@
    @Override
    public List<SgGxStepDO> queryStepList(String deviceId) {
        QueryWrapper<SgGxStepDO> queryWrapper = new QueryWrapper<>();
        if (deviceId.equals("36")) {
            queryWrapper.eq("gx_info_id", 9);
        } else if (deviceId.equals("37")) {
            queryWrapper.eq("gx_info_id", 10);
        } else {
            return sgGxStepMapper.queryStepList(deviceId);
        }
        return sgGxStepMapper.selectList(queryWrapper);
        List<SgGxStepDO> sgGxStepDOS = sgGxStepMapper.queryStepList(deviceId);
        return sgGxStepDOS;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -443,45 +443,44 @@
        if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) {
            sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime()));
            SgProgressReportDO firstReport = sgProgressReportDOS.get(0);
            if (firstReport.getReportUser().equals(AuthUtil.getUserId()) && firstReport.getStatus().equals(3)) {
                sgReportVO.setGxDeviceId(deviceId);
                sgReportVO.setGxStepId(stepId);
                sgReportVO.setGxStepId(firstReport.getGxStepId());
                sgReportVO.setId(firstReport.getId());
                sgReportVO.setProframId(firstReport.getProframId());
                return sgReportVO;
            } else {
                sgReportVO.setGxDeviceId(deviceId);
                sgReportVO.setGxStepId(stepId);
                sgReportVO.setId(firstReport.getId());
                sgReportVO.setProframId(firstReport.getProframId());
                return sgReportVO;
            }
        } else {
            QueryWrapper<SgProgressReportDO> wrappers = new QueryWrapper<>();
            wrappers.eq("gx_device_id", deviceId).ne("status", 4).orderByDesc("create_time");
            sgProgressReportDOS = sgProgressReportMapper.selectList(wrappers);
            QueryWrapper<SgGxStepDO> wrapperss = new QueryWrapper<>();
            if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) {
                sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime()));
                SgProgressReportDO firstReport = sgProgressReportDOS.get(0);
                if (firstReport.getReportUser().equals(AuthUtil.getUserId()) && firstReport.getStatus().equals(2)) {
                if (firstReport.getStatus().equals(2)) {
                    sgReportVO.setGxDeviceId(deviceId);
                    sgReportVO.setGxStepId(stepId);
                    sgReportVO.setGxStepId(sgGxStepMapper.selectOne(wrapperss.eq("id", stepId)).getId());
                    sgReportVO.setProframId(firstReport.getProframId());
                } else {
                }
                else {
                    throw new ServiceException("请完成上一步工序!");
                }
            }else {
                if (stepId!=null) {
                    SgGxStepDO sg = sgGxStepMapper.selectOne(wrapperss.eq("id", stepId));
                    if (sg.getGxStepNum().equals("01")) {
                        sgReportVO.setGxDeviceId(deviceId);
                        sgReportVO.setGxStepId(sg.getId());
                        sgReportVO.setProframId(sgProgressReportMapper.selectProframId(deviceId));
                    }
                    throw new ServiceException("第一工序未进行审批!");
                }
                sgReportVO.setProframId(sgProgressReportMapper.selectProframId(deviceId));
                sgReportVO.setGxStepId(sgGxStepMapper.queryStepList(deviceId.toString()).get(0).getId());
                sgReportVO.setGxDeviceId(deviceId);
            }
        }
        sgReportVO.setGxDeviceId(deviceId);
        sgReportVO.setGxStepId(stepId);
        sgReportVO.setProframId(sgProgressReportMapper.selectProframId(deviceId));
        return sgReportVO;
    }