Browse Source

销售退货

master
fanzongzhe 9 months ago
parent
commit
d3e46ecd2d
  1. 2
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  2. 3
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java
  3. 59
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesItemsReturnVo.java
  4. 16
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java
  5. 17
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java
  6. 27
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java
  7. 417
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java
  8. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSitemVo.java
  9. 3
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java
  10. 86
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItem.java
  11. 64
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.java
  12. 6
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml
  13. 107
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemService.java

2
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -1564,7 +1564,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
apply(StringUtils.isNotBlank(query.getEndDate()), "date_format (a.entryTime,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')" apply(StringUtils.isNotBlank(query.getEndDate()), "date_format (a.entryTime,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')"
); );
qw.eq("a.deptSid", deptSid); qw.eq("a.deptSid", deptSid);
qw.gt("a.nodeCode", 5); qw.eq("a.nodeCode", 6);
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery); IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<AsBillListReturnGoodsVo> pagging = baseMapper.listReturnGoods(page, qw); IPage<AsBillListReturnGoodsVo> pagging = baseMapper.listReturnGoods(page, qw);
PagerVo<AsBillListReturnGoodsVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<AsBillListReturnGoodsVo> p = PagerUtil.pageToVo(pagging, null);

3
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java

@ -39,6 +39,7 @@ public class SalesGoodsReturnVo {
private String backPrice; // 退货价 private String backPrice; // 退货价
@ApiModelProperty("退货金额") @ApiModelProperty("退货金额")
private String backAmount; // 退货金额 private String backAmount; // 退货金额
@ApiModelProperty("单据关联sid")
private String goodsLinkSid; // 单据关联sid
} }

59
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<String> staffList = new ArrayList<>(); //维修人员Sid
private List<String> staffNameList = new ArrayList<>(); //维修人员姓名信息
}

16
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; private String unit;
// @ApiModelProperty("仓库sid") // @ApiModelProperty("仓库sid")
// private String warehouseSid; // private String warehouseSid;
@ApiModelProperty("仓库名称") // @ApiModelProperty("仓库名称")
private String warehouseName; // private String warehouseName;
//库位编号 // //库位编号
private String warehouseRackCode; // private String warehouseRackCode;
// //
// @ApiModelProperty("需求数量(维修工单中)") // @ApiModelProperty("需求数量(维修工单中)")
// private String needCount; // private String needCount;
@ -50,8 +50,12 @@ public class SmsGoodsDetailsVo implements Vo {
// private String operName; // private String operName;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remarks; private String remarks;
@ApiModelProperty("厂家") // @ApiModelProperty("厂家")
private String manufacturerName; // private String manufacturerName;
//供应商
private String billObjName;
@ApiModelProperty("已退数量") @ApiModelProperty("已退数量")
private String returnedCount; private String returnedCount;
@ApiModelProperty("单据关联sid")
private String goodsLinkSid; // 单据关联sid
} }

17
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") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结时间") @ApiModelProperty("办结时间")
private Date closeDate; // 办结时间 private Date closeDate; // 办结时间
@ApiModelProperty("应付金额") @ApiModelProperty("退款金额")
private BigDecimal payableAmount; // 应付金额 private BigDecimal payableAmount; // 应付金额
@ApiModelProperty("合计金额") @ApiModelProperty("0维修工单 1销售单")
private BigDecimal totalAmount; // 合计金额 private Integer billType; //0维修工单 1销售单
private Integer type; //0维修工单 1销售单 @ApiModelProperty("退工时费金额")
private BigDecimal payableHoursAmount; // 退工时费金额
@ApiModelProperty("退材料费金额")
private BigDecimal payableGoodsAmount; // 退材料费金额
@ApiModelProperty("开户行")
private String accountBank; // 开户行
@ApiModelProperty("收款账户名称")
private String account; // 收款账户名称
@ApiModelProperty("收款账号")
private String accountNumber; // 收款账号
} }

27
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -46,23 +47,37 @@ public class SmsSalesReturnNewDetailsVo implements Vo {
private String customerName; private String customerName;
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
private String mobile; private String mobile;
@ApiModelProperty("客户单位")
private String customerOrg;
//-----车辆信息------ //-----车辆信息------
@ApiModelProperty("车牌号") @ApiModelProperty("车牌号")
private String vehMark; private String vehMark;
@ApiModelProperty("车架号") @ApiModelProperty("车架号")
private String vinNo; private String vinNo;
@ApiModelProperty("应付金额")
private String payableAmount; // 应付金额
@ApiModelProperty("合计金额") @ApiModelProperty("合计金额")
private String totalAmount; // 合计金额 private String totalAmount; // 合计金额
private String hourAmount; // 工时费
private List<SmsSitemVo> sitemVos = new ArrayList<>();// 服务项目 private String goodsAmount; // 材料费
private String addAmount; // 附加费
private List<SmsSitemVo> sitemVos = new ArrayList<>();// 维修项目
private List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息 private List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
private List<SalesGoodsReturnVo> returnGoods = new ArrayList<>(); //退货商品列表 private List<SalesGoodsReturnVo> returnGoods = new ArrayList<>(); //退货商品列表
private List<SalesItemsReturnVo> returnSitemVos = new ArrayList<>(); //退货维修项目列表
@ApiModelProperty("任务id") @ApiModelProperty("任务id")
private String taskId; private String taskId;
@ApiModelProperty("实例id") @ApiModelProperty("实例id")
private String instanceId; 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; // 收款账号
} }

417
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java

@ -318,92 +318,92 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
public SmsSalesInsertVo returnBillInit(String sid) { public SmsSalesInsertVo returnBillInit(String sid) {
SmsSalesInsertVo vo = new SmsSalesInsertVo(); SmsSalesInsertVo vo = new SmsSalesInsertVo();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SmsSalesBill smsSalesBill = smsSalesBillService.fetchBySid(sid); // SmsSalesBill smsSalesBill = smsSalesBillService.fetchBySid(sid);
if (null != smsSalesBill) { // if (null != smsSalesBill) {
vo.setBillSid(sid); // vo.setBillSid(sid);
vo.setSourceBillNo(smsSalesBill.getBillNo()); // vo.setSourceBillNo(smsSalesBill.getBillNo());
//客户名称 // //客户名称
if (StringUtils.isNotBlank(smsSalesBill.getCustomerName())) { // if (StringUtils.isNotBlank(smsSalesBill.getCustomerName())) {
vo.setCustomerName(smsSalesBill.getCustomerName()); // vo.setCustomerName(smsSalesBill.getCustomerName());
} // }
//车牌号 // //车牌号
if (StringUtils.isNotBlank(smsSalesBill.getVehMark())) { // if (StringUtils.isNotBlank(smsSalesBill.getVehMark())) {
vo.setVehMark(smsSalesBill.getVehMark()); // vo.setVehMark(smsSalesBill.getVehMark());
} // }
//客户单位 // //客户单位
if (StringUtils.isNotBlank(smsSalesBill.getCustomerOrg())) { // if (StringUtils.isNotBlank(smsSalesBill.getCustomerOrg())) {
vo.setCustomerOrg(smsSalesBill.getCustomerOrg()); // vo.setCustomerOrg(smsSalesBill.getCustomerOrg());
} // }
//科目 // //科目
if (StringUtils.isNotBlank(smsSalesBill.getSubject())) { // if (StringUtils.isNotBlank(smsSalesBill.getSubject())) {
vo.setSubject(smsSalesBill.getSubject()); // vo.setSubject(smsSalesBill.getSubject());
} // }
//原单商品列表 // //原单商品列表
List<SalesGoodsReturnVo> billGoods = new ArrayList<>(); // List<SalesGoodsReturnVo> billGoods = new ArrayList<>();
//材料费 // //材料费
BigDecimal materialCosts = new BigDecimal(0); // BigDecimal materialCosts = new BigDecimal(0);
//合计优惠 // //合计优惠
BigDecimal discount = new BigDecimal(0); // BigDecimal discount = new BigDecimal(0);
List<SmsSalesBillDetail> billDetailList = smsSalesBillDetailService.fetchByMainSid(sid); // List<SmsSalesBillDetail> billDetailList = smsSalesBillDetailService.fetchByMainSid(sid);
if (!billDetailList.isEmpty()) { // if (!billDetailList.isEmpty()) {
for (SmsSalesBillDetail salesBillDetail : billDetailList) { // for (SmsSalesBillDetail salesBillDetail : billDetailList) {
if (null != salesBillDetail.getPrice()) { // if (null != salesBillDetail.getPrice()) {
materialCosts = salesBillDetail.getPrice().add(materialCosts); // 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);
// } // }
billGoods.add(salesGoodsVo); // if (null != salesBillDetail.getDiscountAmount()) {
} // discount = salesBillDetail.getDiscountAmount().add(discount);
vo.setBillGoods(billGoods); // }
} // SalesGoodsReturnVo salesGoodsVo = new SalesGoodsReturnVo();
vo.setMaterialCosts(materialCosts.toString()); // BeanUtil.copyProperties(salesBillDetail, salesGoodsVo);
vo.setDiscount(discount.toString()); // //查询对应销售单已退商品数量
//税额 //// String count = baseMapper.selRetunGoodsNum(sid, salesBillDetail.getInventorySid());
BigDecimal maxAmount = new BigDecimal(0); //// if (StringUtils.isNotBlank(count)) {
SmsSalesBillInvoice invoice = smsSalesBillInvoiceService.fetchByMainSid(sid); //// salesGoodsVo.setReturnedCount(count);
if (null != invoice) { //// }
if (null != invoice.getTaxRate()) { // billGoods.add(salesGoodsVo);
maxAmount = materialCosts.multiply(invoice.getTaxRate()).multiply(new BigDecimal(0.01)).setScale(2, BigDecimal.ROUND_UP); // }
vo.setMaxAmount(maxAmount.toString()); // vo.setBillGoods(billGoods);
} // }
} // vo.setMaterialCosts(materialCosts.toString());
// 合计金额 // vo.setDiscount(discount.toString());
BigDecimal amountAll = new BigDecimal(0); // //税额
amountAll = maxAmount.add(materialCosts); // BigDecimal maxAmount = new BigDecimal(0);
vo.setAmountAll(amountAll.toString()); // SmsSalesBillInvoice invoice = smsSalesBillInvoiceService.fetchByMainSid(sid);
//已收金额 // if (null != invoice) {
BigDecimal receivedAmount = new BigDecimal(0); // if (null != invoice.getTaxRate()) {
//欠款 // maxAmount = materialCosts.multiply(invoice.getTaxRate()).multiply(new BigDecimal(0.01)).setScale(2, BigDecimal.ROUND_UP);
BigDecimal debts = new BigDecimal(0); // vo.setMaxAmount(maxAmount.toString());
// 应收金额 // }
BigDecimal receivableAmount = new BigDecimal(0); // }
//结算时间 // // 合计金额
SmsSalesBillSettle settle = smsSalesBillSettleService.fetchByMainSid(sid); // BigDecimal amountAll = new BigDecimal(0);
if (null != settle) { // amountAll = maxAmount.add(materialCosts);
vo.setSettleTime(sdf.format(settle.getSettleTime())); // vo.setAmountAll(amountAll.toString());
if (null != settle.getSettleAmount()) { // //已收金额
receivedAmount = settle.getSettleAmount(); // BigDecimal receivedAmount = new BigDecimal(0);
} // //欠款
if (null != settle.getDebts()) { // BigDecimal debts = new BigDecimal(0);
debts = settle.getDebts(); // // 应收金额
} // BigDecimal receivableAmount = new BigDecimal(0);
if (null != settle.getReceivableAmount()) { // //结算时间
receivableAmount = settle.getReceivableAmount(); // SmsSalesBillSettle settle = smsSalesBillSettleService.fetchByMainSid(sid);
} // if (null != settle) {
} // vo.setSettleTime(sdf.format(settle.getSettleTime()));
vo.setReceivedAmount(receivedAmount.toString()); // if (null != settle.getSettleAmount()) {
vo.setDebts(debts.toString()); // receivedAmount = settle.getSettleAmount();
vo.setReceivableAmount(receivableAmount.toString()); // }
} // 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; return vo;
} }
@ -458,115 +458,136 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
public SmsSalesReturnNewDetailsVo returnGoodsBillInit(String sid, String type) { public SmsSalesReturnNewDetailsVo returnGoodsBillInit(String sid, String type) {
SmsSalesReturnNewDetailsVo vo = new SmsSalesReturnNewDetailsVo(); SmsSalesReturnNewDetailsVo vo = new SmsSalesReturnNewDetailsVo();
vo.setType(type); List<SmsSitemVo> sitemVos = new ArrayList<>();// 维修项目
vo.setSourceBillSid(sid); vo.setRemarks("222");
if (type.equals("0")) { SmsSitemVo v = new SmsSitemVo();
//维修工单 v.setRemarks("saasg");
AsBusrepairBillDetailsVo data = asBusrepairBillFeign.fetchDetailsBySid(sid).getData(); sitemVos.add(v);
if (null != data) { List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
vo.setSourceBillNo(data.getBillNo()); SmsGoodsDetailsVo v2 = new SmsGoodsDetailsVo();
vo.setBillType(data.getBillType()); v2.setRemarks("saasg");
vo.setBillDate(data.getCreateDate()); goodsDetailsVos.add(v2);
if (StringUtils.isNotBlank(data.getSubject())) { List<SalesGoodsReturnVo> returnGoods = new ArrayList<>(); //退货商品列表
vo.setSubject(data.getSubject()); SalesGoodsReturnVo v3 = new SalesGoodsReturnVo();
} v3.setGoodsID("saasg");
if (StringUtils.isNotBlank(data.getWaitorName())) { returnGoods.add(v3);
vo.setWaitorName(data.getWaitorName()); List<SalesItemsReturnVo> returnSitemVos = new ArrayList<>(); //退货维修项目列表
} SalesItemsReturnVo v4 = new SalesItemsReturnVo();
if (StringUtils.isNotBlank(data.getCustomerName())) { v.setRemarks("saasg");
vo.setCustomerName(data.getCustomerName()); returnSitemVos.add(v4);
} vo.setReturnGoods(returnGoods);
if (StringUtils.isNotBlank(data.getMobile())) { vo.setReturnSitemVos(returnSitemVos);
vo.setMobile(data.getMobile()); vo.setGoodsDetailsVos(goodsDetailsVos);
} vo.setSitemVos(sitemVos);
if (StringUtils.isNotBlank(data.getCustomerOrg())) { // vo.setType(type);
vo.setCustomerOrg(data.getCustomerOrg()); // vo.setSourceBillSid(sid);
} // if (type.equals("0")) {
if (StringUtils.isNotBlank(data.getVehMark())) { // //维修工单
vo.setVehMark(data.getVehMark()); // AsBusrepairBillDetailsVo data = asBusrepairBillFeign.fetchDetailsBySid(sid).getData();
} // if (null != data) {
if (StringUtils.isNotBlank(data.getVinNo())) { // vo.setSourceBillNo(data.getBillNo());
vo.setVinNo(data.getVinNo()); // vo.setBillType(data.getBillType());
} // vo.setBillDate(data.getCreateDate());
SettleVo settleVo = data.getSettleVo(); // if (StringUtils.isNotBlank(data.getSubject())) {
if (null != settleVo) { // vo.setSubject(data.getSubject());
vo.setSettleDate(settleVo.getSettleTime()); // }
} // if (StringUtils.isNotBlank(data.getWaitorName())) {
List<SitemVo> sitemVos = data.getSitemVos(); // vo.setWaitorName(data.getWaitorName());
List<SmsSitemVo> smsSitemVos = new ArrayList<>(); // }
if (!sitemVos.isEmpty()) { // if (StringUtils.isNotBlank(data.getCustomerName())) {
for (SitemVo smsSitemVo : sitemVos) { // vo.setCustomerName(data.getCustomerName());
SmsSitemVo sitemVo = new SmsSitemVo(); // }
BeanUtil.copyProperties(smsSitemVo, sitemVo); // if (StringUtils.isNotBlank(data.getMobile())) {
smsSitemVos.add(sitemVo); // vo.setMobile(data.getMobile());
} // }
vo.setSitemVos(smsSitemVos); // if (StringUtils.isNotBlank(data.getCustomerOrg())) {
} // vo.setCustomerOrg(data.getCustomerOrg());
List<GoodsDetailsVo> goodsDetailsVos = data.getGoodsDetailsVos(); // }
List<SmsGoodsDetailsVo> smsGoodsDetailsVos = new ArrayList<>(); // if (StringUtils.isNotBlank(data.getVehMark())) {
if (!goodsDetailsVos.isEmpty()) { // vo.setVehMark(data.getVehMark());
for (GoodsDetailsVo goodsDetailsVo : goodsDetailsVos) { // }
SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo(); // if (StringUtils.isNotBlank(data.getVinNo())) {
BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo); // vo.setVinNo(data.getVinNo());
//查询已退数量 // }
String goodsID = goodsDetailsVo.getGoodsID(); // SettleVo settleVo = data.getSettleVo();
String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid); // if (null != settleVo) {
smsGoodsDetailsVo.setReturnedCount(sumBackCount); // vo.setSettleDate(settleVo.getSettleTime());
smsGoodsDetailsVos.add(smsGoodsDetailsVo); // }
} // List<SitemVo> sitemVos = data.getSitemVos();
vo.setGoodsDetailsVos(smsGoodsDetailsVos); // List<SmsSitemVo> smsSitemVos = new ArrayList<>();
} // if (!sitemVos.isEmpty()) {
} // for (SitemVo smsSitemVo : sitemVos) {
} else if (type.equals("1")) { // SmsSitemVo sitemVo = new SmsSitemVo();
//销售单 // BeanUtil.copyProperties(smsSitemVo, sitemVo);
SmsSalesBillDetailsVo data = smsSalesBillService.fetchDetailsVoBySid(sid); // smsSitemVos.add(sitemVo);
if (null != data) { // }
vo.setSourceBillNo(data.getBillNo()); // vo.setSitemVos(smsSitemVos);
vo.setBillType("销售单"); // }
vo.setBillDate(data.getCreateTime()); // List<GoodsDetailsVo> goodsDetailsVos = data.getGoodsDetailsVos();
if (StringUtils.isNotBlank(data.getSubject())) { // List<SmsGoodsDetailsVo> smsGoodsDetailsVos = new ArrayList<>();
vo.setSubject(data.getSubject()); // if (!goodsDetailsVos.isEmpty()) {
} // for (GoodsDetailsVo goodsDetailsVo : goodsDetailsVos) {
if (StringUtils.isNotBlank(data.getSalesName())) { // SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo();
vo.setWaitorName(data.getSalesName()); // BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo);
} // //查询已退数量
if (StringUtils.isNotBlank(data.getCustomerName())) { // String goodsID = goodsDetailsVo.getGoodsID();
vo.setCustomerName(data.getCustomerName()); // String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid);
} // smsGoodsDetailsVo.setReturnedCount(sumBackCount);
if (StringUtils.isNotBlank(data.getMobile())) { // smsGoodsDetailsVos.add(smsGoodsDetailsVo);
vo.setMobile(data.getMobile()); // }
} // vo.setGoodsDetailsVos(smsGoodsDetailsVos);
if (StringUtils.isNotBlank(data.getCustomerOrg())) { // }
vo.setCustomerOrg(data.getCustomerOrg()); // }
} // } else if (type.equals("1")) {
if (StringUtils.isNotBlank(data.getVehMark())) { // //销售单
vo.setVehMark(data.getVehMark()); // SmsSalesBillDetailsVo data = smsSalesBillService.fetchDetailsVoBySid(sid);
} // if (null != data) {
if (StringUtils.isNotBlank(data.getVinNo())) { // vo.setSourceBillNo(data.getBillNo());
vo.setVinNo(data.getVinNo()); // vo.setBillType("销售单");
} // vo.setBillDate(data.getCreateTime());
SettlementVo settleVo = data.getSettlementVo(); // if (StringUtils.isNotBlank(data.getSubject())) {
if (null != settleVo) { // vo.setSubject(data.getSubject());
vo.setSettleDate(settleVo.getSettleTime()); // }
} // if (StringUtils.isNotBlank(data.getSalesName())) {
List<SalesGoodsVo> goodsDetailsVos = data.getGoodsVos(); // vo.setWaitorName(data.getSalesName());
List<SmsGoodsDetailsVo> smsGoodsDetailsVos = new ArrayList<>(); // }
if (!goodsDetailsVos.isEmpty()) { // if (StringUtils.isNotBlank(data.getCustomerName())) {
for (SalesGoodsVo goodsDetailsVo : goodsDetailsVos) { // vo.setCustomerName(data.getCustomerName());
SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo(); // }
BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo); // if (StringUtils.isNotBlank(data.getMobile())) {
//查询已退数量 // vo.setMobile(data.getMobile());
String goodsID = goodsDetailsVo.getGoodsID(); // }
String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid); // if (StringUtils.isNotBlank(data.getCustomerOrg())) {
smsGoodsDetailsVo.setReturnedCount(sumBackCount); // vo.setCustomerOrg(data.getCustomerOrg());
smsGoodsDetailsVos.add(smsGoodsDetailsVo); // }
smsGoodsDetailsVos.add(smsGoodsDetailsVo); // if (StringUtils.isNotBlank(data.getVehMark())) {
} // vo.setVehMark(data.getVehMark());
vo.setGoodsDetailsVos(smsGoodsDetailsVos); // }
} // if (StringUtils.isNotBlank(data.getVinNo())) {
} // vo.setVinNo(data.getVinNo());
// }
} // SettlementVo settleVo = data.getSettlementVo();
// if (null != settleVo) {
// vo.setSettleDate(settleVo.getSettleTime());
// }
// List<SalesGoodsVo> goodsDetailsVos = data.getGoodsVos();
// List<SmsGoodsDetailsVo> 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; return vo;
} }
@ -636,7 +657,7 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
SmsSalesReturn smsSalesReturn = fetchBySid(sid); SmsSalesReturn smsSalesReturn = fetchBySid(sid);
if (null != smsSalesReturn) { if (null != smsSalesReturn) {
BeanUtil.copyProperties(smsSalesReturn, vo); BeanUtil.copyProperties(smsSalesReturn, vo);
Integer type = smsSalesReturn.getType(); Integer type = smsSalesReturn.getBillType();
vo.setCreateTime(DateUtil.formatDate(smsSalesReturn.getCreateTime())); vo.setCreateTime(DateUtil.formatDate(smsSalesReturn.getCreateTime()));
if (StringUtils.isNotBlank(smsSalesReturn.getProcInstId())) { if (StringUtils.isNotBlank(smsSalesReturn.getProcInstId())) {
vo.setInstanceId(smsSalesReturn.getProcInstId()); vo.setInstanceId(smsSalesReturn.getProcInstId());
@ -660,9 +681,6 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
if (StringUtils.isNotBlank(data.getMobile())) { if (StringUtils.isNotBlank(data.getMobile())) {
vo.setMobile(data.getMobile()); vo.setMobile(data.getMobile());
} }
if (StringUtils.isNotBlank(data.getCustomerOrg())) {
vo.setCustomerOrg(data.getCustomerOrg());
}
if (StringUtils.isNotBlank(data.getVehMark())) { if (StringUtils.isNotBlank(data.getVehMark())) {
vo.setVehMark(data.getVehMark()); vo.setVehMark(data.getVehMark());
} }
@ -717,9 +735,6 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
if (StringUtils.isNotBlank(data.getMobile())) { if (StringUtils.isNotBlank(data.getMobile())) {
vo.setMobile(data.getMobile()); vo.setMobile(data.getMobile());
} }
if (StringUtils.isNotBlank(data.getCustomerOrg())) {
vo.setCustomerOrg(data.getCustomerOrg());
}
if (StringUtils.isNotBlank(data.getVehMark())) { if (StringUtils.isNotBlank(data.getVehMark())) {
vo.setVehMark(data.getVehMark()); vo.setVehMark(data.getVehMark());
} }

2
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSitemVo.java

@ -53,5 +53,7 @@ public class SmsSitemVo {
// private String groupName; // private String groupName;
private List<String> staffList = new ArrayList<>(); //维修人员Sid private List<String> staffList = new ArrayList<>(); //维修人员Sid
private List<String> staffNameList = new ArrayList<>(); //维修人员姓名信息 private List<String> staffNameList = new ArrayList<>(); //维修人员姓名信息
@ApiModelProperty("关联维修项目sid")
private String itemLinkSid;
} }

3
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; // 退货金额 private BigDecimal backAmount; // 退货金额
@ApiModelProperty("退货价") @ApiModelProperty("退货价")
private BigDecimal backPrice; // 退货价 private BigDecimal backPrice; // 退货价
@ApiModelProperty("单据关联sid")
private String goodsLinkSid; // 单据关联sid
} }

86
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) <br/>
* File: SmsSalesReturnDetail.java <br/>
* Class: com.yxt.sms.api.smssalesreturndetail.SmsSalesReturnDetail <br/>
* Description: 销售退货单据明细. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:24:45 <br/>
*
* @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;
}

64
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) <br/>
* File: SmsSalesReturnDetailMapper.java <br/>
* Class: com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailMapper <br/>
* Description: 销售退货单据明细. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:24:45 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface SmsSalesReturnItemMapper extends BaseMapper<SmsSalesReturnItem> {
//@Update("update sms_sales_return_detail set name=#{msg} where id=#{id}")
//IPage<SmsSalesReturnDetailVo> voPage(IPage<SmsSalesReturnDetail> page, @Param(Constants.WRAPPER) QueryWrapper<SmsSalesReturnDetail> qw);
@Select("select * from sms_sales_return_item where billSid = #{billSid}")
List<SmsSalesReturnItem> fetchByBillSid(@Param("billSid") String billSid);
@Delete("delete from sms_sales_return_item where billSid = #{billSid}")
void deleteByMainSid(String billSid);
}

6
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItemMapper.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.sms.biz.smssalesreturnitem.SmsSalesReturnItemMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

107
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) <br/>
* File: SmsSalesReturnDetailService.java <br/>
* Class: com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailService <br/>
* Description: 销售退货单据明细 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:24:45 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class SmsSalesReturnItemService extends MybatisBaseService<SmsSalesReturnItemMapper, SmsSalesReturnItem> {
private QueryWrapper<SmsSalesReturnItem> createQueryWrapper(SmsSalesReturnDetailQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<SmsSalesReturnItem> qw = new QueryWrapper<>();
return qw;
}
public void deleteByMainSid(String billSid) {
baseMapper.deleteByMainSid(billSid);
}
public List<SmsSalesReturnItem> 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;
}
}
Loading…
Cancel
Save