From a58ce000b2f84a998e91c8c77b290319c3de6996 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 28 五月 2024 10:39:07 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java | 40 +++++++++-
admin/src/components/business/OperaHiddenDangerWindow.vue | 140 +++++++++++++++++++++++++++--------
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 28 ++++--
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerParamService.java | 4 +
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java | 8 ++
6 files changed, 175 insertions(+), 48 deletions(-)
diff --git a/admin/src/components/business/OperaHiddenDangerWindow.vue b/admin/src/components/business/OperaHiddenDangerWindow.vue
index 6882524..78dc481 100644
--- a/admin/src/components/business/OperaHiddenDangerWindow.vue
+++ b/admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -58,7 +58,7 @@
</div>
</div>
</div>
- <div class="item" v-if="model.status==1" style="width: 100%">
+ <div class="item" v-if="model.status==1||model.status==2" style="width: 100%">
<div class="label">澶勭悊鍓�</div>
<div class="value" v-if="model.dealBeforeFileList !=null && model.dealBeforeFileList.length">
<div v-for="item in model.dealBeforeFileList" :key="item.id" style="display: inline;margin-right: 20px">
@@ -103,7 +103,8 @@
</div>
</div>
<div class="item" v-if="model.status==1 || model.status==2">
- <div class="label">澶勭悊璇存槑</div>
+ <div class="label" v-if="model.status==1">澶勭悊璇存槑</div>
+ <div class="label" v-if="model.status==2">閫�鍥炶鏄�</div>
<div class="value">{{model.checkInfo}}</div>
</div>
</div>
@@ -143,9 +144,9 @@
</div>
<!-- -->
<template v-slot:footer>
- <el-button @click="dealDo" type="primary" v-if="model.status==0" class="status-red">澶勭悊</el-button>
- <el-button type="primary" plain v-if="model.status==0" @click="handleTransfer">杞氦</el-button>
- <el-button @click="backDo" v-if="model.status==0" type="danger" >閫�鍥�</el-button>
+ <el-button @click="dealDo" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">澶勭悊</el-button>
+ <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">杞氦</el-button>
+ <el-button @click="backDo" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >閫�鍥�</el-button>
<el-button @click="visible=false">杩斿洖</el-button>
</template>
<!-- 鍚屾剰/鎷掔粷 -->
@@ -164,6 +165,30 @@
<span slot="footer" class="dialog-footer">
<el-button @click="isShowAppr = false">鍙栨秷</el-button>
<el-button type="primary" @click="isShowAppr = false">纭畾</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog
+ append-to-body
+ title="杞氦"
+ style="text-align: center"
+ :visible.sync="isShowTransfer"
+ width="480px"
+ >
+ <el-form :model="transForm" ref="transForm" :rules="rulesTrans">
+ <el-form-item label="闅愭偅杞氦浜�" prop="memberId">
+ <el-select v-model="transForm.memberId" style="width: 300px" filterable clearable placeholder="璇烽�夋嫨杞氦瀹夊叏鍛�">
+ <el-option
+ v-for="item in memberList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="isShowTransfer = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="transferSubmit">纭畾</el-button>
</span>
</el-dialog>
<!-- 闅愭偅 -->
@@ -212,7 +237,7 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="isShowProblem = false">鍙栨秷</el-button>
- <el-button type="primary" @click="isShowProblem = false"
+ <el-button type="primary" :loading="transfering" @click="isShowProblem = false"
>纭畾</el-button
>
</span>
@@ -223,22 +248,34 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
-import {findLogList} from "@/api/business/hiddenDanger";
+import { memberList } from '@/api/business/hiddenDangerParam'
+import {mapMutations} from "vuex";
export default {
components: { GlobalWindow },
extends: BaseOpera,
- data() {
+ data () {
return {
title: '璁垮棰勭害璇︽儏',
visible: false,
- dataId:null,
+ transfering: false,
+ dataId: null,
model: { },
- logList:[],
+ logList: [],
isShowAppr: false,
apprTitle: '鍚屾剰',
param: {},
isShowProblem: false,
- rules: {}
+ isShowTransfer: false,
+ rules: {},
+ rulesTrans: {
+ memberId: [
+ { required: true, message: '璇烽�夋嫨' }
+ ]
+ },
+ memberList: [],
+ transForm: {
+ memberId: null
+ }
}
},
created () {
@@ -248,38 +285,71 @@
})
},
methods: {
- dealDo(){},
- backDo(){},
- open(title,target){
- this.title =title
- this.visible=true
+ ...mapMutations(['userInfo']),
+ dealDo () { this.isShowProblem = true },
+ backDo () { this.isShowProblem = true },
+ open (title, target) {
+ this.title = title
+ this.visible = true
this.model = {}
- this.dataId =target.id
+ this.dataId = target.id
this.getDetail()
this.getLogList()
-
},
- getLogList(){
- this.api.findLogList({hiddenDangerId:this.dataId})
- .then(res =>{
- this.logList = res
+ transferSubmit () {
+ this.$refs.transForm.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁よ浆浜よ闅愭偅鎻愭姤鍚楋紵')
+ .then(() => {
+ this.transfering = true
+ this.api.transferHiddenDanger({
+ id: this.dataId,
+ checkUserId: this.transForm.memberId
+ })
+ .then(res => {
+ this.$tip.apiSuccess('杞氦鎴愬姛')
+ this.getDetail()
+ this.getLogList()
+ })
+ .catch(e => {
+ })
+ .finally(() => {
+ this.transfering = false
+ })
})
+ .catch(() => {})
+ })
},
- getDetail(){
+ getLogList () {
+ this.api.findLogList({ hiddenDangerId: this.dataId })
+ .then(res => {
+ this.logList = res
+ })
+ },
+ getDetail () {
this.api.detail(this.dataId)
- .then(res =>{
- this.model = res
- })
+ .then(res => {
+ this.model = res
+ })
},
- confirm() {
+ confirm () {
console.log('--')
},
- handleTransfer() {
- this.isShowProblem = true
+ handleTransfer () {
+ this.isShowTransfer = true
+ this.loadMemberList()
},
- reject() { },
- handleAvatarSuccess() { },
- beforeAvatarUpload() { }
+ loadMemberList () {
+ memberList({}).then(res => {
+ this.memberList = res
+ })
+ },
+ reject () { },
+ handleAvatarSuccess () { },
+ beforeAvatarUpload () { }
}
}
</script>
@@ -444,6 +514,12 @@
color: deepskyblue;
font-size: 24px;
}
+ .icon2 {
+ position: relative;
+ z-index: 11;
+ color: red;
+ font-size: 24px;
+ }
.avatar {
width: 40px;
height: 40px;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java
index 42313d9..042c1a0 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java
@@ -8,7 +8,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.dao.admin.request.MemberQuery;
import com.doumee.dao.business.model.HiddenDangerParam;
+import com.doumee.dao.business.model.Member;
import com.doumee.service.business.HiddenDangerParamService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -76,6 +78,12 @@
public ApiResponse<PageData<HiddenDangerParam>> findPage (@RequestBody PageWrap<HiddenDangerParam> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
return ApiResponse.success(hiddenDangerParamService.findPage(pageWrap));
}
+ @ApiOperation("鏌ヨ闅愭偅鍖哄煙鍏ㄩ儴瀹夊叏鍛�")
+ @PostMapping("/findHiddenAreaMemberList")
+ @CloudRequiredPermission("business:member:query")
+ public ApiResponse<List<Member>> findVisitPage (@RequestBody HiddenDangerParam pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ return ApiResponse.success(hiddenDangerParamService.findHiddenAreaMemberList(pageWrap));
+ }
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java
index 58e60bb..a0bf352 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.doumee.dao.business.model.Member;
+import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -14,7 +15,7 @@
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
-public interface MemberMapper extends BaseMapper<Member> {
+public interface MemberMapper extends MPJBaseMapper<Member> {
void insertBatchSomeColumn(List<Member> list);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerParamService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerParamService.java
index a37234c..b7e3640 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerParamService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerParamService.java
@@ -5,6 +5,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.HiddenDangerParam;
+import com.doumee.dao.business.model.Member;
+
import java.util.List;
/**
@@ -96,4 +98,6 @@
* @return long
*/
long count(HiddenDangerParam hiddenDangerParam);
+
+ List<Member> findHiddenAreaMemberList(HiddenDangerParam pageWrap);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
index d0ad267..ee08189 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -9,22 +9,22 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.HiddenDangerParamMapper;
import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.model.CarDriver;
-import com.doumee.dao.business.model.HiddenDanger;
-import com.doumee.dao.business.model.HiddenDangerParam;
-import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.*;
import com.doumee.service.business.HiddenDangerParamService;
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 com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -226,4 +226,36 @@
QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam);
return hiddenDangerParamMapper.selectCount(wrapper);
}
+ @Override
+ public List<Member> findHiddenAreaMemberList(HiddenDangerParam pageWrap) {
+ QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(pageWrap);
+ pageWrap.setIsdeleted(Constants.ZERO);
+ List<HiddenDangerParam> list = hiddenDangerParamMapper.selectList(wrapper);
+ List<Member> memberList = new ArrayList<>();
+ if(list!=null){
+ List<Integer> idList = new ArrayList<>();
+ for(HiddenDangerParam m : list){
+ String ids = m.getMemberIds();
+ if(StringUtils.isNotBlank(ids)){
+ String[] t = ids.split(",");
+ for(String d : t){
+ try {
+ idList.add(Integer.parseInt(d));
+ }catch (Exception e){}
+ }
+ }
+ }
+ if(idList.size()>0){
+ memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>().
+ selectAll(Member.class)
+ .selectAs(Company::getCompanyNamePath,Member::getCompanyName)
+ .leftJoin(Company.class, Company::getId,Member::getCompanyId)
+ .eq(Member::getType,Constants.TWO)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .in(Member::getId,idList)
+ );
+ }
+ }
+ return memberList;
+ }
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index d5d3be5..c2d502c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -22,6 +22,7 @@
import com.doumee.service.business.HiddenDangerService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -354,27 +355,30 @@
public void transferHiddenDanger(HiddenDanger hiddenDanger){
if(Objects.isNull(hiddenDanger)
|| Objects.isNull(hiddenDanger.getId())
- || Objects.isNull(hiddenDanger.getDealTime())
- || Objects.isNull(hiddenDanger.getLoginUserInfo())
|| Objects.isNull(hiddenDanger.getCheckUserId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
+ HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,new MPJLambdaWrapper<HiddenDanger>()
+ .selectAll(HiddenDanger.class)
+ .selectAs(Member::getName,HiddenDanger::getCheckorName)
+ .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
+ .eq(HiddenDanger::getId,hiddenDanger.getId()));
if(Objects.isNull(model)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
}
- if (!model.getStatus().equals(Constants.ZERO)) {
+ if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆!");
}
- if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) {
+ if (!Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getEditor())) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"澶勭悊浜洪潪褰撳墠浜哄憳锛�");
}
- if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟绫诲瀷閿欒锛�");
- }
- if(model.getCheckUserId().equals(hiddenDanger.getCheckUserId())){
+ if(Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getCheckUserId())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳硶杞氦缁欒嚜宸�");
+ }
+ Member member = memberMapper.selectById(hiddenDanger.getCheckUserId());
+ if(member == null || !Constants.equalsInteger(member.getType(), Constants.TWO) || Constants.equalsInteger(Constants.ZERO,member.getIsdeleted())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝杞氦浜轰俊鎭笉瀛樺湪锛岃鍒锋柊椤甸潰閲嶈瘯锛�");
}
hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
hiddenDanger.setEditDate(new Date());
@@ -383,8 +387,10 @@
HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
hiddenDangerLog.setIsdeleted(Constants.ZERO);
hiddenDangerLog.setCreateDate(new Date());
- hiddenDangerLog.setCreator(hiddenDanger.getCreator());
- hiddenDangerLog.setTitle("闅愭偅閫�鍥�");
+ hiddenDangerLog.setCreator(hiddenDanger.getEditor());
+ hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate());
+ hiddenDangerLog.setEditor(hiddenDanger.getCreator());
+ hiddenDangerLog.setTitle("鐢�"+StringUtils.defaultString(hiddenDanger.getCheckorName())+"杞氦缁�"+StringUtils.defaultString(member.getName()));
hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
hiddenDangerLog.setObjType(Constants.ONE);
hiddenDangerLogMapper.insert(hiddenDangerLog);
--
Gitblit v1.9.3