From b7bc7fb2e3be7f5d55bbb00541f2182509f4a681 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 13 Aug 2024 17:48:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=95=86=E5=93=81=E9=80=80?= =?UTF-8?q?=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanRepaymentScheduleService.java | 1 + .../asbusrepairbill/AsBusrepairBillRest.java | 35 ++- .../smssalesreturn/SmsSalesReturnService.java | 248 +++++++++--------- .../SmsSalesReturnItemMapper.java | 3 + .../SmsSalesReturnItemMapper.xml | 9 + .../SmsSalesReturnItemService.java | 4 + .../as/asbusrepairbill/AsBusrepairBill.java | 153 +++++++++++ .../asbusrepairbill/AsBusrepairBillFeign.java | 16 ++ .../asbusrepairbill/AsBusrepairBillSitem.java | 53 ++++ .../AsBusrepairBillSitemRepairer.java | 34 +++ .../asbusrepairbill/AsBusrepairBillVech.java | 36 +++ 11 files changed, 474 insertions(+), 118 deletions(-) create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBill.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitem.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitemRepairer.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillVech.java diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java index 232db271b6..d1630eb957 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java @@ -5792,6 +5792,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService> listPage(@RequestBody PagerQuery pagerQuery) { @@ -99,6 +111,27 @@ public class AsBusrepairBillRest { return asBusrepairBillService.fetchDetailsBySid(sid); } + @ApiOperation("获取维修单") + @GetMapping("/fetchBySid") + public AsBusrepairBill fetchBySid(@RequestParam("sid") String sid) { + return asBusrepairBillService.fetchBySid(sid); + } + @ApiOperation("获取维修项目") + @GetMapping("/fetchSitemByBillSid") + public List fetchSitemByBillSid(@RequestParam("sid") String sid) { + return asBusrepairBillSitemService.fetchByBillSid(sid); + } + @ApiOperation("获取维修项目维修人员") + @GetMapping("/fetchSitemRepairerByBillSid") + public List fetchSitemRepairerByBillSid(@RequestParam("sid") String sid,@RequestParam("itemSid") String itemSid) { + return asBusrepairBillSitemRepairerService.fetchByBillSid(sid,itemSid); + } + @ApiOperation("获取车辆信息") + @GetMapping("/fetchVehInfoByBillSid}") + public AsBusrepairBillVech fetchVehInfoByBillSid(@RequestParam("sid") String sid) { + return asBusrepairBillVechService.fetchByBillSid(sid); + } + @ApiOperation("打印结算单") @PostMapping("/printSettlement") public ResultBean printSettlement(@RequestBody SettlePdfQuery query) { diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java index 19315e4957..b1093a3cce 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java @@ -41,6 +41,8 @@ import com.yxt.sms.biz.smssalesbillsettle.SmsSalesBillSettleService; import com.yxt.sms.biz.smssalesreturn.flowable.*; import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetail; import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailService; +import com.yxt.sms.biz.smssalesreturnitem.SmsSalesReturnItem; +import com.yxt.sms.biz.smssalesreturnitem.SmsSalesReturnItemService; import com.yxt.sms.biz.smssalesreturnsettle.SmsSalesReturnSettle; import com.yxt.sms.biz.smssalesreturnsettle.SmsSalesReturnSettleService; import com.yxt.sms.feign.as.asbusrepairbill.*; @@ -52,6 +54,8 @@ import com.yxt.sms.feign.flowable.flowtask.FlowTaskVo; import com.yxt.sms.feign.flowable.flowtask.LatestTaskVo; import com.yxt.sms.feign.fms.fmspaysettle.FmsPaysettleDto; import com.yxt.sms.feign.fms.fmspaysettle.FmsPaysettleFeign; +import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettle; +import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettleFeign; import com.yxt.sms.feign.message.MessageFeign; import com.yxt.sms.feign.message.MessageFlowVo; import com.yxt.sms.feign.message.MessageFlowableQuery; @@ -126,7 +130,10 @@ public class SmsSalesReturnService extends MybatisBaseService createQueryWrapper(SmsSalesReturnQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -458,71 +465,80 @@ public class SmsSalesReturnService extends MybatisBaseService sitemVos = new ArrayList<>();// 维修项目 - vo.setRemarks("222"); - SmsSitemVo v = new SmsSitemVo(); - v.setRemarks("saasg"); - sitemVos.add(v); - List goodsDetailsVos = new ArrayList<>(); //商品信息 - SmsGoodsDetailsVo v2 = new SmsGoodsDetailsVo(); - v2.setRemarks("saasg"); - goodsDetailsVos.add(v2); - List returnGoods = new ArrayList<>(); //退货商品列表 - SalesGoodsReturnVo v3 = new SalesGoodsReturnVo(); - v3.setGoodsID("saasg"); - returnGoods.add(v3); - List returnSitemVos = new ArrayList<>(); //退货维修项目列表 - SalesItemsReturnVo v4 = new SalesItemsReturnVo(); - v.setRemarks("saasg"); - returnSitemVos.add(v4); - vo.setReturnGoods(returnGoods); - vo.setReturnSitemVos(returnSitemVos); - vo.setGoodsDetailsVos(goodsDetailsVos); - vo.setSitemVos(sitemVos); -// vo.setType(type); -// vo.setSourceBillSid(sid); -// if (type.equals("0")) { -// //维修工单 -// AsBusrepairBillDetailsVo data = asBusrepairBillFeign.fetchDetailsBySid(sid).getData(); -// if (null != data) { -// vo.setSourceBillNo(data.getBillNo()); -// vo.setBillType(data.getBillType()); -// vo.setBillDate(data.getCreateDate()); -// if (StringUtils.isNotBlank(data.getSubject())) { -// vo.setSubject(data.getSubject()); -// } -// if (StringUtils.isNotBlank(data.getWaitorName())) { -// vo.setWaitorName(data.getWaitorName()); -// } -// if (StringUtils.isNotBlank(data.getCustomerName())) { -// vo.setCustomerName(data.getCustomerName()); -// } -// if (StringUtils.isNotBlank(data.getMobile())) { -// vo.setMobile(data.getMobile()); -// } -// if (StringUtils.isNotBlank(data.getCustomerOrg())) { -// vo.setCustomerOrg(data.getCustomerOrg()); -// } -// if (StringUtils.isNotBlank(data.getVehMark())) { -// vo.setVehMark(data.getVehMark()); -// } -// if (StringUtils.isNotBlank(data.getVinNo())) { -// vo.setVinNo(data.getVinNo()); -// } -// SettleVo settleVo = data.getSettleVo(); -// if (null != settleVo) { -// vo.setSettleDate(settleVo.getSettleTime()); -// } -// List sitemVos = data.getSitemVos(); -// List smsSitemVos = new ArrayList<>(); -// if (!sitemVos.isEmpty()) { -// for (SitemVo smsSitemVo : sitemVos) { -// SmsSitemVo sitemVo = new SmsSitemVo(); -// BeanUtil.copyProperties(smsSitemVo, sitemVo); -// smsSitemVos.add(sitemVo); -// } -// vo.setSitemVos(smsSitemVos); -// } + vo.setType(type); + vo.setSourceBillSid(sid); + if (type.equals("0")) { + //维修工单 + AsBusrepairBill data = asBusrepairBillFeign.fetchBySid(sid); + if (null != data) { + vo.setSourceBillNo(data.getBillNo()); + vo.setBillType(data.getBillType()); + vo.setBillDate(DateUtil.formatDate(data.getCreateTime())); + if (StringUtils.isNotBlank(data.getSubject())) { + vo.setSubject(data.getSubject()); + } + if (StringUtils.isNotBlank(data.getWaitorName())) { + vo.setWaitorName(data.getWaitorName()); + } + if (StringUtils.isNotBlank(data.getCustomerName())) { + vo.setCustomerName(data.getCustomerName()); + } + if (StringUtils.isNotBlank(data.getMobile())) { + vo.setMobile(data.getMobile()); + } + if (null != data.getHourAmount()) { + vo.setHourAmount(data.getHourAmount().toString()); + } + if (null != data.getGoodsAmount()) { + vo.setGoodsAmount(data.getGoodsAmount().toString()); + } + if (null != data.getAddAmount()) { + vo.setAddAmount(data.getAddAmount().toString()); + } + AsBusrepairBillVech vech = asBusrepairBillFeign.fetchVehInfoByBillSid(sid); + if (null != vech) { + if (StringUtils.isNotBlank(vech.getVehMark())) { + vo.setVehMark(vech.getVehMark()); + } + if (StringUtils.isNotBlank(vech.getVinNo())) { + vo.setVinNo(vech.getVinNo()); + } + } + FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData(); + if (null != receivesettle) { + vo.setSettleDate(DateUtil.formatDate(receivesettle.getSettleTime())); + } + List sitemVos = new ArrayList<>();// 维修项目 + List sitems = asBusrepairBillFeign.fetchSitemByBillSid(sid); + if (!sitems.isEmpty()) { + for (AsBusrepairBillSitem sitem : sitems) { + SmsSalesReturnItem returnItem = smsSalesReturnItemService.selBySouceSidAndLinkSid(sid,sitem.getSid()); + if (null == returnItem) { + SmsSitemVo sitemVo = new SmsSitemVo(); + BeanUtil.copyProperties(sitem, sitemVo); + sitemVo.setItemLinkSid(sitem.getSid()); + List repairers = asBusrepairBillFeign.fetchSitemRepairerByBillSid(sid, sitem.getServiceItemSid()); + if (!repairers.isEmpty()) { + List staffList = new ArrayList<>(); //维修人员信息 + List staffNameList = new ArrayList<>(); //维修人员信息 + for (AsBusrepairBillSitemRepairer repairer : repairers) { + if (StringUtils.isNotBlank(repairer.getRepairerSid())) { + staffList.add(repairer.getRepairerSid()); + } + if (StringUtils.isNotBlank(repairer.getRepairerName())) { + staffNameList.add(repairer.getRepairerName()); + } + } + sitemVo.setStaffList(staffList); + sitemVo.setStaffNameList(staffNameList); + sitemVo.setRepairerName(String.join("、", staffNameList)); + } + sitemVos.add(sitemVo); + } + } + vo.setSitemVos(sitemVos); + } + // List goodsDetailsVos = data.getGoodsDetailsVos(); // List smsGoodsDetailsVos = new ArrayList<>(); // if (!goodsDetailsVos.isEmpty()) { @@ -537,57 +553,55 @@ public class SmsSalesReturnService extends MybatisBaseService goodsDetailsVos = data.getGoodsVos(); -// List smsGoodsDetailsVos = new ArrayList<>(); -// if (!goodsDetailsVos.isEmpty()) { -// for (SalesGoodsVo goodsDetailsVo : goodsDetailsVos) { -// SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo(); -// BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo); -// //查询已退数量 -// String goodsID = goodsDetailsVo.getGoodsID(); -// String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid); -// smsGoodsDetailsVo.setReturnedCount(sumBackCount); -// smsGoodsDetailsVos.add(smsGoodsDetailsVo); -// smsGoodsDetailsVos.add(smsGoodsDetailsVo); -// } -// vo.setGoodsDetailsVos(smsGoodsDetailsVos); -// } -// } -// -// } + } + } else if (type.equals("1")) { + //销售单 + SmsSalesBillDetailsVo data = smsSalesBillService.fetchDetailsVoBySid(sid); + if (null != data) { + vo.setSourceBillNo(data.getBillNo()); + vo.setBillType("销售单"); + vo.setBillDate(data.getCreateTime()); + if (StringUtils.isNotBlank(data.getSubject())) { + vo.setSubject(data.getSubject()); + } + if (StringUtils.isNotBlank(data.getSalesName())) { + vo.setWaitorName(data.getSalesName()); + } + if (StringUtils.isNotBlank(data.getCustomerName())) { + vo.setCustomerName(data.getCustomerName()); + } + if (StringUtils.isNotBlank(data.getMobile())) { + vo.setMobile(data.getMobile()); + } + + if (StringUtils.isNotBlank(data.getVehMark())) { + vo.setVehMark(data.getVehMark()); + } + if (StringUtils.isNotBlank(data.getVinNo())) { + vo.setVinNo(data.getVinNo()); + } + SettlementVo settleVo = data.getSettlementVo(); + if (null != settleVo) { + vo.setSettleDate(settleVo.getSettleTime()); + } + List goodsDetailsVos = data.getGoodsVos(); + List smsGoodsDetailsVos = new ArrayList<>(); + if (!goodsDetailsVos.isEmpty()) { + for (SalesGoodsVo goodsDetailsVo : goodsDetailsVos) { + SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo(); + BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo); + //查询已退数量 + String goodsID = goodsDetailsVo.getGoodsID(); + String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid); + smsGoodsDetailsVo.setReturnedCount(sumBackCount); + smsGoodsDetailsVos.add(smsGoodsDetailsVo); + smsGoodsDetailsVos.add(smsGoodsDetailsVo); + } + vo.setGoodsDetailsVos(smsGoodsDetailsVos); + } + } + + } return vo; } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.java index 9def8edeb2..a91011167a 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.java @@ -61,4 +61,7 @@ public interface SmsSalesReturnItemMapper extends BaseMapper @Delete("delete from sms_sales_return_item where billSid = #{billSid}") void deleteByMainSid(String billSid); + + SmsSalesReturnItem selBySouceSidAndLinkSid(@Param("sid") String sid, @Param("linkSid") String linkSid); + } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml index cf245ff371..0e48d44176 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml @@ -3,4 +3,13 @@ + diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemService.java index 7cbb04b709..bc40b4564f 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemService.java @@ -104,4 +104,8 @@ public class SmsSalesReturnItemService extends MybatisBaseService fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("获取维修单") + @GetMapping("/fetchBySid") + public AsBusrepairBill fetchBySid(@RequestParam("sid") String sid); + + @ApiOperation("获取车辆信息") + @GetMapping("/fetchVehInfoByBillSid}") + public AsBusrepairBillVech fetchVehInfoByBillSid(@RequestParam("sid") String sid); + + @ApiOperation("获取维修项目") + @GetMapping("/fetchSitemByBillSid") + public List fetchSitemByBillSid(@RequestParam("sid") String sid); + + @ApiOperation("获取维修项目维修人员") + @GetMapping("/fetchSitemRepairerByBillSid") + public List fetchSitemRepairerByBillSid(@RequestParam("sid") String sid,@RequestParam("itemSid") String itemSid); } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitem.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitem.java new file mode 100644 index 0000000000..cc99e9911e --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitem.java @@ -0,0 +1,53 @@ +package com.yxt.sms.feign.as.asbusrepairbill; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Fan + * @description + * @date 2024/4/17 15:08 + */ +@Data +@ApiModel(value = "维修工单-服务项目", description = "维修工单-服务项目") +@TableName("as_busrepair_bill_sitem") +public class AsBusrepairBillSitem extends BaseEntity { + + @ApiModelProperty("工单sid") + private String billSid; + @ApiModelProperty("项目sid") + private String serviceItemSid; + @ApiModelProperty("项目名称") + private String serviceItem; + @ApiModelProperty("工种sid(分类)") + private String serviceTypeSid; + @ApiModelProperty("工种(分类)") + private String serviceType; + @ApiModelProperty("科目sid") + private String subjectSid; + @ApiModelProperty("科目(自费、保内等)") + private String subject; + @ApiModelProperty("考核工时(考核价)") + private BigDecimal examineHourPrice; + @ApiModelProperty("工时单价") + private BigDecimal hourPrice; + @ApiModelProperty("工时数") + private BigDecimal hours; + @ApiModelProperty("销售价(工时费)=工时单价*工时数") + private BigDecimal price; + @ApiModelProperty("折扣(0-10,0免费,10不打折)") + private Integer discount; + @ApiModelProperty("优惠金额(=销售价*(折扣*0.1))") + private BigDecimal discountAmount; + @ApiModelProperty("金额(销售价-优惠金额)") + private BigDecimal amount; + @ApiModelProperty("销售价格常量") + private BigDecimal sitemPrice; + + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitemRepairer.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitemRepairer.java new file mode 100644 index 0000000000..d61a409acd --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillSitemRepairer.java @@ -0,0 +1,34 @@ +package com.yxt.sms.feign.as.asbusrepairbill; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/4/17 15:08 + */ +@Data +@ApiModel(value = "维修工单-服务项目-维修人员", description = "维修工单-服务项目-维修人员") +@TableName("as_busrepair_bill_sitem_repairer") +public class AsBusrepairBillSitemRepairer extends BaseEntity { + + @ApiModelProperty("工单sid") + private String billSid; + @ApiModelProperty("单据项目sid(服务项目、商品)") + private String repairitemSid; + @ApiModelProperty("维修人员sid") + private String repairerSid; + @ApiModelProperty("维修人员姓名") + private String repairerName; + @ApiModelProperty("所在组sid") + private String groupSid; + @ApiModelProperty("所在班组名称") + private String groupName; + + + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillVech.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillVech.java new file mode 100644 index 0000000000..abc29817aa --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillVech.java @@ -0,0 +1,36 @@ +package com.yxt.sms.feign.as.asbusrepairbill; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/4/16 16:59 + */ +@Data +@ApiModel(value = "维修工单-车辆", description = "维修工单-车辆") +@TableName("as_busrepair_bill_vech") +public class AsBusrepairBillVech extends BaseEntity { + + + @ApiModelProperty("工单sid") + private String billSid; + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车型") + private String vehModel; + @ApiModelProperty("行驶里程") + private Integer mileage; + @ApiModelProperty("油量(空、小于1/4、1/4、1/2、3/4、满)") + private String oil; + @ApiModelProperty("当前里程(本次里程)") + private Integer currentMileage; +}