From cf3b3fe3f9d46e28ac84f1aa61a3d9754aabf421 Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期六, 17 一月 2026 00:05:13 +0800
Subject: [PATCH] 调整工单审批2
---
fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java | 128 +++++++++++++++++++++++++++++++++++++-----
1 files changed, 112 insertions(+), 16 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
index ab65b94..ba1ea5f 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
@@ -2,18 +2,26 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.constant.InoutConstant;
+import com.fzzy.igds.mapper.InoutNoticeInMapper;
+import com.fzzy.igds.mapper.InoutNoticeOutMapper;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
-import com.fzzy.work.data.OrderStatus;
+import com.fzzy.work.data.WorkNode;
+import com.fzzy.work.data.WorkStatus;
+import com.fzzy.work.data.WorkBizType;
import com.fzzy.work.data.WorkOrderParam;
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.mapper.WorkOrderMapper;
import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
@@ -27,41 +35,106 @@
public class WorkOrderService {
@Resource
private WorkOrderMapper workOrderMapper;
+ @Resource
+ private InoutNoticeInMapper noticeInMapper;
+ @Resource
+ private InoutNoticeOutMapper noticeOutMapper;
- public void pageQuery(Page<WorkOrder> page, WorkOrderParam param) {
+ public void addData(WorkOrder data) {
+ if (null == data.getId()) data.setId(ContextUtil.generateOrderId("GD"));
+
+ if (null == data.getCompanyId()) data.setCompanyId(ContextUtil.getCompanyId());
+
+ if (null == data.getCreateBy()) {
+ SysUser user = ContextUtil.getLoginUser();
+ data.setCreateBy(user.getUserName());
+ data.setCreateById(user.getLoginName());
+ }
+ data.setUpdateTime(new Date());
+
+ workOrderMapper.insert(data);
+ }
+
+ public void pageQueryByUserType(Page<WorkOrder> page, WorkOrderParam param) {
+ //鑾峰彇褰撳墠鐧诲綍浜�
+ SysUser user = ContextUtil.getLoginUser();
QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("company_id", user.getCompanyId());
- if (null == param) {
- param = new WorkOrderParam();
+ String scope = param.getScope();
+ if (StringUtils.isEmpty(scope)) scope = WorkOrderParam.SCOPE_SELF;
+
+ //鐩戠鐢ㄦ埛-鏌ョ湅鎵�鏈夊簱鍖哄拰寰呭姙
+ if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE2.getCode());
+ }
+ }
+
+ //搴撳尯鐢ㄦ埛锛屽鏋滄槸鍏徃鐢ㄦ埛鍙互鏌ョ湅鍏徃涓嬪睘鎵�鏈夊簱鍖猴紝濡傛灉涓哄綋鍓嶅簱鍖哄彧鏌ヨ褰撳墠搴撳尯
+ if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+ if (ContextUtil.isDepotUser(user.getDeptId() + "")) {
+ queryWrapper.eq("dept_id", user.getDeptId() + "");
+ } else {
+ queryWrapper.likeRight("dept_id", user.getDeptId() + "");
+ }
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE1.getCode());
+ }
}
- if(null == param.getCompanyId())param.setCompanyId(ContextUtil.getCompanyId());
- queryWrapper.eq("company_id", param.getCompanyId());
+ //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+ if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+ //濡傛灉娌℃湁閰嶇疆閾惰锛岃缃竴涓笉瀛樺湪鐨勯摱琛屽彿
+ if (StringUtils.isBlank(user.getUserData())) user.setUserData("9");
+ queryWrapper.eq("bank_id", user.getUserData());
+
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE3.getCode());
+ }
+ }
queryWrapper.eq(null != param.getDeptId(), "dept_id", param.getDeptId());
queryWrapper.like(null != param.getName(), "title", param.getName());
queryWrapper.eq(null != param.getStatus(), "status", param.getStatus());
- if(null != param.getStart()){
+ if (null != param.getStart()) {
queryWrapper.gt("create_time", DateUtil.getNextZero(param.getStart()));
}
- if(null != param.getEnd()){
+ if (null != param.getEnd()) {
queryWrapper.lt("create_time", DateUtil.getCurZero(param.getEnd()));
}
workOrderMapper.selectPage(page, queryWrapper);
}
- public List<SysDictData> triggerStatus() {
- List<SysDictData> list = new ArrayList<SysDictData>();
- for (OrderStatus w : OrderStatus.values()) {
- list.add(new SysDictData(w.getMsg(), w.getCode()));
- }
- return list;
- }
+ public List<SysDictData> triggerStatus() {
+ List<SysDictData> list = new ArrayList<SysDictData>();
+ for (WorkStatus w : WorkStatus.values()) {
+ list.add(new SysDictData(w.getMsg(), w.getCode()));
+ }
+ return list;
+ }
+
+ public List<SysDictData> triggerType() {
+ List<SysDictData> list = new ArrayList<SysDictData>();
+ for (WorkBizType w : WorkBizType.values()) {
+ list.add(new SysDictData(w.getMsg(), w.getCode()));
+ }
+ return list;
+ }
+
+ public List<SysDictData> triggerBizType() {
+ List<SysDictData> list = new ArrayList<SysDictData>();
+ for (WorkBizType w : WorkBizType.values()) {
+ list.add(new SysDictData(w.getMsg(), w.getCode()));
+ }
+ return list;
+ }
/**
* 鑾峰彇鐢ㄦ埛寰呭鐞嗗伐鍗曟暟
@@ -72,7 +145,7 @@
public Integer getNumByUser(String status, String userId) {
QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
- if(StringUtils.isBlank(userId) || StringUtils.isBlank(status)){
+ if (StringUtils.isBlank(userId) || StringUtils.isBlank(status)) {
return 0;
}
@@ -81,4 +154,27 @@
return workOrderMapper.selectCount(queryWrapper);
}
+
+
+ public WorkOrder selectById(String orderId) {
+ if (null == orderId) return null;
+ return workOrderMapper.selectById(orderId);
+ }
+
+ public void complete(WorkOrder work) {
+ //鏇存柊宸ュ崟
+ workOrderMapper.updateById(work);
+
+ //鏇存柊鍏ュ簱閫氱煡鍗曠姸鎬�
+ if (work.getBizType().equals(WorkBizType.TYPE_10.getCode())) {
+ noticeInMapper.auditComplete(work.getBusinessId(), work.getStatus());
+ }
+
+ //鏇存柊鍏ュ簱閫氱煡鍗曠姸鎬�
+ if (work.getBizType().equals(WorkBizType.TYPE_20.getCode())) {
+ noticeOutMapper.auditComplete(work.getBusinessId(), work.getStatus());
+ }
+ }
+
+
}
--
Gitblit v1.9.3