From d8acbfec89d80c759b6c1b8ee72623c0c08de317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Tue, 5 Jul 2022 17:11:08 +0800 Subject: [PATCH] task,task_order --- .../xm/core/ctrl/XmTaskOrderController.java | 296 ++++++++++++++++ .../main/java/com/xm/core/entity/XmTask.java | 48 ++- .../java/com/xm/core/entity/XmTaskOrder.java | 168 +++++++++ .../xm/core/service/XmTaskOrderService.java | 24 ++ .../mapper/xm/core/dao/XmTaskMapper.xml | 56 ++- .../mapper/xm/core/dao/XmTaskOrderMapper.xml | 332 ++++++++++++++++++ 6 files changed, 914 insertions(+), 10 deletions(-) create mode 100644 xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java create mode 100644 xm-core/src/main/java/com/xm/core/entity/XmTaskOrder.java create mode 100644 xm-core/src/main/java/com/xm/core/service/XmTaskOrderService.java create mode 100644 xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskOrderMapper.xml diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java new file mode 100644 index 00000000..31ef04d0 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java @@ -0,0 +1,296 @@ +package com.xm.core.ctrl; + +import java.util.*; +import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.*; + +import static com.mdp.core.utils.ResponseHelper.*; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; +import com.mdp.mybatis.PageUtils; +import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.NumberUtil; +import com.mdp.safe.client.entity.User; +import com.mdp.safe.client.utils.LoginUtils; +import com.mdp.swagger.ApiEntityParams; +import springfox.documentation.annotations.ApiIgnore; + +import com.xm.core.service.XmTaskOrderService; +import com.xm.core.entity.XmTaskOrder; + +/** + * url编制采用rest风格,如对xm_task_order 任务相关费用订单表的操作有增删改查,对应的url分别为:
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmTaskOrder 表 xm_task_order 当前主键(包括多主键): id; + ***/ +@RestController("xm.core.xmTaskOrderController") +@RequestMapping(value="/**/core/xmTaskOrder") +@Api(tags={"任务相关费用订单表操作接口"}) +public class XmTaskOrderController { + + static Logger logger =LoggerFactory.getLogger(XmTaskOrderController.class); + + @Autowired + private XmTaskOrderService xmTaskOrderService; + + + Map fieldsMap = toMap(new XmTaskOrder()); + + + @ApiOperation( value = "查询任务相关费用订单表信息列表",notes=" ") + @ApiEntityParams( XmTaskOrder.class ) + @ApiImplicitParams({ + @ApiImplicitParam(name="pageSize",value="每页大小,默认20条",required=false), + @ApiImplicitParam(name="pageNum",value="当前页码,从1开始",required=false), + @ApiImplicitParam(name="total",value="总记录数,服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算",required=false), + @ApiImplicitParam(name="count",value="是否计算总记录条数,如果count=true,则计算计算总条数,如果count=false 则不计算",required=false), + @ApiImplicitParam(name="orderBy",value="排序列 如性别、学生编号排序 orderBy = sex desc,student desc",required=false), + }) + @ApiResponses({ + @ApiResponse(code = 200,response=XmTaskOrder.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/list",method=RequestMethod.GET) + public Map listXmTaskOrder( @ApiIgnore @RequestParam Map xmTaskOrder){ + Map m = new HashMap<>(); + Tips tips=new Tips("查询成功"); + RequestUtils.transformArray(xmTaskOrder, "ids"); + PageUtils.startPage(xmTaskOrder); + List> xmTaskOrderList = xmTaskOrderService.selectListMapByWhere(xmTaskOrder); //列出XmTaskOrder列表 + PageUtils.responePage(m, xmTaskOrderList); + m.put("data",xmTaskOrderList); + + m.put("tips", tips); + return m; + } + + + + /** + @ApiOperation( value = "新增一条任务相关费用订单表信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmTaskOrder.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/add",method=RequestMethod.POST) + public Map addXmTaskOrder(@RequestBody XmTaskOrder xmTaskOrder) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功新增一条数据"); + try{ + boolean createPk=false; + if(!StringUtils.hasText(xmTaskOrder.getId())) { + createPk=true; + xmTaskOrder.setId(xmTaskOrderService.createKey("id")); + } + if(createPk==false){ + if(xmTaskOrderService.selectOneObject(xmTaskOrder) !=null ){ + return failed("pk-exists","编号重复,请修改编号再提交"); + } + } + xmTaskOrderService.insert(xmTaskOrder); + m.put("data",xmTaskOrder); + }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({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") + }) + @RequestMapping(value="/del",method=RequestMethod.POST) + public Map delXmTaskOrder(@RequestBody XmTaskOrder xmTaskOrder){ + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除一条数据"); + try{ + if(!StringUtils.hasText(xmTaskOrder.getId())) { + return failed("pk-not-exists","请上送主键参数id"); + } + XmTaskOrder xmTaskOrderDb = xmTaskOrderService.selectOneObject(xmTaskOrder); + if( xmTaskOrderDb == null ){ + return failed("data-not-exists","数据不存在,无法删除"); + } + xmTaskOrderService.deleteByPk(xmTaskOrder); + }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({ + @ApiResponse(code = 200,response=XmTaskOrder.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/edit",method=RequestMethod.POST) + public Map editXmTaskOrder(@RequestBody XmTaskOrder xmTaskOrder) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功更新一条数据"); + try{ + if(!StringUtils.hasText(xmTaskOrder.getId())) { + return failed("pk-not-exists","请上送主键参数id"); + } + XmTaskOrder xmTaskOrderDb = xmTaskOrderService.selectOneObject(xmTaskOrder); + if( xmTaskOrderDb == null ){ + return failed("data-not-exists","数据不存在,无法修改"); + } + xmTaskOrderService.updateSomeFieldByPk(xmTaskOrder); + m.put("data",xmTaskOrder); + }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="") + @ApiEntityParams( value = XmTaskOrder.class, props={ }, remark = "任务相关费用订单表", paramType = "body" ) + @ApiResponses({ + @ApiResponse(code = 200,response=XmTaskOrder.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/editSomeFields",method=RequestMethod.POST) + public Map editSomeFields( @ApiIgnore @RequestBody Map xmTaskOrderMap) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功更新一条数据"); + try{ + List ids= (List) xmTaskOrderMap.get("ids"); + if(ids==null || ids.size()==0){ + return failed("ids-0","ids不能为空"); + } + + Set fields=new HashSet<>(); + fields.add("id"); + for (String fieldName : xmTaskOrderMap.keySet()) { + if(fields.contains(fieldName)){ + return failed(fieldName+"-no-edit",fieldName+"不允许修改"); + } + } + Set fieldKey=xmTaskOrderMap.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet()); + fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmTaskOrderMap.get(i) )).collect(Collectors.toSet()); + + if(fieldKey.size()<=0) { + return failed("fieldKey-0","没有需要更新的字段"); + } + XmTaskOrder xmTaskOrder = fromMap(xmTaskOrderMap,XmTaskOrder.class); + List xmTaskOrdersDb=xmTaskOrderService.selectListByIds(ids); + if(xmTaskOrdersDb==null ||xmTaskOrdersDb.size()==0){ + return failed("data-0","记录已不存在"); + } + List can=new ArrayList<>(); + List no=new ArrayList<>(); + User user = LoginUtils.getCurrentUserInfo(); + for (XmTaskOrder xmTaskOrderDb : xmTaskOrdersDb) { + Tips tips2 = new Tips("检查通过"); + if(!tips2.isOk()){ + no.add(xmTaskOrderDb); + }else{ + can.add(xmTaskOrderDb); + } + } + if(can.size()>0){ + xmTaskOrderMap.put("ids",can.stream().map(i->i.getId()).collect(Collectors.toList())); + xmTaskOrderService.editSomeFields(xmTaskOrderMap); + } + List msgs=new ArrayList<>(); + if(can.size()>0){ + msgs.add(String.format("成功更新以下%s条数据",can.size())); + } + if(no.size()>0){ + msgs.add(String.format("以下%s个数据无权限更新",no.size())); + } + if(can.size()>0){ + tips.setOkMsg(msgs.stream().collect(Collectors.joining())); + }else { + tips.setFailureMsg(msgs.stream().collect(Collectors.joining())); + } + //m.put("data",xmMenu); + }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({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/batchDel",method=RequestMethod.POST) + public Map batchDelXmTaskOrder(@RequestBody List xmTaskOrders) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除"); + try{ + if(xmTaskOrders.size()<=0){ + return failed("data-0","请上送待删除数据列表"); + } + List datasDb=xmTaskOrderService.selectListByIds(xmTaskOrders.stream().map(i-> i.getId() ).collect(Collectors.toList())); + + List can=new ArrayList<>(); + List no=new ArrayList<>(); + for (XmTaskOrder data : datasDb) { + if(true){ + can.add(data); + }else{ + no.add(data); + } + } + List msgs=new ArrayList<>(); + if(can.size()>0){ + xmTaskOrderService.batchDelete(can); + msgs.add(String.format("成功删除%s条数据.",can.size())); + } + + if(no.size()>0){ + msgs.add(String.format("以下%s条数据不能删除.【%s】",no.size(),no.stream().map(i-> i.getId() ).collect(Collectors.joining(",")))); + } + if(can.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; + } + */ +} diff --git a/xm-core/src/main/java/com/xm/core/entity/XmTask.java b/xm-core/src/main/java/com/xm/core/entity/XmTask.java index e0d882a9..012a5fe8 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmTask.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmTask.java @@ -9,7 +9,7 @@ import java.math.BigDecimal; /** * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmTask所有属性名:
- * "id","任务编号","name","任务名称","parentTaskid","父任务编号","parentTaskname","父任务名称","projectId","项目编号","projectName","项目名称","level","任务级别","sortLevel","序号","executorUserid","任务执行人编号","executorUsername","任务执行人","preTaskid","前置任务编号","preTaskname","前置任务名称","startTime","任务开始时间","endTime","任务结束时间","milestone","里程碑","description","任务描述","remarks","备注","createUserid","任务创建人编号(谁创建谁负责)","createUsername","任务创建人(谁创建谁负责)","createTime","创建时间","rate","任务进度0-100(=实际工时/(实际工时+剩余工时)*100)","budgetAt","当前任务预算金额(calc_type=2时预算工时*单价,calc_type=1时下级汇总)","budgetWorkload","预算工时(calc_type=2时手工填写,calc_type=1时下级汇总)","actAt","当前任务实际费用金额(calc_type=2时,取实际工时*单价,calc_type=1时取下级汇总数据)待结算金额","actWorkload","任务取工时表报工工时汇总,","taskState","任务状态0待领取1已领取执行中2已完工3已结算4已关闭5草稿","taskType","0售前方案1投标2需求3设计4开发5测试6验收7部署8运维--来自基础数据表taskType","taskClass","1需结算0不需结算","toTaskCenter","是否发布到任务大厅0否1是,1时互联网可访问","actStartTime","实际开始时间-任务状态变成执行中的时间","actEndTime","实际结束时间-任务状态变成完工状态时的时间","bizProcInstId","当前流程实例编号","bizFlowState","当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除","phaseId","项目阶段编号(作废)","phaseName","项目阶段名称(作废)","taskSkillNames","技能列表,逗号分隔","exeUsernames","执行人列表逗号分隔如陈x(审核人),王x(监控人)","taskSkillIds","技能编号列表逗号分隔","exeUserids","执行人编号列表逗号分隔如u1(1),u2(2)","taskOut","执行方式-0内研1外购","planType","计划类型w1-周,w2-2周,w3-3周,m1-1月,m2-2月,q1-季,q2-半年,y1-年","settleSchemel","任务结算方案-来自数字字典xmTaskSettleSchemel","menuId","归属功能编号","menuName","归属功能名称","productId","产品编号根据功能变化带进","cbranchId","创建机构","cdeptid","创建部门","tagIds","标签编号,逗号分割","tagNames","标签名称,逗号分割","ntype","节点类型0-任务,1-计划。计划下可建立计划和任务,任务下不允许再扩展。也就是非叶子节点都是计划,叶子节点有可能是计划或者任务","childrenCnt","儿子节点个数","ltime","更新时间","pidPaths","父级id逗号分割,最后一个为本节点节点编号,以,号结尾","lvl","层级0-顶级,1-一级,2-二级,3-三级,4-四级。总共5级","isTpl","是否为模板","keyPath","是否为关键路径上的节点","uniInnerPrice","内部单位工时单价","uniOutPrice","外部单位工时单价","calcType","数据统计方式","ptype","计划分类0-项目,1产品,空为不区分","wtype","报工方式1-强制每日报工,2-工期内报工,0-无需报工","bctrl","报工限制0-不限制,1-不得超出预估工时","initWorkload","原始预估工作量,budget_workload发生变化后,进行备份","shareFee","分享赚佣金","oshare","开启分享赚功能0-否1是","crowd","是否众包0否1是,众包属于外购的一种","browseUsers","浏览人数","execUsers","投标人数","cityId","城市编号","cityName","城市名称","regionType","地域限制方式0-不限制,1-同城,2-同省,3-同国,4-同洲","browseTimes","浏览次数","capaLvls","能力等级编号列表,逗号分割","tranMode","交易模式1-招标,2-雇佣","supRequires","保障要求编号列表,多个逗号分割","hot","是否为热搜0否1是","top","是否为置顶0否1是","urgent","加急0否1是","crmSup","客服包办0否1是,理顺需求、比稿选稿","bidStep","投标流程0-草稿,1-发布需求,2-用户投标,3雇主选标,4拓管赏金,5用户工作,6验收付款","interestLvls","会员等级编号列表,逗号分割";
+ * "id","任务编号","name","任务名称","parentTaskid","父任务编号","parentTaskname","父任务名称","projectId","项目编号","projectName","项目名称","level","任务级别","sortLevel","序号","executorUserid","任务执行人编号","executorUsername","任务执行人","preTaskid","前置任务编号","preTaskname","前置任务名称","startTime","任务开始时间","endTime","任务结束时间","milestone","里程碑","description","任务描述","remarks","备注","createUserid","任务创建人编号(谁创建谁负责)","createUsername","任务创建人(谁创建谁负责)","createTime","创建时间","rate","任务进度0-100(=实际工时/(实际工时+剩余工时)*100)","budgetAt","当前任务预算金额(calc_type=2时预算工时*单价,calc_type=1时下级汇总)","budgetWorkload","预算工时(calc_type=2时手工填写,calc_type=1时下级汇总)","actAt","当前任务实际费用金额(calc_type=2时,取实际工时*单价,calc_type=1时取下级汇总数据)待结算金额","actWorkload","任务取工时表报工工时汇总,","taskState","任务状态0待领取1已领取执行中2已完工3已结算4已关闭5草稿","taskType","0售前方案1投标2需求3设计4开发5测试6验收7部署8运维--来自基础数据表taskType","taskClass","1需结算0不需结算","toTaskCenter","是否发布到任务大厅0否1是,1时互联网可访问","actStartTime","实际开始时间-任务状态变成执行中的时间","actEndTime","实际结束时间-任务状态变成完工状态时的时间","bizProcInstId","当前流程实例编号","bizFlowState","当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除","phaseId","项目阶段编号(作废)","phaseName","项目阶段名称(作废)","taskSkillNames","技能列表,逗号分隔","exeUsernames","执行人列表逗号分隔如陈x(审核人),王x(监控人)","taskSkillIds","技能编号列表逗号分隔","exeUserids","执行人编号列表逗号分隔如u1(1),u2(2)","taskOut","执行方式-0内研1外购","planType","计划类型w1-周,w2-2周,w3-3周,m1-1月,m2-2月,q1-季,q2-半年,y1-年","settleSchemel","任务结算方案-来自数字字典xmTaskSettleSchemel","menuId","归属功能编号","menuName","归属功能名称","productId","产品编号根据功能变化带进","cbranchId","创建机构","cdeptid","创建部门","tagIds","标签编号,逗号分割","tagNames","标签名称,逗号分割","ntype","节点类型0-任务,1-计划。计划下可建立计划和任务,任务下不允许再扩展。也就是非叶子节点都是计划,叶子节点有可能是计划或者任务","childrenCnt","儿子节点个数","ltime","更新时间","pidPaths","父级id逗号分割,最后一个为本节点节点编号,以,号结尾","lvl","层级0-顶级,1-一级,2-二级,3-三级,4-四级。总共5级","isTpl","是否为模板","keyPath","是否为关键路径上的节点","uniInnerPrice","内部单位工时单价","uniOutPrice","外部单位工时单价","calcType","数据统计方式","ptype","计划分类0-项目,1产品,空为不区分","wtype","报工方式1-强制每日报工,2-工期内报工,0-无需报工","bctrl","报工限制0-不限制,1-不得超出预估工时","initWorkload","原始预估工作量,budget_workload发生变化后,进行备份","shareFee","分享赚佣金","oshare","开启分享赚功能0-否1是","crowd","是否众包0否1是,众包属于外购的一种","browseUsers","浏览人数","execUsers","投标人数","cityId","城市编号","cityName","城市名称","regionType","地域限制方式0-不限制,1-同城,2-同省,3-同国,4-同洲","browseTimes","浏览次数","capaLvls","能力等级最小要求","tranMode","交易模式1-招标,2-雇佣","supRequires","保障要求编号列表,多个逗号分割","hot","是否为热搜0否1是是否为置顶0否1是,每次热搜3天,3天后自动取消热搜","top","是否为置顶0否1是,每次置顶3天,3天后自动取消置顶","urgent","加急0否1是","crmSup","客服包办0否1是,理顺需求、比稿选稿","bidStep","投标流程0-草稿,1-发布需求,2-用户投标,3雇主选标,4拓管赏金,5用户工作,6验收付款,7完结","interestLvls","会员等级最小要求","filePaths","附件地址列表,逗号分割","estate","资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款","efunds","托管金额","etoPlatTime","托管资金付款给平台的时间","etoDevTime","托管资金支付给服务商的时间","ebackTime","托管资金退回甲方时间","topStime","置顶开始时间","topEtime","置顶结束时间","hotStime","热搜开始时间","hotEtime","热搜结束时间","urgentStime","加急开始时间","urgentEtime","加急结束时间";
* 当前主键(包括多主键):
* id;
*/ @@ -236,7 +236,7 @@ public class XmTask implements java.io.Serializable { @ApiModelProperty(notes="浏览次数",allowEmptyValue=true,example="",allowableValues="") Integer browseTimes; - @ApiModelProperty(notes="能力等级编号列表,逗号分割",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="能力等级最小要求",allowEmptyValue=true,example="",allowableValues="") String capaLvls; @ApiModelProperty(notes="交易模式1-招标,2-雇佣",allowEmptyValue=true,example="",allowableValues="") @@ -245,10 +245,10 @@ public class XmTask implements java.io.Serializable { @ApiModelProperty(notes="保障要求编号列表,多个逗号分割",allowEmptyValue=true,example="",allowableValues="") String supRequires; - @ApiModelProperty(notes="是否为热搜0否1是",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="是否为热搜0否1是是否为置顶0否1是,每次热搜3天,3天后自动取消热搜",allowEmptyValue=true,example="",allowableValues="") String hot; - @ApiModelProperty(notes="是否为置顶0否1是",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="是否为置顶0否1是,每次置顶3天,3天后自动取消置顶",allowEmptyValue=true,example="",allowableValues="") String top; @ApiModelProperty(notes="加急0否1是",allowEmptyValue=true,example="",allowableValues="") @@ -257,11 +257,47 @@ public class XmTask implements java.io.Serializable { @ApiModelProperty(notes="客服包办0否1是,理顺需求、比稿选稿",allowEmptyValue=true,example="",allowableValues="") String crmSup; - @ApiModelProperty(notes="投标流程0-草稿,1-发布需求,2-用户投标,3雇主选标,4拓管赏金,5用户工作,6验收付款",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="投标流程0-草稿,1-发布需求,2-用户投标,3雇主选标,4拓管赏金,5用户工作,6验收付款,7完结",allowEmptyValue=true,example="",allowableValues="") String bidStep; - @ApiModelProperty(notes="会员等级编号列表,逗号分割",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="会员等级最小要求",allowEmptyValue=true,example="",allowableValues="") String interestLvls; + + @ApiModelProperty(notes="附件地址列表,逗号分割",allowEmptyValue=true,example="",allowableValues="") + String filePaths; + + @ApiModelProperty(notes="资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款",allowEmptyValue=true,example="",allowableValues="") + String estate; + + @ApiModelProperty(notes="托管金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal efunds; + + @ApiModelProperty(notes="托管资金付款给平台的时间",allowEmptyValue=true,example="",allowableValues="") + Date etoPlatTime; + + @ApiModelProperty(notes="托管资金支付给服务商的时间",allowEmptyValue=true,example="",allowableValues="") + Date etoDevTime; + + @ApiModelProperty(notes="托管资金退回甲方时间",allowEmptyValue=true,example="",allowableValues="") + Date ebackTime; + + @ApiModelProperty(notes="置顶开始时间",allowEmptyValue=true,example="",allowableValues="") + Date topStime; + + @ApiModelProperty(notes="置顶结束时间",allowEmptyValue=true,example="",allowableValues="") + Date topEtime; + + @ApiModelProperty(notes="热搜开始时间",allowEmptyValue=true,example="",allowableValues="") + Date hotStime; + + @ApiModelProperty(notes="热搜结束时间",allowEmptyValue=true,example="",allowableValues="") + Date hotEtime; + + @ApiModelProperty(notes="加急开始时间",allowEmptyValue=true,example="",allowableValues="") + Date urgentStime; + + @ApiModelProperty(notes="加急结束时间",allowEmptyValue=true,example="",allowableValues="") + Date urgentEtime; /** *任务编号 diff --git a/xm-core/src/main/java/com/xm/core/entity/XmTaskOrder.java b/xm-core/src/main/java/com/xm/core/entity/XmTaskOrder.java new file mode 100644 index 00000000..e2a3d6b1 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/entity/XmTaskOrder.java @@ -0,0 +1,168 @@ +package com.xm.core.entity; + +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.Date; +import java.math.BigDecimal; + +/** + * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmTaskOrder所有属性名:
+ * "userid","用户编号","branchId","公司ID-下单客户对应的企业","ostatus","订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单","ctime","创建时间","ltime","更新时间","payType","支付方式","payStatus","支付状态0待付款,1已付款","payTime","支付时间","prepayId","第三方支付订单编号","id","订单编号","finalFee","最终总费用=origin_fee","othFee","其它费用","originFee","原始价格=top_fee+urgent_fee+crm_sup_fee+hot_fee+efunds","payAt","最终付款金额-客户付款后回填","payAuthId","支付授权码","payOpenid","支付账户对应的第三方openid,注意,下单根付款不一定是同一个人","payUserid","付款用户编号","payUsername","付款用户名称","discount","折扣率0-199","topFee","置顶费用","topStime","置顶开始时间","topEtime","置顶结束时间","hotFee","热搜费用","hotStime","热搜开始时间","hotEtime","热搜结束时间","top","是否置顶","hot","是否热搜","crmSupFee","客服包办费用","urgentFee","加急费用","urgent","是否加急","crmSup","是否客服包办","efunds","托管金额","estate","资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款","etoPlatTime","托管资金付款给平台的时间","etoDevTime","托管资金支付给服务商的时间","ebackTime","托管资金退回甲方时间","taskId","任务编号","topDays","置顶天数","hotDays","热搜天数","urgentDays","加急天数","urgentStime","加急开始时间","urgentEtime","加急结束时间","calcStatus","定时检查日期是否已过期,已过期则取消任务中的置顶、加急、热搜状态计算状态0-无须计算,1-本周期已计算待下周期计算,2-结束","calcTime","计算时间";
+ * 当前主键(包括多主键):
+ * id;
+ */ + @Data +@ApiModel(description="任务相关费用订单表") +public class XmTaskOrder implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(notes="订单编号,主键",allowEmptyValue=true,example="",allowableValues="") + String id; + + + @ApiModelProperty(notes="用户编号",allowEmptyValue=true,example="",allowableValues="") + String userid; + + @ApiModelProperty(notes="公司ID-下单客户对应的企业",allowEmptyValue=true,example="",allowableValues="") + String branchId; + + @ApiModelProperty(notes="订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单",allowEmptyValue=true,example="",allowableValues="") + String ostatus; + + @ApiModelProperty(notes="创建时间",allowEmptyValue=true,example="",allowableValues="") + Date ctime; + + @ApiModelProperty(notes="更新时间",allowEmptyValue=true,example="",allowableValues="") + Date ltime; + + @ApiModelProperty(notes="支付方式",allowEmptyValue=true,example="",allowableValues="") + String payType; + + @ApiModelProperty(notes="支付状态0待付款,1已付款",allowEmptyValue=true,example="",allowableValues="") + String payStatus; + + @ApiModelProperty(notes="支付时间",allowEmptyValue=true,example="",allowableValues="") + Date payTime; + + @ApiModelProperty(notes="第三方支付订单编号",allowEmptyValue=true,example="",allowableValues="") + String prepayId; + + @ApiModelProperty(notes="最终总费用=origin_fee",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finalFee; + + @ApiModelProperty(notes="其它费用",allowEmptyValue=true,example="",allowableValues="") + BigDecimal othFee; + + @ApiModelProperty(notes="原始价格=top_fee+urgent_fee+crm_sup_fee+hot_fee+efunds",allowEmptyValue=true,example="",allowableValues="") + BigDecimal originFee; + + @ApiModelProperty(notes="最终付款金额-客户付款后回填",allowEmptyValue=true,example="",allowableValues="") + BigDecimal payAt; + + @ApiModelProperty(notes="支付授权码",allowEmptyValue=true,example="",allowableValues="") + String payAuthId; + + @ApiModelProperty(notes="支付账户对应的第三方openid,注意,下单根付款不一定是同一个人",allowEmptyValue=true,example="",allowableValues="") + String payOpenid; + + @ApiModelProperty(notes="付款用户编号",allowEmptyValue=true,example="",allowableValues="") + String payUserid; + + @ApiModelProperty(notes="付款用户名称",allowEmptyValue=true,example="",allowableValues="") + String payUsername; + + @ApiModelProperty(notes="折扣率0-199",allowEmptyValue=true,example="",allowableValues="") + Integer discount; + + @ApiModelProperty(notes="置顶费用",allowEmptyValue=true,example="",allowableValues="") + BigDecimal topFee; + + @ApiModelProperty(notes="置顶开始时间",allowEmptyValue=true,example="",allowableValues="") + Date topStime; + + @ApiModelProperty(notes="置顶结束时间",allowEmptyValue=true,example="",allowableValues="") + Date topEtime; + + @ApiModelProperty(notes="热搜费用",allowEmptyValue=true,example="",allowableValues="") + String hotFee; + + @ApiModelProperty(notes="热搜开始时间",allowEmptyValue=true,example="",allowableValues="") + Date hotStime; + + @ApiModelProperty(notes="热搜结束时间",allowEmptyValue=true,example="",allowableValues="") + Date hotEtime; + + @ApiModelProperty(notes="是否置顶",allowEmptyValue=true,example="",allowableValues="") + String top; + + @ApiModelProperty(notes="是否热搜",allowEmptyValue=true,example="",allowableValues="") + String hot; + + @ApiModelProperty(notes="客服包办费用",allowEmptyValue=true,example="",allowableValues="") + String crmSupFee; + + @ApiModelProperty(notes="加急费用",allowEmptyValue=true,example="",allowableValues="") + BigDecimal urgentFee; + + @ApiModelProperty(notes="是否加急",allowEmptyValue=true,example="",allowableValues="") + String urgent; + + @ApiModelProperty(notes="是否客服包办",allowEmptyValue=true,example="",allowableValues="") + String crmSup; + + @ApiModelProperty(notes="托管金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal efunds; + + @ApiModelProperty(notes="资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款",allowEmptyValue=true,example="",allowableValues="") + String estate; + + @ApiModelProperty(notes="托管资金付款给平台的时间",allowEmptyValue=true,example="",allowableValues="") + Date etoPlatTime; + + @ApiModelProperty(notes="托管资金支付给服务商的时间",allowEmptyValue=true,example="",allowableValues="") + Date etoDevTime; + + @ApiModelProperty(notes="托管资金退回甲方时间",allowEmptyValue=true,example="",allowableValues="") + Date ebackTime; + + @ApiModelProperty(notes="任务编号",allowEmptyValue=true,example="",allowableValues="") + String taskId; + + @ApiModelProperty(notes="置顶天数",allowEmptyValue=true,example="",allowableValues="") + Integer topDays; + + @ApiModelProperty(notes="热搜天数",allowEmptyValue=true,example="",allowableValues="") + Integer hotDays; + + @ApiModelProperty(notes="加急天数",allowEmptyValue=true,example="",allowableValues="") + Integer urgentDays; + + @ApiModelProperty(notes="加急开始时间",allowEmptyValue=true,example="",allowableValues="") + Date urgentStime; + + @ApiModelProperty(notes="加急结束时间",allowEmptyValue=true,example="",allowableValues="") + Date urgentEtime; + + @ApiModelProperty(notes="定时检查日期是否已过期,已过期则取消任务中的置顶、加急、热搜状态计算状态0-无须计算,1-本周期已计算待下周期计算,2-结束",allowEmptyValue=true,example="",allowableValues="") + String calcStatus; + + @ApiModelProperty(notes="计算时间",allowEmptyValue=true,example="",allowableValues="") + Date calcTime; + + /** + *订单编号 + **/ + public XmTaskOrder(String id) { + this.id = id; + } + + /** + * 任务相关费用订单表 + **/ + public XmTaskOrder() { + } + +} \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskOrderService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskOrderService.java new file mode 100644 index 00000000..f896d6a2 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskOrderService.java @@ -0,0 +1,24 @@ +package com.xm.core.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.util.List; +import java.util.Map; +import org.springframework.stereotype.Service; +import com.mdp.core.service.BaseService; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; + +import com.xm.core.entity.XmTaskOrder; +/** + * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmTaskOrder 表 xm_task_order 当前主键(包括多主键): id; + ***/ +@Service("xm.core.xmTaskOrderService") +public class XmTaskOrderService extends BaseService { + static Logger logger =LoggerFactory.getLogger(XmTaskOrderService.class); + +} + diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml index d5d2c542..f0ddd8f2 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml @@ -416,7 +416,7 @@ insert into xm_task( ) values ( - #{id},#{name},#{parentTaskid},#{parentTaskname},#{projectId},#{projectName},#{level},#{sortLevel},#{executorUserid},#{executorUsername},#{preTaskid},#{preTaskname},#{startTime},#{endTime},#{milestone},#{description},#{remarks},#{createUserid},#{createUsername},#{createTime},#{rate},#{budgetAt},#{budgetWorkload},#{actAt},#{actWorkload},#{taskState},#{taskType},#{taskClass},#{toTaskCenter},#{actStartTime},#{actEndTime},#{bizProcInstId},#{bizFlowState},#{phaseId},#{phaseName},#{taskSkillNames},#{exeUsernames},#{taskSkillIds},#{exeUserids},#{taskOut},#{planType},#{settleSchemel},#{menuId},#{menuName},#{productId},#{cbranchId},#{cdeptid},#{tagIds},#{tagNames},#{ntype},#{childrenCnt},#{ltime},#{pidPaths},#{lvl},#{isTpl},#{keyPath},#{uniInnerPrice},#{uniOutPrice},#{calcType},#{ptype},#{wtype},#{bctrl},#{initWorkload},#{shareFee},#{oshare},#{crowd},#{browseUsers},#{execUsers},#{cityId},#{cityName},#{regionType},#{browseTimes},#{capaLvls},#{tranMode},#{supRequires},#{hot},#{top},#{urgent},#{crmSup},#{bidStep},#{interestLvls} + #{id},#{name},#{parentTaskid},#{parentTaskname},#{projectId},#{projectName},#{level},#{sortLevel},#{executorUserid},#{executorUsername},#{preTaskid},#{preTaskname},#{startTime},#{endTime},#{milestone},#{description},#{remarks},#{createUserid},#{createUsername},#{createTime},#{rate},#{budgetAt},#{budgetWorkload},#{actAt},#{actWorkload},#{taskState},#{taskType},#{taskClass},#{toTaskCenter},#{actStartTime},#{actEndTime},#{bizProcInstId},#{bizFlowState},#{phaseId},#{phaseName},#{taskSkillNames},#{exeUsernames},#{taskSkillIds},#{exeUserids},#{taskOut},#{planType},#{settleSchemel},#{menuId},#{menuName},#{productId},#{cbranchId},#{cdeptid},#{tagIds},#{tagNames},#{ntype},#{childrenCnt},#{ltime},#{pidPaths},#{lvl},#{isTpl},#{keyPath},#{uniInnerPrice},#{uniOutPrice},#{calcType},#{ptype},#{wtype},#{bctrl},#{initWorkload},#{shareFee},#{oshare},#{crowd},#{browseUsers},#{execUsers},#{cityId},#{cityName},#{regionType},#{browseTimes},#{capaLvls},#{tranMode},#{supRequires},#{hot},#{top},#{urgent},#{crmSup},#{bidStep},#{interestLvls},#{filePaths},#{estate},#{efunds},#{etoPlatTime},#{etoDevTime},#{ebackTime},#{topStime},#{topEtime},#{hotStime},#{hotEtime},#{urgentStime},#{urgentEtime} ) @@ -498,7 +498,7 @@ - id,name,parent_taskid,parent_taskname,project_id,project_name,level,sort_level,executor_userid,executor_username,pre_taskid,pre_taskname,start_time,end_time,milestone,description,remarks,create_userid,create_username,create_time,rate,budget_at,budget_workload,act_at,act_workload,task_state,task_type,task_class,to_task_center,act_start_time,act_end_time,biz_proc_inst_id,biz_flow_state,phase_id,phase_name,task_skill_names,exe_usernames,task_skill_ids,exe_userids,task_out,plan_type,settle_schemel,menu_id,menu_name,product_id,cbranch_id,cdeptid,tag_ids,tag_names,ntype,children_cnt,ltime,pid_paths,lvl,is_tpl,key_path,uni_inner_price,uni_out_price,calc_type,ptype,wtype,bctrl,init_workload,share_fee,oshare,crowd,browse_users,exec_users,city_id,city_name,region_type,browse_times,capa_lvls,tran_mode,sup_requires,hot,top,urgent,crm_sup,bid_step,interest_lvls + id,name,parent_taskid,parent_taskname,project_id,project_name,level,sort_level,executor_userid,executor_username,pre_taskid,pre_taskname,start_time,end_time,milestone,description,remarks,create_userid,create_username,create_time,rate,budget_at,budget_workload,act_at,act_workload,task_state,task_type,task_class,to_task_center,act_start_time,act_end_time,biz_proc_inst_id,biz_flow_state,phase_id,phase_name,task_skill_names,exe_usernames,task_skill_ids,exe_userids,task_out,plan_type,settle_schemel,menu_id,menu_name,product_id,cbranch_id,cdeptid,tag_ids,tag_names,ntype,children_cnt,ltime,pid_paths,lvl,is_tpl,key_path,uni_inner_price,uni_out_price,calc_type,ptype,wtype,bctrl,init_workload,share_fee,oshare,crowd,browse_users,exec_users,city_id,city_name,region_type,browse_times,capa_lvls,tran_mode,sup_requires,hot,top,urgent,crm_sup,bid_step,interest_lvls,file_paths,estate,efunds,eto_plat_time,eto_dev_time,eback_time,top_stime,top_etime,hot_stime,hot_etime,urgent_stime,urgent_etime @@ -584,6 +584,18 @@ and res.crm_sup = #{crmSup} and res.bid_step = #{bidStep} and res.interest_lvls = #{interestLvls} + and res.file_paths = #{filePaths} + and res.estate = #{estate} + and res.efunds = #{efunds} + and date_format(res.eto_plat_time,'%Y-%m-%d') = date_format(#{etoPlatTime},'%Y-%m-%d') + and date_format(res.eto_dev_time,'%Y-%m-%d') = date_format(#{etoDevTime},'%Y-%m-%d') + and date_format(res.eback_time,'%Y-%m-%d') = date_format(#{ebackTime},'%Y-%m-%d') + and date_format(res.top_stime,'%Y-%m-%d') = date_format(#{topStime},'%Y-%m-%d') + and date_format(res.top_etime,'%Y-%m-%d') = date_format(#{topEtime},'%Y-%m-%d') + and date_format(res.hot_stime,'%Y-%m-%d') = date_format(#{hotStime},'%Y-%m-%d') + and date_format(res.hot_etime,'%Y-%m-%d') = date_format(#{hotEtime},'%Y-%m-%d') + and date_format(res.urgent_stime,'%Y-%m-%d') = date_format(#{urgentStime},'%Y-%m-%d') + and date_format(res.urgent_etime,'%Y-%m-%d') = date_format(#{urgentEtime},'%Y-%m-%d') @@ -666,7 +678,19 @@ urgent = #{urgent}, crm_sup = #{crmSup}, bid_step = #{bidStep}, - interest_lvls = #{interestLvls} + interest_lvls = #{interestLvls}, + file_paths = #{filePaths}, + estate = #{estate}, + efunds = #{efunds}, + eto_plat_time = #{etoPlatTime}, + eto_dev_time = #{etoDevTime}, + eback_time = #{ebackTime}, + top_stime = #{topStime}, + top_etime = #{topEtime}, + hot_stime = #{hotStime}, + hot_etime = #{hotEtime}, + urgent_stime = #{urgentStime}, + urgent_etime = #{urgentEtime} name = #{name}, @@ -749,6 +773,18 @@ crm_sup = #{crmSup}, bid_step = #{bidStep}, interest_lvls = #{interestLvls}, + file_paths = #{filePaths}, + estate = #{estate}, + efunds = #{efunds}, + eto_plat_time = #{etoPlatTime}, + eto_dev_time = #{etoDevTime}, + eback_time = #{ebackTime}, + top_stime = #{topStime}, + top_etime = #{topEtime}, + hot_stime = #{hotStime}, + hot_etime = #{hotEtime}, + urgent_stime = #{urgentStime}, + urgent_etime = #{urgentEtime}, @@ -831,6 +867,18 @@ urgent = #{item.urgent}, crm_sup = #{item.crmSup}, bid_step = #{item.bidStep}, - interest_lvls = #{item.interestLvls} + interest_lvls = #{item.interestLvls}, + file_paths = #{item.filePaths}, + estate = #{item.estate}, + efunds = #{item.efunds}, + eto_plat_time = #{item.etoPlatTime}, + eto_dev_time = #{item.etoDevTime}, + eback_time = #{item.ebackTime}, + top_stime = #{item.topStime}, + top_etime = #{item.topEtime}, + hot_stime = #{item.hotStime}, + hot_etime = #{item.hotEtime}, + urgent_stime = #{item.urgentStime}, + urgent_etime = #{item.urgentEtime} \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskOrderMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskOrderMapper.xml new file mode 100644 index 00000000..f1d989ed --- /dev/null +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskOrderMapper.xml @@ -0,0 +1,332 @@ + + + + + + + + + and (res.id) in + + ( #{item}) + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xm_task_order( + + ) values ( + #{userid},#{branchId},#{ostatus},#{ctime},#{ltime},#{payType},#{payStatus},#{payTime},#{prepayId},#{id},#{finalFee},#{othFee},#{originFee},#{payAt},#{payAuthId},#{payOpenid},#{payUserid},#{payUsername},#{discount},#{topFee},#{topStime},#{topEtime},#{hotFee},#{hotStime},#{hotEtime},#{top},#{hot},#{crmSupFee},#{urgentFee},#{urgent},#{crmSup},#{efunds},#{estate},#{etoPlatTime},#{etoDevTime},#{ebackTime},#{taskId},#{topDays},#{hotDays},#{urgentDays},#{urgentStime},#{urgentEtime},#{calcStatus},#{calcTime} + ) + + + + + delete from xm_task_order res + + + + + + + + delete from xm_task_order + where id = #{id} + + + + + update xm_task_order + + + + where id = #{id} + + + + + update xm_task_order + + + + where id = #{id} + + + + + + + + update xm_task_order + set + + where id = #{item.id} + + + + + + update xm_task_order + + + + where (id) in + + ( #{item}) + + + + + delete from xm_task_order + where + (id) in + + ( #{item.id} ) + + + + + + + userid,branch_id,ostatus,ctime,ltime,pay_type,pay_status,pay_time,prepay_id,id,final_fee,oth_fee,origin_fee,pay_at,pay_auth_id,pay_openid,pay_userid,pay_username,discount,top_fee,top_stime,top_etime,hot_fee,hot_stime,hot_etime,top,hot,crm_sup_fee,urgent_fee,urgent,crm_sup,efunds,estate,eto_plat_time,eto_dev_time,eback_time,task_id,top_days,hot_days,urgent_days,urgent_stime,urgent_etime,calc_status,calc_time + + + + + and res.userid = #{userid} + and res.branch_id = #{branchId} + and res.ostatus = #{ostatus} + and date_format(res.ctime,'%Y-%m-%d') = date_format(#{ctime},'%Y-%m-%d') + and date_format(res.ltime,'%Y-%m-%d') = date_format(#{ltime},'%Y-%m-%d') + and res.pay_type = #{payType} + and res.pay_status = #{payStatus} + and date_format(res.pay_time,'%Y-%m-%d') = date_format(#{payTime},'%Y-%m-%d') + and res.prepay_id = #{prepayId} + and res.id = #{id} + and res.final_fee = #{finalFee} + and res.oth_fee = #{othFee} + and res.origin_fee = #{originFee} + and res.pay_at = #{payAt} + and res.pay_auth_id = #{payAuthId} + and res.pay_openid = #{payOpenid} + and res.pay_userid = #{payUserid} + and res.pay_username = #{payUsername} + and res.discount = #{discount} + and res.top_fee = #{topFee} + and date_format(res.top_stime,'%Y-%m-%d') = date_format(#{topStime},'%Y-%m-%d') + and date_format(res.top_etime,'%Y-%m-%d') = date_format(#{topEtime},'%Y-%m-%d') + and res.hot_fee = #{hotFee} + and date_format(res.hot_stime,'%Y-%m-%d') = date_format(#{hotStime},'%Y-%m-%d') + and date_format(res.hot_etime,'%Y-%m-%d') = date_format(#{hotEtime},'%Y-%m-%d') + and res.top = #{top} + and res.hot = #{hot} + and res.crm_sup_fee = #{crmSupFee} + and res.urgent_fee = #{urgentFee} + and res.urgent = #{urgent} + and res.crm_sup = #{crmSup} + and res.efunds = #{efunds} + and res.estate = #{estate} + and date_format(res.eto_plat_time,'%Y-%m-%d') = date_format(#{etoPlatTime},'%Y-%m-%d') + and date_format(res.eto_dev_time,'%Y-%m-%d') = date_format(#{etoDevTime},'%Y-%m-%d') + and date_format(res.eback_time,'%Y-%m-%d') = date_format(#{ebackTime},'%Y-%m-%d') + and res.task_id = #{taskId} + and res.top_days = #{topDays} + and res.hot_days = #{hotDays} + and res.urgent_days = #{urgentDays} + and date_format(res.urgent_stime,'%Y-%m-%d') = date_format(#{urgentStime},'%Y-%m-%d') + and date_format(res.urgent_etime,'%Y-%m-%d') = date_format(#{urgentEtime},'%Y-%m-%d') + and res.calc_status = #{calcStatus} + and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') + + + + userid = #{userid}, + branch_id = #{branchId}, + ostatus = #{ostatus}, + ctime = #{ctime}, + ltime = #{ltime}, + pay_type = #{payType}, + pay_status = #{payStatus}, + pay_time = #{payTime}, + prepay_id = #{prepayId}, + final_fee = #{finalFee}, + oth_fee = #{othFee}, + origin_fee = #{originFee}, + pay_at = #{payAt}, + pay_auth_id = #{payAuthId}, + pay_openid = #{payOpenid}, + pay_userid = #{payUserid}, + pay_username = #{payUsername}, + discount = #{discount}, + top_fee = #{topFee}, + top_stime = #{topStime}, + top_etime = #{topEtime}, + hot_fee = #{hotFee}, + hot_stime = #{hotStime}, + hot_etime = #{hotEtime}, + top = #{top}, + hot = #{hot}, + crm_sup_fee = #{crmSupFee}, + urgent_fee = #{urgentFee}, + urgent = #{urgent}, + crm_sup = #{crmSup}, + efunds = #{efunds}, + estate = #{estate}, + eto_plat_time = #{etoPlatTime}, + eto_dev_time = #{etoDevTime}, + eback_time = #{ebackTime}, + task_id = #{taskId}, + top_days = #{topDays}, + hot_days = #{hotDays}, + urgent_days = #{urgentDays}, + urgent_stime = #{urgentStime}, + urgent_etime = #{urgentEtime}, + calc_status = #{calcStatus}, + calc_time = #{calcTime} + + + userid = #{userid}, + branch_id = #{branchId}, + ostatus = #{ostatus}, + ctime = #{ctime}, + ltime = #{ltime}, + pay_type = #{payType}, + pay_status = #{payStatus}, + pay_time = #{payTime}, + prepay_id = #{prepayId}, + final_fee = #{finalFee}, + oth_fee = #{othFee}, + origin_fee = #{originFee}, + pay_at = #{payAt}, + pay_auth_id = #{payAuthId}, + pay_openid = #{payOpenid}, + pay_userid = #{payUserid}, + pay_username = #{payUsername}, + discount = #{discount}, + top_fee = #{topFee}, + top_stime = #{topStime}, + top_etime = #{topEtime}, + hot_fee = #{hotFee}, + hot_stime = #{hotStime}, + hot_etime = #{hotEtime}, + top = #{top}, + hot = #{hot}, + crm_sup_fee = #{crmSupFee}, + urgent_fee = #{urgentFee}, + urgent = #{urgent}, + crm_sup = #{crmSup}, + efunds = #{efunds}, + estate = #{estate}, + eto_plat_time = #{etoPlatTime}, + eto_dev_time = #{etoDevTime}, + eback_time = #{ebackTime}, + task_id = #{taskId}, + top_days = #{topDays}, + hot_days = #{hotDays}, + urgent_days = #{urgentDays}, + urgent_stime = #{urgentStime}, + urgent_etime = #{urgentEtime}, + calc_status = #{calcStatus}, + calc_time = #{calcTime}, + + + + userid = #{item.userid}, + branch_id = #{item.branchId}, + ostatus = #{item.ostatus}, + ctime = #{item.ctime}, + ltime = #{item.ltime}, + pay_type = #{item.payType}, + pay_status = #{item.payStatus}, + pay_time = #{item.payTime}, + prepay_id = #{item.prepayId}, + final_fee = #{item.finalFee}, + oth_fee = #{item.othFee}, + origin_fee = #{item.originFee}, + pay_at = #{item.payAt}, + pay_auth_id = #{item.payAuthId}, + pay_openid = #{item.payOpenid}, + pay_userid = #{item.payUserid}, + pay_username = #{item.payUsername}, + discount = #{item.discount}, + top_fee = #{item.topFee}, + top_stime = #{item.topStime}, + top_etime = #{item.topEtime}, + hot_fee = #{item.hotFee}, + hot_stime = #{item.hotStime}, + hot_etime = #{item.hotEtime}, + top = #{item.top}, + hot = #{item.hot}, + crm_sup_fee = #{item.crmSupFee}, + urgent_fee = #{item.urgentFee}, + urgent = #{item.urgent}, + crm_sup = #{item.crmSup}, + efunds = #{item.efunds}, + estate = #{item.estate}, + eto_plat_time = #{item.etoPlatTime}, + eto_dev_time = #{item.etoDevTime}, + eback_time = #{item.ebackTime}, + task_id = #{item.taskId}, + top_days = #{item.topDays}, + hot_days = #{item.hotDays}, + urgent_days = #{item.urgentDays}, + urgent_stime = #{item.urgentStime}, + urgent_etime = #{item.urgentEtime}, + calc_status = #{item.calcStatus}, + calc_time = #{item.calcTime} + + \ No newline at end of file