Browse Source

【核酸】核酸检测

dev
sunyuchao 3 years ago
parent
commit
3306ec74ea
  1. 13
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java
  2. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java
  3. 12
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java
  4. 52
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java
  5. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java
  6. 64
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java
  7. 107
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  8. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml

13
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java

@ -2,6 +2,9 @@ package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@ -65,6 +68,7 @@ public class IcNatDTO implements Serializable {
/**
* 检测时间精确到分钟
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date natTime;
/**
@ -122,4 +126,13 @@ public class IcNatDTO implements Serializable {
*/
private Date updatedTime;
/**
* 通知渠道 0小程序通知1短信通知多选是数组
*/
private List<String> channel;
/**
* 通知内容
*/
private String content;
}

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java

@ -20,6 +20,10 @@ public class AddIcNatFormDTO implements Serializable {
public interface Nat extends CustomerClientShowGroup {
}
/**
* 核酸记录Id,修改时使用
*/
private String icNatId;
/**
* 当前网格所属组织Id
*/

12
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java

@ -16,6 +16,12 @@ public class MyNatListFormDTO implements Serializable {
public interface MyNat extends CustomerClientShowGroup {
}
public interface Detail extends CustomerClientShowGroup {
}
public interface Del extends CustomerClientShowGroup {
}
public interface Synchro extends CustomerClientShowGroup {
}
/**
* 身份证号
@ -49,6 +55,12 @@ public class MyNatListFormDTO implements Serializable {
private Integer pageNo = 1;
private Integer pageSize = 10;
/**
* 核酸记录Id
*/
@NotBlank(message = "核酸记录Id不能为空", groups = { Detail.class, Del.class, Synchro.class})
private String icNatId;
//token信息
private String customerId;
private String userId;

52
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java

@ -36,43 +36,6 @@ public class IcNatController {
@Autowired
private IcNatService icNucleinService;
@RequestMapping("page")
public Result<PageData<IcNatDTO>> page(@RequestParam Map<String, Object> params) {
PageData<IcNatDTO> page = icNucleinService.page(params);
return new Result<PageData<IcNatDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<IcNatDTO> get(@PathVariable("id") String id) {
IcNatDTO data = icNucleinService.get(id);
return new Result<IcNatDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcNatDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icNucleinService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcNatDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icNucleinService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icNucleinService.delete(ids);
return new Result();
}
/**
* @Author sun
@ -117,8 +80,9 @@ public class IcNatController {
**/
@NoRepeatSubmit
@PostMapping("detail")
public Result<NatListResultDTO> detail(@RequestBody MyNatListFormDTO formDTO) {
return new Result<NatListResultDTO>().ok(icNucleinService.detail(formDTO));
public Result<IcNatDTO> detail(@RequestBody MyNatListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class);
return new Result<IcNatDTO>().ok(icNucleinService.detail(formDTO));
}
/**
@ -127,7 +91,7 @@ public class IcNatController {
**/
@NoRepeatSubmit
@PostMapping("edit")
public Result edit(@RequestBody MyNatListFormDTO formDTO) {
public Result edit(@RequestBody AddIcNatFormDTO formDTO) {
icNucleinService.edit(formDTO);
return new Result();
}
@ -138,7 +102,8 @@ public class IcNatController {
**/
@NoRepeatSubmit
@PostMapping("del")
public Result<NatListResultDTO> del(@RequestBody MyNatListFormDTO formDTO) {
public Result del(@RequestBody MyNatListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class);
icNucleinService.del(formDTO);
return new Result<>();
}
@ -149,7 +114,10 @@ public class IcNatController {
**/
@NoRepeatSubmit
@PostMapping("synchro")
public Result synchro(@RequestBody MyNatListFormDTO formDTO) {
public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
icNucleinService.synchro(formDTO);
return new Result();
}

8
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java

@ -6,12 +6,12 @@ import com.epmet.dto.result.MyNatListResultDTO;
import com.epmet.dto.result.NatListResultDTO;
import com.epmet.entity.IcNatEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 核酸上报记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-03-25
@ -30,4 +30,10 @@ public interface IcNatDao extends BaseDao<IcNatEntity> {
* @Description 核酸核酸检测信息列表
**/
List<NatListResultDTO.NatListDTO> getNatList(MyNatListFormDTO formDTO);
/**
* @Author sun
* @Description 删除/取消同步操作--物理删除业务数据
**/
boolean delById(@Param("icNatId") String icNatId);
}

64
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java

@ -20,66 +20,6 @@ import java.util.Map;
*/
public interface IcNatService extends BaseService<IcNatEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcNucleinDTO>
* @author generator
* @date 2022-03-25
*/
PageData<IcNatDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcNucleinDTO>
* @author generator
* @date 2022-03-25
*/
List<IcNatDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcNucleinDTO
* @author generator
* @date 2022-03-25
*/
IcNatDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-03-25
*/
void save(IcNatDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-03-25
*/
void update(IcNatDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-03-25
*/
void delete(String[] ids);
/**
* @Author sun
* @Description 核酸检测-上报核酸记录
@ -102,13 +42,13 @@ public interface IcNatService extends BaseService<IcNatEntity> {
* @Author sun
* @Description 核酸核酸检测信息详情
**/
NatListResultDTO detail(MyNatListFormDTO formDTO);
IcNatDTO detail(MyNatListFormDTO formDTO);
/**
* @Author sun
* @Description 核酸核酸检测信息修改
**/
void edit(MyNatListFormDTO formDTO);
void edit(AddIcNatFormDTO formDTO);
/**
* @Author sun

107
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java

@ -6,6 +6,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
@ -23,6 +24,7 @@ import com.epmet.entity.IcNatEntity;
import com.epmet.service.IcNatService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -38,61 +40,10 @@ import java.util.Map;
* @since v1.0.0 2022-03-25
*/
@Service
@Slf4j
public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> implements IcNatService {
@Override
public PageData<IcNatDTO> page(Map<String, Object> params) {
IPage<IcNatEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcNatDTO.class);
}
@Override
public List<IcNatDTO> list(Map<String, Object> params) {
List<IcNatEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcNatDTO.class);
}
private QueryWrapper<IcNatEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcNatEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcNatDTO get(String id) {
IcNatEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcNatDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcNatDTO dto) {
IcNatEntity entity = ConvertUtils.sourceToTarget(dto, IcNatEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcNatDTO dto) {
IcNatEntity entity = ConvertUtils.sourceToTarget(dto, IcNatEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Author sun
* @Description 核酸检测-上报核酸记录
@ -158,9 +109,19 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
* @Description 核酸核酸检测信息详情
**/
@Override
public NatListResultDTO detail(MyNatListFormDTO formDTO) {
public IcNatDTO detail(MyNatListFormDTO formDTO) {
IcNatDTO resultDTO = new IcNatDTO();
//1.查询核酸记录信息
IcNatEntity entity = baseDao.selectById(formDTO.getIcNatId());
if (null == resultDTO) {
return resultDTO;
}
resultDTO = ConvertUtils.sourceToTarget(entity, IcNatDTO.class);
return null;
//2.查询对应的通知记录信息
//TODO
return resultDTO;
}
/**
@ -168,8 +129,18 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
* @Description 核酸核酸检测信息修改
**/
@Override
public void edit(MyNatListFormDTO formDTO) {
public void edit(AddIcNatFormDTO formDTO) {
//1.更新核酸记录表数据
IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class);
if (!updateById(entity)) {
log.error(String.format("数据修改失败,核酸记录Id->", formDTO.getIcNatId()));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败");
}
//3.新增通知表信息
if (formDTO.getChannel().size() > NumConstant.ZERO) {
//TODO
}
}
/**
@ -178,7 +149,11 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
**/
@Override
public void del(MyNatListFormDTO formDTO) {
//1.物理删除业务数据
if (baseDao.delById(formDTO.getIcNatId())) {
log.error(String.format("数据删除/取消同步失败,核酸记录Id->", formDTO.getIcNatId()));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据操作失败");
}
}
/**
@ -187,7 +162,25 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
**/
@Override
public void synchro(MyNatListFormDTO formDTO) {
//1.根据核酸记录Id查询业务数据并进行必要校验
IcNatEntity entity = baseDao.selectById(formDTO.getIcNatId());
if (null == entity || formDTO.getAgencyId().equals(entity.getAgencyId())
|| (!"import".equals(entity.getUserType()) && !"synchro".equals(entity.getUserType()))) {
log.error(String.format("数据同步失败,核酸记录Id->", formDTO.getIcNatId()));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,不是导入数据或非本组织数据");
}
//2.获取工作人员缓存数据
//获取工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId()));
}
//3.待同步组织新增业务数据
entity.setId("");
entity.setAgencyId(staffInfo.getAgencyId());
entity.setPids(staffInfo.getAgencyPIds());
entity.setUserType("synchro");
insert(entity);
}
}

4
epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml

@ -61,4 +61,8 @@
</if>
</select>
<delete id="delById">
DELETE FROM ic_nat WHERE id = #{icNatId}
</delete>
</mapper>
Loading…
Cancel
Save