Browse Source

任务结算

master
chentaiyu 4 years ago
parent
commit
f1f0cde504
  1. 21
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java
  2. 46
      xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java
  3. 3
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillMapper.xml
  4. 8
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

21
xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java

@ -327,4 +327,25 @@ public class XmTaskWorkloadController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
@ApiOperation( value = "根据主键修改一条工时登记表信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmTaskWorkload.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/editWorkloadToSbill",method=RequestMethod.POST)
public Map<String,Object> editWorkloadToSbill(@RequestBody Map<String,Object> params) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功添加到结算单");
try{
xmTaskWorkloadService.editWorkloadToSbill(params);
}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;
}
} }

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

@ -1,9 +1,19 @@
package com.xm.core.service; package com.xm.core.service;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.util.BeanUtil;
import com.mdp.core.utils.DateUtils;
import com.mdp.core.utils.MapUtils;
import com.mdp.core.utils.RequestUtils;
import com.xm.core.entity.XmTaskSbill;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
import org.springframework.beans.BeanUtils;
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.*;
@ -11,6 +21,8 @@ import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException; import com.mdp.core.err.BizException;
import com.xm.core.entity.XmTaskWorkload; import com.xm.core.entity.XmTaskWorkload;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br> * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br> * 组织 com 顶级模块 xm 大模块 core 小模块 <br>
@ -20,5 +32,35 @@ import com.xm.core.entity.XmTaskWorkload;
public class XmTaskWorkloadService extends BaseService { public class XmTaskWorkloadService extends BaseService {
static Logger logger =LoggerFactory.getLogger(XmTaskWorkloadService.class); static Logger logger =LoggerFactory.getLogger(XmTaskWorkloadService.class);
@Autowired
XmTaskSbillService xmTaskSbillService;
@Transactional(rollbackFor = Exception.class)
public void editWorkloadToSbill(Map<String,Object> params){
//查询出相关工时单结算单
Map<String,Object> query = new HashMap<>();
query.put("ids",params.get("ids"));
List<Map<String,Object>> workloads = this.selectListMapByWhere(query);
XmTaskSbill xmTaskSbill = new XmTaskSbill();
xmTaskSbill.setId((String) params.get("sbillId"));
xmTaskSbill = xmTaskSbillService.selectOneObject(xmTaskSbill);
//累加工时结算金额
BigDecimal totalWork = BigDecimal.ZERO;
BigDecimal totalSamt = BigDecimal.ZERO;
for (Map<String, Object> workload : workloads) {
totalWork = totalWork.add((BigDecimal) workload.get("workload"));
totalSamt = totalSamt.add((BigDecimal) workload.get("samt"));
workload.put("sbillId",xmTaskSbill.getId());
workload.put("sstatus","2");
workload.put("stime", DateUtils.getDatetime());
}
xmTaskSbill.setWorkload(xmTaskSbill.getWorkload().add(totalWork));
xmTaskSbill.setAmt(xmTaskSbill.getAmt().add(totalSamt));
xmTaskSbill.setLtime(new Date());
xmTaskSbillService.updateByPk(xmTaskSbill);
this.batchUpdate(workloads);
}
} }

3
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillMapper.xml

@ -14,6 +14,9 @@
<if test="key != null and key !='' "> <if test="key != null and key !='' ">
AND( res.id like #{key} OR res.title like #{key} OR res.project_name like #{key} ) AND( res.id like #{key} OR res.title like #{key} OR res.project_name like #{key} )
</if> </if>
<if test="startTime !=null and startTime != ''">
AND res.ctime BETWEEN #{startTime} AND #{endTime}
</if>
</sql> </sql>

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

@ -11,7 +11,13 @@
( #{item}) ( #{item})
</foreach> </foreach>
</if> </if>
<if test="key != null and key !='' "> </if>
<if test="key != null and key !='' ">
AND
( res.userid like #{key} OR res.username like #{key} OR res.project_id like #{key} OR res.task_id like #{key})
</if>
<if test="toSbill !=null and toSbill !=''">
AND (res.wstatus = '1'AND res.sstatus = '1')
</if>
</sql> </sql>
<!-- 通过条件查询获取未提交结算的工作量 返回list<map> --> <!-- 通过条件查询获取未提交结算的工作量 返回list<map> -->

Loading…
Cancel
Save