From 2cef955017c735c2828e69f878d3d6b44200074f Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 22 八月 2023 16:54:57 +0800
Subject: [PATCH] 111

---
 server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
index d0fa52f..59a226b 100644
--- a/server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
@@ -1,20 +1,33 @@
 package doumeemes.service.business.impl;
 
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import doumeemes.core.constants.ResponseStatus;
+import doumeemes.core.exception.BusinessException;
+import doumeemes.core.model.LoginUserInfo;
 import doumeemes.core.model.PageData;
 import doumeemes.core.model.PageWrap;
+import doumeemes.core.utils.Constants;
 import doumeemes.core.utils.Utils;
 import doumeemes.dao.business.UnqualifiedRecordMapper;
-import doumeemes.dao.business.model.UnqualifiedRecord;
+import doumeemes.dao.business.model.*;
+import doumeemes.dao.ext.dto.QueryUnQualifiedRecordDTO;
+import doumeemes.dao.system.dto.QuerySystemLoginLogDTO;
+import doumeemes.dao.ext.join.UnQualifiedRecordJoinMapper;
+import doumeemes.dao.system.model.SystemLoginLog;
+import doumeemes.dao.system.model.SystemUser;
 import doumeemes.service.business.UnqualifiedRecordService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛⊿ervice瀹炵幇
@@ -26,6 +39,10 @@
 
     @Autowired
     private UnqualifiedRecordMapper unqualifiedRecordMapper;
+
+    @Autowired
+    private UnQualifiedRecordJoinMapper unQualifiedRecordJoinMapper;
+
 
     @Override
     public Integer create(UnqualifiedRecord unqualifiedRecord) {
@@ -121,4 +138,46 @@
         QueryWrapper<UnqualifiedRecord> wrapper = new QueryWrapper<>(unqualifiedRecord);
         return unqualifiedRecordMapper.selectCount(wrapper);
     }
+
+
+    @Override
+    public PageData<UnqualifiedRecord> findJoinPage(PageWrap<QueryUnQualifiedRecordDTO> pageWrap) {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎮ㄦ棤鏉冮檺杩涜璇ユ搷浣滐紒");
+        }
+
+        IPage<UnqualifiedRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<UnqualifiedRecord> mpjLambdaWrapper = new MPJLambdaWrapper<>();
+        mpjLambdaWrapper.selectAll(UnqualifiedRecord.class);
+        mpjLambdaWrapper.selectAs(Workorder::getCode, UnqualifiedRecord::getWorkOrderCode);
+        mpjLambdaWrapper.selectAs(Material::getCode, UnqualifiedRecord::getMaterialName);
+        mpjLambdaWrapper.selectAs(Workorder::getCode, UnqualifiedRecord::getMaterialCode);
+        mpjLambdaWrapper.selectAs(Procedures::getName, UnqualifiedRecord::getProceduresName);
+        mpjLambdaWrapper.selectAs(Category::getName, UnqualifiedRecord::getCategoryName);
+        mpjLambdaWrapper.selectAs(SystemUser::getRealname, UnqualifiedRecord::getCreateUserName);
+
+        mpjLambdaWrapper.leftJoin(Workorder.class,Workorder::getId,UnqualifiedRecord::getWorkorderId);
+        mpjLambdaWrapper.leftJoin(MaterialDistribute.class,MaterialDistribute::getId,Workorder::getMaterialId);
+        mpjLambdaWrapper.leftJoin(Material.class,Material::getId,MaterialDistribute::getMaterialId);
+        mpjLambdaWrapper.leftJoin(Procedures.class,Procedures::getId,Workorder::getProcedureId);
+        mpjLambdaWrapper.leftJoin(Category.class,Category::getId,UnqualifiedRecord::getCategoryId);
+        mpjLambdaWrapper.leftJoin(SystemUser.class,SystemUser::getId,UnqualifiedRecord::getCreateUser);
+        //鍙兘鏌ョ湅褰撳墠鏍圭粍缁囩殑鏁版嵁
+        mpjLambdaWrapper.eq(Workorder::getRootDepartId,user.getRootDepartment().getId());
+        //濡傛灉褰撳墠閫夋嫨鐨勫叕鍙哥骇缁勭粐闈炴牴缁勭粐淇℃伅锛屽彧鑳芥煡鐪嬪綋鍓嶉�夋嫨鍏徃绾х粍缁囨暟鎹�
+        mpjLambdaWrapper.eq(Workorder::getDepartId,user.getCurComDepartment().getId());
+        mpjLambdaWrapper.eq(UnqualifiedRecord::getDeleted,Constants.ZERO);
+        // 涓嶈壇鍒嗙被鍒嗙被
+        if ( pageWrap.getModel().getCategoryId() !=null) {
+            mpjLambdaWrapper.eq(UnqualifiedRecord::getCategoryId, pageWrap.getModel().getCategoryId());
+        }
+        // 宸ュ崟缂栫爜
+        if (StringUtils.isNotBlank(pageWrap.getModel().getCode())) {
+            mpjLambdaWrapper.like(Workorder::getCode, pageWrap.getModel().getCode());
+        }
+        return PageData.from(unQualifiedRecordJoinMapper.selectJoinPage(page, UnqualifiedRecord.class,mpjLambdaWrapper));
+    }
+
+
 }

--
Gitblit v1.9.3