| | |
| | | */ |
| | | package org.springblade.modules.place.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.logging.log4j.util.Strings; |
| | | import org.springblade.common.constant.CommonConstant; |
| | | import org.springblade.common.param.CommonParamSet; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.modules.place.entity.PlaceEntity; |
| | | import org.springblade.modules.place.entity.PlacePractitionerEntity; |
| | | import org.springblade.modules.place.vo.PlacePractitionerVO; |
| | | import org.springblade.modules.place.excel.ImportPractitionerExcel; |
| | | import org.springblade.modules.place.mapper.PlacePractitionerMapper; |
| | | import org.springblade.modules.place.service.IPlacePractitionerService; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.modules.place.service.IPlaceService; |
| | | import org.springblade.modules.place.vo.PlacePractitionerVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 场所从业人员 服务实现类 |
| | |
| | | @Service |
| | | public class PlacePractitionerServiceImpl extends ServiceImpl<PlacePractitionerMapper, PlacePractitionerEntity> implements IPlacePractitionerService { |
| | | |
| | | @Autowired |
| | | private IPlaceService placeService; |
| | | |
| | | @Override |
| | | public IPage<PlacePractitionerVO> selectPlacePractitionerPage(IPage<PlacePractitionerVO> page, PlacePractitionerVO placePractitioner) { |
| | | return page.setRecords(baseMapper.selectPlacePractitionerPage(page, placePractitioner)); |
| | | CommonParamSet commonParamSet = new CommonParamSet().invoke(PlacePractitionerVO.class, placePractitioner); |
| | | List<PlacePractitionerVO> placePractitionerVOS = baseMapper.selectPlacePractitionerPage(page, placePractitioner, commonParamSet.getGridCodeList(), |
| | | commonParamSet.getRegionChildCodesList(), |
| | | commonParamSet.getIsAdministrator()); |
| | | return page.setRecords(placePractitionerVOS); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 统计少数民族和未成年数量 |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Object countByType(PlacePractitionerVO placePractitioner) { |
| | | // 未成年数量 |
| | | placePractitioner.setType(CommonConstant.NUMBER_ONE); |
| | | Integer minors = baseMapper.selectPlaceCountByType(placePractitioner); |
| | | // 少数民族 |
| | | placePractitioner.setType(CommonConstant.NUMBER_TWO); |
| | | Integer nationalMinority = baseMapper.selectPlaceCountByType(placePractitioner); |
| | | Map<String, Integer> resultMap = new HashMap<>(); |
| | | resultMap.put("minors", minors); |
| | | resultMap.put("nationalMinority", nationalMinority); |
| | | return resultMap; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean auditing(PlacePractitionerEntity placePractitioner) { |
| | | placePractitioner.setConfirmUserId(AuthUtil.getUserId()); |
| | | placePractitioner.setConfirmTime(new Date()); |
| | | boolean update = update(Wrappers.<PlacePractitionerEntity>lambdaUpdate() |
| | | .set(PlacePractitionerEntity::getConfirmFlag, placePractitioner.getConfirmFlag()) |
| | | .set(PlacePractitionerEntity::getConfirmNotion, placePractitioner.getConfirmNotion()) |
| | | .set(PlacePractitionerEntity::getConfirmUserId, placePractitioner.getConfirmUserId()) |
| | | .eq(PlacePractitionerEntity::getPlaceId, placePractitioner.getPlaceId()) |
| | | .eq(PlacePractitionerEntity::getResignationFlag, 1) |
| | | .eq(PlacePractitionerEntity::getIsDeleted, 0)); |
| | | return update; |
| | | } |
| | | |
| | | @Override |
| | | public String importPractitioner(List<ImportPractitionerExcel> data, boolean b) { |
| | | int totalNum = data.size(); |
| | | int importNum = 0; |
| | | int updateNum = 0; |
| | | int errorNum = 0; |
| | | for (ImportPractitionerExcel placeExcel : data) { |
| | | if (Strings.isBlank(placeExcel.getHouseCode()) || Strings.isBlank(placeExcel.getHouseCode())) { |
| | | errorNum++; |
| | | continue; |
| | | } |
| | | PlacePractitionerEntity placeEntity = Objects.requireNonNull(BeanUtil.copy(placeExcel, PlacePractitionerEntity.class)); |
| | | // 查询场所是否存在 |
| | | PlaceEntity placeServiceOne = placeService.getOne(Wrappers.<PlaceEntity>lambdaQuery() |
| | | .eq(PlaceEntity::getHouseCode, placeExcel.getHouseCode())); |
| | | if (placeServiceOne != null) { |
| | | placeEntity.setPlaceId(placeServiceOne.getId()); |
| | | boolean save = save(placeEntity); |
| | | if (save) { |
| | | importNum++; |
| | | } else { |
| | | errorNum++; |
| | | } |
| | | } else { |
| | | errorNum++; |
| | | continue; |
| | | } |
| | | } |
| | | StringBuilder builder = new StringBuilder("导入完成!"); |
| | | builder.append("其中本次表格共有 ").append(totalNum).append(" 条数据,") |
| | | .append("成功导入 ").append(importNum).append(" 条数据。"); |
| | | if (updateNum > 0) { |
| | | builder.append("其中有 ").append(updateNum).append(" 条数据已存在。"); |
| | | } |
| | | if (errorNum > 0) { |
| | | builder.append("共有 ").append(errorNum).append(" 条数据由于无企业(店铺)名称信息或无地址编号未导入!"); |
| | | } |
| | | return builder.toString(); |
| | | } |
| | | } |