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.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; 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; private Date natTime;
/** /**
@ -122,4 +126,13 @@ public class IcNatDTO implements Serializable {
*/ */
private Date updatedTime; 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 { public interface Nat extends CustomerClientShowGroup {
} }
/**
* 核酸记录Id,修改时使用
*/
private String icNatId;
/** /**
* 当前网格所属组织Id * 当前网格所属组织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 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 pageNo = 1;
private Integer pageSize = 10; private Integer pageSize = 10;
/**
* 核酸记录Id
*/
@NotBlank(message = "核酸记录Id不能为空", groups = { Detail.class, Del.class, Synchro.class})
private String icNatId;
//token信息 //token信息
private String customerId; private String customerId;
private String userId; 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 @Autowired
private IcNatService icNucleinService; 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 * @Author sun
@ -117,8 +80,9 @@ public class IcNatController {
**/ **/
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("detail") @PostMapping("detail")
public Result<NatListResultDTO> detail(@RequestBody MyNatListFormDTO formDTO) { public Result<IcNatDTO> detail(@RequestBody MyNatListFormDTO formDTO) {
return new Result<NatListResultDTO>().ok(icNucleinService.detail(formDTO)); ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class);
return new Result<IcNatDTO>().ok(icNucleinService.detail(formDTO));
} }
/** /**
@ -127,7 +91,7 @@ public class IcNatController {
**/ **/
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("edit") @PostMapping("edit")
public Result edit(@RequestBody MyNatListFormDTO formDTO) { public Result edit(@RequestBody AddIcNatFormDTO formDTO) {
icNucleinService.edit(formDTO); icNucleinService.edit(formDTO);
return new Result(); return new Result();
} }
@ -138,7 +102,8 @@ public class IcNatController {
**/ **/
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("del") @PostMapping("del")
public Result<NatListResultDTO> del(@RequestBody MyNatListFormDTO formDTO) { public Result del(@RequestBody MyNatListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class);
icNucleinService.del(formDTO); icNucleinService.del(formDTO);
return new Result<>(); return new Result<>();
} }
@ -149,7 +114,10 @@ public class IcNatController {
**/ **/
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("synchro") @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); icNucleinService.synchro(formDTO);
return new Result(); 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.dto.result.NatListResultDTO;
import com.epmet.entity.IcNatEntity; import com.epmet.entity.IcNatEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
/** /**
* 核酸上报记录 * 核酸上报记录
* *
* @author generator generator@elink-cn.com * @author generator generator@elink-cn.com
* @since v1.0.0 2022-03-25 * @since v1.0.0 2022-03-25
@ -30,4 +30,10 @@ public interface IcNatDao extends BaseDao<IcNatEntity> {
* @Description 核酸核酸检测信息列表 * @Description 核酸核酸检测信息列表
**/ **/
List<NatListResultDTO.NatListDTO> getNatList(MyNatListFormDTO formDTO); 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> { 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 * @Author sun
* @Description 核酸检测-上报核酸记录 * @Description 核酸检测-上报核酸记录
@ -102,13 +42,13 @@ public interface IcNatService extends BaseService<IcNatEntity> {
* @Author sun * @Author sun
* @Description 核酸核酸检测信息详情 * @Description 核酸核酸检测信息详情
**/ **/
NatListResultDTO detail(MyNatListFormDTO formDTO); IcNatDTO detail(MyNatListFormDTO formDTO);
/** /**
* @Author sun * @Author sun
* @Description 核酸核酸检测信息修改 * @Description 核酸核酸检测信息修改
**/ **/
void edit(MyNatListFormDTO formDTO); void edit(AddIcNatFormDTO formDTO);
/** /**
* @Author sun * @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.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; 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.EpmetException;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
@ -23,6 +24,7 @@ import com.epmet.entity.IcNatEntity;
import com.epmet.service.IcNatService; import com.epmet.service.IcNatService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -38,61 +40,10 @@ import java.util.Map;
* @since v1.0.0 2022-03-25 * @since v1.0.0 2022-03-25
*/ */
@Service @Service
@Slf4j
public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> implements IcNatService { 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 * @Author sun
* @Description 核酸检测-上报核酸记录 * @Description 核酸检测-上报核酸记录
@ -158,9 +109,19 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
* @Description 核酸核酸检测信息详情 * @Description 核酸核酸检测信息详情
**/ **/
@Override @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 核酸核酸检测信息修改 * @Description 核酸核酸检测信息修改
**/ **/
@Override @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 @Override
public void del(MyNatListFormDTO formDTO) { 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 @Override
public void synchro(MyNatListFormDTO formDTO) { 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> </if>
</select> </select>
<delete id="delById">
DELETE FROM ic_nat WHERE id = #{icNatId}
</delete>
</mapper> </mapper>
Loading…
Cancel
Save