Browse Source

Merge remote-tracking branch 'origin/master'

master
wanggongfeng 3 years ago
parent
commit
3e489004f6
  1. 12
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/controller/EpidemicUserInfoController.java
  2. 9
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInoutRecordDao.java
  3. 4
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicRecordDetailDTO.java
  4. 2
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicReportUserInfoDTO.java
  5. 35
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicReportUserInfoServiceImpl.java
  6. 107
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java
  7. 1
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/controller/HousingInformationController.java
  8. 16
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/BuildingUnitController.java
  9. 14
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotBuildingController.java
  10. 8
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java
  11. 5
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/entity/EpidemicBuildingUnitEntity.java
  12. 15
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java
  13. 101
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java
  14. 6
      epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInoutRecordDao.xml
  15. 51
      epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml
  16. 2
      epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml
  17. 2
      epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml

12
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/controller/EpidemicUserInfoController.java

@ -84,8 +84,7 @@ public class EpidemicUserInfoController {
public Result delete(@RequestBody Long[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
// epidemicUserInfoService.delete(ids);
// return new Result();
return epidemicUserInfoService.deleteUserById(ids);
}
@ -96,15 +95,6 @@ public class EpidemicUserInfoController {
exportParams.setHeight((short) (2 * 256));
ExcelUtils.exportBigExcel(StringUtils.EMPTY, params, exportServer, response, exportParams, EpidecmicUserNewExcel.class);
}
/*
@GetMapping("export")
@LogOperation("导出")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<EpidemicRecordListDTO> list = epidemicUserInfoService.getList(params);
ExcelUtils.exportExcelToTarget(response, null, list, EpidecmicUserNewExcel.class);
}
*/
/**
* @return io.pingyin.common.utils.Result<io.pingyin.common.page.PageData < io.pingyin.modules.epidemic.dto.result.EpidemicPageResultDTO>>

9
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInoutRecordDao.java

@ -148,4 +148,13 @@ public interface EpidemicUserInoutRecordDao extends BaseDao<EpidemicUserInoutRec
* @return java.lang.String
*/
String getMobileByIdCard(@Param("idcard") String idcard);
/***
* 物理删除
* @param ids
* @return void
* @author qushutong
* @date 2022/4/25 15:59
*/
void deleteByIds(Long[] ids);
}

4
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicRecordDetailDTO.java

@ -305,4 +305,8 @@ public class EpidemicRecordDetailDTO implements Serializable {
// @Excel(name = "房屋地址")
private String houseAddress;
private Long unitId;
private Long plotId;
private Long buildingId;
}

2
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicReportUserInfoDTO.java

@ -297,7 +297,7 @@ public class EpidemicReportUserInfoDTO implements Serializable {
// @Excel(name = "房屋地址")
private String houseAddress;
private Long unitId;
}

35
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicReportUserInfoServiceImpl.java

@ -73,7 +73,6 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
@Override
public PageData<EpidemicReportUserInfoDTO> page(Map<String, Object> params) {
// params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
IPage<EpidemicReportUserInfoDTO> page = getPage(params);
List<EpidemicReportUserInfoDTO> list = baseDao.getEpidemicUserInfoList(params);
for (EpidemicReportUserInfoDTO eru : list) {
@ -88,34 +87,6 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
@Override
public Result updateUserInfo(EpidemicUserInfoUpdateDTO dto) {
// //1.校验 身份证号
// String idCard = dto.getIdCard();
// //手机号
// String mobile = dto.getMobile();
// Long id = dto.getId();
// if (StringUtils.isEmpty(idCard)) {
// return new Result().error("请输入身份证号");
// }
// if (StringUtils.isEmpty(mobile)) {
// return new Result().error("请输入手机号");
// }
// String s = fixAndCheckIdentityNo(idCard);
// dto.setIdCard(s);
// //2、根据身份证号,手机号进行唯一性判断
// List<EpidemicReportUserInfoEntity> list = baseDao.selectUserInfoByNumber(id,mobile,idCard);
// if (list.size() >0) {
// if (StringUtils.isNotBlank(mobile)) {
// for (EpidemicReportUserInfoEntity entity : list) {
// if (!id.equals(entity.getId())) {
// if (StringUtils.isNotBlank(entity.getMobile()) && mobile.equals(entity.getMobile())) {
// throw new RenException("手机号码已被注册");
// }
// }
// }
// }
// throw new RenException("身份证号码已被注册");
// }
EpidemicReportUserInfoDTO infoDTO = new EpidemicReportUserInfoDTO();
BeanUtils.copyProperties(dto, infoDTO);
this.update(infoDTO);
@ -187,7 +158,6 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
@Override
public List<EpidemicReportUserInfoDTO> list(Map<String, Object> params) {
// params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
List<EpidemicReportUserInfoDTO> list = baseDao.getEpidemicUserInfoList(params);
for (EpidemicReportUserInfoDTO eru : list) {
eru.setIdCard(idEncrypt(eru.getIdCard()));
@ -673,10 +643,7 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
*/
private Boolean checkNullCell(EpidemicReportUserInfoAllExcel infoAllExcel) {
// 校验必填项 (用户名、身份证号)
if (StringUtils.isBlank(infoAllExcel.getUserName()) || StringUtils.isBlank(infoAllExcel.getIdCard())) {
return true;
}
return false;
return StringUtils.isBlank(infoAllExcel.getUserName()) || StringUtils.isBlank(infoAllExcel.getIdCard());
}
}

107
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java

@ -23,18 +23,21 @@ import com.elink.esua.epdc.dto.SysSimpleDictDTO;
import com.elink.esua.epdc.dto.house.SysPopulationSimpleDictDTO;
import com.elink.esua.epdc.dto.house.form.SysPopulationSimpleDictFormDTO;
import com.elink.esua.epdc.dto.house.result.EpdcPopulationErrorResultDTO;
import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO;
import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO;
import com.elink.esua.epdc.dto.personroom.form.BindingFamilyFormDTO;
import com.elink.esua.epdc.dto.personroom.form.FamilyMemberInfoFormDTO;
import com.elink.esua.epdc.dto.personroom.form.GetMemberListFormDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicPlotBuildingResultDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO;
import com.elink.esua.epdc.dto.personroom.result.FamilyMemberInfoResultDTO;
import com.elink.esua.epdc.vaccine.constant.ImageConstant;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInoutRecordDao;
import com.elink.esua.epdc.vaccine.epidemic.dto.*;
import com.elink.esua.epdc.vaccine.epidemic.dto.result.*;
import com.elink.esua.epdc.vaccine.epidemic.dto.result.EpidemicPageResultDTO;
import com.elink.esua.epdc.vaccine.epidemic.dto.result.EpidemicPageResultV2DTO;
import com.elink.esua.epdc.vaccine.epidemic.dto.result.VaccinationInfoResultDTO;
import com.elink.esua.epdc.vaccine.epidemic.dto.result.VaccinationInfoResultV2DTO;
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserErrorEntity;
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoEntity;
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInoutRecordEntity;
@ -47,7 +50,6 @@ import com.elink.esua.epdc.vaccine.house.excel.BaseResidentInformationUpdateExce
import com.elink.esua.epdc.vaccine.personroom.dao.EpidemicUnitOwnerDao;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicUnitOwnerEntity;
import com.elink.esua.epdc.vaccine.personroom.service.EpidemicBuildingUnitService;
import com.elink.esua.epdc.vaccine.personroom.service.EpidemicPlotBuildingService;
import com.elink.esua.epdc.vaccine.personroom.service.EpidemicUnitOwnerService;
import com.elink.esua.epdc.vaccine.vim.dao.VaccinationInfoDao;
import com.elink.esua.epdc.vaccine.vim.dao.VimImgDao;
@ -100,12 +102,12 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
private VimImgDao vimImgDao;
@Autowired
private EpidemicUserErrorService epidemicUserErrorService;
@Autowired
private EpidemicPlotBuildingService epidemicPlotBuildingService;
private EpidemicUnitOwnerService epidemicUnitOwnerService;
@Autowired
private EpidemicBuildingUnitService epidemicBuildingUnitService;
@Autowired
private EpidemicUnitOwnerService epidemicUnitOwnerService;
@Autowired
private EpidemicUserInoutRecordDao epidemicUserInoutRecordDao;
@ -126,16 +128,17 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
@Override
public PageData<EpidemicRecordListDTO> getPageList(Map<String, Object> params) {
IPage<EpidemicRecordListDTO> page = getPage(params);
String grids = (String) params.get("deptIdList");
String agencyList = (String) params.get("agencyList");
params.put("deptIdList",null);
if(StringUtils.isNotBlank(grids)){
params.put("deptIdList", null);
if (StringUtils.isNotBlank(grids)) {
List<String> gridList = Arrays.asList(grids.split(","));
params.put("gridList",gridList);
params.put("gridList", gridList);
}
if(StringUtils.isNotBlank(agencyList)){
if (StringUtils.isNotBlank(agencyList)) {
List<String> agencyIdList = Arrays.asList(agencyList.split(","));
params.put("agencyList",agencyIdList);
params.put("agencyList", agencyIdList);
}
UserDetail user = SecurityUser.getUser();
if (user == null) {
@ -164,11 +167,8 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
result.setAllDeptIds(result.getAllDeptIds().replace(result.getAllDeptIds().substring(0, result.getAllDeptIds().indexOf(",") + 1), ""));
result.setDeptIdList(result.getAllDeptIds().split(","));
}
// result.setIdCard(idEncrypt(result.getIdCard()));
// result.setMobile(mobileEncrypt(result.getMobile()));
result.setUserName(nameDesensitization(result.getUserName()));
result.setRelationPeople(nameDesensitization(result.getRelationPeople()));
// result.setRelationPeopleMobile(mobileEncrypt(result.getRelationPeopleMobile()));
if (StringUtils.isNotBlank(result.getHouseholdRegisterCode())) {
result.setHouseholdRegisterCodes(result.getHouseholdRegisterCode().split(","));
} else {
@ -199,6 +199,16 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
result.setDestinationAddressCodes(new String[]{});
}
// 查询房屋关联信息
EpidemicBuildingUnitDTO formDTO = new EpidemicBuildingUnitDTO();
formDTO.setIdCard(result.getIdCard());
formDTO.setGridId(result.getDeptId().toString());
EpidemicBuildingUnitDetailResultDTO unitInfo = epidemicBuildingUnitService.getUnitInfo(formDTO);
if (unitInfo != null) {
result.setUnitId(unitInfo.getId());
result.setBuildingId(unitInfo.getBuildingId());
result.setPlotId(unitInfo.getPlotId());
}
return result;
}
@ -227,6 +237,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
@Transactional(rollbackFor = Exception.class)
@Override
public Result updateNew(EpidemicReportUserInfoDTO dto) {
//基础信息dto
EpidemicUserInfoEntity userInfoDTO = new EpidemicUserInfoEntity();
//录入信息dto
@ -290,24 +301,12 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
// return new Result().error("电话号格式不正确");
// }
// }
// //判断关联人
// if (!StringUtils.isEmpty(userInoutRecordDTO.getRelationPeople())) {
// if (userInoutRecordDTO.getRelationPeople().contains("*")) {
// userInoutRecordDTO.setRelationPeople(inoutRecordEntity.getRelationPeople());
// }
// }
// //判断关联人联系电话
// if (!StringUtils.isEmpty(userInoutRecordDTO.getRelationPeopleMobile())) {
// if (userInoutRecordDTO.getRelationPeopleMobile().contains("*")) {
// userInoutRecordDTO.setRelationPeopleMobile(inoutRecordEntity.getRelationPeopleMobile());
// } else {
// String peopleMobile = userInoutRecordDTO.getRelationPeopleMobile();
// boolean isMobile = ValidateUtils.validateMobilePhone(peopleMobile);
// if (!isMobile) {
// return new Result().error("关联人联系电话格式不正确");
// }
// }
// }
// 更新人房关系
if (dto.getUnitId() != null && dto.getUnitId() != NumConstant.ZERO) {
dto.setUserName(entity.getUserName());
saveHouseRelation(dto);
}
} catch (RenException e) {
return new Result().error(e.getMsg());
}
@ -334,6 +333,10 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
@Transactional(rollbackFor = Exception.class)
@Override
public Result saveNew(EpidemicReportUserInfoDTO dto) {
if (dto.getUnitId() != null && dto.getUnitId() != NumConstant.ZERO) {
saveHouseRelation(dto);
}
//基础信息dto
EpidemicUserInfoEntity userInfoDTO = new EpidemicUserInfoEntity();
//录入信息dto
@ -483,29 +486,9 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
*/
@Override
public Result deleteUserById(Long[] ids) {
//物理删除
baseDao.deleteByIds(ids);
// //1、获取详情id
// Long inoutRecord = ids[0];
// if (null != inoutRecord) {
// baseDao.deleteById(inoutRecord);
// //查询信息
// EpidemicUserInfoEntity entity = baseDao.selectByIdCard(inoutRecord);
// if (null == entity) {
// return new Result().error("数据错误,刷新后重试!!");
// }
// // 2、判断人员信息表中数据如果只有一条就全删
// Integer integer = inoutRecordDao.selectByState(entity.getIdCard());
// if (integer == 1) {
// // 若同时存在,则保留基础信息,删除额外信息。
// baseDao.deleteById(entity.getId());
// }
// inoutRecordDao.deleteById(inoutRecord);
// } else {
// return new Result().error("删除参数不正确,请联系管理员查看");
// }
//根据情况进项删除
epidemicUserInoutRecordDao.deleteByIds(ids);
return new Result();
}
@ -1644,7 +1627,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
FamilyMemberInfoResultDTO dto = baseDao.getFamilyMember(formDTO);
// 如果记录表没有信息,需插入一条
if(dto != null && (dto.getRecordId() == null || dto.getRecordId() == 0)){
if (dto != null && (dto.getRecordId() == null || dto.getRecordId() == 0)) {
// 新增epidemic_user_inout_record
EpidemicUserInoutRecordEntity epidemicUserInoutRecordEntity = new EpidemicUserInoutRecordEntity();
epidemicUserInoutRecordEntity.setIdCard(dto.getIdCard());
@ -1691,7 +1674,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
@Override
public Result bindingFamily(BindingFamilyFormDTO formDTO) {
// 新增人员
if("1".equals(formDTO.getFlag())){
if ("1".equals(formDTO.getFlag())) {
// 获取部门信息
Result<ParentAndAllDeptDTO> result = adminVimFeignClient.getParentAndAllDept(formDTO.getDeptId());
ParentAndAllDeptDTO parentAndAllDeptDTO = result.getData();
@ -1715,9 +1698,21 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
EpidemicUnitOwnerEntity epidemicUnitOwnerEntity = ConvertUtils.sourceToTarget(formDTO, EpidemicUnitOwnerEntity.class);
epidemicUnitOwnerEntity.setOwnerName(formDTO.getUserName());
epidemicUnitOwnerEntity.setAddress(formDTO.getHouseAddress());
epidemicUnitOwnerEntity.setId(null);
epidemicUnitOwnerService.deletePhysicalByIdCardAndUnitId(formDTO.getIdCard(), formDTO.getUnitId());
epidemicUnitOwnerService.insert(epidemicUnitOwnerEntity);
return new Result();
}
private void saveHouseRelation(EpidemicReportUserInfoDTO dto) {
// 绑定房屋
EpidemicUnitOwnerEntity epidemicUnitOwnerEntity = ConvertUtils.sourceToTarget(dto, EpidemicUnitOwnerEntity.class);
epidemicUnitOwnerEntity.setOwnerName(dto.getUserName());
epidemicUnitOwnerEntity.setAddress(dto.getHouseAddress());
epidemicUnitOwnerEntity.setId(null);
epidemicUnitOwnerService.deletePhysicalByIdCardAndUnitId(dto.getIdCard(), dto.getUnitId());
epidemicUnitOwnerService.insert(epidemicUnitOwnerEntity);
}
}

1
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/controller/HousingInformationController.java

@ -225,7 +225,6 @@ public class HousingInformationController {
// 将属性的首字母大写
String methodName = field.getName().replaceFirst(field.getName().substring(0, 1),
field.getName().substring(0, 1).toUpperCase());
System.out.println(methodName);
try {
Method methodGet = clazz.getMethod("get" + methodName);
// 调用getter方法获取属性值

16
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/BuildingUnitController.java

@ -26,7 +26,6 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.config.QrCodeProperties;
import com.elink.esua.epdc.dto.epidemic.DictOptionDTO;
import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO;
import com.elink.esua.epdc.dto.personroom.form.HouseQrcodeFormDTO;
@ -56,9 +55,6 @@ public class BuildingUnitController {
@Autowired
private EpidemicBuildingUnitService epidemicBuildingUnitService;
@Autowired
private QrCodeProperties qrCodeProperties;
@GetMapping("page")
public Result<PageData<EpidemicBuildingUnitDTO>> page(@RequestParam Map<String, Object> params) {
PageData<EpidemicBuildingUnitDTO> page = epidemicBuildingUnitService.page(params);
@ -141,6 +137,12 @@ public class BuildingUnitController {
return new Result<List<DictOptionDTO>>().ok(list);
}
@GetMapping("getUnitOptions")
public Result<List<DictOptionDTO>> getUnitOptions(EpidemicBuildingUnitDTO formDTO) {
List<DictOptionDTO> list = epidemicBuildingUnitService.getUnitOption(formDTO);
return new Result<List<DictOptionDTO>>().ok(list);
}
/**
* 房间号下拉框
*
@ -155,6 +157,12 @@ public class BuildingUnitController {
return new Result<List<DictOptionDTO>>().ok(list);
}
@GetMapping("getHouseOptions")
public Result<List<DictOptionDTO>> getHouseOptions(EpidemicBuildingUnitDTO formDTO) {
List<DictOptionDTO> list = epidemicBuildingUnitService.getHouseOption(formDTO);
return new Result<List<DictOptionDTO>>().ok(list);
}
/**
* @return void
* @describe: 下载房屋编码

14
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotBuildingController.java

@ -121,18 +121,18 @@ public class PlotBuildingController {
*/
@GetMapping("getBuildingOptionApp")
public Result<List<DictOptionDTO>> getBuildingOptionApp(@RequestBody EpidemicPlotBuildingDTO formDTO) {
log.info("################楼栋############plotId:"+formDTO.getPlotId());
log.info("################楼栋############plotId:" + formDTO.getPlotId());
List<DictOptionDTO> list = epidemicPlotBuildingService.getBuildingOption(formDTO);
return new Result<List<DictOptionDTO>>().ok(list);
}
/**
* @describe: 导入房屋信息
* @author wangtong
* @date 2022/4/25 17:01
* @params [file]
* @return io.pingyin.common.utils.Result
*/
* @return io.pingyin.common.utils.Result
* @describe: 导入房屋信息
* @author wangtong
* @date 2022/4/25 17:01
* @params [file]
*/
@PostMapping("importBuilding")
public Result importBuilding(@RequestParam("file") MultipartFile file) {
return epidemicPlotBuildingService.importBuilding(file);

8
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java

@ -111,7 +111,11 @@ public interface EpidemicBuildingUnitDao extends BaseDao<EpidemicBuildingUnitEnt
*/
List<EpidemicUnitInfoResultDTO> listAllUnitInfo(@Param("gridId") String gridId);
Integer getMaxCode();
Integer getRoomMaxCode(@Param("buildingId") Long buildingId, @Param("unit") String unit);
Integer getUnitMaxCode(@Param("buildingId") Long buildingId);
Integer getUnitCode(@Param("buildingId") Long buildingId, @Param("unit") String unit);
List<EpidemicBuildingUnitEntity> getErrorRoom();
@ -144,4 +148,6 @@ public interface EpidemicBuildingUnitDao extends BaseDao<EpidemicBuildingUnitEnt
*/
HouseInfoResultDTO getHouseInfo(GetHouseInfoFormDTO formDTO);
EpidemicBuildingUnitDetailResultDTO getUnitInfo(EpidemicBuildingUnitDTO formDTO);
}

5
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/entity/EpidemicBuildingUnitEntity.java

@ -181,6 +181,11 @@ public class EpidemicBuildingUnitEntity extends BasePingyinEntity {
*/
private Integer roomMaCode;
/**
* 房屋码(5位数字自增)
*/
private Integer unitMaCode;
/**
* 二维码
*/

15
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java

@ -29,7 +29,6 @@ import com.elink.esua.epdc.dto.personroom.form.HouseQrcodeZipFormDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@ -122,7 +121,17 @@ public interface EpidemicBuildingUnitService extends CrudService<EpidemicBuildin
* @author zhy
* @date 2022/6/9 17:24
*/
int getMaxCode();
int getRoomMaxCode(Long buildingId, String unit);
//
// /**
// * 获取最大编码
// *
// * @param
// * @return int
// * @author zhy
// * @date 2022/6/9 17:24
// */
// int getUnitNewCode(Long buildingId, String unit);
/**
* 更新编码
@ -208,7 +217,7 @@ public interface EpidemicBuildingUnitService extends CrudService<EpidemicBuildin
*/
void createQrCode(String roomId, HttpServletResponse response);
EpidemicBuildingUnitDetailResultDTO getUnitInfo(EpidemicBuildingUnitDTO formDTO);

101
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java

@ -27,6 +27,8 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.StrConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -114,6 +116,9 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
@Autowired
private QrCodeProperties qrCodeProperties;
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<EpidemicBuildingUnitDTO> page(Map<String, Object> params) {
IPage<EpidemicBuildingUnitDTO> page = getPage(params);
@ -180,6 +185,13 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
throw new RenException("房屋已存在");
}
checkData(dto);
if (dto.getBuildingId() != null && dto.getUnit() != null) {
// int unitCode = getUnitNewCode(dto.getBuildingId(), dto.getUnit().trim().toUpperCase());
// dto.setUnitMaCode(unitCode);
int roomCode = getRoomMaxCode(dto.getBuildingId(), dto.getUnit().trim().toUpperCase());
roomCode = roomCode + 1;
dto.setRoomMaCode(roomCode);
}
EpidemicBuildingUnitEntity entity = ConvertUtils.sourceToTarget(dto, EpidemicBuildingUnitEntity.class);
insert(entity);
saveOrUpdateOwners(dto.getOwners(), entity.getId());
@ -327,14 +339,28 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
}
@Override
public int getMaxCode() {
Integer maxCode = baseDao.getMaxCode();
public int getRoomMaxCode(Long buildingId, String unit) {
Integer maxCode = baseDao.getRoomMaxCode(buildingId, null);
if (maxCode == null) {
maxCode = 0;
}
return maxCode;
}
// @Override
// public int getUnitNewCode(Long buildingId, String unit) {
// Integer code = baseDao.getUnitCode(buildingId, unit);
// if (code != null && code != NumConstant.ZERO) {
// return code;
// }
// Integer maxCode = baseDao.getUnitMaxCode(buildingId);
// if (maxCode == null || maxCode == NumConstant.ZERO) {
// maxCode = 0;
// }
// maxCode = maxCode + 1;
// return maxCode;
// }
@Override
public void updateErrorRoom() {
List<EpidemicBuildingUnitEntity> list = baseDao.getErrorRoom();
@ -364,13 +390,59 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
params.put("roomMaCode", "0");
List<EpidemicBuildingUnitEntity> list = baseDao.selectList(getWrapper(params));
if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
list.get(i).setRoomMaCode(i + 1);
for (EpidemicBuildingUnitEntity epidemicBuildingUnitEntity : list) {
if (epidemicBuildingUnitEntity.getBuildingId() != null && StringUtils.isNotBlank(epidemicBuildingUnitEntity.getUnit())) {
// updateUnitMaCode(epidemicBuildingUnitEntity);
if (StringUtils.isNotBlank(epidemicBuildingUnitEntity.getRoomNo())) {
updateRoomMaCode(epidemicBuildingUnitEntity);
}
}
}
updateBatchById(list);
}
}
// private void updateUnitMaCode(EpidemicBuildingUnitEntity entity) {
// String key = RedisKeys.getMaUnitCodeKey(entity.getBuildingId().toString(), entity.getUnit());
// String nextKey = RedisKeys.getMaUnitNextCodeKey(entity.getBuildingId().toString());
// Object obj = redisUtils.get(key);
// Object nextObj = redisUtils.get(nextKey);
// if (null != obj) {
// int maCodeCache = (int) obj;
// entity.setUnitMaCode(maCodeCache);
// redisUtils.set(key, maCodeCache, RedisUtils.HOUR_ONE_EXPIRE);
// return;
// }
// if (null != nextObj) {
// int maCodeCache = (int) nextObj;
// entity.setUnitMaCode(maCodeCache);
// redisUtils.set(key, maCodeCache, RedisUtils.HOUR_ONE_EXPIRE);
// redisUtils.set(nextKey, maCodeCache + 1, RedisUtils.HOUR_ONE_EXPIRE);
// return;
// }
//
// int maCode = getUnitNewCode(entity.getBuildingId(), entity.getUnit());
// entity.setUnitMaCode(maCode);
// redisUtils.set(key, maCode, RedisUtils.HOUR_ONE_EXPIRE);
// redisUtils.set(nextKey, maCode + 1, RedisUtils.HOUR_ONE_EXPIRE);
// }
private void updateRoomMaCode(EpidemicBuildingUnitEntity entity) {
String key = RedisKeys.getMaRoomCodeKey(entity.getBuildingId().toString(), entity.getUnit());
Object obj = redisUtils.get(key);
if (null != obj) {
int maCodeCache = (int) obj;
maCodeCache = maCodeCache + 1;
entity.setRoomMaCode(maCodeCache);
redisUtils.set(key, maCodeCache, RedisUtils.HOUR_ONE_EXPIRE);
return;
}
int maCode = getRoomMaxCode(entity.getBuildingId(), entity.getUnit());
maCode = maCode + 1;
entity.setRoomMaCode(maCode);
redisUtils.set(key, maCode, RedisUtils.HOUR_ONE_EXPIRE);
}
@Override
public Result createBatchHouseCodeAndUrl() {
epidemicPlotBuildingService.updateMaCode();
@ -610,7 +682,7 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
epidemicUserInfoService.updateBatchById(updateList);
}
// 补充人房关系
int roomCode = getMaxCode();
List<EpidemicUnitInfoResultDTO> unitList = listAllUnitInfo(parentAndAllDeptDTO.getGrid());
List<EpidemicUnitOwnerEntity> addOwner = new ArrayList<>();
for (EpidemicUserInfoEntity item : addList) {
@ -634,9 +706,12 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
unitEntity.setOwnerName(item.getUserName());
unitEntity.setMobile(item.getMobile());
unitEntity.setRoomType(NumConstant.ONE_STR);
// int unitCode = getUnitNewCode(buildingOptional.get().getId(), item.getUnit().trim().toUpperCase());
// unitEntity.setUnitMaCode(unitCode);
int roomCode = getRoomMaxCode(buildingOptional.get().getId(), item.getUnit().trim().toUpperCase());
roomCode = roomCode + 1;
unitEntity.setRoomMaCode(roomCode);
unitEntity.setRoomCode(getRoomCode(buildingOptional.get().getBuildingMaCode(), roomCode));
unitEntity.setRoomCode(getRoomCode(buildingOptional.get().getPlotMaCode(), buildingOptional.get().getBuildingMaCode(), roomCode));
unitEntity.setGridId(parentAndAllDeptDTO.getGridId().toString());
unitEntity.setGridName(parentAndAllDeptDTO.getGrid());
unitEntity.setCommunityId(parentAndAllDeptDTO.getCommunityId().toString());
@ -691,9 +766,12 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
unitEntity.setOwnerName(item.getUserName());
unitEntity.setMobile(item.getMobile());
unitEntity.setRoomType(NumConstant.ONE_STR);
// int unitCode = getUnitNewCode(buildingOptional.get().getId(), item.getUnit().trim().toUpperCase());
// unitEntity.setUnitMaCode(unitCode);
int roomCode = getRoomMaxCode(buildingOptional.get().getId(), item.getUnit().trim().toUpperCase());
roomCode = roomCode + 1;
unitEntity.setRoomMaCode(roomCode);
unitEntity.setRoomCode(getRoomCode(buildingOptional.get().getBuildingMaCode(), roomCode));
unitEntity.setRoomCode(getRoomCode(buildingOptional.get().getPlotMaCode(), buildingOptional.get().getBuildingMaCode(), roomCode));
unitEntity.setGridId(parentAndAllDeptDTO.getGridId().toString());
unitEntity.setGridName(parentAndAllDeptDTO.getGrid());
unitEntity.setCommunityId(parentAndAllDeptDTO.getCommunityId().toString());
@ -716,9 +794,9 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
}
private String getRoomCode(Integer buildingMaCode, Integer roomMaCode) {
private String getRoomCode(Integer plotMaCode, Integer buildingMaCode, Integer roomMaCode) {
String orgId = "370211010042";
return orgId.concat(String.format("%05d", buildingMaCode).concat(String.format("%05d", roomMaCode)));
return orgId.concat(String.format("%03d", plotMaCode)).concat(String.format("%03d", buildingMaCode).concat(String.format("%05d", roomMaCode)));
}
@Override
@ -751,6 +829,11 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
return new Result();
}
@Override
public EpidemicBuildingUnitDetailResultDTO getUnitInfo(EpidemicBuildingUnitDTO formDTO) {
return baseDao.getUnitInfo(formDTO);
}
public String createHouseQrCodeUrl(String roomCode, String name) throws Exception {
//url组成:小程序地址?房屋编码
String url = qrCodeProperties.getPre() + roomCode;

6
epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInoutRecordDao.xml

@ -423,5 +423,11 @@
and ID_CARD=#{idcard}
order by CREATED_TIME desc limit 1
</select>
<delete id="deleteByIds">
delete from epidemic_user_inout_record where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

51
epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml

@ -177,11 +177,41 @@
</if>
</select>
<select id="getMaxCode" resultType="java.lang.Integer">
<select id="getRoomMaxCode" resultType="java.lang.Integer">
SELECT
MAX( ROOM_MA_CODE )
FROM
epidemic_building_unit
WHERE
DEL_FLAG = '0'
<if test="buildingId != null and buildingId !=''">
AND BUILDING_ID = #{buildingId}
</if>
<if test="unit != null and unit !=''">
AND UNIT = #{unit}
</if>
</select>
<select id="getUnitMaxCode" resultType="java.lang.Integer">
SELECT
MAX( ROOM_MA_CODE )
FROM
epidemic_building_unit
WHERE
DEL_FLAG = '0'
AND BUILDING_ID = #{buildingId}
</select>
<select id="getUnitCode" resultType="java.lang.Integer">
SELECT
ROOM_MA_CODE
FROM
epidemic_building_unit
WHERE
DEL_FLAG = '0'
AND BUILDING_ID = #{buildingId}
AND UNIT = #{unit}
LIMIT 1
</select>
<select id="getErrorRoom" resultType="com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity">
@ -248,4 +278,23 @@
and u.ROOM_CODE = #{roomCode}
</if>
</select>
<select id="getUnitInfo" resultType="com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO">
SELECT
bu.*,
pb.BUILDING_NAME,
pb.PLOT_ID,
pc.PLOT_NAME
FROM
epidemic_unit_owner o
LEFT JOIN epidemic_building_unit bu ON o.UNIT_ID = bu.id
LEFT JOIN epidemic_plot_building pb ON bu.BUILDING_ID = pb.ID
LEFT JOIN epidemic_plot_coordinate pc ON pb.PLOT_ID = pc.ID
WHERE
o.ID_CARD = #{idCard}
AND pc.GRID_ID = #{gridId}
ORDER BY
CREATED_TIME DESC
LIMIT 1
</select>
</mapper>

2
epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml

@ -179,6 +179,7 @@
p.id AS plotId,
b.GRID_ID,
b.BUILDING_MA_CODE,
p.PLOT_MA_CODE,
p.PLOT_NAME
FROM
epidemic_plot_building b
@ -196,6 +197,7 @@
FROM
epidemic_plot_building
WHERE
DEL_FLAG = '0' AND
PLOT_ID = #{plotId}
</select>
</mapper>

2
epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml

@ -169,6 +169,8 @@
MAX( ROOM_MA_CODE )
FROM
epidemic_plot_coordinate
WHERE
DEL_FLAG = '0'
</select>
</mapper>

Loading…
Cancel
Save