From 91414b74c722356ddca717d9eb2fb5ab3a8f5c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Mon, 19 Apr 2021 18:21:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/application-m1prod.properties | 2 +- .../core/ctrl/XmTaskExecuserController.java | 29 ++-- .../main/java/com/xm/core/entity/XmTask.java | 19 ++- .../com/xm/core/entity/XmTaskExecuser.java | 41 +++++- .../core/service/XmProjectGroupService.java | 66 ++++++++- .../xm/core/dao/XmTaskExecuserMapper.xml | 131 ++++++++++-------- .../mapper/xm/core/dao/XmTaskMapper.xml | 85 ++++++------ 7 files changed, 240 insertions(+), 133 deletions(-) diff --git a/xm-bootstrap/src/main/resources/application-m1prod.properties b/xm-bootstrap/src/main/resources/application-m1prod.properties index 0fbef61e..dbe991d3 100644 --- a/xm-bootstrap/src/main/resources/application-m1prod.properties +++ b/xm-bootstrap/src/main/resources/application-m1prod.properties @@ -5,7 +5,7 @@ server.port=7067 #server.context-path=/${spring.application.name} #session失效时间 秒 server.session.timeout=43200 -spring.session.store-type=none +spring.session.store-type=redis spring.cloud.inetutils.preferredNetworks[0]=^10\. spring.cloud.inetutils.preferredNetworks[1]=^172\. #eureka.client.serviceUrl.defaultZone=http://172.16.16.16:6110/eureka/ diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java index e801a287..ec4a20b7 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java @@ -111,21 +111,22 @@ public class XmTaskExecuserController { try{ String projectId=xmTaskExecuser.getProjectId(); User user=LoginUtils.getCurrentUserInfo(); - List pgroups=groupService.getProjectGroupVoList(projectId); - boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); - if(!isHead ) { - if(user.getUserid().equals(xmTaskExecuser.getUserid())){ - tips.setFailureMsg(user.getUsername()+"不是组长,无权进行新增任务执行人、候选人等操作"); - }else { - tips.setFailureMsg(user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权进行新增任务执行人、候选人等操作"); - } - } - if(tips.isOk()) { + if(user.getUserid().equals(xmTaskExecuser.getUserid())){ + xmTaskExecuserService.addExecuser(xmTaskExecuser); + m.put("data",xmTaskExecuser); + }else { + List myGgroups=groupService.getProjectGroupVoList(projectId); + boolean isTeamHeader= groupService.checkUserIsHeadInGroups(myGgroups,user.getUserid()); + boolean isPm=groupService.checkUserIsProjectManager(myGgroups,user.getUserid()); + if( !isTeamHeader && !isPm ) { + tips.setFailureMsg(user.getUsername()+"不是组长、项目管理者,无权进行新增任务执行人、候选人等操作"); + } + if(tips.isOk()) { + xmTaskExecuserService.addExecuser(xmTaskExecuser); + m.put("data",xmTaskExecuser); + } + } - xmTaskExecuserService.addExecuser(xmTaskExecuser); - m.put("data",xmTaskExecuser); - - } }catch (BizException e) { tips=e.getTips(); logger.error("",e); diff --git a/xm-core/src/main/java/com/xm/core/entity/XmTask.java b/xm-core/src/main/java/com/xm/core/entity/XmTask.java index 3d65e0cd..c0c979a4 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmTask.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmTask.java @@ -1,13 +1,12 @@ -package com.xm.core.entity; +package com.xm.core.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - -import java.math.BigDecimal; import java.util.Date; +import java.math.BigDecimal; /** - * 组织 com.qqkj 顶级模块 xm 大模块 core 小模块
+ * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmTask所有属性名:
* id,name,parentTaskid,parentTaskname,projectId,projectName,level,sortLevel,executorUserid,executorUsername,preTaskid,preTaskname,startTime,endTime,milestone,description,remarks,createUserid,createUsername,createTime,rate,budgetCost,budgetWorkload,actCost,actWorkload,taskState,taskType,taskClass,toTaskCenter,actStartTime,actEndTime,bizProcInstId,bizFlowState,projectPhaseId,projectPhaseName,taskSkillNames,exeUsernames,taskSkillIds,exeUserids,taskOut,planType,settleSchemel,menuId,menuName,iterationId,iterationName,productId,productName;
* 表 XM.xm_task xm_task的所有字段名:
@@ -72,10 +71,10 @@ public class XmTask implements java.io.Serializable { @ApiModelProperty(notes="备注",allowEmptyValue=true,example="",allowableValues="") String remarks; - @ApiModelProperty(notes="任务创建人编号",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="任务创建人编号(谁创建谁负责)",allowEmptyValue=true,example="",allowableValues="") String createUserid; - @ApiModelProperty(notes="任务创建人",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="任务创建人(谁创建谁负责)",allowEmptyValue=true,example="",allowableValues="") String createUsername; @ApiModelProperty(notes="创建时间",allowEmptyValue=true,example="",allowableValues="") @@ -277,13 +276,13 @@ public class XmTask implements java.io.Serializable { this.remarks = remarks; } /** - * 任务创建人编号 + * 任务创建人编号(谁创建谁负责) **/ public void setCreateUserid(String createUserid) { this.createUserid = createUserid; } /** - * 任务创建人 + * 任务创建人(谁创建谁负责) **/ public void setCreateUsername(String createUsername) { this.createUsername = createUsername; @@ -566,13 +565,13 @@ public class XmTask implements java.io.Serializable { return this.remarks; } /** - * 任务创建人编号 + * 任务创建人编号(谁创建谁负责) **/ public String getCreateUserid() { return this.createUserid; } /** - * 任务创建人 + * 任务创建人(谁创建谁负责) **/ public String getCreateUsername() { return this.createUsername; diff --git a/xm-core/src/main/java/com/xm/core/entity/XmTaskExecuser.java b/xm-core/src/main/java/com/xm/core/entity/XmTaskExecuser.java index 1278b041..c1b497b1 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmTaskExecuser.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmTaskExecuser.java @@ -1,17 +1,16 @@ -package com.xm.core.entity; +package com.xm.core.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - -import java.math.BigDecimal; import java.util.Date; +import java.math.BigDecimal; /** - * 组织 com.qqkj 顶级模块 xm 大模块 core 小模块
+ * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmTaskExecuser所有属性名:
- * createTime,id,taskId,userid,startTime,endTime,status,remarks,settleAmount,settleWorkload,settleStatus,settleTime,createUserid,createUsername,username,matchScore,quoteWeekday,quoteAmount,quoteTime,bizProcInstId,bizFlowState,projectId,projectPhaseId,skillRemark,quoteWorkload,quoteStartTime,quoteEndTime,branchId,projectPhaseName,taskName,isLeader;
+ * createTime,id,taskId,userid,startTime,endTime,status,remarks,settleAmount,settleWorkload,settleStatus,settleTime,createUserid,createUsername,username,matchScore,quoteWeekday,quoteAmount,quoteTime,bizProcInstId,bizFlowState,projectId,projectPhaseId,skillRemark,quoteWorkload,quoteStartTime,quoteEndTime,branchId,projectPhaseName,taskName,isLeader,distUserid,distUsername;
* 表 XM.xm_task_execuser xm_task_execuser的所有字段名:
- * create_time,id,task_id,userid,start_time,end_time,status,remarks,settle_amount,settle_workload,settle_status,settle_time,create_userid,create_username,username,match_score,quote_weekday,quote_amount,quote_time,biz_proc_inst_id,biz_flow_state,project_id,project_phase_id,skill_remark,quote_workload,quote_start_time,quote_end_time,branch_id,project_phase_name,task_name,is_leader;
+ * create_time,id,task_id,userid,start_time,end_time,status,remarks,settle_amount,settle_workload,settle_status,settle_time,create_userid,create_username,username,match_score,quote_weekday,quote_amount,quote_time,biz_proc_inst_id,biz_flow_state,project_id,project_phase_id,skill_remark,quote_workload,quote_start_time,quote_end_time,branch_id,project_phase_name,task_name,is_leader,dist_userid,dist_username;
* 当前主键(包括多主键):
* id;
*/ @@ -113,6 +112,12 @@ public class XmTaskExecuser implements java.io.Serializable { @ApiModelProperty(notes="是否主负责人0否1是",allowEmptyValue=true,example="",allowableValues="") String isLeader; + + @ApiModelProperty(notes="推荐人编号",allowEmptyValue=true,example="",allowableValues="") + String distUserid; + + @ApiModelProperty(notes="推荐人姓名",allowEmptyValue=true,example="",allowableValues="") + String distUsername; /**编号**/ public XmTaskExecuser(String id) { @@ -309,6 +314,18 @@ public class XmTaskExecuser implements java.io.Serializable { public void setIsLeader(String isLeader) { this.isLeader = isLeader; } + /** + * 推荐人编号 + **/ + public void setDistUserid(String distUserid) { + this.distUserid = distUserid; + } + /** + * 推荐人姓名 + **/ + public void setDistUsername(String distUsername) { + this.distUsername = distUsername; + } /** * 创建时间 @@ -496,5 +513,17 @@ public class XmTaskExecuser implements java.io.Serializable { public String getIsLeader() { return this.isLeader; } + /** + * 推荐人编号 + **/ + public String getDistUserid() { + return this.distUserid; + } + /** + * 推荐人姓名 + **/ + public String getDistUsername() { + return this.distUsername; + } } \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java index 3b9c1dc7..6adc38d8 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java @@ -461,11 +461,75 @@ public class XmProjectGroupService extends BaseService { return tips; } } - + + /** + * 获取用户在某个项目中的组 + * @param projectId + * @param userid + * @return + */ public List getUserGroups(String projectId,String userid){ List xmProjectGroupVoList=this.getProjectGroupVoList(projectId); return this.getUserGroups(xmProjectGroupVoList, userid); } + + /** + * 检查用户是否在一些组中任意个组当组长 + * @param xmProjectGroupVoList + * @param teamHeadUserid + * @return + */ + public boolean checkUserIsHeadInGroups( List xmProjectGroupVoList,String teamHeadUserid){ + if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0)return false; + if(!StringUtils.hasText(teamHeadUserid)){ + return false; + } + for (XmProjectGroupVo xmProjectGroupVo : xmProjectGroupVoList) { + List gus=xmProjectGroupVo.getGroupUsers(); + if(gus==null) { + continue; + } + for (XmProjectGroupUser gu : gus) { + if(teamHeadUserid.equals(gu.getUserid()) && "1".equals(gu.getIsHead())) { + return true; + } + } + + } + return false; + } + + /** + * 检查用户是否在指定的小组中做组长 + * @param xmProjectGroupVoList + * @param groupId + * @param teamHeadUserid + * @return + */ + public boolean checkUserIsHeadInGroup( List xmProjectGroupVoList,String groupId,String teamHeadUserid){ + if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0)return false; + if(!StringUtils.hasText(teamHeadUserid)){ + return false; + } + if(!StringUtils.hasText(groupId)){ + return false; + } + + for (XmProjectGroupVo xmProjectGroupVo : xmProjectGroupVoList) { + if(groupId.equals(xmProjectGroupVo.getId())){ + List gus=xmProjectGroupVo.getGroupUsers(); + if(gus==null) { + continue; + } + for (XmProjectGroupUser gu : gus) { + if(teamHeadUserid.equals(gu.getUserid()) && "1".equals(gu.getIsHead())) { + return true; + } + } + } + } + return false; + } public List getUserGroups( List xmProjectGroupVoList,String userid){ List userGroups=new ArrayList<>(); if(xmProjectGroupVoList==null) { diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskExecuserMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskExecuserMapper.xml index fe843894..4048a29f 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskExecuserMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskExecuserMapper.xml @@ -18,16 +18,16 @@ #{id},#{execuserId},#{projectId},#{flowBranchId},#{agree},#{actId},#{taskName},#{procInstId},#{mainTitle},#{commentMsg},#{flowLastTime},#{eventName},#{bizKey},#{modelKey},#{assignee},#{startUserid},#{procDefId} ) - + - update XM.xm_task_execuser b ,XM.xm_task_execuser_process_approva pa + update XM.xm_task_execuser b ,XM.xm_task_execuser_process_approva pa pa.agree = #{agree}, pa.act_id = #{actId}, - pa.assignee = #{assignee}, - pa.assignee_name = #{assigneeName}, + pa.assignee = #{assignee}, + pa.assignee_name = #{assigneeName}, pa.task_name = #{taskName}, pa.comment_msg = #{commentMsg}, pa.flow_last_time = now(), @@ -36,47 +36,47 @@ b.biz_flow_state=#{bizFlowState}, b.biz_proc_inst_id=#{bizProcInstId}, b.settle_status=#{settleStatus}, - + where pa.proc_inst_id = #{procInstId} and pa.flow_branch_id=#{flowBranchId} - and b.id=pa.execuser_id - - + and b.id=pa.execuser_id + + update XM.xm_task_execuser_process_approva pa set pa.flow_state='2' where pa.proc_inst_id = #{procInstId} and pa.flow_branch_id=#{flowBranchId} - - + + - delete from XM.xm_task_execuser + delete from XM.xm_task_execuser where biz_proc_inst_id=#{procInstId} - UPDATE XM.xm_task t - left join + UPDATE XM.xm_task t + left join ( SELECT task_id, max( CASE - - WHEN e.STATUS != '7' - AND e.STATUS != '0' + + WHEN e.STATUS != '7' + AND e.STATUS != '0' AND e.STATUS != '8' THEN - e.userid ELSE NULL - END + e.userid ELSE NULL + END ) AS executor_userid, max( CASE - - WHEN e.STATUS != '7' - AND e.STATUS != '0' + + WHEN e.STATUS != '7' + AND e.STATUS != '0' AND e.STATUS != '8' THEN - e.username ELSE NULL - END + e.username ELSE NULL + END ) AS executor_username, sum( case when e.status='3' or e.status='6' then e.settle_amount else 0 end ) as act_cost, sum( case when e.status='3' or e.status='6' then e.settle_workload else 0 end ) as act_workload, @@ -85,28 +85,28 @@ concat( e.username, CASE - + WHEN e.STATUS = '0' THEN - '(候选)' + '(候选)' WHEN e.STATUS = '1' THEN - '(执行中)' + '(执行中)' WHEN e.STATUS = '2' THEN - '(已提交)' + '(已提交)' WHEN e.STATUS = '3' THEN - '(已验收)' + '(已验收)' WHEN e.STATUS = '4' THEN - '(验收不过)' + '(验收不过)' WHEN e.STATUS = '6' THEN - '(已付款)' + '(已付款)' WHEN e.STATUS = '7' THEN - '(放弃任务)' + '(放弃任务)' WHEN e.STATUS = '8' THEN - '(黑名单)' ELSE '(其它)' - END - ) SEPARATOR ',' - ) AS exe_usernames + '(黑名单)' ELSE '(其它)' + END + ) SEPARATOR ',' + ) AS exe_usernames FROM - XM.xm_task_execuser e + XM.xm_task_execuser e WHERE e.task_id = #{taskId} ) e1 on t.id=e1.task_id @@ -116,16 +116,16 @@ t.executor_username = e1.executor_username, t.act_cost=e1.act_cost, t.act_workload=e1.act_workload - WHERE t.id = #{taskId} - - + WHERE t.id = #{taskId} + + - + insert into XM.xm_task_execuser( ) values ( - #{createTime},#{id},#{taskId},#{userid},#{startTime},#{endTime},#{status},#{remarks},#{settleAmount},#{settleWorkload},#{settleStatus},#{settleTime},#{createUserid},#{createUsername},#{username},#{matchScore},#{quoteWeekday},#{quoteAmount},#{quoteTime},#{bizProcInstId},#{bizFlowState},#{projectId},#{projectPhaseId},#{skillRemark},#{quoteWorkload},#{quoteStartTime},#{quoteEndTime},#{branchId},#{projectPhaseName},#{taskName},#{isLeader} + #{createTime},#{id},#{taskId},#{userid},#{startTime},#{endTime},#{status},#{remarks},#{settleAmount},#{settleWorkload},#{settleStatus},#{settleTime},#{createUserid},#{createUsername},#{username},#{matchScore},#{quoteWeekday},#{quoteAmount},#{quoteTime},#{bizProcInstId},#{bizFlowState},#{projectId},#{projectPhaseId},#{skillRemark},#{quoteWorkload},#{quoteStartTime},#{quoteEndTime},#{branchId},#{projectPhaseName},#{taskName},#{isLeader},#{distUserid},#{distUsername} ) - delete from XM.xm_task_execuser res + delete from XM.xm_task_execuser - + 1=2 @@ -225,51 +225,56 @@ delete from XM.xm_task_execuser - where id in - - #{item.id } - + where + (id) + in + + ( #{item.id} + ) + - create_time,id,task_id,userid,start_time,end_time,status,remarks,settle_amount,settle_workload,settle_status,settle_time,create_userid,create_username,username,match_score,quote_weekday,quote_amount,quote_time,biz_proc_inst_id,biz_flow_state,project_id,project_phase_id,skill_remark,quote_workload,quote_start_time,quote_end_time,branch_id,project_phase_name,task_name,is_leader + create_time,id,task_id,userid,start_time,end_time,status,remarks,settle_amount,settle_workload,settle_status,settle_time,create_userid,create_username,username,match_score,quote_weekday,quote_amount,quote_time,biz_proc_inst_id,biz_flow_state,project_id,project_phase_id,skill_remark,quote_workload,quote_start_time,quote_end_time,branch_id,project_phase_name,task_name,is_leader,dist_userid,dist_username - + - and TO_CHAR(res.create_time,'YYYY-MM-DD') = TO_CHAR(#{createTime},'YYYY-MM-DD') + and date_format(res.create_time,'%Y-%m-%d') = date_format(#{createTime},'%Y-%m-%d') and res.id = #{id} and res.task_id = #{taskId} and res.userid = #{userid} - and TO_CHAR(res.start_time,'YYYY-MM-DD') = TO_CHAR(#{startTime},'YYYY-MM-DD') - and TO_CHAR(res.end_time,'YYYY-MM-DD') = TO_CHAR(#{endTime},'YYYY-MM-DD') + and date_format(res.start_time,'%Y-%m-%d') = date_format(#{startTime},'%Y-%m-%d') + and date_format(res.end_time,'%Y-%m-%d') = date_format(#{endTime},'%Y-%m-%d') and res.status = #{status} and res.remarks = #{remarks} and res.settle_amount = #{settleAmount} and res.settle_workload = #{settleWorkload} and res.settle_status = #{settleStatus} - and TO_CHAR(res.settle_time,'YYYY-MM-DD') = TO_CHAR(#{settleTime},'YYYY-MM-DD') + and date_format(res.settle_time,'%Y-%m-%d') = date_format(#{settleTime},'%Y-%m-%d') and res.create_userid = #{createUserid} and res.create_username = #{createUsername} and res.username = #{username} and res.match_score = #{matchScore} and res.quote_weekday = #{quoteWeekday} and res.quote_amount = #{quoteAmount} - and TO_CHAR(res.quote_time,'YYYY-MM-DD') = TO_CHAR(#{quoteTime},'YYYY-MM-DD') + and date_format(res.quote_time,'%Y-%m-%d') = date_format(#{quoteTime},'%Y-%m-%d') and res.biz_proc_inst_id = #{bizProcInstId} and res.biz_flow_state = #{bizFlowState} and res.project_id = #{projectId} and res.project_phase_id = #{projectPhaseId} and res.skill_remark = #{skillRemark} and res.quote_workload = #{quoteWorkload} - and TO_CHAR(res.quote_start_time,'YYYY-MM-DD') = TO_CHAR(#{quoteStartTime},'YYYY-MM-DD') - and TO_CHAR(res.quote_end_time,'YYYY-MM-DD') = TO_CHAR(#{quoteEndTime},'YYYY-MM-DD') + and date_format(res.quote_start_time,'%Y-%m-%d') = date_format(#{quoteStartTime},'%Y-%m-%d') + and date_format(res.quote_end_time,'%Y-%m-%d') = date_format(#{quoteEndTime},'%Y-%m-%d') and res.branch_id = #{branchId} and res.project_phase_name = #{projectPhaseName} and res.task_name = #{taskName} and res.is_leader = #{isLeader} + and res.dist_userid = #{distUserid} + and res.dist_username = #{distUsername} @@ -302,7 +307,9 @@ branch_id = #{branchId}, project_phase_name = #{projectPhaseName}, task_name = #{taskName}, - is_leader = #{isLeader} + is_leader = #{isLeader}, + dist_userid = #{distUserid}, + dist_username = #{distUsername} create_time = #{createTime}, @@ -335,6 +342,8 @@ project_phase_name = #{projectPhaseName}, task_name = #{taskName}, is_leader = #{isLeader}, + dist_userid = #{distUserid}, + dist_username = #{distUsername}, @@ -367,6 +376,8 @@ branch_id = #{item.branchId}, project_phase_name = #{item.projectPhaseName}, task_name = #{item.taskName}, - is_leader = #{item.isLeader} + is_leader = #{item.isLeader}, + dist_userid = #{item.distUserid}, + dist_username = #{item.distUsername} \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml index 764f7f8f..2484679f 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml @@ -8,7 +8,7 @@ - + @@ -18,10 +18,10 @@ update XM.xm_task set pre_taskid = NULL,pre_taskname = NULL where pre_taskid = #{id} - + update XM.xm_task set menu_id = #{menuId}, menu_name = #{menuName},product_id=#{productId},product_name=#{productName} where id = #{id} - + - + - update XM.xm_task b ,XM.xm_task_process_approva pa + update XM.xm_task b ,XM.xm_task_process_approva pa pa.agree = #{agree}, pa.act_id = #{actId}, - pa.assignee = #{assignee}, - pa.assignee_name = #{assigneeName}, + pa.assignee = #{assignee}, + pa.assignee_name = #{assigneeName}, pa.task_name = #{taskName}, pa.comment_msg = #{commentMsg}, pa.flow_last_time = now(), @@ -52,44 +52,44 @@ b.biz_proc_inst_id=#{bizProcInstId}, where pa.proc_inst_id = #{procInstId} and pa.flow_branch_id=#{flowBranchId} - and b.id=pa.xm_task_id - - + and b.id=pa.xm_task_id + + update XM.xm_task_process_approva pa set pa.flow_state='2' where pa.proc_inst_id = #{procInstId} and pa.flow_branch_id=#{flowBranchId} - - + + - delete from XM.xm_task + delete from XM.xm_task where biz_proc_inst_id=#{procInstId} - + - + insert into XM.xm_task( ) values ( @@ -175,9 +175,9 @@ - delete from XM.xm_task res + delete from XM.xm_task - + 1=2 @@ -222,10 +222,13 @@ delete from XM.xm_task - where id in - - #{item.id } - + where + (id) + in + + ( #{item.id} + ) + @@ -233,7 +236,7 @@ id,name,parent_taskid,parent_taskname,project_id,project_name,level,sort_level,executor_userid,executor_username,pre_taskid,pre_taskname,start_time,end_time,milestone,description,remarks,create_userid,create_username,create_time,rate,budget_cost,budget_workload,act_cost,act_workload,task_state,task_type,task_class,to_task_center,act_start_time,act_end_time,biz_proc_inst_id,biz_flow_state,project_phase_id,project_phase_name,task_skill_names,exe_usernames,task_skill_ids,exe_userids,task_out,plan_type,settle_schemel,menu_id,menu_name,iteration_id,iteration_name,product_id,product_name - + and res.id = #{id} @@ -248,14 +251,14 @@ and res.executor_username = #{executorUsername} and res.pre_taskid = #{preTaskid} and res.pre_taskname = #{preTaskname} - and TO_CHAR(res.start_time,'YYYY-MM-DD') = TO_CHAR(#{startTime},'YYYY-MM-DD') - and TO_CHAR(res.end_time,'YYYY-MM-DD') = TO_CHAR(#{endTime},'YYYY-MM-DD') + and date_format(res.start_time,'%Y-%m-%d') = date_format(#{startTime},'%Y-%m-%d') + and date_format(res.end_time,'%Y-%m-%d') = date_format(#{endTime},'%Y-%m-%d') and res.milestone = #{milestone} and res.description = #{description} and res.remarks = #{remarks} and res.create_userid = #{createUserid} and res.create_username = #{createUsername} - and TO_CHAR(res.create_time,'YYYY-MM-DD') = TO_CHAR(#{createTime},'YYYY-MM-DD') + and date_format(res.create_time,'%Y-%m-%d') = date_format(#{createTime},'%Y-%m-%d') and res.rate = #{rate} and res.budget_cost = #{budgetCost} and res.budget_workload = #{budgetWorkload} @@ -265,8 +268,8 @@ and res.task_type = #{taskType} and res.task_class = #{taskClass} and res.to_task_center = #{toTaskCenter} - and TO_CHAR(res.act_start_time,'YYYY-MM-DD') = TO_CHAR(#{actStartTime},'YYYY-MM-DD') - and TO_CHAR(res.act_end_time,'YYYY-MM-DD') = TO_CHAR(#{actEndTime},'YYYY-MM-DD') + and date_format(res.act_start_time,'%Y-%m-%d') = date_format(#{actStartTime},'%Y-%m-%d') + and date_format(res.act_end_time,'%Y-%m-%d') = date_format(#{actEndTime},'%Y-%m-%d') and res.biz_proc_inst_id = #{bizProcInstId} and res.biz_flow_state = #{bizFlowState} and res.project_phase_id = #{projectPhaseId}