From 9b40a1f092aa1f66eb88782f317e36dfa15978c5 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 27 Aug 2024 14:10:33 +0800 Subject: [PATCH] =?UTF-8?q?app=E5=8F=8D=E5=B7=A5=E5=8D=95=E7=BB=93?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asbusrepairbill/AsBusrepairBillDto.java | 50 +++++--- ...AsBusrepairBillReverseSettleDetailsVo.java | 33 ++++++ .../AsBusrepairBillReverseSettleRest.java | 61 ++++++++++ .../AsBusrepairBillReverseSettleService.java | 112 ++++++++++++++++++ 4 files changed, 242 insertions(+), 14 deletions(-) diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java index b159509e20..15191ceef9 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java @@ -19,16 +19,18 @@ import java.util.List; public class AsBusrepairBillDto implements Dto { private String sid; private String orgPath; - @ApiModelProperty("是否外出(1是,2否)") - private String isGoOut; @ApiModelProperty("索赔厂家") private String claimManufacturer; @ApiModelProperty("索赔厂家sid") private String claimManufacturerSid; @ApiModelProperty("特殊标志(1有,0无)") private String isSpecialSign; - @ApiModelProperty("客户来源") + @ApiModelProperty("特殊标志(1有,0无)") + private String isSpecialSign2; + @ApiModelProperty("客户来源 ") private String customerSource; + @ApiModelProperty("客户来源 ") + private String customerSource2; @ApiModelProperty("对接人sid") private String dockingPeopleSid; @ApiModelProperty("对接人") @@ -45,32 +47,38 @@ public class AsBusrepairBillDto implements Dto { private String goodsAmount; @ApiModelProperty("外出费") private String outAmount; + @ApiModelProperty("附加费") + private String addAmount; + @ApiModelProperty("税额") + private String taxAmount; + @ApiModelProperty("是否外出(1是,2否)") + private String isGoOut; + @ApiModelProperty("是否外出(1是,2否)") + private String isGoOut2; + @ApiModelProperty("厂家补助") private String subsidyAmount; @ApiModelProperty("其他费用") private String otherAmount; @ApiModelProperty("班组sid") private String groupSid; + private String createDate; @ApiModelProperty("班组名称") private String groupName; + @ApiModelProperty("制单人sid") + private String createBySid; @ApiModelProperty("制单部门sid") private String deptSid; // 制单部门sid @ApiModelProperty("制单部门") private String deptName; // 制单部门 + @ApiModelProperty("制单人姓名") + private String createByName; @ApiModelProperty("操作人Sid") private String operatorSid; @ApiModelProperty("操作人") private String operator; - @ApiModelProperty("制单人sid") - private String createBySid; - @ApiModelProperty("制单人姓名") - private String createByName; @ApiModelProperty("单据编号") private String billNo; - @ApiModelProperty("使用组织sid") - private String useOrgSid; - @ApiModelProperty("创建组织sid") - private String createOrgSid; @ApiModelProperty("单据类型0正常工单、1保险理赔、2协议单位") private String billTypeKey; @ApiModelProperty("单据类型0正常工单、1保险理赔、2协议单位") @@ -102,6 +110,20 @@ public class AsBusrepairBillDto implements Dto { private String coupon; @ApiModelProperty("积分抵扣") private String scoreDeduct; + @ApiModelProperty("当前环节编码(登记1、派工2、竣工3、结算4)") + private String nodeCode; + @ApiModelProperty("当前环节") + private String nodeName; + @ApiModelProperty("进入当前环节时间") + private String nodeTime; + @ApiModelProperty("出厂状态 (0未出厂,1已出厂)") + private String outDoorState; + @ApiModelProperty("出厂时间") + private String outDoorTime; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("创建组织sid") + private String createOrgSid; @ApiModelProperty("客户sid") private String customerSid; @ApiModelProperty("客户名称") @@ -132,8 +154,9 @@ public class AsBusrepairBillDto implements Dto { private OtherVo otherVo = new OtherVo();//送修人信息 private List sitemVos = new ArrayList<>();// 服务项目 private List aitemVos = new ArrayList<>();// 附加项目 - private SettleVo settleVo = new SettleVo(); //结算信息 private List goodsDetailsVos = new ArrayList<>(); //商品信息 + private SettleVo settleVo = new SettleVo(); //结算信息 + private boolean showReSettleBtn; //是否显示反结算按钮,ture显示,false不显示 @ApiModelProperty("厂家补助备注") private String subsidyRemarks; @ApiModelProperty("施救费备注") @@ -151,6 +174,5 @@ public class AsBusrepairBillDto implements Dto { private List fileName = new ArrayList<>(); //文件名称 @ApiModelProperty("商品登记备注") private String registerRemarks; - @ApiModelProperty("附加费") - private String addAmount; + private List files = new ArrayList<>(); //文件名称 } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleDetailsVo.java index b7f1a8e671..5856caa78f 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleDetailsVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleDetailsVo.java @@ -29,6 +29,7 @@ package com.yxt.anrui.as.api.asbusrepairbillreversesettle; import com.yxt.anrui.as.api.asbusrepairbill.AitemVo; import com.yxt.anrui.as.api.asbusrepairbill.GoodsDetailsVo; import com.yxt.anrui.as.api.asbusrepairbill.SitemVo; +import com.yxt.anrui.as.api.utils.FileUrlQuery; import com.yxt.common.core.vo.Vo; import com.fasterxml.jackson.annotation.JsonFormat; @@ -109,6 +110,18 @@ public class AsBusrepairBillReverseSettleDetailsVo implements Vo { private String vinNo; @ApiModelProperty("车牌号") private String vehMark; + @ApiModelProperty("应收金额") + private String receivableAmount; + @ApiModelProperty("实收金额") + private String actualAmount; + @ApiModelProperty("工时费") + private String hourAmount; + @ApiModelProperty("材料费") + private String goodsAmount; + @ApiModelProperty("外出费") + private String outAmount; + @ApiModelProperty("附加费") + private String addAmount; private List sitemVos = new ArrayList<>();// 服务项目 private List aitemVos = new ArrayList<>();// 附加项目 private List goodsDetailsVos = new ArrayList<>(); //商品信息 @@ -118,4 +131,24 @@ public class AsBusrepairBillReverseSettleDetailsVo implements Vo { private String taskId; @ApiModelProperty("实例id") private String instanceId; + @ApiModelProperty("实例id") + private String procInsId; + private List fileName = new ArrayList<>(); //文件名称 + @ApiModelProperty("厂家补助备注") + private String subsidyRemarks; + @ApiModelProperty("施救费备注") + private String rescueRemarks; + @ApiModelProperty("外出费备注") + private String outRemarks; + @ApiModelProperty("施救费") + private String rescueAmount; + @ApiModelProperty("外出费开票金额") + private String outKPAmount; + @ApiModelProperty("厂家补助开票金额") + private String subsidyKPAmount; + @ApiModelProperty("厂家补助金额") + private String subsidyAmount; + @ApiModelProperty("施救费开票金额") + private String rescueKPAmount; + private List files = new ArrayList<>(); //文件名称 } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleRest.java index c8aae40744..7aaa663b29 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleRest.java @@ -26,6 +26,10 @@ package com.yxt.anrui.as.biz.asbusrepairbillreversesettle; import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.AppSettleDelegateQuery; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.AppSettleTaskQuery; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.CompleteSettleDto; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.SettleFlowableQuery; import com.yxt.anrui.as.api.asbusrepairbillreversesettle.*; import com.yxt.anrui.as.api.asbusrepairbillreversesettle.flowable.*; import com.yxt.anrui.as.api.asoldparthandleapply.flowable.*; @@ -167,4 +171,61 @@ public class AsBusrepairBillReverseSettleRest{ public ResultBean delegate(@RequestBody ReverseSettleDelegateQuery query) { return asBusrepairBillReverseSettleService.delegate(query); } + + // ----------------------------------app------------------------------------------------ + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid2/{sid}") + public ResultBean fetchDetailsBySid2(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + AsBusrepairBillReverseSettleDetailsVo vo = asBusrepairBillReverseSettleService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@Valid @RequestBody CompleteSettleDto dto){ + return asBusrepairBillReverseSettleService.agreeCreditInfo(dto); + } + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@Valid @RequestBody AppSettleTaskQuery query){ + return asBusrepairBillReverseSettleService.rejectCreditInfo(query); + } + + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@Valid @RequestBody AppSettleTaskQuery query){ + return asBusrepairBillReverseSettleService.recallCreditInfo(query); + } + + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@Valid @RequestBody AppSettleTaskQuery query){ + return asBusrepairBillReverseSettleService.stopCreditInfo(query); + } + + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@Valid @SpringQueryMap SettleFlowableQuery query){ + return asBusrepairBillReverseSettleService.getFlowOperateTitle(query); + } + + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate2") + @ResponseBody + public ResultBean delegate(@RequestBody AppSettleDelegateQuery delegateQuery){ + return asBusrepairBillReverseSettleService.delegate2(delegateQuery); + } + + } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleService.java index 9669ffe1ac..00e7a6eae5 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleService.java @@ -31,6 +31,11 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.as.api.asbillsettelapply.flow.*; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.AppSettleDelegateQuery; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.AppSettleTaskQuery; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.CompleteSettleDto; +import com.yxt.anrui.as.api.asbillsettelapply.flow.app.SettleFlowableQuery; import com.yxt.anrui.as.api.asbusrepairbill.*; import com.yxt.anrui.as.api.asbusrepairbillnode.AsBusrepairBillNode; import com.yxt.anrui.as.api.asbusrepairbillreversesettle.*; @@ -52,6 +57,7 @@ import com.yxt.anrui.as.feign.message.MessageFlowableQuery; import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery; import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrg; import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign; import com.yxt.anrui.as.feign.portal.sysuser.SysUserVo; @@ -229,10 +235,12 @@ public class AsBusrepairBillReverseSettleService extends MybatisBaseService 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(); + SettleCompleteDto completeDto = new + SettleCompleteDto(); + BeanUtil.copyProperties(dto, completeDto); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(completeDto, bv); + bv.setModelId(ProcDefEnum.REVERSESETTLEAPPLY.getProDefId()); + ResultBean resultBean = complete(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + + public ResultBean rejectCreditInfo(AppSettleTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + ReverseSettleTaskQuery taskQuery = new + ReverseSettleTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = reject(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppSettleTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + ReverseSettleTaskQuery taskQuery = new + ReverseSettleTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = revokeProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppSettleTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + ReverseSettleTaskQuery taskQuery = new + ReverseSettleTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = breakProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(SettleFlowableQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + ReverseSettleNodeQuery getNodeQuery = new + ReverseSettleNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = 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 = 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 delegate2(AppSettleDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + ReverseSettleDelegateQuery delegateQuery1 = new + ReverseSettleDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + ResultBean delegate = delegate(delegateQuery1); + return rb.success(); + } }