Browse Source

售后报表

master
fanzongzhe 7 months ago
parent
commit
d67bc6ccf1
  1. 1
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillaitemspec/AsBusrepairBillAitemspec.java
  2. 81
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  3. 21
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java
  4. 8
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsInventory/WmsInventory.java
  5. 16
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java
  6. 91
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventory.java

1
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillaitemspec/AsBusrepairBillAitemspec.java

@ -35,4 +35,5 @@ public class AsBusrepairBillAitemspec extends BaseEntity {
private BigDecimal cost;
@ApiModelProperty("成本合计(成本价*数量)")
private BigDecimal costTotal;
private int count;
}

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

@ -11,6 +11,7 @@ import com.yxt.anrui.as.api.asbillsettelapply.AsBillSettelApplyDto;
import com.yxt.anrui.as.api.asbusrepairbill.*;
import com.yxt.anrui.as.api.asbusrepairbill.app.*;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import com.yxt.anrui.as.api.asbusrepairbillaitemspec.AsBusrepairBillAitemspec;
import com.yxt.anrui.as.api.asbusrepairbillinsurance.AsBusrepairBillInsurance;
import com.yxt.anrui.as.api.asbusrepairbillinsurancerecord.AsBusrepairBillInsuranceRecord;
import com.yxt.anrui.as.api.asbusrepairbillinvoice.AsBusrepairBillInvoice;
@ -33,6 +34,7 @@ import com.yxt.anrui.as.biz.asarrearsoutapply.AsArrearsoutApplyService;
import com.yxt.anrui.as.biz.asbillsettelapply.AsBillSettelApplyService;
import com.yxt.anrui.as.biz.asbusclaimbill.AsBusclaimBillService;
import com.yxt.anrui.as.biz.asbusrepairbillaitem.AsBusrepairBillAitemService;
import com.yxt.anrui.as.biz.asbusrepairbillaitemspec.AsBusrepairBillAitemspecService;
import com.yxt.anrui.as.biz.asbusrepairbillinsurance.AsBusrepairBillInsuranceRest;
import com.yxt.anrui.as.biz.asbusrepairbillinsurance.AsBusrepairBillInsuranceService;
import com.yxt.anrui.as.biz.asbusrepairbillinsurancerecord.AsBusrepairBillInsuranceRecordRest;
@ -155,7 +157,8 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
private FinSelectedReceivablesDetailedFeign finSelectedReceivablesDetailedFeign;
@Autowired
private AsBillSettelApplyService asBillSettelApplyService;
@Autowired
private AsBusrepairBillAitemspecService asBusrepairBillAitemspecService;
/**
* 维修领料获取派工单
*
@ -248,6 +251,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
asBusrepairBillSitemRepairerService.delByBillSid(sid);
asBusrepairBillAitemService.delByBillSid(sid);
asBusrepairBillInsuranceRecordService.delByBillSid(sid);
asBusrepairBillAitemspecService.delByBillSid(sid);
asAppendixService.delByLinkSid(sid);
} else {
AsBusrepairBill asBusrepairBill = new AsBusrepairBill();
@ -280,6 +284,63 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
asBusrepairBillNodeService.insert(billNode);
}
if (StringUtils.isNotBlank(sid)) {
//施救费
if (StringUtils.isNotBlank(dto.getRescueAmount())) {
AsBusrepairBillAitemspec spec = new AsBusrepairBillAitemspec();
spec.setBillSid(sid);
spec.setAttachItem("施救费");
spec.setPrice(new BigDecimal(dto.getRescueAmount()));
if (StringUtils.isNotBlank(dto.getRescueRemarks())) {
spec.setRemarks(dto.getRescueRemarks());
}
if (StringUtils.isNotBlank(dto.getRescueKPAmount())) {
spec.setTaxPrice(new BigDecimal(dto.getRescueKPAmount()));
}
spec.setCount(1);
spec.setCost(new BigDecimal(dto.getRescueAmount()));
spec.setCostTotal(new BigDecimal(dto.getRescueAmount()));
spec.setBillBusTypeKey("003");
spec.setBillBusTypeValue("附加项目");
asBusrepairBillAitemspecService.insert(spec);
}
//厂家补助
if (StringUtils.isNotBlank(dto.getSubsidyAmount())) {
AsBusrepairBillAitemspec spec = new AsBusrepairBillAitemspec();
spec.setBillSid(sid);
spec.setAttachItem("厂家补助");
spec.setPrice(new BigDecimal(dto.getSubsidyAmount()));
if (StringUtils.isNotBlank(dto.getSubsidyRemarks())) {
spec.setRemarks(dto.getRescueRemarks());
}
if (StringUtils.isNotBlank(dto.getSubsidyKPAmount())) {
spec.setTaxPrice(new BigDecimal(dto.getSubsidyKPAmount()));
}
spec.setCount(1);
spec.setCost(new BigDecimal(dto.getSubsidyAmount()));
spec.setCostTotal(new BigDecimal(dto.getSubsidyAmount()));
spec.setBillBusTypeKey("003");
spec.setBillBusTypeValue("附加项目");
asBusrepairBillAitemspecService.insert(spec);
}
//外出费
if (StringUtils.isNotBlank(dto.getOutAmount())) {
AsBusrepairBillAitemspec spec = new AsBusrepairBillAitemspec();
spec.setBillSid(sid);
spec.setAttachItem("外出费");
spec.setPrice(new BigDecimal(dto.getOutAmount()));
if (StringUtils.isNotBlank(dto.getRescueRemarks())) {
spec.setRemarks(dto.getRescueRemarks());
}
if (StringUtils.isNotBlank(dto.getOutKPAmount())) {
spec.setTaxPrice(new BigDecimal(dto.getOutKPAmount()));
}
spec.setCount(1);
spec.setCost(new BigDecimal(dto.getOutAmount()));
spec.setCostTotal(new BigDecimal(dto.getOutAmount()));
spec.setBillBusTypeKey("003");
spec.setBillBusTypeValue("附加项目");
asBusrepairBillAitemspecService.insert(spec);
}
//新增车辆信息
AsBusrepairBillVech vech = new AsBusrepairBillVech();
vech.setBillSid(sid);
@ -343,6 +404,15 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
AsBusrepairBillSitem sitem = new AsBusrepairBillSitem();
BeanUtil.copyProperties(sitemVo, sitem, "id", "sid");
sitem.setBillSid(sid);
AsServiceItem item = asServiceItemService.fetchBySid(sitemVo.getServiceItemSid());
if (null != item) {
if (null != item.getCost()) {
sitem.setCost(item.getCost());
sitem.setCostTotal(item.getCost());
}
}
sitem.setBillBusTypeKey("002");
sitem.setBillBusTypeValue("维修项目");
asBusrepairBillSitemService.insert(sitem);
List<String> staffList = sitemVo.getStaffList();
List<String> staffNameList = sitemVo.getStaffNameList();
@ -381,6 +451,15 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
aitem.setRemarks(aitemVo.getRemarks());
}
aitem.setBillSid(sid);
AsBusrepairBillAitem item = asBusrepairBillAitemService.fetchBySid(aitemVo.getAitemSid());
if (null != item) {
if (null != item.getCost()) {
aitem.setCost(item.getCost());
aitem.setCostTotal(item.getCost());
}
}
aitem.setBillBusTypeKey("003");
aitem.setBillBusTypeValue("附加项目");
asBusrepairBillAitemService.insert(aitem);
}
}

21
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java

@ -321,6 +321,25 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
} else {
detail.setIsTaxRate(0);
}
if (StringUtils.isNotBlank(inventory.getManufacturerName())) {
detail.setManufacturerName(inventory.getManufacturerName());
}
if (StringUtils.isNotBlank(inventory.getManufacturerSid())) {
detail.setManufacturerSid(inventory.getManufacturerSid());
}
if (StringUtils.isNotBlank(inventory.getSupplierName())) {
detail.setSupplierName(inventory.getSupplierName());
}
if (StringUtils.isNotBlank(inventory.getSupplierSid())) {
detail.setSupplierSid(inventory.getSupplierSid());
}
if (null != inventory.getCost()) {
BigDecimal cost = inventory.getCost();
detail.setCost(cost);
BigDecimal c = new BigDecimal(sDto.getCount());
BigDecimal multiply = c.multiply(cost);
detail.setCostTotal(multiply);
}
}
if (StringUtils.isNotBlank(dto.getWarehouseManager())) {
detail.setOperName(dto.getWarehouseManager());
@ -332,6 +351,8 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
detail.setGoodsDetailsPrice(new BigDecimal(sDto.getPrice()));
}
detail.setIsEnable(isEnable);
detail.setBillBusTypeKey("维修用料");
detail.setBillBusTypeValue("001");
asBusrepairInventorybillDetailService.insert(detail);
WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery();
countQuery.setSid(sDto.getInventorySid());

8
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsInventory/WmsInventory.java

@ -62,4 +62,12 @@ public class WmsInventory extends BaseEntity {
private String useOrgSid;
@ApiModelProperty("厂家订单号")
private String manufactorBillNo;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String supplierSid;
@ApiModelProperty("客户/供应商名称")
private String supplierName;
}

16
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java

@ -247,6 +247,22 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
if (StringUtils.isNotBlank(goodsVo.getBillObjSid())) {
salesBillDetail.setSupplierSid(goodsVo.getBillObjSid());
}
WmsInventory inventory = wmsInventoryFeign.fetchEntityBySid(goodsVo.getInventorySid()).getData();
if (null != inventory) {
if (StringUtils.isNotBlank(inventory.getManufacturerName())) {
salesBillDetail.setManufacturerName(inventory.getManufacturerName());
}
if (StringUtils.isNotBlank(inventory.getManufacturerSid())) {
salesBillDetail.setManufacturerSid(inventory.getManufacturerSid());
}
if (null != inventory.getCost()) {
BigDecimal cost = inventory.getCost();
salesBillDetail.setCost(cost);
BigDecimal c = new BigDecimal(goodsVo.getCount());
BigDecimal multiply = c.multiply(cost);
salesBillDetail.setCostTotal(multiply);
}
}
salesBillDetail.setBillBusTypeKey("004");
salesBillDetail.setBillBusTypeValue("配件销售");
smsSalesBillDetailService.insert(salesBillDetail);

91
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventory.java

@ -1,6 +1,7 @@
package com.yxt.sms.feign.wms.wmsinventory;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ -12,43 +13,59 @@ import java.util.Date;
*/
@Data
public class WmsInventory extends BaseEntity {
// private String id;
// private String sid= UUID.randomUUID().toString();
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private Date createTime;
// private String remarks;
// private String isEnable;
private String goodsID;//商品ID(唯一编码,入库时生成)
private String goodsSpuSid;//商品基础信息sid
private String goodsSpuName;//商品名称
private String goodsSkuSid;//商品Skusid
private String goodsSkuTitle;//商品Sku名称
private String goodsSkuCode;//商品编码(图号)
private String goodsSkuOwnSpec;//规格型号
private String billSid;//入库单sid
private String billDetailSid;//入库单明细sid
private BigDecimal price1;//销售价格1
private BigDecimal price2;//销售价格2
private BigDecimal price3;//销售价格3
private BigDecimal price4;//销售价格4
private BigDecimal price5;//销售价格5
private String unit;//计量单位
private BigDecimal count;//库存数量
private BigDecimal minimumPrice;//销售底价
private BigDecimal freePrice;//三包价格
private BigDecimal firstMaintainPrice;//首保价格
private String warehouseSid;//仓库sid
private String warehouseName;//仓库名称
private String warehouseAreaSid;//库区sid
private String warehouseArea;//库区名称
private String warehouseRackSid;//货架sid
private String warehouseRackName;//货架名称
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
private String goodsID;
@ApiModelProperty("商品基础信息sid")
private String goodsSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("现有量")
private BigDecimal count;
@ApiModelProperty("分配量(锁定数量,出库申请通过,但未实际出库)")
private BigDecimal allocateCount;
@ApiModelProperty("拣货量")
private BigDecimal pickCount;
@ApiModelProperty("冻结量")
private BigDecimal freezeCount;
@ApiModelProperty("入库单价")
private BigDecimal cost;
@ApiModelProperty("税率")
private BigDecimal taxRate;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("库位编码")
private String warehouseRackCode;
private int isShowDiscount;//是否显示折扣标志
private Date firstInDate;//首次入库日期-计算库龄的依据
private String lockCount;//锁定数量,计算字段,出库申请通过,但未实际出库
private int sortNo;//排序
private String useOrgSid;//使用组织sid
private String createOrgSid;//创建组织sid
@ApiModelProperty("首次入库日期-计算库龄的依据")
private Date firstInDate;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("厂家订单号")
private String manufactorBillNo;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String supplierSid;
@ApiModelProperty("客户/供应商名称")
private String supplierName;
}

Loading…
Cancel
Save