添加查询最近送检人信息的功能

master
杨海航 4 days ago
parent 6f79db7507
commit df871e57ea
  1. 21
      src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentController.java
  2. 3
      src/main/java/digital/laboratory/platform/entrustment/service/EntrustmentService.java
  3. 49
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java

@ -187,8 +187,8 @@ public class EntrustmentController {
.in((statuses != null) && (statuses.size() > 0), "e.status", statuses)
.eq(dataSources != null, "e.data_sources", dataSources)
.like(StrUtil.isNotBlank(caseName), "c.case_name", caseName)
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 9, "CAST(SUBSTRING(e.accept_no, 1,4) AS UNSIGNED)","CAST(SUBSTRING(e.accept_no, 6) AS UNSIGNED)")
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 7, "CAST(SUBSTRING(e.entrustment_no, 4,4) AS UNSIGNED)","CAST(SUBSTRING(e.entrustment_no, 9) AS UNSIGNED)")
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 9, "CAST(SUBSTRING(e.accept_no, 1,4) AS UNSIGNED)", "CAST(SUBSTRING(e.accept_no, 6) AS UNSIGNED)")
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 7, "CAST(SUBSTRING(e.entrustment_no, 4,4) AS UNSIGNED)", "CAST(SUBSTRING(e.entrustment_no, 9) AS UNSIGNED)")
);
} else {
//-- 当前用户是普通用户, 不是鉴定中心员工
@ -1500,7 +1500,7 @@ public class EntrustmentController {
@SysLog("创建鉴定委托书")
@GetMapping("/el")
// @PreAuthorize("@pms.hasPermission('EntrustmentEdit')")
public String bizGetPDFEntrustmentLetter(String id, HttpServletRequest theHttpServletRequest, HttpServletResponse httpServletResponse) {
public String bizGetPDFEntrustmentLetter(String id, HttpServletRequest theHttpServletRequest, HttpServletResponse httpServletResponse) {
return entrustmentService.bizGetPDFEntrustmentLetter(id, theHttpServletRequest, httpServletResponse);
}
@ -2294,7 +2294,7 @@ public class EntrustmentController {
@DeleteMapping("del_delivePhoto_base64")
@ApiOperation(value = "删除送检人照片", notes = "删除送检人照片")
public R delDeliverPhoto( String id,String fileName) throws Exception {
public R delDeliverPhoto(String id, String fileName) throws Exception {
String path = OSSDirectoryConstants.ACCEPT_DIRECTORY + "/" + id + "/" + "deliverPhoto/" + fileName;
ossFile.fileDelete(path);
return R.ok("删除成功!");
@ -2344,7 +2344,7 @@ public class EntrustmentController {
@PutMapping("/editRequirement")
@ApiOperation(value = "修改鉴定要求")
public R editRequirement(@RequestBody Entrustment entrustment){
public R editRequirement(@RequestBody Entrustment entrustment) {
Entrustment entst = entrustmentService.getById(entrustment.getId());
entst.setEntrustRequirement(entrustment.getEntrustRequirement());
return entrustmentService.updateById(entst) ? R.ok("修改成功") : R.failed("修改失败");
@ -2353,7 +2353,7 @@ public class EntrustmentController {
@ApiOperation("根据委托时间去修改一些时间类型的字段信息,例如 submit_time、check_claim_time、check_time、approve_claim_time、approve_time、" +
"deliver_confirm_time、accept_claim_time、accept_time、create_time以及process_info字段中的time类型的数据")
@PutMapping("/alertTimeFiledInfoByEntrustDate")
public R alertTimeFiledInfoByEntrustDate(@RequestBody Entrustment entrustment){
public R alertTimeFiledInfoByEntrustDate(@RequestBody Entrustment entrustment) {
boolean success = entrustmentService.alertTimeFiledInfoByEntrustDate(entrustment);
return success ? R.ok("修改成功") : R.failed("修改失败");
}
@ -2368,4 +2368,13 @@ public class EntrustmentController {
return R.ok(allowSubmit, "有检材未保存,请先保存检材后在提交!");
}
}
@ApiOperation("通过用户查询对应的委托单位ID,再根据这个委托单位查询出最近一条含有送检人信息的数据")
@GetMapping("/getDelivererList")
public R getDelivererList(HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
return R.ok(entrustmentService.getDelivererList(dlpUser), "数据查询成功!");
}
}

@ -11,6 +11,7 @@ import digital.laboratory.platform.entrustment.dto.EntrustmentDTO;
import digital.laboratory.platform.entrustment.entity.Entrustment;
import digital.laboratory.platform.entrustment.entity.EntrustmentIdentificationMaterial;
import digital.laboratory.platform.entrustment.vo.EntrustmentVO;
import digital.laboratory.platform.sys.entity.Deliverer;
import digital.laboratory.platform.sys.entity.SysUser;
import digital.laboratory.platform.sys.vo.entrustment.MarkersVO;
import digital.laboratory.platform.sys.entity.entrustment.Sample;
@ -206,4 +207,6 @@ public interface EntrustmentService extends IService<Entrustment> {
* @return
*/
Boolean isEligibleForSubmission(String entrustId, Integer materialCount);
List<Deliverer> getDelivererList(DLPUser dlpUser);
}

@ -3568,4 +3568,53 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
entrustmentIdentificationMaterial.setAcceptTime(null);
return entrustmentIdentificationMaterial;
}
/**
* 根据给定的DLP用户获取相关的配送员信息
*
* @param dlpUser DLP用户对象用于获取组织ID
* @return 返回包含两个配送员信息的列表如果没有找到相关记录则返回null
*/
@Override
public List<Deliverer> getDelivererList(DLPUser dlpUser) {
// 从DLP用户对象中获取组织ID
String orgId = dlpUser.getOrgId();
// 查询数据库以获取与当前组织ID匹配且有指定配送员信息的委托记录列表,
// 按创建时间降序排列。
List<Entrustment> list = this.list(Wrappers.<Entrustment>lambdaQuery()
.eq(Entrustment::getClientOrgId, orgId)
.isNotNull(Entrustment::getDeliverer1Name) // 确保第一个配送员名字不为空
.isNotNull(Entrustment::getDeliverer2Name) // 确保第二个配送员名字不为空
.orderByDesc(Entrustment::getCreateTime)); // 按创建时间降序
// 如果查询结果不为空且至少有一个条目
if (list != null && list.size() > 0) {
Entrustment entrustment = list.get(0); // 获取最新的一条记录
List<Deliverer> deliverers = new ArrayList<>(); // 创建一个列表来保存配送员信息
// 设置第一个配送员的信息,并加入到列表中
Deliverer deliverer1 = new Deliverer();
deliverer1.setCert(entrustment.getDeliverer1Cert());
deliverer1.setName(entrustment.getDeliverer1Name());
deliverer1.setPhone(entrustment.getDeliverer1Phone());
deliverer1.setPosition(entrustment.getDeliverer1Position());
// 设置第二个配送员的信息,并加入到列表中
Deliverer deliverer2 = new Deliverer();
deliverer2.setCert(entrustment.getDeliverer2Cert());
deliverer2.setName(entrustment.getDeliverer2Name());
deliverer2.setPhone(entrustment.getDeliverer2Phone());
deliverer2.setPosition(entrustment.getDeliverer2Position());
deliverers.add(deliverer1);
deliverers.add(deliverer2);
return deliverers; // 返回包含两个配送员信息的列表
} else {
return null; // 如果没有找到相关记录,则返回null
}
}
}

Loading…
Cancel
Save