From 3b4f92d2c7d18e84812389fff6c9b38b3bdd8a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Fri, 22 Apr 2022 01:15:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/ctrl/XmTaskWorkloadController.java | 63 ++++++++++++++++++- .../xm/core/service/XmTaskSbillService.java | 2 +- .../core/service/XmTaskWorkloadService.java | 8 +++ .../xm/core/dao/XmTaskWorkloadMapper.xml | 12 +++- 4 files changed, 82 insertions(+), 3 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java index 9d1752e5..956d131b 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java @@ -353,9 +353,70 @@ public class XmTaskWorkloadController { } m.put("tips", tips); return m; - } + } + + + + @ApiOperation( value = "",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmTaskWorkload.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/batchSetSbillIdNull",method=RequestMethod.POST) + public Map batchSetSbillIdNull(@RequestBody List xmTaskWorkloads) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功移出结算单"); + try{ + + List ids= xmTaskWorkloads.stream().map(i->i.getId()).collect(Collectors.toList()); + if(ids==null || ids.size()==0){ + return ResponseHelper.failed("ids-0","工时变化ids不能为空"); + } + + User user= LoginUtils.getCurrentUserInfo(); + + List list=this.xmTaskWorkloadService.selectListByIds(ids); + if(list.size()==0){ + return ResponseHelper.failed("data-0","工时明细不存在"); + } + + List xmTaskSbills=this.xmTaskSbillService.selectListByIds(list.stream().map(i->i.getSbillId()).collect(Collectors.toSet()).stream().collect(Collectors.toList())); + Map canBillMap=new HashMap<>(); + for (XmTaskSbill xmTaskSbill : xmTaskSbills) { + if(user.getUserid().equals(xmTaskSbill.getCuserid())){ + if("0".equals(xmTaskSbill.getStatus())){ + canBillMap.put(xmTaskSbill.getId(),xmTaskSbill); + } + } + } + List canChanges=list.stream().filter(i->canBillMap.containsKey(i.getSbillId())).collect(Collectors.toList()); + List noChanges=list.stream().filter(i->!canBillMap.containsKey(i.getSbillId())).collect(Collectors.toList()); + if(canChanges.size()>0){ + xmTaskWorkloadService.batchSetSbillIdNull(canChanges.stream().map(i->i.getId()).collect(Collectors.toList())); + } + List msgs=new ArrayList<>(); + if(canChanges.size()>0){ + msgs.add("成功将"+canChanges.size()+"条工时移出结算单"); + } + if(noChanges.size()>0){ + msgs.add("有"+noChanges.size()+"条工时对应的结算单不是待提交状态,不允许更改"); + } + if(canChanges.size()>0){ + tips.setOkMsg(msgs.stream().collect(Collectors.joining())); + }else{ + tips.setFailureMsg(msgs.stream().collect(Collectors.joining())); + } + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } @ApiOperation( value = "",notes=" ") @ApiResponses({ diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java index d388c6f3..2bdb56e8 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java @@ -47,7 +47,7 @@ public class XmTaskSbillService extends BaseService { XmTaskWorkload xmTaskWorkload = new XmTaskWorkload(); xmTaskWorkload.setSbillId(xmTaskSbill.getId()); xmTaskWorkload.setSstatus("1");//标记为待提交结算 - xmTaskWorkloadService.update("updateSomeFieldByWhere",xmTaskWorkload); + xmTaskWorkloadService.updateStatusBySbillIdBySbillDel(xmTaskWorkload); } /** diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java index 8161abd3..6972b91d 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java @@ -62,5 +62,13 @@ public class XmTaskWorkloadService extends BaseService { public List> listTaskWorkloadBySbillIdGroupByUseridAndTaskId(String sbillId) { return this.selectList("listTaskWorkloadBySbillIdGroupByUseridAndTaskId",sbillId); } + + public void updateStatusBySbillIdBySbillDel(XmTaskWorkload xmTaskWorkload) { + super.update("updateStatusBySbillIdBySbillDel",xmTaskWorkload); + } + + public void batchSetSbillIdNull(List ids) { + super.update("batchSetSbillIdNull",ids); + } } diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml index 483f6166..f1334670 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml @@ -38,7 +38,17 @@ AND res.biz_date BETWEEN #{startBizDate} AND #{endBizDate} - + + update xm_task_workload res set sbill_id=null + where res.sbill_id=#{sbillId} + + + update xm_task_workload res set sbill_id=null + where res.id in + + #{item} + + update xm_task_workload res