|
|
|
@ -7,11 +7,13 @@ import com.alibaba.excel.write.metadata.WriteSheet;
|
|
|
|
|
import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
|
import com.hnac.hzims.common.utils.Condition; |
|
|
|
|
import com.hnac.hzims.safeproduct.dto.HygienePlanDTO; |
|
|
|
|
import com.hnac.hzims.safeproduct.entity.HygienePlanEntity; |
|
|
|
|
import com.hnac.hzims.safeproduct.entity.HygieneRecordEntity; |
|
|
|
|
import com.hnac.hzims.safeproduct.entity.HygieneZoneEntity; |
|
|
|
|
import com.hnac.hzims.safeproduct.enums.HygieneStatusEnum; |
|
|
|
|
import com.hnac.hzims.safeproduct.mapper.HygienePlanMapper; |
|
|
|
@ -39,6 +41,7 @@ import java.net.URLEncoder;
|
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Optional; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 卫生自查计划服务实现类 |
|
|
|
@ -139,9 +142,10 @@ public class HygienePlanServiceImpl extends ServiceImpl<HygienePlanMapper, Hygie
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public R updatePlan(HygienePlanDTO hygienePlanDTO) { |
|
|
|
|
Long planId = hygienePlanDTO.getId(); |
|
|
|
|
// 重名校验
|
|
|
|
|
QueryWrapper<HygienePlanEntity> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
queryWrapper.lambda().ne(HygienePlanEntity::getId, hygienePlanDTO.getId()); |
|
|
|
|
queryWrapper.lambda().ne(HygienePlanEntity::getId, planId); |
|
|
|
|
queryWrapper.lambda().eq(HygienePlanEntity::getName, hygienePlanDTO.getName()); |
|
|
|
|
HygienePlanEntity hygienePlan = this.getOne(queryWrapper); |
|
|
|
|
if (hygienePlan != null) { |
|
|
|
@ -157,7 +161,7 @@ public class HygienePlanServiceImpl extends ServiceImpl<HygienePlanMapper, Hygie
|
|
|
|
|
// 修改关联责任区数据
|
|
|
|
|
List<HygieneZoneEntity> zoneList = hygienePlanDTO.getZoneList(); |
|
|
|
|
// 删除旧的责任区数据
|
|
|
|
|
boolean removeZone = hygieneZoneService.removeReferenceZone(hygienePlanDTO.getId()); |
|
|
|
|
boolean removeZone = hygieneZoneService.removeReferenceZone(planId); |
|
|
|
|
if (!removeZone) { |
|
|
|
|
throw new ServiceException("删除旧的责任区数据失败"); |
|
|
|
|
} |
|
|
|
@ -170,7 +174,26 @@ public class HygienePlanServiceImpl extends ServiceImpl<HygienePlanMapper, Hygie
|
|
|
|
|
BaseUtil.getSumScore(scores, hygienePlanDTO.getStandardScore()); |
|
|
|
|
} |
|
|
|
|
// 校验通过则批量修改责任区数据
|
|
|
|
|
return R.status(hygieneZoneService.saveBatch(zoneList)); |
|
|
|
|
boolean saveZone = hygieneZoneService.saveBatch(zoneList); |
|
|
|
|
if (!saveZone) { |
|
|
|
|
throw new ServiceException("新增新的责任区数据失败"); |
|
|
|
|
} |
|
|
|
|
// 修改卫生自查记录的责任区id
|
|
|
|
|
List<HygieneRecordEntity> recordList = hygieneRecordService.getReferenceRecord(planId); |
|
|
|
|
if (CollectionUtils.isNotEmpty(recordList)) { |
|
|
|
|
List<HygieneZoneEntity> zones = hygieneZoneService.getReferenceZone(planId); |
|
|
|
|
List<Long> ids = zones.stream().map(HygieneZoneEntity::getId).collect(Collectors.toList()); |
|
|
|
|
StringBuilder zoneIds = new StringBuilder(); |
|
|
|
|
for (int i = 0; i < ids.size(); i++) { |
|
|
|
|
zoneIds.append(ids.get(i)); |
|
|
|
|
if (i != ids.size() - 1) { |
|
|
|
|
zoneIds.append(","); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
recordList.forEach(record -> record.setHygieneZoneIds(zoneIds.toString())); |
|
|
|
|
return R.status(hygieneRecordService.updateBatchById(recordList)); |
|
|
|
|
} |
|
|
|
|
return R.status(Boolean.TRUE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|