Browse Source

重新生成工时表

master
陈裕财 4 years ago
parent
commit
06962961c6
  1. 35
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillDetailController.java
  2. 25
      xm-core/src/main/java/com/xm/core/service/XmTaskSbillDetailService.java
  3. 4
      xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java
  4. 2
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillDetailMapper.xml
  5. 12
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

35
xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillDetailController.java

@ -2,6 +2,9 @@ package com.xm.core.ctrl;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.xm.core.entity.XmTaskSbill;
import com.xm.core.service.XmTaskSbillService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -50,7 +53,9 @@ public class XmTaskSbillDetailController {
@Autowired @Autowired
private XmTaskSbillDetailService xmTaskSbillDetailService; private XmTaskSbillDetailService xmTaskSbillDetailService;
@Autowired
private XmTaskSbillService xmTaskSbillService;
Map<String,Object> fieldsMap = toMap(new XmTaskSbillDetail()); Map<String,Object> fieldsMap = toMap(new XmTaskSbillDetail());
@ -108,8 +113,7 @@ public class XmTaskSbillDetailController {
return m; return m;
} }
*/ */
/**
@ApiOperation( value = "删除一条工时登记表信息",notes=" ") @ApiOperation( value = "删除一条工时登记表信息",notes=" ")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
@ -137,7 +141,6 @@ public class XmTaskSbillDetailController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
*/
/** /**
@ApiOperation( value = "根据主键修改一条工时登记表信息",notes=" ") @ApiOperation( value = "根据主键修改一条工时登记表信息",notes=" ")
@ -172,8 +175,6 @@ public class XmTaskSbillDetailController {
/**
@ApiOperation( value = "批量修改某些字段",notes="") @ApiOperation( value = "批量修改某些字段",notes="")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmTaskSbillDetail.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @ApiResponse(code = 200,response=XmTaskSbillDetail.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
@ -244,9 +245,7 @@ public class XmTaskSbillDetailController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
*/
/**
@ApiOperation( value = "根据主键列表批量删除工时登记表信息",notes=" ") @ApiOperation( value = "根据主键列表批量删除工时登记表信息",notes=" ")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
@ -255,12 +254,23 @@ public class XmTaskSbillDetailController {
public Map<String,Object> batchDelXmTaskSbillDetail(@RequestBody List<XmTaskSbillDetail> xmTaskSbillDetails) { public Map<String,Object> batchDelXmTaskSbillDetail(@RequestBody List<XmTaskSbillDetail> xmTaskSbillDetails) {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除"); Tips tips=new Tips("成功删除");
try{
try{
User user=LoginUtils.getCurrentUserInfo();
if(xmTaskSbillDetails.size()<=0){ if(xmTaskSbillDetails.size()<=0){
return failed("data-0","请上送待删除数据列表"); return failed("data-0","请上送待删除数据列表");
} }
List<XmTaskSbillDetail> datasDb=xmTaskSbillDetailService.selectListByIds(xmTaskSbillDetails.stream().map(i-> i.getId() ).collect(Collectors.toList())); List<XmTaskSbillDetail> datasDb=xmTaskSbillDetailService.selectListByIds(xmTaskSbillDetails.stream().map(i-> i.getId() ).collect(Collectors.toList()));
String sbillId=datasDb.get(0).getSbillId();
if(datasDb.stream().filter(i->!sbillId.equals(i.getSbillId())).findAny().isPresent()){
return failed("sbillId-0","只能删除同一个结算单的清单");
}
XmTaskSbill xmTaskSbill=xmTaskSbillService.selectOneById(sbillId);
if(!user.getUserid().equals(xmTaskSbill.getCuserid())){
return failed("sbillId-0","该结算单不是您创建的,您不能删除其清单");
}
if(!"0".equals(xmTaskSbill.getStatus())){
return failed("status-not-0","结算单已提交,不允许更改");
}
List<XmTaskSbillDetail> can=new ArrayList<>(); List<XmTaskSbillDetail> can=new ArrayList<>();
List<XmTaskSbillDetail> no=new ArrayList<>(); List<XmTaskSbillDetail> no=new ArrayList<>();
for (XmTaskSbillDetail data : datasDb) { for (XmTaskSbillDetail data : datasDb) {
@ -272,7 +282,7 @@ public class XmTaskSbillDetailController {
} }
List<String> msgs=new ArrayList<>(); List<String> msgs=new ArrayList<>();
if(can.size()>0){ if(can.size()>0){
xmTaskSbillDetailService.batchDelete(xmTaskSbillDetails);
xmTaskSbillDetailService.batchDoDelete(xmTaskSbillDetails);
msgs.add(String.format("成功删除%s条数据.",can.size())); msgs.add(String.format("成功删除%s条数据.",can.size()));
} }
@ -293,6 +303,5 @@ public class XmTaskSbillDetailController {
} }
m.put("tips", tips); m.put("tips", tips);
return m; return m;
}
*/
}
} }

25
xm-core/src/main/java/com/xm/core/service/XmTaskSbillDetailService.java

@ -1,11 +1,17 @@
package com.xm.core.service; package com.xm.core.service;
import com.xm.core.entity.XmTaskWorkload;
import com.xm.core.vo.BatchJoinToSbillVo; import com.xm.core.vo.BatchJoinToSbillVo;
import com.xm.core.vo.UserTaskVo; import com.xm.core.vo.UserTaskVo;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mdp.core.service.BaseService; import com.mdp.core.service.BaseService;
import static com.mdp.core.utils.BaseUtils.*; import static com.mdp.core.utils.BaseUtils.*;
@ -13,6 +19,8 @@ import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException; import com.mdp.core.err.BizException;
import com.xm.core.entity.XmTaskSbillDetail; import com.xm.core.entity.XmTaskSbillDetail;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br> * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br> * 组织 com 顶级模块 xm 大模块 core 小模块 <br>
@ -22,8 +30,25 @@ import com.xm.core.entity.XmTaskSbillDetail;
public class XmTaskSbillDetailService extends BaseService { public class XmTaskSbillDetailService extends BaseService {
static Logger logger =LoggerFactory.getLogger(XmTaskSbillDetailService.class); static Logger logger =LoggerFactory.getLogger(XmTaskSbillDetailService.class);
@Autowired
XmTaskWorkloadService xmTaskWorkloadService;
@Autowired
XmTaskSbillService xmTaskSbillService;
public List<XmTaskSbillDetail> selectListByUserTasks(BatchJoinToSbillVo batchJoinToSbillVo) { public List<XmTaskSbillDetail> selectListByUserTasks(BatchJoinToSbillVo batchJoinToSbillVo) {
return super.selectList("selectListByUserTasks",batchJoinToSbillVo); return super.selectList("selectListByUserTasks",batchJoinToSbillVo);
} }
@Transactional
public void batchDoDelete(List<XmTaskSbillDetail> xmTaskSbillDetails) {
String sbillId=xmTaskSbillDetails.get(0).getSbillId();
super.batchDelete(xmTaskSbillDetails);
//更新工时表数据状态
xmTaskWorkloadService.updateStatusAfterDetailDel(xmTaskSbillDetails.stream().map(i->i.getId()).collect(Collectors.toList()));
//更新结算单数据
xmTaskSbillService.updateByWorkloadList(Arrays.asList(sbillId));
}
} }

4
xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java

@ -96,5 +96,9 @@ public class XmTaskWorkloadService extends BaseService {
public void updateStatusAfterJoinSbill(List<XmTaskSbillDetail> details) { public void updateStatusAfterJoinSbill(List<XmTaskSbillDetail> details) {
super.update("updateStatusAfterJoinSbill",details); super.update("updateStatusAfterJoinSbill",details);
} }
public void updateStatusAfterDetailDel(List<String> detailIds) {
super.update("updateStatusAfterDetailDel",detailIds);
}
} }

2
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillDetailMapper.xml

@ -30,7 +30,7 @@
<!-- 通过条件查询获取数据列表 返回list<map> --> <!-- 通过条件查询获取数据列表 返回list<map> -->
<select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap"> <select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap">
select res.*,t.name as task_name,t.project_name,t.task_state from xm_task_sbill_detail res left join xm_task t on t.task_id=res.task_id
select res.*,t.name as task_name,t.project_name,t.task_state from xm_task_sbill_detail res left join xm_task t on t.id=res.task_id
<where> <where>
<include refid="whereForMap"/> <include refid="whereForMap"/>
<include refid="where"/> <include refid="where"/>

12
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

@ -138,8 +138,8 @@
<!--查询待结算工时--> <!--查询待结算工时-->
<select id="ListGroupByTaskIdAndUseridToSet" parameterType="HashMap" resultType="HashMap"> <select id="ListGroupByTaskIdAndUseridToSet" parameterType="HashMap" resultType="HashMap">
select res.*, task.project_name,task.name as task_name,task.budget_workload,task.act_workload,task_state,task_out,uni_inner_price,uni_out_price,settle_schemel,
e.quote_workload,e.quote_amount,e.exec_user_branch_id,e.quote_end_time,e.quote_start_time,e.dist_userid,e.dist_username
select res.*, task.project_name,task.name as task_name,task.budget_workload,task.act_workload,task_state,task_out,uni_inner_price,uni_out_price,settle_schemel as sschemel,task.budget_at,
e.quote_workload,e.quote_amount as quote_at,e.exec_user_branch_id,e.quote_end_time,e.quote_start_time,e.dist_userid,e.dist_username
from xm_task task from xm_task task
inner join ( inner join (
select res.project_id,res.task_id,res.userid, select res.project_id,res.task_id,res.userid,
@ -195,6 +195,14 @@
where res.sstatus='1' and res.userid=#{item.userid} and res.task_id=#{item.taskId} where res.sstatus='1' and res.userid=#{item.userid} and res.task_id=#{item.taskId}
</foreach> </foreach>
</update> </update>
<update id="updateStatusAfterDetailDel" parameterType="List">
update xm_task_workload res set res.sstatus='1',res.detail_id=null
where res.detail_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
</update>
<!--结束 自定义sql函数区域--> <!--结束 自定义sql函数区域-->

Loading…
Cancel
Save