Browse Source

重新生成工时表

master
陈裕财 4 years ago
parent
commit
d126442e53
  1. 34
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  2. 1
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java
  3. 23
      xm-core/src/main/java/com/xm/core/service/client/MkClient.java
  4. 2
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

34
xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java

@ -4,6 +4,7 @@ import com.mdp.audit.log.client.annotation.AuditLog;
import com.mdp.audit.log.client.annotation.OperType;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.utils.NumberUtil;
import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.ResponseHelper;
import com.mdp.meta.client.service.ItemService;
@ -26,10 +27,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map;
@ -160,7 +159,7 @@ public class XmTaskExecuserController {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功新增一条数据");
try{
String projectId=xmTaskExecuser.getProjectId();
User user=LoginUtils.getCurrentUserInfo();
XmTask xmTask=xmTaskService.selectOneObject(new XmTask(xmTaskExecuser.getTaskId()));
if(xmTask==null){
@ -168,20 +167,31 @@ public class XmTaskExecuserController {
m.put("tips", tips);
return m;
}
String projectId=xmTask.getProjectId();
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算状态,不允许再修改");
m.put("tips", tips);
return m;
}
if("1".equals(xmTask.getCrowd()) && "1".equals(xmTask.getTaskOut())){
Tips tips2=mkClient.checkMemberInterests(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
String colUserid=StringUtils.hasText(xmTaskExecuser.getExecUserBranchId())?xmTaskExecuser.getExecUserBranchId():xmTaskExecuser.getUserid();
Map<String,Object> result=mkClient.checkAndGetMemberInterests(colUserid,xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
Tips tips2= (Tips) result.get("tips");
if(!tips2.isOk()){
return ResponseHelper.failed(tips2);
}
Map<String,Object> data= (Map<String, Object>) result.get("data");
if(data!=null && data.containsKey("sfeeRate")){
xmTaskExecuser.setSfeeRate(NumberUtil.getInteger(data.get("sfeeRate"),0));
if(xmTaskExecuser.getQuoteAmount()!=null){
xmTaskExecuser.setSfee(xmTaskExecuser.getQuoteAmount().multiply(BigDecimal.valueOf(xmTaskExecuser.getSfeeRate()/100)));
}
}
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算状态,不允许再修改");
m.put("tips", tips);
return m;
}
if(user.getUserid().equals(xmTaskExecuser.getUserid())){//自己作为候选人
xmTaskExecuser.setExecUserBranchId(user.getBranchId());
xmTaskExecuserService.addExecuser(xmTaskExecuser);
mkClient.pushBidsAfterBidSuccess(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
m.put("data",xmTaskExecuser);

1
xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java

@ -261,6 +261,7 @@ public class XmTaskSbillController {
tactAt=tactAt.add(othDetail.getAmt());
}
d.setTactAt(tactAt);
this.xmTaskSbillDetailService.preCalcSamt(d);
}
this.xmTaskSbillService.batchJoinToSbill(canAdd,sameSbillDetails);

23
xm-core/src/main/java/com/xm/core/service/client/MkClient.java

@ -72,6 +72,29 @@ public class MkClient {
String url="/mk/mk/mem/memberInterests/checkMemberInterests?userid={userid}&at={at}&exp={exp}&bids={bids}";
return callBizService.getForTips(url,map("userid",userid ,"at",at,"exp",exp,"bids",bids));
}
/**
* 检查用户是否可以投标
* @param userid
* @param at
* @param exp
* @param bids
* @return {tipscode:bids-not-enough,msg:投标次数超限},{tipscode:smaxExp-not-enough,msg:投标工作量超限},{tipscode:smaxAt-not-enough,msg:投标金额超限},
*/
public Map<String,Object> checkAndGetMemberInterests(String userid,BigDecimal at,BigDecimal exp,Integer bids){
String url="/mk/mk/mem/memberInterests/checkMemberInterests?userid={userid}&at={at}&exp={exp}&bids={bids}";
Map<String,Object> re=callBizService.getForMap(url,map("userid",userid ,"at",at,"exp",exp,"bids",bids));
return re;
}
/**
* 检查用户是否可以投标
* @param userid
* @return Map
*/
public Map<String, Object> getMemberDetailByUserid(String userid){
String url="/mk/mk/mem/member/detailByUserid?userid={userid}";
Map<String,Object> result= callBizService.getForMap(url,map("userid",userid));
return (Map<String, Object>) result.get("data");
}
/**
* 投标成功后登记投标次数

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

@ -139,7 +139,7 @@
<!--查询待结算工时-->
<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,crowd,uni_inner_price,uni_out_price,settle_schemel as sschemel,task.budget_at,task.oshare,task.share_fee,
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,e.exec_user_branch_id as cp_id,e.share_key
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,e.exec_user_branch_id as cp_id,e.share_key,e.sfee_rate,e.sfee
from xm_task task
inner join (
select res.project_id,res.task_id,res.userid,

Loading…
Cancel
Save