diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeign.java index 902728abf2..5afbcddea6 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeign.java @@ -26,10 +26,7 @@ package com.yxt.anrui.scm.api.scmspecialrebatewithapply; import com.yxt.anrui.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.ScmSpecialRebateWithApplyCompleteDto; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.SubmitScmSpecialRebateWithApplyDto; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.yxt.common.core.query.PagerQuery; @@ -118,4 +115,14 @@ public interface ScmSpecialRebateWithApplyFeign { @GetMapping(value = "/getPreviousNodesForReject") ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody ScmSpecialRebateWithApplyDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody ScmSpecialRebateWithApplyDelegateQuery delegateQuery); + } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeignFallback.java index 5335839b58..f2dc4bb478 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeignFallback.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/ScmSpecialRebateWithApplyFeignFallback.java @@ -26,10 +26,7 @@ package com.yxt.anrui.scm.api.scmspecialrebatewithapply; import com.yxt.anrui.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.ScmSpecialRebateWithApplyCompleteDto; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.SubmitScmSpecialRebateWithApplyDto; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -114,4 +111,14 @@ public class ScmSpecialRebateWithApplyFeignFallback implements ScmSpecialRebateW public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { return null; } + + @Override + public ResultBean delegate(ScmSpecialRebateWithApplyDelegateQuery delegateQuery) { + return null; + } + + @Override + public ResultBean assignTask(ScmSpecialRebateWithApplyDelegateQuery delegateQuery) { + return null; + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/flow/ScmSpecialRebateWithApplyDelegateQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/flow/ScmSpecialRebateWithApplyDelegateQuery.java new file mode 100644 index 0000000000..f303d0858a --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewithapply/flow/ScmSpecialRebateWithApplyDelegateQuery.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class ScmSpecialRebateWithApplyDelegateQuery { + + private String userSid; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyRest.java index 129b9a55fd..16fb043b31 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyRest.java @@ -29,10 +29,7 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.ScmSpecialRebateWithApplyCompleteDto; -import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.SubmitScmSpecialRebateWithApplyDto; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -141,4 +138,14 @@ public class ScmSpecialRebateWithApplyRest implements ScmSpecialRebateWithApplyF public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { return scmSpecialRebateWithApplyService.getPreviousNodesForReject(query); } + + @Override + public ResultBean delegate(ScmSpecialRebateWithApplyDelegateQuery delegateQuery) { + return scmSpecialRebateWithApplyService.delegate(delegateQuery); + } + + @Override + public ResultBean assignTask(ScmSpecialRebateWithApplyDelegateQuery delegateQuery) { + return scmSpecialRebateWithApplyService.assignTask(delegateQuery); + } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java index f2cc4b8137..99d549b3fa 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java @@ -32,6 +32,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.api.R; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; @@ -48,6 +49,7 @@ import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithDetailsVo; import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithDto; import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeQuery; import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeVo; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.ScmSpecialRebateWithApplyDelegateQuery; import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.SubmitScmSpecialRebateWithApplyDto; import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithDetailsVo; import com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService; @@ -517,4 +519,20 @@ public class ScmSpecialRebateWithApplyService extends MybatisBaseService voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } + + public ResultBean delegate(ScmSpecialRebateWithApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + public ResultBean assignTask(ScmSpecialRebateWithApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.assignTask(delegateQuery); + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateDetailsVo.java new file mode 100644 index 0000000000..d10bdde304 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateDetailsVo.java @@ -0,0 +1,82 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * Project: anrui-scm(专项返利)
+ * File: ScmSpecialRebateWithVo.java
+ * Class: com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithVo
+ * Description: 专项返利预提表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-09-09 09:14:10
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "专项返利预提表 视图数据详情", description = "专项返利预提表 视图数据详情") +public class AppSpecialRebateDetailsVo implements Vo { + + @ApiModelProperty("创建组织名称") + private String createOrgName; + @ApiModelProperty("采购系统名称") + private String purchaseSystemName; + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("创建日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("返利类型value") + private String rebateTypeValue; + @ApiModelProperty("返利名称") + private String rebateName; + @ApiModelProperty("预计返利") + private String estimateRebate; + @ApiModelProperty("预计支出费用") + private BigDecimal expectItureCost; + @ApiModelProperty("预计待支付费用") + private BigDecimal expectTreatCost; + @ApiModelProperty("预计抵顶费用") + private BigDecimal expectSuppCost; + @ApiModelProperty("预计抵顶费用说明") + private String expectSuppRemark; + @ApiModelProperty("所属年月") + private String palceGenDate; + @ApiModelProperty("备注") + private String remarks; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyDetailsVo.java new file mode 100644 index 0000000000..c43f91bafd --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyDetailsVo.java @@ -0,0 +1,79 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui-scm(专项返利)
+ * File: ScmSpecialRebateWithApplyVo.java
+ * Class: com.yxt.anrui.scm.api.scmspecialrebatewithapply.ScmSpecialRebateWithApplyVo
+ * Description: 专项返利预提申请表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-09-09 09:14:10
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "专项返利预提申请表 视图数据详情", description = "专项返利预提申请表 视图数据详情") +public class AppSpecialRebateWithApplyDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("创建组织名称") + private String createOrgName; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("创建人姓名") + private String createByName; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("预提申请") + private String withApply; + @ApiModelProperty("流程实例的sid") + private String procInsId; + @ApiModelProperty("taskId") + private String taskId; + @ApiModelProperty("预提返利合计") + private String withRebateTotal; + @ApiModelProperty("预计支出费用合计") + private String expectItureCostTotal; + @ApiModelProperty("预计待支付费用合计") + private String expectTreatCostTotal; + @ApiModelProperty("预计抵顶费用合计") + private String expectSuppCostTotal; + @ApiModelProperty("专项返利预提列表") + private List scmSpecialRebateWiths; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyFeign.java new file mode 100644 index 0000000000..2a325c3f0e --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyFeign.java @@ -0,0 +1,73 @@ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply; + + +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable.AppFlowTaskQuery; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author + * @Date + * @Description + */ +@Api(tags = "售后盘盈入库") +@FeignClient( + contextId = "terminal-AppSpecialRebateWithApply", + name = "anrui-terminal", + path = "v1/specialrebatewithapply") +public interface AppSpecialRebateWithApplyFeign { + + @ApiOperation("详情") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("明细") + @GetMapping("/specialRebateWithDetails/{sid}") + public ResultBean> specialRebateWithDetails(@PathVariable("sid") String sid); + + /**********************************************流程********************************************/ + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap AppFlowQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithDetailsVo.java new file mode 100644 index 0000000000..d59e9a4313 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/AppSpecialRebateWithDetailsVo.java @@ -0,0 +1,72 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Project: anrui-scm(专项返利)
+ * File: ScmSpecialRebateWithVo.java
+ * Class: com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithVo
+ * Description: 专项返利预提表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-09-09 09:14:10
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "专项返利预提表 视图数据详情", description = "专项返利预提表 视图数据详情") +public class AppSpecialRebateWithDetailsVo implements Vo { + + private String sid; + + @ApiModelProperty("采购系统名称") + private String purchaseSystemName; + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("返利类型value") + private String rebateTypeValue; + @ApiModelProperty("预提返利") + private String withRebate; + @ApiModelProperty("预计支出费用") + private BigDecimal expectItureCost; + @ApiModelProperty("预计待支付费用") + private BigDecimal expectTreatCost; + @ApiModelProperty("预计抵顶费用") + private BigDecimal expectSuppCost; + @ApiModelProperty("专项返利sid") + private String specialRebateSid; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppDelegateQuery.java new file mode 100644 index 0000000000..e44cc4d05b --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowDto.java new file mode 100644 index 0000000000..7f217d1f15 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:09 + * @Description + */ +@Data +public class AppFlowDto implements Dto { + private static final long serialVersionUID = 3626473483180150495L; + + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowQuery.java new file mode 100644 index 0000000000..1cfe010b81 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:15 + * @Description + */ +@Data +public class AppFlowQuery implements Query { + private static final long serialVersionUID = 5514095179438249641L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + + @ApiModelProperty("组织机构全路径") + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowTaskQuery.java new file mode 100644 index 0000000000..2bba324d10 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/specialrebatewithapply/flowable/AppFlowTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:11 + * @Description + */ +@Data +public class AppFlowTaskQuery implements Query { + private static final long serialVersionUID = -7082170710942810289L; + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + @JsonProperty("procInsId") + private String instanceId; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyRest.java new file mode 100644 index 0000000000..fa218e3f32 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyRest.java @@ -0,0 +1,90 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.autoservice.specialrebatewithapply; + +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateDetailsVo; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateWithApplyDetailsVo; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateWithApplyFeign; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("v1/specialrebatewithapply") +public class AppSpecialRebateWithApplyRest implements AppSpecialRebateWithApplyFeign { + + @Autowired + private AppSpecialRebateWithApplyService appSpecialRebateWithApplyService; + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return appSpecialRebateWithApplyService.fetchDetailsBySid(sid); + } + + @Override + public ResultBean> specialRebateWithDetails(String sid) { + return appSpecialRebateWithApplyService.specialRebateWithDetails(sid); + } + + @Override + public ResultBean agreeCreditInfo(AppFlowDto dto) { + return appSpecialRebateWithApplyService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + return appSpecialRebateWithApplyService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + return appSpecialRebateWithApplyService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + return appSpecialRebateWithApplyService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + return appSpecialRebateWithApplyService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppDelegateQuery delegateQuery) { + return appSpecialRebateWithApplyService.delegate(delegateQuery); + } + + @Override + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + return appSpecialRebateWithApplyService.assignTask(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyService.java new file mode 100644 index 0000000000..d83cd2eb92 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/specialrebatewithapply/AppSpecialRebateWithApplyService.java @@ -0,0 +1,195 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.autoservice.specialrebatewithapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.scm.api.flow.FlowTaskVo; +import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo; +import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithFeign; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.ScmSpecialRebateWithApplyDetailsVo; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.ScmSpecialRebateWithApplyFeign; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeQuery; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.GetNodeVo; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.ScmSpecialRebateWithApplyCompleteDto; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.ScmSpecialRebateWithApplyDelegateQuery; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateDetailsVo; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateWithApplyDetailsVo; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateWithDetailsVo; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Service +public class AppSpecialRebateWithApplyService { + + @Resource + private ScmSpecialRebateWithApplyFeign scmSpecialRebateWithApplyFeign; + @Resource + private ScmSpecialRebateWithFeign scmSpecialRebateWithFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + ScmSpecialRebateWithApplyDetailsVo data = scmSpecialRebateWithApplyFeign.fetchDetailsBySid(sid).getData(); + AppSpecialRebateWithApplyDetailsVo appSpecialRebateWithApplyDetailsVo = new AppSpecialRebateWithApplyDetailsVo(); + appSpecialRebateWithApplyDetailsVo.setProcInsId(data.getProcInstId()); + BeanUtil.copyProperties(data,appSpecialRebateWithApplyDetailsVo); + List scmSpecialRebateWiths = appSpecialRebateWithApplyDetailsVo.getScmSpecialRebateWiths(); + for (AppSpecialRebateWithDetailsVo appSpecialRebateWithDetailsVo : scmSpecialRebateWiths) { + appSpecialRebateWithDetailsVo.setSid(appSpecialRebateWithDetailsVo.getSpecialRebateSid()); + } + return rb.success().setData(appSpecialRebateWithApplyDetailsVo); + } + + public ResultBean> specialRebateWithDetails(String sid) { + ResultBean rb = ResultBean.fireFail(); + List appSpecialRebateDetailsVos = new ArrayList<>(); + List data = scmSpecialRebateWithFeign.specialRebateWithDetails(sid).getData(); + for (ScmSpecialRebateDetailsVo datum : data) { + AppSpecialRebateDetailsVo appSpecialRebateDetailsVo = new AppSpecialRebateDetailsVo(); + BeanUtil.copyProperties(datum,appSpecialRebateDetailsVo); + appSpecialRebateDetailsVos.add(appSpecialRebateDetailsVo); + } + return rb.success().setData(appSpecialRebateDetailsVos); + } + + public ResultBean agreeCreditInfo(AppFlowDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + ScmSpecialRebateWithApplyCompleteDto scmSpecialRebateWithApplyCompleteDto = new ScmSpecialRebateWithApplyCompleteDto(); + BeanUtil.copyProperties(dto, scmSpecialRebateWithApplyCompleteDto); + scmSpecialRebateWithApplyCompleteDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = scmSpecialRebateWithApplyFeign.complete(scmSpecialRebateWithApplyCompleteDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmSpecialRebateWithApplyFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmSpecialRebateWithApplyFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmSpecialRebateWithApplyFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + GetNodeQuery getNodeQuery = new GetNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = scmSpecialRebateWithApplyFeign.getPreviousNodesForReject(getNodeQuery); + if (getPreviousNodesForReject.getSuccess()) { + getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = getPreviousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(getPreviousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> getNextNodesForSubmit = scmSpecialRebateWithApplyFeign.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + + public ResultBean delegate(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + ScmSpecialRebateWithApplyDelegateQuery delegateQuery1 = new + ScmSpecialRebateWithApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + scmSpecialRebateWithApplyFeign.delegate(delegateQuery1); + return rb.success(); + } + + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + ScmSpecialRebateWithApplyDelegateQuery delegateQuery1 = new + ScmSpecialRebateWithApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + scmSpecialRebateWithApplyFeign.assignTask(delegateQuery1); + return rb.success(); + } +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java index 864addf402..f29d266e0b 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java @@ -38,6 +38,6 @@ public interface AsBusclaimBillMapper extends BaseMapper { List listExcel(@Param(Constants.WRAPPER) QueryWrapper qw); - @Select("select count(*) from as_busclaim_bill where billNo = #{billNo} and sid != #{sid}}") + @Select("select count(*) from as_busclaim_bill where billNo = #{billNo} and sid != #{sid}") int checkUpdateBillNo(@Param("billNo") String billNo,@Param("sid") String sid); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml index 551f705978..a1560e7506 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml @@ -19,12 +19,13 @@ a.claimRescueAmount, a.claimOtherAmount, a.claimTotalAmount, - when a.state = 0 then '审核不通过' - when a.state = 1 then '未提报' - when a.state = 2 then '审核通过' - when a.state = 3 then '作废' - when a.state = 4 then '已驳回' - end as state, + CASE a.state + when 0 then '审核不通过' + when 1 then '未提报' + when 2 then '审核通过' + when 3 then '作废' + when 4 then '已驳回' + END as state, a.invoiceState, a.adjustState, abbv.vinNo, @@ -79,7 +80,13 @@ a.claimSubsidyAmount, a.claimRescueAmount, a.claimOtherAmount, - a.state, + CASE a.state + when 0 then '审核不通过' + when 1 then '未提报' + when 2 then '审核通过' + when 3 then '作废' + when 4 then '已驳回' + END as state, DATE_FORMAT(a.auditDate, '%Y-%m-%d') AS auditDate, DATE_FORMAT(a.policyDate, '%Y-%m-%d') AS policyDate, abbv.vinNo diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java index 0a8b556ad3..14cc667c0b 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java @@ -131,25 +131,43 @@ public class AsBusclaimBillRest { try { for (AsBusclaimBillExcelInfo asBusclaimBillExcelInfo : resultList) { AsBusclaimBill asBusclaimBill = asBusclaimBillService.selectByBillNoAndVinNo(asBusclaimBillExcelInfo.getBillNo(),asBusclaimBillExcelInfo.getVinNo()); - asBusclaimBill.setClaimHourAmount(asBusclaimBillExcelInfo.getClaimHourAmount()); - asBusclaimBill.setClaimGoodsAmount(asBusclaimBillExcelInfo.getClaimGoodsAmount()); - asBusclaimBill.setClaimOutAmount(asBusclaimBillExcelInfo.getClaimOutAmount()); - asBusclaimBill.setClaimSubsidyAmount(asBusclaimBillExcelInfo.getClaimSubsidyAmount()); - asBusclaimBill.setClaimOtherAmount(asBusclaimBillExcelInfo.getClaimOtherAmount()); - if ("审核不通过".equals(asBusclaimBillExcelInfo.getState())) { - asBusclaimBill.setState(0); - } else if ("未提报".equals(asBusclaimBillExcelInfo.getState())) { - asBusclaimBill.setState(1); - } else if ("审核通过".equals(asBusclaimBillExcelInfo.getState())) { - asBusclaimBill.setState(2); - } else if ("作废".equals(asBusclaimBillExcelInfo.getState())) { - asBusclaimBill.setState(3); - } else if ("已驳回".equals(asBusclaimBillExcelInfo.getState())) { - asBusclaimBill.setState(4); + if (asBusclaimBill.getState() != 2){ + asBusclaimBill.setClaimHourAmount(asBusclaimBillExcelInfo.getClaimHourAmount()); + asBusclaimBill.setClaimGoodsAmount(asBusclaimBillExcelInfo.getClaimGoodsAmount()); + asBusclaimBill.setClaimOutAmount(asBusclaimBillExcelInfo.getClaimOutAmount()); + asBusclaimBill.setClaimSubsidyAmount(asBusclaimBillExcelInfo.getClaimSubsidyAmount()); + asBusclaimBill.setClaimRescueAmount(asBusclaimBillExcelInfo.getClaimRescueAmount()); + asBusclaimBill.setClaimOtherAmount(asBusclaimBillExcelInfo.getClaimOtherAmount()); + asBusclaimBill.setClaimTotalAmount(asBusclaimBillExcelInfo.getClaimHourAmount().add(asBusclaimBillExcelInfo.getClaimGoodsAmount()).add(asBusclaimBillExcelInfo.getClaimOutAmount()).add(asBusclaimBillExcelInfo.getClaimSubsidyAmount()).add(asBusclaimBillExcelInfo.getClaimRescueAmount()).add(asBusclaimBillExcelInfo.getClaimOtherAmount())); + if ("审核不通过".equals(asBusclaimBillExcelInfo.getState())) { + asBusclaimBill.setState(0); + } else if ("未提报".equals(asBusclaimBillExcelInfo.getState())) { + asBusclaimBill.setState(1); + } else if ("审核通过".equals(asBusclaimBillExcelInfo.getState())) { + asBusclaimBill.setState(2); + } else if ("作废".equals(asBusclaimBillExcelInfo.getState())) { + asBusclaimBill.setState(3); + } else if ("已驳回".equals(asBusclaimBillExcelInfo.getState())) { + asBusclaimBill.setState(4); + } + String auditDate = ""; + if (isNumber(asBusclaimBillExcelInfo.getAuditDate())) { + Date javaDate = new Date((long) ((Double.valueOf(asBusclaimBillExcelInfo.getAuditDate()) - 25569) * 86400 * 1000)); + auditDate = DateUtil.formatDate(javaDate); + } else { + auditDate = asBusclaimBillExcelInfo.getAuditDate(); + } + String policyDate = ""; + if (isNumber(asBusclaimBillExcelInfo.getPolicyDate())) { + Date javaDate = new Date((long) ((Double.valueOf(asBusclaimBillExcelInfo.getPolicyDate()) - 25569) * 86400 * 1000)); + policyDate = DateUtil.formatDate(javaDate); + } else { + policyDate = asBusclaimBillExcelInfo.getPolicyDate(); + } + asBusclaimBill.setAuditDate(DateUtil.parseDate(auditDate)); + asBusclaimBill.setPolicyDate(DateUtil.parseDate(policyDate)); + asBusclaimBillService.updateById(asBusclaimBill); } - asBusclaimBill.setAuditDate(DateUtil.parseDate(asBusclaimBillExcelInfo.getAuditDate())); - asBusclaimBill.setPolicyDate(DateUtil.parseDate(asBusclaimBillExcelInfo.getPolicyDate())); - asBusclaimBillService.updateById(asBusclaimBill); } return ResultBean.fireSuccess().setMsg("数据导入成功"); } catch (Exception e) { @@ -304,6 +322,48 @@ public class AsBusclaimBillRest { checkWord.add("审核状态必须为(审核不通过、未提报、审核通过、作废、已驳回)中的其中一种"); break; } + if (StringUtils.isBlank(excelInfo.getAuditDate())) { + checkWord.add("审核日期不能为空"); + break; + } + if (StringUtils.isNotBlank(excelInfo.getAuditDate())) { + String createTime = ""; + if (isNumber(excelInfo.getAuditDate())) { + Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getAuditDate()) - 25569) * 86400 * 1000)); + createTime = DateUtil.formatDate(javaDate); + } else { + createTime = excelInfo.getAuditDate(); + } + String[] split = createTime.split("-"); + if (split.length != 3) { + checkWord.add("索赔单号" + excelInfo.getBillNo() + "导入的审核日期填写不正确,格式yyyy-MM-dd"); + break; + } else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) { + checkWord.add("索赔单号" + excelInfo.getBillNo() + "导入的审核日期填写不正确,格式yyyy-MM-dd"); + break; + } + } + if (StringUtils.isBlank(excelInfo.getPolicyDate())) { + checkWord.add("报单日期不能为空"); + break; + } + if (StringUtils.isNotBlank(excelInfo.getPolicyDate())) { + String createTime = ""; + if (isNumber(excelInfo.getPolicyDate())) { + Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getPolicyDate()) - 25569) * 86400 * 1000)); + createTime = DateUtil.formatDate(javaDate); + } else { + createTime = excelInfo.getPolicyDate(); + } + String[] split = createTime.split("-"); + if (split.length != 3) { + checkWord.add("索赔单号" + excelInfo.getBillNo() + "导入的报单日期填写不正确,格式yyyy-MM-dd"); + break; + } else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) { + checkWord.add("索赔单号" + excelInfo.getBillNo() + "导入的报单日期填写不正确,格式yyyy-MM-dd"); + break; + } + } } } StringBuffer sbcheck1 = new StringBuffer(); @@ -354,5 +414,41 @@ public class AsBusclaimBillRest { return obj; } + public boolean isFourDigitNumber(String input) { + // 判断输入是否为数字 + try { + int number = Integer.parseInt(input); + } catch (NumberFormatException e) { + return false; + } + // 判断输入是否为四位数 + if (input.length() != 4) { + return false; + } + return true; + } + public boolean isTwoDigitNumber(String input) { + // 判断输入是否为数字 + try { + int number = Integer.parseInt(input); + } catch (NumberFormatException e) { + return false; + } + // 判断输入是否为二位数 + if (input.length() != 2) { + return false; + } + return true; + } + + public boolean isNumber(String input) { + // 判断输入是否为数字 + try { + double v = Double.parseDouble(input); + } catch (NumberFormatException e) { + return false; + } + return true; + } }