dev_xds
姜玉琦 2024-04-14 23:55:40 +08:00
commit 718ff531fc
25 changed files with 406 additions and 38 deletions

View File

@ -49,7 +49,7 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://cd-cynosdbmysql-grp-9rqrhxsm.sql.tencentcdb.com:27981/yanzhu_jh_test_2024?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
url: jdbc:mysql://cd-cynosdbmysql-grp-9rqrhxsm.sql.tencentcdb.com:27981/yanzhu_jh_test?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
username: root
password: Sxyanzhu@cf
# 从库数据源

View File

@ -10,6 +10,14 @@ export function listAttendanceWorker(query) {
})
}
// 查询考勤人员基本属性列表
export function queryAttendanceWorker(query) {
return request({
url: '/project/attendanceWorker/query',
method: 'get',
params: query
})
}
// 查询考勤人员基本属性列表
export function listJgwAttendanceWorker(query) {
return request({

View File

@ -25,18 +25,21 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="单位" prop="deptid">
<el-form-item label="部门" prop="deptid">
<treeselect v-model="form.deptid" :options="deptOptions" :show-count="true"
placeholder="请选择归属部门" @select="doDeptChange(0)" />
<!--
<el-select v-model="form.deptid" filterable placeholder="请选择单位" style="width: 100%;"
@change="doDeptChange()">
<el-option v-for="it in deptList" :key="it.deptId" :label="it.deptName"
:value="it.deptId" />
</el-select>
</el-select>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="作者" prop="authorPhone">
<el-select v-model="form.authorPhone" filterable placeholder="请选择作者">
<el-option v-for="it in userList" :key="it.phonenumber" :label="it.nickName"
<el-option v-for="it in userList" :key="it.userId" :label="it.nickName"
:value="it.phonenumber" />
</el-select>
</el-form-item>
@ -49,7 +52,7 @@
</el-row>
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" maxlength="500"/>
<el-input v-model="form.title" maxlength="500" />
</el-form-item>
<el-form-item label="期刊主图" ref="fiImage" prop="imageUrl" class="fi-imgs"
@ -61,7 +64,7 @@
:fileType="['png', 'jpg', 'jpeg']" />
</el-form-item>
<el-form-item label="" prop="content" class="fi-editor">
<editor v-model="form.content"/>
<editor v-model="form.content" />
</el-form-item>
</el-form>
<div class="dialog-footer" style="text-align: center;">
@ -75,12 +78,17 @@
<script>
import { listMagDetail, getMagDetail, delMagDetail, addMagDetail, updateMagDetail } from "@/api/base/magDetail";
import { deptTreeSelect } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { listMag } from "@/api/base/mag";
export default {
components: { Treeselect },
name: 'RuoyiUiMagDetailDrawer',
dicts: ['base_mag_topic'],
data() {
return {
deptOptions: [],
isOpen: false,
oldData: null,
magList: [],
@ -111,10 +119,16 @@ export default {
},
mounted() {
this.getDeptTree();
},
methods: {
/** 查询部门下拉树结构 */
getDeptTree() {
deptTreeSelect().then(response => {
this.deptOptions = response.data;
});
},
doImageInput() {
this.$refs.fiImage.clearValidate()
},
@ -124,9 +138,31 @@ export default {
}
//
this.$api.publics.getUserList(param).then(d => {
this.userList = d.rows || [];
if (init) {
if (this.oldData && this.userList.length > 0) {
this.userList = (d.rows || []).map(it=>{
if(!it.phonenumber){
it.phonenumber=it.userId+" --- ";
}
return it;
});
if(init==0){
this.form.authorName="";
this.form.authorPhone="";
}else if(init==1){
let user=this.$store.state.user;
if(user){
let tmps=this.userList.filter(d=>d.userId==user.userId);
if(tmps.length>0){
let tmp=tmps[0];
let phone=tmp.phonenumber;
if(!phone){
phone=tmp.userId+" --- ";
}
this.form.authorPhone=phone;
}
}
}
else if (init==2) {
if (this.oldData && this.userList.length > 0) {
this.form.authorPhone = this.oldData.authorPhone;
this.form.authorName = this.oldData.authorName;
}
@ -165,7 +201,7 @@ export default {
this.form.ord = ord;
this.isOpen = true;
this.loadMag(true);
this.loadDepts(true);
this.loadDepts(2);
if (row) {
this.form.title = row.title;
this.form.ord = row.ord;
@ -174,16 +210,20 @@ export default {
return { name: d, url: d };
})
this.form.content = row.content;
}else{
this.form.title="";
this.form.magid=0;
this.form.topic="1";
this.form.authorPhone="";
this.form.authorName="";
this.form.deptId=null;
this.form.imageUrl=[];
this.form.content="";
this.form.images="";
} else {
let user=this.$store.state.user;
this.form.title = "";
this.form.magid = 0;
this.form.topic = "1";
this.form.authorName = user?user.nickname:"";
this.form.authorPhone = "";
this.form.deptid = user && user.dept?user.dept.deptId:"";
this.form.imageUrl = [];
this.form.content = "";
this.form.images = "";
if(user){
this.doDeptChange(1);
}
}
},
submitForm() {
@ -197,6 +237,14 @@ export default {
this.form.images = JSON.stringify(this.form.imageUrl.map(d => d.url));
let tmps = this.userList.filter(d => d.phonenumber == this.form.authorPhone);
this.form.authorName = tmps.length > 0 ? tmps[0].nickName : "";
let user=tmps.length>0?tmps[0]:null;
if(user){
this.form.authorName=user.nickName;
this.form.authorPhone=user.phonenumber;
if(user.dept){
this.form.deptid=user.dept.deptId;
}
}
if (this.oldData && this.oldData.id) {
this.oldData.magid = this.form.magid;
this.oldData.topic = this.form.topic;
@ -261,8 +309,9 @@ export default {
}
}
}
.fi-editor{
.editor.ql-container{
.fi-editor {
.editor.ql-container {
height: 52vh !important;
}
}

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="110px"
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"
style="position: relative;">
<el-form-item label="项目名称" prop="projectId">
<el-select :disabled="prjDisabled" v-model="queryParams.projectId" placeholder="请选择项目" clearable
@ -16,7 +16,7 @@
</el-select>
</el-form-item>
<el-form-item label="分包商类型" prop="companyTypeId">
<el-select v-model="queryParams.companyTypeId" placeholder="请选择分包商类型" clearable>
<el-select v-model="queryParams.companyTypeId" placeholder="请选择分包商类型" clearable style="width: 100px;">
<el-option value="" label="所有"></el-option>
<el-option value="101" label="总包人员"></el-option>
<el-option value="102" label="监理人员"></el-option>
@ -24,7 +24,7 @@
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入姓名"></el-input>
<el-input v-model="queryParams.name" placeholder="请输入姓名" style="width: 120px;"></el-input>
</el-form-item>
<el-form-item label="" prop="state">
<el-radio-group v-model="queryParams.state" size="mini">
@ -94,7 +94,7 @@
</template>
<script>
import { listAttendanceWorker, listJgwAttendanceWorker, getAttendanceWorker, delAttendanceWorker, addAttendanceWorker, updateAttendanceWorker, queryAttendanceData } from "@/api/project/attendanceWorker";
import { queryAttendanceWorker, listJgwAttendanceWorker, getAttendanceWorker, delAttendanceWorker, addAttendanceWorker, updateAttendanceWorker, queryAttendanceData } from "@/api/project/attendanceWorker";
import { listAttendanceConfig } from '@/api/project/attendanceConfig.js'
export default {
name: "AttendanceWorker",
@ -192,7 +192,7 @@ export default {
getList() {
this.loading = true;
let tmps = this.cfgList.filter(d => d.projectId == this.queryParams.projectId && d.subDeptId == this.queryParams.subDeptId);
let ajax = listAttendanceWorker;
let ajax = queryAttendanceWorker;
if (tmps.length > 0 && tmps[0].vendorsCode == 'jgw') {
ajax = listJgwAttendanceWorker;
}

View File

@ -63,7 +63,7 @@ public class BaseMagDetailController extends BaseController
*
*/
@PreAuthorize("@ss.hasPermi('base:magDetail:query')")
@GetMapping(value = "/{id}")
@GetMapping(name="/get", value = "{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(baseMagDetailService.selectBaseMagDetailById(id));
@ -101,4 +101,24 @@ public class BaseMagDetailController extends BaseController
{
return toAjax(baseMagDetailService.deleteBaseMagDetailByIds(ids));
}
/**
* -
* @return
*/
@PreAuthorize("@ss.hasPermi('base:magDetail:list')")
@GetMapping("/groupByTopic")
public AjaxResult groupByTopic(){
return AjaxResult.success(baseMagDetailService.groupByTopic());
}
/**
*
* @param magId
* @return
*/
@PreAuthorize("@ss.hasPermi('base:magDetail:list')")
@PostMapping("/groupByMag")
public AjaxResult groupByMag(@RequestBody BaseMagDetail baseMagDetail){
return AjaxResult.success(baseMagDetailService.groupByMag(baseMagDetail.getMagid()));
}
}

View File

@ -101,4 +101,6 @@ public class BaseWorkingCommitteeController extends BaseController
{
return toAjax(baseWorkingCommitteeService.deleteBaseWorkingCommitteeByIds(ids));
}
}

View File

@ -58,4 +58,18 @@ public interface BaseMagDetailMapper
* @return
*/
public int deleteBaseMagDetailByIds(Long[] ids);
/**
* -
* @return
*/
public List<BaseMagDetail> groupByTopic();
/**
*
* @param magid
* @return
*/
public List<BaseMagDetail> groupByMag(Long magid);
}

View File

@ -58,4 +58,17 @@ public interface IBaseMagDetailService
* @return
*/
public int deleteBaseMagDetailById(Long id);
/**
* -
* @return
*/
public List<BaseMagDetail> groupByTopic();
/**
*
* @param magid
* @return
*/
public List<BaseMagDetail> groupByMag(Long magId);
}

View File

@ -95,4 +95,22 @@ public class BaseMagDetailServiceImpl implements IBaseMagDetailService
{
return baseMagDetailMapper.deleteBaseMagDetailById(id);
}
/**
* -
* @return
*/
@Override
public List<BaseMagDetail> groupByTopic() {
return baseMagDetailMapper.groupByTopic();
}
/**
*
* @param magid
* @return
*/
@Override
public List<BaseMagDetail> groupByMag(Long magId) {
return baseMagDetailMapper.groupByMag(magId);
}
}

View File

@ -36,6 +36,18 @@ public class SurProjectAttendanceUserController extends BaseController
@Autowired
private ISurProjectAttendanceUserService surProjectAttendanceUserService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('project:attendanceWorker:list')")
@GetMapping("/query")
public TableDataInfo query(SurProjectAttendanceUser surProjectAttendanceUser)
{
startPage();
List<SurProjectAttendanceUser> list = surProjectAttendanceUserService.querySurProjectAttendanceUserList(surProjectAttendanceUser);
return getDataTable(list);
}
/**
*
*/

View File

@ -2,6 +2,8 @@ package com.yanzhu.jh.project.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -111,4 +113,38 @@ public class SurProjectWorkingCommitteeController extends BaseController
{
return toAjax(surProjectWorkingCommitteeService.deleteSurProjectWorkingCommitteeByIds(ids));
}
/**
* -
* @param where
* @return
*/
@PreAuthorize("@ss.hasPermi('project:projectCommittee:list')")
@PostMapping("/sumGroupByType")
public AjaxResult sumGroupByType(@RequestBody SurProjectWorkingCommittee where){
Long deptId = where.getDeptId();
if(deptId==null || deptId<=0){
if (SecurityUtils.isUserB()) {
where.setPrjIds(getProjectIds());
}
}
return AjaxResult.success(surProjectWorkingCommitteeService.sumGroupByType(where));
}
/**
* -
* @param where
* @return
*/
@PreAuthorize("@ss.hasPermi('project:projectCommittee:list')")
@PostMapping("/selectByWorkingType")
public AjaxResult selectByWorkingType(@RequestBody SurProjectWorkingCommittee where){
Long deptId = where.getDeptId();
if(deptId==null || deptId<=0){
if (SecurityUtils.isUserB()) {
where.setPrjIds(getProjectIds());
}
}
return AjaxResult.success(surProjectWorkingCommitteeService.selectByWorkingType(where));
}
}

View File

@ -160,7 +160,13 @@ public class SurProjectAttendanceGroup extends BaseEntity
g.companyCode=json.getString("companyCode");
g.companyId=""+json.getLongValue("companyId",0);
g.companyName=json.getString("companyName");
g.companyTypeId=json.getString("companyTypeId");
String typeId=json.getString("companyTypeId");
if("1".equals(typeId)||"8".equals(typeId)||"9".equals(typeId)){
typeId=typeId;
}else{
typeId="2";
}
g.companyTypeId=typeId;
g.vendorId=json.getLongValue("vendorId",0);
g.name=json.getString("name");
g.leaderName=json.getString("leaderName");

View File

@ -19,6 +19,16 @@ public class SurProjectWorkingCommittee extends BaseEntity
private String projectName;
private String typeName;
public Long getDeptId() {
return deptId;
}
public void setDeptId(Long deptId) {
this.deptId = deptId;
}
private Long deptId;
public String getCommitteeName() {
return committeeName;
}

View File

@ -48,6 +48,8 @@ public interface SurProjectAttendanceUserMapper
public List<SurProjectAttendanceUser> selectSurProjectAttendanceUserList(SurProjectAttendanceUser surProjectAttendanceUser);
public List<SurProjectAttendanceUser> querySurProjectAttendanceUserList(SurProjectAttendanceUser surProjectAttendanceUser);
public List<SurProjectAttendanceUser> selectSurProjectAttendanceUserListJgw(SurProjectAttendanceUser surProjectAttendanceUser);
/**
*

View File

@ -58,4 +58,18 @@ public interface SurProjectWorkingCommitteeMapper
* @return
*/
public int deleteSurProjectWorkingCommitteeByIds(Long[] ids);
/**
* -
* @param where
* @return
*/
public List<SurProjectWorkingCommittee> sumGroupByType(SurProjectWorkingCommittee where);
/**
* -
* @param where
* @return
*/
public List<SurProjectWorkingCommittee> selectByWorkingType(SurProjectWorkingCommittee where);
}

View File

@ -125,4 +125,6 @@ public interface ISurProjectAttendanceUserService
* @return
*/
List<SurProjectAttendanceData> groupByWorkerOnDutyByDept(SurProjectAttendanceData where);
List<SurProjectAttendanceUser> querySurProjectAttendanceUserList(SurProjectAttendanceUser surProjectAttendanceUser);
}

View File

@ -65,4 +65,18 @@ public interface ISurProjectWorkingCommitteeService
* @return
*/
public int insertSurProjectWorkingCommitteeList(List<SurProjectWorkingCommittee> list);
/**
* -
* @param where
* @return
*/
List<SurProjectWorkingCommittee> sumGroupByType(SurProjectWorkingCommittee where);
/**
* -
* @param where
* @return
*/
List<SurProjectWorkingCommittee> selectByWorkingType(SurProjectWorkingCommittee where);
}

View File

@ -134,9 +134,9 @@ public class SurProjectAttendanceGroupServiceImpl implements ISurProjectAttendan
@Override
public void add(SurProjectAttendanceGroup group) {
SurProjectAttendanceGroup where=new SurProjectAttendanceGroup();
where.setServerid(group.getCompanyId());
where.setServerid(group.getServerid());
where.setCfgid(group.getCfgid());
List<SurProjectAttendanceGroup> list=selectSurProjectAttendanceGroupViewList(where);
List<SurProjectAttendanceGroup> list=selectSurProjectAttendanceGroupList(where);
if(list.size()==0){
insertSurProjectAttendanceGroup(group);
}else{

View File

@ -247,6 +247,11 @@ public class SurProjectAttendanceUserServiceImpl implements ISurProjectAttendanc
return surProjectAttendanceUserMapper.groupByWorkerOnDutyByDept(where);
}
@Override
public List<SurProjectAttendanceUser> querySurProjectAttendanceUserList(SurProjectAttendanceUser surProjectAttendanceUser) {
return surProjectAttendanceUserMapper.querySurProjectAttendanceUserList(surProjectAttendanceUser);
}
private Date findDate(List<SurProjectAttendanceUser> datas, SurProjectAttendanceUser u, String type) {
for (SurProjectAttendanceUser user:datas) {
if(user.getWorkerId().equals(u.getWorkerId()) && user.getName().equals(type)){

View File

@ -127,4 +127,23 @@ public class SurProjectWorkingCommitteeServiceImpl implements ISurProjectWorking
}
return cnt;
}
/**
* -
* @param where
* @return
*/
@Override
public List<SurProjectWorkingCommittee> sumGroupByType(SurProjectWorkingCommittee where) {
return surProjectWorkingCommitteeMapper.sumGroupByType(where);
}
/**
* -
* @param where
* @return
*/
@Override
public List<SurProjectWorkingCommittee> selectByWorkingType(SurProjectWorkingCommittee where) {
return surProjectWorkingCommitteeMapper.selectByWorkingType(where);
}
}

View File

@ -138,8 +138,8 @@ public class AttendanceJgwTask {
String appid="6a6f24fe35b04ee0bcf31cfb46ed1051";
String secret="c3h5enh4MjAyNHN1Yw==";
//String prjId="db955e11ef774e63968a47c3dc2acc15";//"b67f1baa6dca4558a16bf90a4681b82e";//
String prjId="50aa6b502c2e451ea8fcd411db6f693f";//泾河新城荟锦坊二期
String phone="15102901492";
String prjId="209aa0c01d8248b6a56a0921d1b88c83";//泾河新城荟锦坊二期
String phone="18992013714";
String token= getToken(appid,secret);
if(token==null || token.length()==0){
return;
@ -147,7 +147,7 @@ public class AttendanceJgwTask {
System.out.println(token);
System.out.println(DateUtil.format(DateTime.now(),"yyyy-MM-dd"));
String subcontractorId=new AttendanceJgwTask().getSubcontractor(appid,token,phone);
String leaderTeamId="f4bc0ff9a0194177bf1dd9217cf1b10f";
String leaderTeamId="9a7cda9fd629495b8acc615a54c00625";
System.out.println(subcontractorId);
findWorkerByLeader(appid,token,leaderTeamId);
//findDirectlyUnderTeam(appid,token,prjId,subcontractorId,0);

View File

@ -148,4 +148,16 @@ select * from (select a.id,
#{id}
</foreach>
</delete>
<select id="groupByTopic" resultMap="BaseMagDetailResult">
select count(y.id) id,x.* from (SELECT a.id magid,a.create_time,a.name title,a.ord,b.dict_value topic,b.dict_label authorName FROM base_mag a, sys_dict_data b WHERE b.dict_type='base_mag_topic') X
left join base_mag_detail Y on X.magid=y.magid and x.topic=y.topic
group by x.magid,x.title,x.ord,x.topic,x.authorName,x.create_time
</select>
<select id="groupByMag" parameterType="Long" resultMap="BaseMagDetailResult">
select COUNT(1) id, a.deptid ,b.dept_name title from base_mag_detail a,sys_dept b where a.deptid=b.dept_id
<if test="magid!=null and magid!='' and magid &gt; 0 ">and magid=#{magid}</if>
group by a.deptid,b.dept_name
order by count(1) desc
</select>
</mapper>

View File

@ -120,7 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isDel != null "> and u.is_del = #{isDel}</if>
</select>
<select id="selectSurProjectAttendanceUserList" parameterType="SurProjectAttendanceUser" resultMap="SurProjectAttendanceUserResult">
<select id="querySurProjectAttendanceUserList" parameterType="SurProjectAttendanceUser" resultMap="SurProjectAttendanceUserResult">
SELECT * FROM (
SELECT a.id,
a.cfgid,
@ -220,7 +220,63 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isDel != null "> and is_del = #{isDel}</if>
</where>
</select>
<select id="selectSurProjectAttendanceUserList" parameterType="SurProjectAttendanceUser" resultMap="SurProjectAttendanceUserResult">
<include refid="selectSurProjectAttendanceUserVo"/>
<where>
<if test="companyTypeId!=null">
<if test="companyTypeId>100">
<if test="companyTypeId==101">
and companyTypeId in (1,6)
</if>
<if test="companyTypeId==102">
and companyTypeId =8
</if>
<if test="companyTypeId==103">
and companyTypeId in (0,2,3,4,5)
</if>
</if>
<if test="companyTypeId &lt;100">
and companyTypeId=#{companyTypeId}
</if>
</if>
<if test="cfgid != null "> and cfgid = #{cfgid}</if>
<if test="appId != null "> and app_id = #{appId}</if>
<if test="vendorsCode != null and vendorsCode != ''"> and vendors_code = #{vendorsCode}</if>
<if test="workerId != null "> and workerId = #{workerId}</if>
<if test="laborWorkerId != null "> and laborWorkerId = #{laborWorkerId}</if>
<if test="workerCategory != null "> and workerCategory = #{workerCategory}</if>
<if test="qrCode != null "> and qrCode = #{qrCode}</if>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="ethnic != null and ethnic != ''"> and ethnic = #{ethnic}</if>
<if test="nativePlace != null and nativePlace != ''"> and nativePlace = #{nativePlace}</if>
<if test="gender != null "> and gender = #{gender}</if>
<if test="birthDate != null "> and birthDate = #{birthDate}</if>
<if test="phone != null and phone != ''"> and phone = #{phone}</if>
<if test="degreeName != null and degreeName != ''"> and degreeName like concat('%', #{degreeName}, '%')</if>
<if test="photo != null and photo != ''"> and photo = #{photo}</if>
<if test="recentPhoto != null and recentPhoto != ''"> and recentPhoto = #{recentPhoto}</if>
<if test="groupId != null "> and groupId = #{groupId}</if>
<if test="groupName != null and groupName != ''"> and groupName like concat('%', #{groupName}, '%')</if>
<if test="leader != null "> and leader = #{leader}</if>
<if test="workTypeCode != null and workTypeCode != ''"> and workTypeCode = #{workTypeCode}</if>
<if test="workTypeName != null and workTypeName != ''"> and workTypeName like concat('%', #{workTypeName}, '%')</if>
<if test="specWorkType != null "> and specWorkType = #{specWorkType}</if>
<if test="hatCode != null and hatCode != ''"> and hatCode = #{hatCode}</if>
<if test="state != null "> and state = #{state}</if>
<if test="enterDate != null and enterDate != ''"> and enterDate = #{enterDate}</if>
<if test="exitDate != null and exitDate != ''"> and exitDate = #{exitDate}</if>
<if test="companyId != null "> and companyId = #{companyId}</if>
<if test="companyName != null and companyName != ''"> and companyName like concat('%', #{companyName}, '%')</if>
<if test="vendorId != null "> and vendorId = #{vendorId}</if>
<if test="teamId != null "> and teamId = #{teamId}</if>
<if test="teamName != null and teamName != ''"> and teamName like concat('%', #{teamName}, '%')</if>
<if test="enterType != null and enterType != ''"> and enterType = #{enterType}</if>
<if test="other != null and other != ''"> and other = #{other}</if>
<if test="projectId != null and projectId > 0 "> and project_id = #{projectId}</if>
<if test="subDeptId != null and subDeptId >0 "> and sub_dept_id = #{subDeptId}</if>
<if test="isDel != null "> and is_del = #{isDel}</if>
</where>
</select>
<select id="selectSurProjectAttendanceUserById" parameterType="Long" resultMap="SurProjectAttendanceUserResult">
<include refid="selectSurProjectAttendanceUserVo"/>
where id = #{id}

View File

@ -25,7 +25,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql>
<select id="selectSurProjectUnitInfoList" parameterType="SurProjectUnitInfo" resultMap="SurProjectUnitInfoResult">
select spui.id, spui.projectId, spui.unitId, spui.unitId as deptId, spui.unitType, sdd.dict_label as unitTypeName, spui.unitName, spui.unitName as deptName, spui.unitPersonName, spui.unitPersonPhone, spui.createUser, spui.createTime, spui.del_flag from sur_project_unit_info spui
select spui.id, spui.projectId, spui.unitId, spui.unitId as deptId, spui.unitType, sdd.dict_label as unitTypeName, spui.unitName, spui.unitName as deptName, spui.unitPersonName, spui.unitPersonPhone, spui.createUser, spui.createTime, spui.del_flag
from sur_project_unit_info spui
left join sys_dict_data sdd on sdd.dict_type='sys_dept_type' and dict_value=spui.unitType
<where>
and del_flag=0

View File

@ -104,4 +104,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<select id="sumGroupByType" parameterType="SurProjectWorkingCommittee" resultMap="SurProjectWorkingCommitteeResult">
select sum(x.money) id, c.dict_value workingType,c.dict_label costName
from (
select a.* from sur_project_working_committee a,sur_project b
where a.projectId=b.id
<if test="committeeId!=null and committeeId!='0' and committeeId &gt; 0">
and a.committeeId=#{committeeId}
</if>
<if test="projectId!=null and projectId>0">
and a.projectId=#{projectId}
</if>
<if test="deptId!=null and deptId>0">
and b.deptId=#{deptId}
</if>
<if test='proType != null and proType != "" and proType != "0"'> and b.projectType = #{proType}</if>
<if test="prjIds !=null and prjIds.size()>0">
and a.projectId in
<foreach collection="prjIds" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
) x
right join sys_dict_data c on x.workingtype=c.dict_value
where
c.dict_type='project_working_type'
group by c.dict_value,c.dict_label
</select>
<select id="selectByWorkingType" parameterType="SurProjectWorkingCommittee" resultMap="SurProjectWorkingCommitteeResult">
select a.id,a.costName,a.money,b.projectName remark,a.committeeid,a.workingType,a.projectId,a.create_by,a.create_time,a.update_time,c.name update_by
from sur_project_working_committee a,sur_project b ,base_working_committee c
where a.projectId=b.id and a.committeeid=c.id
<if test="committeeId!=null and committeeId!='0' and committeeId &gt; 0">
and a.committeeId=#{committeeId}
</if>
<if test="workingType!=null and workingType!='0' and workingType &gt; 0">
and a.workingType=#{workingType}
</if>
<if test="projectId!=null and projectId>0">
and a.projectId=#{projectId}
</if>
<if test="deptId!=null and deptId>0">
and b.deptId=#{deptId}
</if>
<if test='proType != null and proType != "" and proType != "0"'> and b.projectType = #{proType}</if>
<if test="prjIds !=null and prjIds.size()>0">
and a.projectId in
<foreach collection="prjIds" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
order by c.ord desc,c.create_time desc
</select>
</mapper>