From d126442e5375c3ae7acb5352a44ff0e4bc076a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Tue, 26 Apr 2022 02:29:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/ctrl/XmTaskExecuserController.java | 34 ++++++++++++------- .../xm/core/ctrl/XmTaskSbillController.java | 1 + .../com/xm/core/service/client/MkClient.java | 23 +++++++++++++ .../xm/core/dao/XmTaskWorkloadMapper.xml | 2 +- 4 files changed, 47 insertions(+), 13 deletions(-) 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 39a36618..3d43b0cb 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 @@ -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 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 result=mkClient.checkAndGetMemberInterests(colUserid,xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + Tips tips2= (Tips) result.get("tips"); if(!tips2.isOk()){ return ResponseHelper.failed(tips2); } + Map data= (Map) 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); diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java index 575e7887..31f1c881 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java +++ b/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); diff --git a/xm-core/src/main/java/com/xm/core/service/client/MkClient.java b/xm-core/src/main/java/com/xm/core/service/client/MkClient.java index 5ed49d29..f21ad168 100644 --- a/xm-core/src/main/java/com/xm/core/service/client/MkClient.java +++ b/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 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 re=callBizService.getForMap(url,map("userid",userid ,"at",at,"exp",exp,"bids",bids)); + return re; + } + /** + * 检查用户是否可以投标 + * @param userid + * @return Map + */ + public Map getMemberDetailByUserid(String userid){ + String url="/mk/mk/mem/member/detailByUserid?userid={userid}"; + Map result= callBizService.getForMap(url,map("userid",userid)); + return (Map) result.get("data"); + } /** * 投标成功后登记投标次数 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 a170c12b..d18b94ca 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 @@ -139,7 +139,7 @@