From d3e46ecd2d8a4f441b5d407c092459fe94ac7f21 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Wed, 7 Aug 2024 11:21:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E9=80=80=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsBusrepairBillService.java | 2 +- .../smssalesreturn/SalesGoodsReturnVo.java | 3 +- .../smssalesreturn/SalesItemsReturnVo.java | 59 +++ .../biz/smssalesreturn/SmsGoodsDetailsVo.java | 16 +- .../biz/smssalesreturn/SmsSalesReturn.java | 17 +- .../SmsSalesReturnNewDetailsVo.java | 27 +- .../smssalesreturn/SmsSalesReturnService.java | 417 +++++++++--------- .../sms/biz/smssalesreturn/SmsSitemVo.java | 2 + .../SmsSalesReturnDetail.java | 3 +- .../SmsSalesReturnItem.java | 86 ++++ .../SmsSalesReturnItemMapper.java | 64 +++ .../SmsSalesReturnItemMapper.xml | 6 + .../SmsSalesReturnItemService.java | 107 +++++ 13 files changed, 589 insertions(+), 220 deletions(-) create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesItemsReturnVo.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItem.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemService.java diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java index 3ab32e0b9f..f13b207986 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java @@ -1564,7 +1564,7 @@ public class AsBusrepairBillService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.listReturnGoods(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java index eb1427383a..a25c9b0816 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java @@ -39,6 +39,7 @@ public class SalesGoodsReturnVo { private String backPrice; // 退货价 @ApiModelProperty("退货金额") private String backAmount; // 退货金额 - + @ApiModelProperty("单据关联sid") + private String goodsLinkSid; // 单据关联sid } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesItemsReturnVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesItemsReturnVo.java new file mode 100644 index 0000000000..4c25b2f1fa --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesItemsReturnVo.java @@ -0,0 +1,59 @@ +package com.yxt.sms.biz.smssalesreturn; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/8/7 10:41 + */ +@Data +public class SalesItemsReturnVo { + + @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 String examineHourPrice; + @ApiModelProperty("工时单价") + private String hourPrice; + @ApiModelProperty("工时数") + private String hours; + @ApiModelProperty("销售价(工时费)=工时单价*工时数") + private String price; + @ApiModelProperty("折扣(0-10,0免费,10不打折)") + private String discount; + @ApiModelProperty("优惠金额(=销售价*(折扣*0.1))") + private String discountAmount; + @ApiModelProperty("金额(销售价-优惠金额)") + private String amount; + @ApiModelProperty("备注") + private String remarks; + private String repairerName; + @ApiModelProperty("关联维修项目sid") + private String itemLinkSid; + //-------------维修人员--------------- +// @ApiModelProperty("维修人员sid") +// private String repairerSid; +// @ApiModelProperty("维修人员姓名") +// private String repairerName; +// @ApiModelProperty("所在组sid") +// private String groupSid; +// @ApiModelProperty("所在班组名称") +// private String groupName; + private List staffList = new ArrayList<>(); //维修人员Sid + private List staffNameList = new ArrayList<>(); //维修人员姓名信息 +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java index aa46e96876..c9ad1bbea4 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java @@ -27,10 +27,10 @@ public class SmsGoodsDetailsVo implements Vo { private String unit; // @ApiModelProperty("仓库sid") // private String warehouseSid; - @ApiModelProperty("仓库名称") - private String warehouseName; - //库位编号 - private String warehouseRackCode; +// @ApiModelProperty("仓库名称") +// private String warehouseName; +// //库位编号 +// private String warehouseRackCode; // // @ApiModelProperty("需求数量(维修工单中)") // private String needCount; @@ -50,8 +50,12 @@ public class SmsGoodsDetailsVo implements Vo { // private String operName; @ApiModelProperty("备注") private String remarks; - @ApiModelProperty("厂家") - private String manufacturerName; +// @ApiModelProperty("厂家") +// private String manufacturerName; +//供应商 +private String billObjName; @ApiModelProperty("已退数量") private String returnedCount; + @ApiModelProperty("单据关联sid") + private String goodsLinkSid; // 单据关联sid } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java index 570498cb72..beafd9b2a4 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java @@ -93,10 +93,19 @@ public class SmsSalesReturn extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @ApiModelProperty("办结时间") private Date closeDate; // 办结时间 - @ApiModelProperty("应付金额") + @ApiModelProperty("退款金额") private BigDecimal payableAmount; // 应付金额 - @ApiModelProperty("合计金额") - private BigDecimal totalAmount; // 合计金额 - private Integer type; //0维修工单 1销售单 + @ApiModelProperty("0维修工单 1销售单") + private Integer billType; //0维修工单 1销售单 + @ApiModelProperty("退工时费金额") + private BigDecimal payableHoursAmount; // 退工时费金额 + @ApiModelProperty("退材料费金额") + private BigDecimal payableGoodsAmount; // 退材料费金额 + @ApiModelProperty("开户行") + private String accountBank; // 开户行 + @ApiModelProperty("收款账户名称") + private String account; // 收款账户名称 + @ApiModelProperty("收款账号") + private String accountNumber; // 收款账号 } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java index 5de02dc9c5..219bc8c227 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java @@ -4,6 +4,7 @@ import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -46,23 +47,37 @@ public class SmsSalesReturnNewDetailsVo implements Vo { private String customerName; @ApiModelProperty("联系电话") private String mobile; - @ApiModelProperty("客户单位") - private String customerOrg; //-----车辆信息------ @ApiModelProperty("车牌号") private String vehMark; @ApiModelProperty("车架号") private String vinNo; - @ApiModelProperty("应付金额") - private String payableAmount; // 应付金额 @ApiModelProperty("合计金额") private String totalAmount; // 合计金额 - - private List sitemVos = new ArrayList<>();// 服务项目 + private String hourAmount; // 工时费 + private String goodsAmount; // 材料费 + private String addAmount; // 附加费 + private List sitemVos = new ArrayList<>();// 维修项目 private List goodsDetailsVos = new ArrayList<>(); //商品信息 private List returnGoods = new ArrayList<>(); //退货商品列表 + private List returnSitemVos = new ArrayList<>(); //退货维修项目列表 @ApiModelProperty("任务id") private String taskId; @ApiModelProperty("实例id") private String instanceId; + private String procInsId; + @ApiModelProperty("退货金额") + private String payableAmount; // 应付金额 + @ApiModelProperty("退工时费金额") + private BigDecimal payableHoursAmount; // 退工时费金额 + @ApiModelProperty("退材料费金额") + private BigDecimal payableGoodsAmount; // 退材料费金额 + @ApiModelProperty("开户行") + private String accountBank; // 开户行 + @ApiModelProperty("收款账户名称") + private String account; // 收款账户名称 + @ApiModelProperty("收款账号") + private String accountNumber; // 收款账号 + + } 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 42f1c1c905..19315e4957 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 @@ -318,92 +318,92 @@ public class SmsSalesReturnService extends MybatisBaseService billGoods = new ArrayList<>(); - //材料费 - BigDecimal materialCosts = new BigDecimal(0); - //合计优惠 - BigDecimal discount = new BigDecimal(0); - List billDetailList = smsSalesBillDetailService.fetchByMainSid(sid); - if (!billDetailList.isEmpty()) { - for (SmsSalesBillDetail salesBillDetail : billDetailList) { - if (null != salesBillDetail.getPrice()) { - materialCosts = salesBillDetail.getPrice().add(materialCosts); - } - if (null != salesBillDetail.getDiscountAmount()) { - discount = salesBillDetail.getDiscountAmount().add(discount); - } - SalesGoodsReturnVo salesGoodsVo = new SalesGoodsReturnVo(); - BeanUtil.copyProperties(salesBillDetail, salesGoodsVo); - //查询对应销售单已退商品数量 -// String count = baseMapper.selRetunGoodsNum(sid, salesBillDetail.getInventorySid()); -// if (StringUtils.isNotBlank(count)) { -// salesGoodsVo.setReturnedCount(count); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// SmsSalesBill smsSalesBill = smsSalesBillService.fetchBySid(sid); +// if (null != smsSalesBill) { +// vo.setBillSid(sid); +// vo.setSourceBillNo(smsSalesBill.getBillNo()); +// //客户名称 +// if (StringUtils.isNotBlank(smsSalesBill.getCustomerName())) { +// vo.setCustomerName(smsSalesBill.getCustomerName()); +// } +// //车牌号 +// if (StringUtils.isNotBlank(smsSalesBill.getVehMark())) { +// vo.setVehMark(smsSalesBill.getVehMark()); +// } +// //客户单位 +// if (StringUtils.isNotBlank(smsSalesBill.getCustomerOrg())) { +// vo.setCustomerOrg(smsSalesBill.getCustomerOrg()); +// } +// //科目 +// if (StringUtils.isNotBlank(smsSalesBill.getSubject())) { +// vo.setSubject(smsSalesBill.getSubject()); +// } +// //原单商品列表 +// List billGoods = new ArrayList<>(); +// //材料费 +// BigDecimal materialCosts = new BigDecimal(0); +// //合计优惠 +// BigDecimal discount = new BigDecimal(0); +// List billDetailList = smsSalesBillDetailService.fetchByMainSid(sid); +// if (!billDetailList.isEmpty()) { +// for (SmsSalesBillDetail salesBillDetail : billDetailList) { +// if (null != salesBillDetail.getPrice()) { +// materialCosts = salesBillDetail.getPrice().add(materialCosts); // } - billGoods.add(salesGoodsVo); - } - vo.setBillGoods(billGoods); - } - vo.setMaterialCosts(materialCosts.toString()); - vo.setDiscount(discount.toString()); - //税额 - BigDecimal maxAmount = new BigDecimal(0); - SmsSalesBillInvoice invoice = smsSalesBillInvoiceService.fetchByMainSid(sid); - if (null != invoice) { - if (null != invoice.getTaxRate()) { - maxAmount = materialCosts.multiply(invoice.getTaxRate()).multiply(new BigDecimal(0.01)).setScale(2, BigDecimal.ROUND_UP); - vo.setMaxAmount(maxAmount.toString()); - } - } - // 合计金额 - BigDecimal amountAll = new BigDecimal(0); - amountAll = maxAmount.add(materialCosts); - vo.setAmountAll(amountAll.toString()); - //已收金额 - BigDecimal receivedAmount = new BigDecimal(0); - //欠款 - BigDecimal debts = new BigDecimal(0); - // 应收金额 - BigDecimal receivableAmount = new BigDecimal(0); - //结算时间 - SmsSalesBillSettle settle = smsSalesBillSettleService.fetchByMainSid(sid); - if (null != settle) { - vo.setSettleTime(sdf.format(settle.getSettleTime())); - if (null != settle.getSettleAmount()) { - receivedAmount = settle.getSettleAmount(); - } - if (null != settle.getDebts()) { - debts = settle.getDebts(); - } - if (null != settle.getReceivableAmount()) { - receivableAmount = settle.getReceivableAmount(); - } - } - vo.setReceivedAmount(receivedAmount.toString()); - vo.setDebts(debts.toString()); - vo.setReceivableAmount(receivableAmount.toString()); - } +// if (null != salesBillDetail.getDiscountAmount()) { +// discount = salesBillDetail.getDiscountAmount().add(discount); +// } +// SalesGoodsReturnVo salesGoodsVo = new SalesGoodsReturnVo(); +// BeanUtil.copyProperties(salesBillDetail, salesGoodsVo); +// //查询对应销售单已退商品数量 +//// String count = baseMapper.selRetunGoodsNum(sid, salesBillDetail.getInventorySid()); +//// if (StringUtils.isNotBlank(count)) { +//// salesGoodsVo.setReturnedCount(count); +//// } +// billGoods.add(salesGoodsVo); +// } +// vo.setBillGoods(billGoods); +// } +// vo.setMaterialCosts(materialCosts.toString()); +// vo.setDiscount(discount.toString()); +// //税额 +// BigDecimal maxAmount = new BigDecimal(0); +// SmsSalesBillInvoice invoice = smsSalesBillInvoiceService.fetchByMainSid(sid); +// if (null != invoice) { +// if (null != invoice.getTaxRate()) { +// maxAmount = materialCosts.multiply(invoice.getTaxRate()).multiply(new BigDecimal(0.01)).setScale(2, BigDecimal.ROUND_UP); +// vo.setMaxAmount(maxAmount.toString()); +// } +// } +// // 合计金额 +// BigDecimal amountAll = new BigDecimal(0); +// amountAll = maxAmount.add(materialCosts); +// vo.setAmountAll(amountAll.toString()); +// //已收金额 +// BigDecimal receivedAmount = new BigDecimal(0); +// //欠款 +// BigDecimal debts = new BigDecimal(0); +// // 应收金额 +// BigDecimal receivableAmount = new BigDecimal(0); +// //结算时间 +// SmsSalesBillSettle settle = smsSalesBillSettleService.fetchByMainSid(sid); +// if (null != settle) { +// vo.setSettleTime(sdf.format(settle.getSettleTime())); +// if (null != settle.getSettleAmount()) { +// receivedAmount = settle.getSettleAmount(); +// } +// if (null != settle.getDebts()) { +// debts = settle.getDebts(); +// } +// if (null != settle.getReceivableAmount()) { +// receivableAmount = settle.getReceivableAmount(); +// } +// } +// vo.setReceivedAmount(receivedAmount.toString()); +// vo.setDebts(debts.toString()); +// vo.setReceivableAmount(receivableAmount.toString()); +// } return vo; } @@ -458,115 +458,136 @@ public class SmsSalesReturnService extends MybatisBaseService 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); - } - List goodsDetailsVos = data.getGoodsDetailsVos(); - List smsGoodsDetailsVos = new ArrayList<>(); - if (!goodsDetailsVos.isEmpty()) { - for (GoodsDetailsVo 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); - } - 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.getCustomerOrg())) { - vo.setCustomerOrg(data.getCustomerOrg()); - } - 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); - } - } - - } + List 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); +// } +// List goodsDetailsVos = data.getGoodsDetailsVos(); +// List smsGoodsDetailsVos = new ArrayList<>(); +// if (!goodsDetailsVos.isEmpty()) { +// for (GoodsDetailsVo 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); +// } +// 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.getCustomerOrg())) { +// vo.setCustomerOrg(data.getCustomerOrg()); +// } +// 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; } @@ -636,7 +657,7 @@ public class SmsSalesReturnService extends MybatisBaseService staffList = new ArrayList<>(); //维修人员Sid private List staffNameList = new ArrayList<>(); //维修人员姓名信息 + @ApiModelProperty("关联维修项目sid") + private String itemLinkSid; } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java index 50b1d7decb..ff019d8ef3 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java @@ -84,5 +84,6 @@ public class SmsSalesReturnDetail extends BaseEntity { private BigDecimal backAmount; // 退货金额 @ApiModelProperty("退货价") private BigDecimal backPrice; // 退货价 - + @ApiModelProperty("单据关联sid") + private String goodsLinkSid; // 单据关联sid } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItem.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItem.java new file mode 100644 index 0000000000..c38c42f099 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItem.java @@ -0,0 +1,86 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.sms.biz.smssalesreturnitem; + +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; + +/** + * Project: sms(sms)
+ * File: SmsSalesReturnDetail.java
+ * Class: com.yxt.sms.api.smssalesreturndetail.SmsSalesReturnDetail
+ * Description: 销售退货单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:24:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售退货单据明细", description = "销售退货单据明细") +@TableName("sms_sales_return_detail") +public class SmsSalesReturnItem extends BaseEntity { + private static final long serialVersionUID = 1L; + + @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("关联维修项目sid") + private String itemLinkSid; + +} 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 new file mode 100644 index 0000000000..9def8edeb2 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.sms.biz.smssalesreturnitem; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailVo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: sms(sms)
+ * File: SmsSalesReturnDetailMapper.java
+ * Class: com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailMapper
+ * Description: 销售退货单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:24:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SmsSalesReturnItemMapper extends BaseMapper { + + //@Update("update sms_sales_return_detail set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + @Select("select * from sms_sales_return_item where billSid = #{billSid}") + List fetchByBillSid(@Param("billSid") String billSid); + + @Delete("delete from sms_sales_return_item where billSid = #{billSid}") + void deleteByMainSid(String billSid); +} 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 new file mode 100644 index 0000000000..cf245ff371 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml @@ -0,0 +1,6 @@ + + + + + + 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 new file mode 100644 index 0000000000..7cbb04b709 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemService.java @@ -0,0 +1,107 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.sms.biz.smssalesreturnitem; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailDetailsVo; +import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailDto; +import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailQuery; +import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: sms(sms)
+ * File: SmsSalesReturnDetailService.java
+ * Class: com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailService
+ * Description: 销售退货单据明细 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:24:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SmsSalesReturnItemService extends MybatisBaseService { + private QueryWrapper createQueryWrapper(SmsSalesReturnDetailQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public void deleteByMainSid(String billSid) { + baseMapper.deleteByMainSid(billSid); + } + + public List fetchByBillSid(String billSid) { + return baseMapper.fetchByBillSid(billSid); + } + + + + public void saveOrUpdateDto(SmsSalesReturnDetailDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + this.insertByDto(dto); + return; + } + this.updateByDto(dto); + } + + public void insertByDto(SmsSalesReturnDetailDto dto){ + SmsSalesReturnItem entity = new SmsSalesReturnItem(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(SmsSalesReturnDetailDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + return; + } + SmsSalesReturnItem entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public SmsSalesReturnDetailDetailsVo fetchDetailsVoBySid(String sid){ + SmsSalesReturnItem entity = fetchBySid(sid); + SmsSalesReturnDetailDetailsVo vo = new SmsSalesReturnDetailDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +}