skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PreAcceVO.java
@@ -21,4 +21,13 @@ //工序状态 private Long status; //项目id private Long programId; //工序id private Long gxStepId; //设备id private Long gxDeviceId; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgDeviceController.java
@@ -53,7 +53,7 @@ sgDeviceDO.setCreateTime(now); } sgDeviceDO.setUpdateTime(now); return R.data(sgDeviceService.save(sgDeviceDO)); return R.data(sgDeviceService.saveById(sgDeviceDO)); } /** skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -29,25 +29,7 @@ </if> </select> <select id="queryStepByProject" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO"> SELECT b.id, b.project_name, b.gxId, b.gx_name, b.device_name, b.device_type, b.typeName, b.dId, b.gx_step_name, b.gx_step_num, b.stepId, b.reportStatus, b.deviceStatus, b.projectStatus, b.reportId, b.lon_lat FROM ( SELECT pro.id, pro.project_name, @@ -64,10 +46,7 @@ d.STATUS AS deviceStatus, pro.STATUS AS projectStatus, re.id AS reportId, pro.lon_lat, dria."county_cd" AS countyCode, att."guid" AS cityCode, ad."ad_code" AS provinceCode pro.lon_lat FROM ywxt.sg_project_info pro LEFT JOIN ywxt.sg_device d ON pro.id = d.program_id @@ -77,41 +56,25 @@ LEFT JOIN ywxt.sg_gx_step step ON gx.id = step.gx_info_id LEFT JOIN ywxt.sg_progress_report re ON re.gx_step_id = step.id AND re.gx_device_id = d.id LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = pro.sk_id LEFT JOIN YWXT."att_ad_base" att ON att."ad_code" = dria."city_cd" LEFT JOIN YWXT."att_ad_base" ad ON att."p_ad_code" = ad."ad_code" LEFT JOIN YWXT."att_ad_base" aad ON aad."ad_code" = ad."p_ad_code" ) b LEFT JOIN YWXT."att_ad_base" a ON ( ( b.countyCode = a."guid" ) OR ( b.cityCode = a."guid" ) OR ( b.provinceCode = a."guid" )) where 1=1 <if test="dto.adCode != null"> and a."p_ad_code" = #{dto.adCode} </if> <if test="dto.projectId != null and dto.projectId != ''"> and b.id = #{dto.projectId} and pro.id = #{dto.projectId} </if> <if test="dto.projectName != null and dto.projectName != ''"> and b.project_name like CONCAT(CONCAT('%', #{dto.projectName}), '%') and pro.project_name like CONCAT(CONCAT('%', #{dto.projectName}), '%') </if> <if test="dto.status != null"> and b.status = #{dto.status} and pro.status = #{dto.status} </if> <if test="dto.projectIds != null and dto.projectIds.size > 0"> and b.id in and pro.id in <foreach collection="dto.projectIds" item="id" separator="," open="(" close=")"> #{id} </foreach> </if> </select> <select id="progressList" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO"> select b.id, b.project_name, b.lon_lat, b.status from (SELECT SELECT pro.id, pro.project_name, pro.lon_lat, @@ -121,23 +84,12 @@ ad."ad_code" AS provinceCode FROM ywxt.sg_project_info pro LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = pro.sk_id LEFT JOIN YWXT."att_ad_base" att ON att."ad_code" = dria."city_cd" LEFT JOIN YWXT."att_ad_base" ad ON att."p_ad_code" = ad."ad_code" LEFT JOIN YWXT."att_ad_base" aad ON aad."ad_code" = ad."p_ad_code")b LEFT JOIN YWXT."att_ad_base" a ON ( ( b.countyCode = a."guid" ) OR ( b.cityCode = a."guid" ) OR ( b.provinceCode = a."guid" )) WHERE 1=1 <if test="dto.adCode != null"> and a."p_ad_code" = #{dto.adCode} </if> <if test="dto.status != null"> and b.status = #{dto.status} and pro.status = #{dto.status} </if> <if test="dto.projectName != null and dto.projectName != ''"> and b.project_name like CONCAT(CONCAT('%',#{dto.projectName}),'%') and pro.project_name like CONCAT(CONCAT('%',#{dto.projectName}),'%') </if> </select> <select id="getSgstatiss" resultType="cn.gistack.sm.sg.VO.SgStatisticsVO"> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgDeviceService.java
@@ -30,4 +30,6 @@ SgDeviceDO getSgDeviceById(String id); List<SgGxStepDO> queryStepList(String deviceId); boolean saveById(SgDeviceDO sgDeviceDO); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java
@@ -33,6 +33,9 @@ @Autowired private SgGxStepMapper sgGxStepMapper; @Autowired private SgProgressReportMapper sgProgressReportMapper; @Override public IPage<SgDeviceDO> queryPageList(IPage<SgDeviceDO> page, SgDeviceSearchDTO searchDTO) { @@ -88,4 +91,15 @@ List<SgGxStepDO> sgGxStepDOS = sgGxStepMapper.queryStepList(deviceId); return sgGxStepDOS; } @Override public boolean saveById(SgDeviceDO sgDeviceDO) { QueryWrapper<SgProgressReportDO> queryWrapper = new QueryWrapper<>(); SgProgressReportDO sgProgressReportDO = sgProgressReportMapper.selectOne(queryWrapper.eq("profram_id", sgDeviceDO.getId()).eq("gx_step_id",26)); if (sgProgressReportDO.getStatus().equals(2)) { throw new ServiceException("施工验收完成不能增加设备"); } return save(sgDeviceDO); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -87,7 +87,7 @@ return; } QueryWrapper<SgProgressReportDO> wrappers = new QueryWrapper<>(); wrappers.eq("profram_id", sgProgressReportDO.getProframId()).ne("status", 4).eq("gx_step_name", "施工准备"); wrappers.eq("profram_id", sgProgressReportDO.getProframId()).ne("status", 4).eq("gx_step_name", "施工准R备"); List<SgProgressReportDO> sgProgressReportDOS1 = sgProgressReportMapper.selectList(wrappers); if(sgProgressReportDO.getGxDeviceId()==998){ @@ -120,7 +120,11 @@ SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(gxStepId); List<SgGxStepDO> list = sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId()); QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>(); wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4); if(sgProgressReportDO.getGxDeviceId()==998 || sgProgressReportDO.getGxDeviceId()==999){ wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4).eq("profram_id",sgProgressReportDO.getProframId()); }else { wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4); } List<SgProgressReportDO> sgProgressReportDOS = sgProgressReportMapper.selectList(wrapper); if ( sgProgressReportDOS!=null && sgProgressReportDOS.size()>0){ throw new ServiceException("此工序已存在审批!"); skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -71,8 +71,17 @@ */ @Override public List<SgProjectInfoDO> queryStepByProject(ProjectSearchDTO searchDTO) { List<PreAcceVO> palist = new ArrayList<>(); List<SgProjectInfoVO> list = sgProjectInfoMapper.queryStepByProject( searchDTO); return getProjectProgress(list); palist.add(handleQuery(25, list.get(0).getId())); palist.add(handleQuery(26, list.get(0).getId())); List<SgProjectInfoDO> projectProgress = getProjectProgress(list); projectProgress.forEach(s->{ s.setPreAcce(palist); }); return projectProgress; } /** @@ -136,11 +145,6 @@ typeVO.setTypeProgress(getBigDecimalPercent(divideDevice)); sgGxDOS.add(typeVO); } List<PreAcceVO> palist = new ArrayList<>(); palist.add(handleQuery( 25, list.get(0).getId())); palist.add(handleQuery(26,list.get(0).getId())); sgProjectInfoDO.setPreAcce(palist); BigDecimal allDeviceSize = BigDecimal.valueOf(allDevice.size()); if (!allDeviceSize.equals(BigDecimal.ZERO)){ double sum = allDevice.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum(); @@ -368,8 +372,16 @@ preAcceVO.setId(sgProgressReportDO.getId().toString()); preAcceVO.setName(sgProgressReportDO.getGxStepName()); preAcceVO.setStatus((long) sgProgressReportDO.getStatus()); preAcceVO.setProgramId(programId); preAcceVO.setGxDeviceId(sgProgressReportDO.getGxDeviceId()); preAcceVO.setGxStepId(sgProgressReportDO.getGxStepId()); } else { preAcceVO.setName(sgGxStepMapper.selectById(stepIdForNull).getGxStepName()); SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(stepIdForNull); preAcceVO.setName(sgGxStepDO.getGxStepName()); preAcceVO.setProgramId(programId); preAcceVO.setGxDeviceId(stepIdForNull != 25? (long)998:(long)999); preAcceVO.setGxStepId(sgGxStepDO.getId()); } return preAcceVO;