zjh
2024-04-01 01e85e31bef040a5bbca4966872467736c25a53b
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjBigPositiveController.java
@@ -6,8 +6,17 @@
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.hosp.domain.TjOrderDetail;
import com.ltkj.hosp.service.ITjOrderDetailService;
import com.ltkj.hosp.service.ITjProjectService;
import com.ltkj.hosp.service.TjAsyncService;
import com.ltkj.system.domain.SysPost;
import com.ltkj.system.domain.SysUserPost;
import com.ltkj.system.service.ISysPostService;
import com.ltkj.system.service.ISysUserPostService;
import com.ltkj.system.service.ISysUserService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -41,7 +50,17 @@
    @Resource
    private ITjOrderDetailService detailService;
    @Resource
    private ISysUserService userService;
    @Resource
    private ITjProjectService projectService;
    @Resource
    private ISysUserPostService userPostService;
    @Resource
    private ISysPostService postService;
    @Resource
    private TjAsyncService asyncService;
    /**
     * 查询重大阳性记录列表
     */
@@ -57,28 +76,68 @@
     */
    @PostMapping
    public AjaxResult add(@RequestBody TjBigPositive tjBigPositive) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        Integer ksId = null;
            if (null != sysUser) {
                ksId = Math.toIntExact(sysUser.getDeptId());
            }
        if (ksId == null) {
            return AjaxResult.error("请输入科室id");
        }
        //根据当前登陆的人的科室id,获取该科室下的所有项目
        List<Long> postIds = sysUser.getPostIds();
        List<Long> ksproList = null;
        if (postIds != null) {
            for (Long postId : postIds) {
                LambdaQueryWrapper<SysUserPost> wq111 = new LambdaQueryWrapper<>();
                wq111.eq(SysUserPost::getPostId, postId);
                SysUserPost one = userPostService.getOne(wq111);
                if (one != null) {
                    SysPost byId = postService.getById(one.getPostId());
                    if (byId.getPostName().equals("录入员")) {
                        ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId));
                    }
                }
            }
        } else {
            ksproList = projectService.getKsTjProjectIdList();
        }
        if (ksproList == null || ksproList.size() == 0) {
            return AjaxResult.error("请完善科室项目信息");
        }
        if ("1".equals(tjBigPositive.getFlag())){
            LambdaQueryWrapper<TjBigPositive> wq=new LambdaQueryWrapper<>();
            wq.eq(TjBigPositive::getTjNumber,tjBigPositive.getTjNumber());
            wq.eq(TjBigPositive::getProParentId,tjBigPositive.getProParentId());
            wq.eq(TjBigPositive::getProId,tjBigPositive.getProId());
            final List<TjBigPositive> list = tjBigPositiveService.list(wq);
            LambdaQueryWrapper<TjOrderDetail> wqq=new LambdaQueryWrapper<>();
            wqq.eq(TjOrderDetail::getProId,tjBigPositive.getProId());
            wqq.eq(TjOrderDetail::getOrderId,tjBigPositive.getOrderId());
            wqq.last("limit 1");
            TjOrderDetail tjOrderDetails = detailService.getOne(wqq);
            if (list==null||list.size()==0){
                tjBigPositiveService.save(tjBigPositive);
                //更改detail表状态
                LambdaQueryWrapper<TjOrderDetail> wqq=new LambdaQueryWrapper<>();
                wqq.eq(TjOrderDetail::getProId,tjBigPositive.getProId());
                wqq.eq(TjOrderDetail::getOrderId,tjBigPositive.getOrderId());
                wqq.last("limit 1");
                TjOrderDetail tjOrderDetails = detailService.getOne(wqq);
                if (tjOrderDetails!=null){
                    tjOrderDetails.setIsPositive(Long.valueOf(1));
                    tjOrderDetails.setIsPositive(1L);
                    detailService.updateById(tjOrderDetails);
                    //更新缓存
                    asyncService.updateOrdeltile2(tjOrderDetails, sysUser);
                    asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
                    return AjaxResult.success("添加成功");
                }
                return AjaxResult.error("出错了,请联系工作人员");
            }else {
                tjBigPositiveService.updateById(tjBigPositive);
                //更新缓存
//                asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
                if (tjOrderDetails!=null){
                    asyncService.updateOrdeltile2(tjOrderDetails, sysUser);
                    asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
                }
                return AjaxResult.success("添加成功");
            }
        }else if ("0".equals(tjBigPositive.getFlag())){
@@ -96,6 +155,9 @@
            if (tjOrderDetails!=null){
                tjOrderDetails.setIsPositive(Long.valueOf(0));
                detailService.updateById(tjOrderDetails);
                //更新缓存
                asyncService.updateOrdeltile2(tjOrderDetails, sysUser);
                asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
                return AjaxResult.success("删除成功");
            }
            return AjaxResult.error("出错了,请联系工作人员");