Browse Source

【核酸】核酸检测

dev
sunyuchao 3 years ago
parent
commit
4740324be7
  1. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java
  2. 7
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java
  3. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java
  4. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java
  5. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java
  6. 26
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  7. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml

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

@ -1,6 +1,7 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -129,10 +130,10 @@ public class IcNatDTO implements Serializable {
/**
* 通知渠道 0小程序通知1短信通知多选是数组
*/
private List<String> channel;
private List<String> channel = new ArrayList<>();
/**
* 通知内容
*/
private String content;
private String content = "";
}

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

@ -6,6 +6,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -56,7 +57,7 @@ public class AddIcNatFormDTO implements Serializable {
/**
* 检测时间
*/
@NotBlank(message = "检测时间不能为空", groups = Nat.class)
//@NotBlank(message = "检测时间不能为空", groups = Nat.class)
@JsonFormat(pattern="yyyy-MM-dd HH:mm")
private Date natTime;
/**
@ -83,11 +84,11 @@ public class AddIcNatFormDTO implements Serializable {
/**
* 通知渠道 0小程序通知1短信通知多选是数组
*/
private List<String> channel;
private List<String> channel = new ArrayList<>();
/**
* 通知内容
*/
private String content;
private String content = "";
//token中信息
private String customerId;

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

@ -41,7 +41,7 @@ public class IcNatController {
* @Author sun
* @Description 核酸检测-上报核酸记录
**/
@NoRepeatSubmit
//@NoRepeatSubmit
@PostMapping("add")
public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class);

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

@ -35,5 +35,5 @@ public interface IcNatDao extends BaseDao<IcNatEntity> {
* @Author sun
* @Description 删除/取消同步操作--物理删除业务数据
**/
boolean delById(@Param("icNatId") String icNatId);
int delById(@Param("icNatId") String icNatId);
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java

@ -74,7 +74,7 @@ public class IcNatEntity extends BaseEpmetEntity {
/**
* 检测地点
*/
private String natOAddress;
private String natAddress;
/**
* 文件名

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

@ -49,6 +49,7 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
* @Description 核酸检测-上报核酸记录
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void add(AddIcNatFormDTO formDTO) {
//1.获取所填居民所属组织缓存信息
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId());
@ -63,6 +64,8 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
//3.新增通知表信息
if (formDTO.getChannel().size() > NumConstant.ZERO) {
//TODO
}
}
@ -132,8 +135,9 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
public void edit(AddIcNatFormDTO formDTO) {
//1.更新核酸记录表数据
IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class);
entity.setId(formDTO.getIcNatId());
if (!updateById(entity)) {
log.error(String.format("数据修改失败,核酸记录Id->", formDTO.getIcNatId()));
log.error(String.format("数据修改失败,核酸记录Id->%s", formDTO.getIcNatId()));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败");
}
@ -150,8 +154,8 @@ 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()));
if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) {
log.error(String.format("数据删除/取消同步失败,核酸记录Id->%s", formDTO.getIcNatId()));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据操作失败");
}
}
@ -162,19 +166,19 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
**/
@Override
public void synchro(MyNatListFormDTO formDTO) {
//1.获取工作人员缓存数据
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId()));
}
//1.根据核酸记录Id查询业务数据并进行必要校验
IcNatEntity entity = baseDao.selectById(formDTO.getIcNatId());
if (null == entity || formDTO.getAgencyId().equals(entity.getAgencyId())
if (null == entity || staffInfo.getAgencyId().equals(entity.getAgencyId())
|| (!"import".equals(entity.getUserType()) && !"synchro".equals(entity.getUserType()))) {
log.error(String.format("数据同步失败,核酸记录Id->", formDTO.getIcNatId()));
log.error(String.format("数据同步失败,核酸记录Id->%s", 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());

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

@ -22,6 +22,7 @@
del_flag = '0'
AND customer_id = #{customerId}
AND id_card = #{idCard}
ORDER BY nat_time DESC
</select>
<select id="getNatList" resultType="com.epmet.dto.result.NatListResultDTO$NatListDTO">
@ -59,6 +60,7 @@
<if test='null != endTime and "" != endTime'>
AND nat_time <![CDATA[ <= ]]> #{endTime}
</if>
ORDER BY nat_time, id_card DESC
</select>
<delete id="delById">

Loading…
Cancel
Save