Browse Source

完善商品退货2

master
fanzongzhe 9 months ago
parent
commit
f04942fc7c
  1. 19
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java
  2. 5
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java
  3. 4
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml
  4. 5
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsWmsInventorySalesVo.java
  5. 6
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java
  6. 11
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java
  7. 23
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java
  8. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java
  9. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.java
  10. 6
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.xml
  11. 4
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java
  12. 33
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java
  13. 374
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java
  14. 10
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java
  15. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.java
  16. 10
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.xml
  17. 4
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailService.java
  18. 4
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItem.java
  19. 8
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillFeign.java
  20. 42
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillInvoice.java
  21. 92
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairInventorybillDetail.java
  22. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventory.java

19
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java

@ -2,13 +2,17 @@ package com.yxt.anrui.as.biz.asbusrepairbill;
import com.yxt.anrui.as.api.asbusrepairbill.*;
import com.yxt.anrui.as.api.asbusrepairbill.app.*;
import com.yxt.anrui.as.api.asbusrepairbillinvoice.AsBusrepairBillInvoice;
import com.yxt.anrui.as.api.asbusrepairbillsitem.AsBusrepairBillSitem;
import com.yxt.anrui.as.api.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRepairer;
import com.yxt.anrui.as.api.asbusrepairbillvech.AsBusrepairBillVech;
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail;
import com.yxt.anrui.as.biz.asbusrepairbillinvoice.AsBusrepairBillInvoiceService;
import com.yxt.anrui.as.biz.asbusrepairbillsitem.AsBusrepairBillSitemService;
import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRepairerRest;
import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRepairerService;
import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService;
import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -35,6 +39,10 @@ public class AsBusrepairBillRest {
private AsBusrepairBillSitemService asBusrepairBillSitemService;
@Autowired
private AsBusrepairBillSitemRepairerService asBusrepairBillSitemRepairerService;
@Autowired
private AsBusrepairInventorybillDetailService asBusrepairInventorybillDetailService;
@Autowired
private AsBusrepairBillInvoiceService asBusrepairBillInvoiceService;
@PostMapping("/listPage")
@ApiOperation("工单查询列表")
ResultBean<PagerVo<AsBusrepairBillVo>> listPage(@RequestBody PagerQuery<AsBusrepairBillQuery> pagerQuery) {
@ -110,7 +118,11 @@ public class AsBusrepairBillRest {
public ResultBean<AsBusrepairBillDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
return asBusrepairBillService.fetchDetailsBySid(sid);
}
@ApiOperation("获取维修单开票信息")
@GetMapping("/fetchInvoiceBySid")
public AsBusrepairBillInvoice fetchInvoiceBySid(@RequestParam("sid") String sid) {
return asBusrepairBillInvoiceService.fetchByBillSid(sid);
}
@ApiOperation("获取维修单")
@GetMapping("/fetchBySid")
public AsBusrepairBill fetchBySid(@RequestParam("sid") String sid) {
@ -121,6 +133,11 @@ public class AsBusrepairBillRest {
public List<AsBusrepairBillSitem> fetchSitemByBillSid(@RequestParam("sid") String sid) {
return asBusrepairBillSitemService.fetchByBillSid(sid);
}
@ApiOperation("获取维修用料")
@GetMapping("/fetchGoodsByBillSid")
public List<AsBusrepairInventorybillDetail> fetchGoodsByBillSid(@RequestParam("sid") String sid) {
return asBusrepairInventorybillDetailService.getGoodsDetailsByBillSid(sid);
}
@ApiOperation("获取维修项目维修人员")
@GetMapping("/fetchSitemRepairerByBillSid")
public List<AsBusrepairBillSitemRepairer> fetchSitemRepairerByBillSid(@RequestParam("sid") String sid,@RequestParam("itemSid") String itemSid) {

5
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java

@ -17,6 +17,7 @@ public class SalesGoodsVo {
private String sid;
//商品sid
private String goodSpuSid;
private String inventorySid;
private String goodsSkuSid;
//商品名称
private String goodsSpuName;
@ -66,4 +67,8 @@ public class SalesGoodsVo {
private String goodsDetailsPrice;
//是否含税(0含税,1不含税)
private String isTaxRate;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
}

4
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml

@ -119,7 +119,9 @@
wa.areaName,
i.warehouseRackSid,
i.warehouseRackCode,
IF( IFNULL(i.taxRate,0) > 0, '0', '1' ) AS isTaxRate
IF( IFNULL(i.taxRate,0) > 0, '0', '1' ) AS isTaxRate,
i.manufacturerSid,
i.manufacturerName
FROM
sms_goods AS s
LEFT JOIN yxt_wms.wms_inventory as i ON s.goodsID = i.goodsID

5
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsWmsInventorySalesVo.java

@ -77,7 +77,10 @@ public class SmsWmsInventorySalesVo implements Vo {
* 仓库sid
*/
private String warehouseSid;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
}

6
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java

@ -104,7 +104,11 @@ public class SmsSalesBillDetail extends BaseEntity {
private BigDecimal goodsDetailsPrice;
//是否含税(0含税,1不含税)
private Integer isTaxRate;
private String inventorySid;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号

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

@ -41,5 +41,14 @@ public class SalesGoodsReturnVo {
private String backAmount; // 退货金额
@ApiModelProperty("单据关联sid")
private String goodsLinkSid; // 单据关联sid
@ApiModelProperty("销售价")
private String price; // 销售价
//供应商sid
private String billObjSid;
//供应商
private String billObjName;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
}

23
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java

@ -21,19 +21,8 @@ public class SmsGoodsDetailsVo implements Vo {
private String goodsSkuCode;
//规格型号
private String goodsSkuOwnSpec;
// @ApiModelProperty("出库前的库存量")
// private String currentCount;
@ApiModelProperty("计量单位")
private String unit;
// @ApiModelProperty("仓库sid")
// private String warehouseSid;
// @ApiModelProperty("仓库名称")
// private String warehouseName;
// //库位编号
// private String warehouseRackCode;
//
// @ApiModelProperty("需求数量(维修工单中)")
// private String needCount;
@ApiModelProperty("出/退库数量")
private String count;
@ApiModelProperty("销售价(元)")
@ -44,18 +33,18 @@ public class SmsGoodsDetailsVo implements Vo {
private String discountAmount;
//金额(销售价-优惠金额)
private String amount;
// @ApiModelProperty("科目")
// private String subject;
// @ApiModelProperty("领料人姓名")
// private String operName;
@ApiModelProperty("备注")
private String remarks;
// @ApiModelProperty("厂家")
// private String manufacturerName;
//供应商sid
private String billObjSid;
//供应商
private String billObjName;
@ApiModelProperty("已退数量")
private String returnedCount;
@ApiModelProperty("单据关联sid")
private String goodsLinkSid; // 单据关联sid
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
}

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

@ -96,7 +96,7 @@ public class SmsSalesReturn extends BaseEntity {
@ApiModelProperty("退款金额")
private BigDecimal payableAmount; // 应付金额
@ApiModelProperty("0维修工单 1销售单")
private Integer billType; //0维修工单 1销售单
private Integer type; //0维修工单 1销售单
@ApiModelProperty("退工时费金额")
private BigDecimal payableHoursAmount; // 退工时费金额
@ApiModelProperty("退材料费金额")

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

@ -79,4 +79,6 @@ public interface SmsSalesReturnMapper extends BaseMapper<SmsSalesReturn> {
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> map);
int selectSubmitBySid(@Param("sourceBillSid") String sourceBillSid);
}

6
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.xml

@ -122,7 +122,6 @@
date_format(s.createTime, '%Y-%m-%d') as createTime,
date_format(s.closeDate, '%Y-%m-%d') as closeDate,
s.payableAmount,
s.totalAmount,
s.procInstId,
s.procDefId
FROM
@ -138,4 +137,9 @@
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<select id="selectSubmitBySid" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM sms_sales_return
WHERE sourceBillSid =#{sourceBillSid} and nodeState != '待提交' and nodeState != '已办结' and nodeState != '发起申请'
</select>
</mapper>

4
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java

@ -69,9 +69,9 @@ public class SmsSalesReturnNewDetailsVo implements Vo {
@ApiModelProperty("退货金额")
private String payableAmount; // 应付金额
@ApiModelProperty("退工时费金额")
private BigDecimal payableHoursAmount; // 退工时费金额
private String payableHoursAmount; // 退工时费金额
@ApiModelProperty("退材料费金额")
private BigDecimal payableGoodsAmount; // 退材料费金额
private String payableGoodsAmount; // 退材料费金额
@ApiModelProperty("开户行")
private String accountBank; // 开户行
@ApiModelProperty("收款账户名称")

33
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java

@ -4,6 +4,7 @@ import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ -38,24 +39,44 @@ public class SmsSalesReturnNewDto implements Dto {
private String subject;
@ApiModelProperty("服务顾问姓名")
private String waitorName;
@ApiModelProperty("单据日期")
private String billDate;
@ApiModelProperty("结算日期")
private String settleDate;
@ApiModelProperty("客户名称")
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<SmsSitemVo> sitemVos = new ArrayList<>();// 服务项目
private String hourAmount; // 工时费
private String goodsAmount; // 材料费
private String addAmount; // 附加费
private List<SmsSitemVo> sitemVos = new ArrayList<>();// 维修项目
private List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
private List<SalesGoodsReturnVo> returnGoods = new ArrayList<>(); //退货商品列表
private List<SalesItemsReturnVo> returnSitemVos = new ArrayList<>(); //退货维修项目列表
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
private String procInsId;
@ApiModelProperty("退货金额")
private String payableAmount; // 应付金额
@ApiModelProperty("退工时费金额")
private String payableHoursAmount; // 退工时费金额
@ApiModelProperty("退材料费金额")
private String payableGoodsAmount; // 退材料费金额
@ApiModelProperty("开户行")
private String accountBank; // 开户行
@ApiModelProperty("收款账户名称")
private String account; // 收款账户名称
@ApiModelProperty("收款账号")
private String accountNumber; // 收款账号
}

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

@ -31,6 +31,8 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.sms.biz.smsgoods.SmsGoods;
import com.yxt.sms.biz.smsgoods.SmsGoodsService;
import com.yxt.sms.biz.smssalesbill.*;
import com.yxt.sms.biz.smssalesbilldetail.SmsSalesBillDetail;
import com.yxt.sms.biz.smssalesbilldetail.SmsSalesBillDetailService;
@ -80,6 +82,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -134,6 +137,8 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
private FmsReceivesettleFeign fmsReceivesettleFeign;
@Autowired
private SmsSalesReturnItemService smsSalesReturnItemService;
@Autowired
private SmsGoodsService smsGoodsService;
private QueryWrapper<SmsSalesReturn> createQueryWrapper(SmsSalesReturnQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -203,7 +208,7 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
}
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("s.useOrgName", query.getUseOrgName());
qw.like("ss.`name`", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getDeptName())) {
qw.like("s.deptName", query.getDeptName());
@ -215,7 +220,7 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
qw.like("s.billNo", query.getBillNo());
}
String startDate = query.getStartDate();
String endDate = query.getStartDate();
String endDate = query.getEndDate();
qw.apply(StringUtils.isNotEmpty(startDate), "date_format (s.createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(endDate), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"
);
@ -538,21 +543,77 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
}
vo.setSitemVos(sitemVos);
}
// List<GoodsDetailsVo> goodsDetailsVos = data.getGoodsDetailsVos();
// List<SmsGoodsDetailsVo> 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);
// }
BigDecimal taxRate = BigDecimal.ZERO;//税率
boolean wxGoods = false; //维修领料是否为加税点项目
AsBusrepairBillInvoice invoice = asBusrepairBillFeign.fetchInvoiceBySid(sid);
if (null != invoice) {
if (StringUtils.isNotBlank(invoice.getTaxItems())) {
String taxItem = invoice.getTaxItems();
if (taxItem.contains("维修用料")) {
wxGoods = true;
}
if (null != invoice.getTaxRate()) {
taxRate = invoice.getTaxRate();
}
}
}
List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
List<AsBusrepairInventorybillDetail> goodsDetails = asBusrepairBillFeign.fetchGoodsByBillSid(sid);
if (!goodsDetails.isEmpty()) {
DecimalFormat df2 =new DecimalFormat("#.00");
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) {
SmsGoodsDetailsVo goodsDetailsVo = new SmsGoodsDetailsVo();
BeanUtil.copyProperties(goodsDetail, goodsDetailsVo);
String goodsLinkSid = goodsDetail.getSid();
goodsDetailsVo.setGoodsLinkSid(goodsLinkSid);
BigDecimal constPrice = BigDecimal.ZERO; //销售价常量
BigDecimal count = BigDecimal.ZERO; //数量
if (null != goodsDetail.getCurrentCount()) {
count = goodsDetail.getCurrentCount();
}
goodsDetailsVo.setCount(String.valueOf(goodsDetail.getCurrentCount().intValue()));
boolean isTaxRate = false; //进货价是否含税
SmsGoods smsGoods = smsGoodsService.fetchEntityByGoodsID(goodsDetail.getGoodsID());
if (null != smsGoods) {
if (StringUtils.isNotBlank(smsGoods.getSupplierName())) {
goodsDetailsVo.setBillObjName(smsGoods.getSupplierName());
}
}
if (null != goodsDetail.getGoodsDetailsPrice()) {
constPrice = goodsDetail.getGoodsDetailsPrice();
}
if (goodsDetail.getIsTaxRate() != null) {
if (goodsDetail.getIsTaxRate().intValue() == 1) {
goodsDetailsVo.setPrice(constPrice.toString());
} else {
if (wxGoods) {
BigDecimal divide = taxRate.divide(new BigDecimal("100"));
BigDecimal add = divide.add(new BigDecimal("1"));
BigDecimal multiply = constPrice.multiply(add);
goodsDetailsVo.setPrice(df2.format(multiply));
} else {
goodsDetailsVo.setPrice(constPrice.toString());
}
}
} else {
if (wxGoods) {
BigDecimal divide = taxRate.divide(new BigDecimal("100"));
BigDecimal add = divide.add(new BigDecimal("1"));
BigDecimal multiply = constPrice.multiply(add);
goodsDetailsVo.setPrice(df2.format(multiply));
} else {
goodsDetailsVo.setPrice(constPrice.toString());
}
}
String returnCount = smsSalesReturnDetailService.selSouceSidAndGoodLinkSid(sid,goodsLinkSid);
BigDecimal rCount = new BigDecimal(returnCount);
goodsDetailsVo.setReturnedCount(returnCount);
if (rCount.compareTo(count) < 0) {
goodsDetailsVos.add(goodsDetailsVo);
}
}
vo.setGoodsDetailsVos(goodsDetailsVos);
}
}
} else if (type.equals("1")) {
//销售单
@ -561,6 +622,12 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
vo.setSourceBillNo(data.getBillNo());
vo.setBillType("销售单");
vo.setBillDate(data.getCreateTime());
if (null != data.getGoodsAmount()) {
vo.setGoodsAmount(data.getGoodsAmount());
}
if (null != data.getAddAmount()) {
vo.setAddAmount(data.getAddAmount());
}
if (StringUtils.isNotBlank(data.getSubject())) {
vo.setSubject(data.getSubject());
}
@ -590,17 +657,20 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
for (SalesGoodsVo goodsDetailsVo : goodsDetailsVos) {
SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo();
BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo);
smsGoodsDetailsVo.setGoodsLinkSid(goodsDetailsVo.getSid());
String count = goodsDetailsVo.getCount();
BigDecimal totalCount = new BigDecimal(count);
//查询已退数量
String goodsID = goodsDetailsVo.getGoodsID();
String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid);
smsGoodsDetailsVo.setReturnedCount(sumBackCount);
smsGoodsDetailsVos.add(smsGoodsDetailsVo);
String returnCount = smsSalesReturnDetailService.selSouceSidAndGoodLinkSid(sid,goodsDetailsVo.getSid());
BigDecimal rCount = new BigDecimal(returnCount);
smsGoodsDetailsVo.setReturnedCount(returnCount);
if (rCount.compareTo(totalCount) < 0) {
smsGoodsDetailsVos.add(smsGoodsDetailsVo);
}
}
vo.setGoodsDetailsVos(smsGoodsDetailsVos);
}
}
}
return vo;
}
@ -627,6 +697,24 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
public ResultBean<String> saveBill(SmsSalesReturnNewDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
BigDecimal totalAmount = BigDecimal.ZERO; //合计金额
BigDecimal returnSumAmount = BigDecimal.ZERO; //退款总金额
BigDecimal goodsAmount = BigDecimal.ZERO; //退款总金额
if (StringUtils.isNotBlank(dto.getTotalAmount())) {
totalAmount = new BigDecimal(dto.getTotalAmount());
}
if (StringUtils.isNotBlank(dto.getPayableAmount())) {
returnSumAmount = new BigDecimal(dto.getPayableAmount());
}
if (returnSumAmount.compareTo(totalAmount) > 0) {
return rb.setMsg("整单退货金额不能大于销售金额");
}
if (StringUtils.isNotBlank(dto.getGoodsAmount())) {
goodsAmount = new BigDecimal(dto.getGoodsAmount());
}
if (returnSumAmount.compareTo(BigDecimal.ZERO) <= 0) {
return rb.setMsg("退货金额不能为0");
}
List<SalesGoodsReturnVo> goodsVos = dto.getReturnGoods();
if (!goodsVos.isEmpty()) {
for (SalesGoodsReturnVo goodsVo : goodsVos) {
@ -637,18 +725,31 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
if (add.compareTo(currentCount) > 0) {
return rb.setMsg("退货数量不能大于总数量");
}
BigDecimal price = BigDecimal.ZERO; //合计金额
BigDecimal backPrice = BigDecimal.ZERO; //退款总金额
if (StringUtils.isNotBlank(goodsVo.getPrice())) {
price = new BigDecimal(goodsVo.getPrice());
}
if (StringUtils.isNotBlank(goodsVo.getBackPrice())) {
backPrice = new BigDecimal(goodsVo.getBackPrice());
}
if (backPrice.compareTo(price) > 0) {
return rb.setMsg("商品退货单价不能大于销售单价");
}
}
}
if (StringUtils.isNotBlank(dto.getSid())) {
sid = dto.getSid();
SmsSalesReturn smsSalesReturn = fetchBySid(sid);
BeanUtil.copyProperties(dto, smsSalesReturn, "id", "sid");
BeanUtil.copyProperties(dto, smsSalesReturn, "id", "sid","billType");
baseMapper.updateById(smsSalesReturn);
smsSalesReturnDetailService.deleteByMainSid(sid);
smsSalesReturnItemService.deleteByMainSid(sid);
} else {
SmsSalesReturn entity = new SmsSalesReturn();
sid = entity.getSid();
BeanUtil.copyProperties(dto, entity, "id", "sid");
BeanUtil.copyProperties(dto, entity, "id", "sid","billType");
String applyCode = getApplyCode(dto.getCreateOrgSid());
entity.setBillNo(applyCode);
entity.setNodeState("待提交");
@ -663,26 +764,56 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
smsSalesReturnDetailService.insert(detail);
}
}
List<SalesItemsReturnVo> returnSitemVos = dto.getReturnSitemVos();
if (!returnSitemVos.isEmpty()) {
for (SalesItemsReturnVo returnItem : returnSitemVos) {
SmsSalesReturnItem detail = new SmsSalesReturnItem();
BeanUtil.copyProperties(returnItem, detail, "id", "sid");
detail.setBillSid(sid);
List<String> staffList = returnItem.getStaffList();
List<String> staffNameList = returnItem.getStaffNameList();
StringBuffer sbSid = new StringBuffer();
StringBuffer sbName = new StringBuffer();
if (!staffList.isEmpty()) {
for (int i = 0; i < staffList.size(); i++) {
String s = staffList.get(i);
String sName = staffNameList.get(i);
sbSid.append(s).append(",");
sbName.append(sName).append(",");
}
if (sbSid.length() > 0) {
sbSid.delete(sbSid.length() - 1 ,sbSid.length());
detail.setRepairerSid(sbSid.toString());
}
if (sbName.length() > 0) {
sbName.delete(sbName.length() - 1 ,sbName.length());
detail.setRepairerName(sbName.toString());
}
}
smsSalesReturnItemService.insert(detail);
}
}
return rb.success().setData(sid);
}
public SmsSalesReturnNewDetailsVo fetchNewDetailsVoBySid(String sid) {
SmsSalesReturnNewDetailsVo vo = new SmsSalesReturnNewDetailsVo();
SmsSalesReturn smsSalesReturn = fetchBySid(sid);
String sourceBillSid = smsSalesReturn.getSourceBillSid();
if (null != smsSalesReturn) {
BeanUtil.copyProperties(smsSalesReturn, vo);
Integer type = smsSalesReturn.getBillType();
Integer type = smsSalesReturn.getType();
vo.setCreateTime(DateUtil.formatDate(smsSalesReturn.getCreateTime()));
if (StringUtils.isNotBlank(smsSalesReturn.getProcInstId())) {
vo.setInstanceId(smsSalesReturn.getProcInstId());
}
if (type == 0) {
//维修工单
AsBusrepairBillDetailsVo data = asBusrepairBillFeign.fetchDetailsBySid(smsSalesReturn.getSourceBillSid()).getData();
AsBusrepairBill data = asBusrepairBillFeign.fetchBySid(sourceBillSid);
if (null != data) {
vo.setSourceBillNo(data.getBillNo());
vo.setBillType(data.getBillType());
vo.setBillDate(data.getCreateDate());
vo.setBillDate(DateUtil.formatDate(data.getCreateTime()));
if (StringUtils.isNotBlank(data.getSubject())) {
vo.setSubject(data.getSubject());
}
@ -695,48 +826,143 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
if (StringUtils.isNotBlank(data.getMobile())) {
vo.setMobile(data.getMobile());
}
if (StringUtils.isNotBlank(data.getVehMark())) {
vo.setVehMark(data.getVehMark());
if (null != data.getHourAmount()) {
vo.setHourAmount(data.getHourAmount().toString());
}
if (StringUtils.isNotBlank(data.getVinNo())) {
vo.setVinNo(data.getVinNo());
if (null != data.getGoodsAmount()) {
vo.setGoodsAmount(data.getGoodsAmount().toString());
}
SettleVo settleVo = data.getSettleVo();
if (null != settleVo) {
vo.setSettleDate(settleVo.getSettleTime());
if (null != data.getAddAmount()) {
vo.setAddAmount(data.getAddAmount().toString());
}
AsBusrepairBillVech vech = asBusrepairBillFeign.fetchVehInfoByBillSid(sourceBillSid);
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(sourceBillSid).getData();
if (null != receivesettle) {
vo.setSettleDate(DateUtil.formatDate(receivesettle.getSettleTime()));
}
List<SitemVo> sitemVos = data.getSitemVos();
List<SmsSitemVo> smsSitemVos = new ArrayList<>();
if (!sitemVos.isEmpty()) {
for (SitemVo smsSitemVo : sitemVos) {
List<SmsSitemVo> sitemVos = new ArrayList<>();// 维修项目
List<AsBusrepairBillSitem> sitems = asBusrepairBillFeign.fetchSitemByBillSid(sourceBillSid);
if (!sitems.isEmpty()) {
for (AsBusrepairBillSitem sitem : sitems) {
SmsSalesReturnItem returnItem = smsSalesReturnItemService.selBySouceSidAndLinkSid(sourceBillSid,sitem.getSid());
if (null == returnItem) {
SmsSitemVo sitemVo = new SmsSitemVo();
BeanUtil.copyProperties(smsSitemVo, sitemVo);
smsSitemVos.add(sitemVo);
BeanUtil.copyProperties(sitem, sitemVo);
sitemVo.setItemLinkSid(sitem.getSid());
List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillFeign.fetchSitemRepairerByBillSid(sourceBillSid, sitem.getServiceItemSid());
if (!repairers.isEmpty()) {
List<String> staffList = new ArrayList<>(); //维修人员信息
List<String> staffNameList = new ArrayList<>(); //维修人员信息
for (AsBusrepairBillSitemRepairer repairer : repairers) {
if (StringUtils.isNotBlank(repairer.getRepairerSid())) {
staffList.add(repairer.getRepairerSid());
}
vo.setSitemVos(smsSitemVos);
if (StringUtils.isNotBlank(repairer.getRepairerName())) {
staffNameList.add(repairer.getRepairerName());
}
List<GoodsDetailsVo> goodsDetailsVos = data.getGoodsDetailsVos();
List<SmsGoodsDetailsVo> 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);
sitemVo.setStaffList(staffList);
sitemVo.setStaffNameList(staffNameList);
sitemVo.setRepairerName(String.join("、", staffNameList));
}
sitemVos.add(sitemVo);
}
}
vo.setSitemVos(sitemVos);
}
BigDecimal taxRate = BigDecimal.ZERO;//税率
boolean wxGoods = false; //维修领料是否为加税点项目
AsBusrepairBillInvoice invoice = asBusrepairBillFeign.fetchInvoiceBySid(sourceBillSid);
if (null != invoice) {
if (StringUtils.isNotBlank(invoice.getTaxItems())) {
String taxItem = invoice.getTaxItems();
if (taxItem.contains("维修用料")) {
wxGoods = true;
}
if (null != invoice.getTaxRate()) {
taxRate = invoice.getTaxRate();
}
}
}
List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
List<AsBusrepairInventorybillDetail> goodsDetails = asBusrepairBillFeign.fetchGoodsByBillSid(sourceBillSid);
if (!goodsDetails.isEmpty()) {
DecimalFormat df2 =new DecimalFormat("#.00");
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) {
SmsGoodsDetailsVo goodsDetailsVo = new SmsGoodsDetailsVo();
BeanUtil.copyProperties(goodsDetail, goodsDetailsVo);
String goodsLinkSid = goodsDetail.getSid();
goodsDetailsVo.setGoodsLinkSid(goodsLinkSid);
BigDecimal constPrice = BigDecimal.ZERO; //销售价常量
BigDecimal count = BigDecimal.ZERO; //数量
if (null != goodsDetail.getCurrentCount()) {
count = goodsDetail.getCurrentCount();
}
goodsDetailsVo.setCount(String.valueOf(goodsDetail.getCurrentCount().intValue()));
boolean isTaxRate = false; //进货价是否含税
SmsGoods smsGoods = smsGoodsService.fetchEntityByGoodsID(goodsDetail.getGoodsID());
if (null != smsGoods) {
if (StringUtils.isNotBlank(smsGoods.getSupplierName())) {
goodsDetailsVo.setBillObjName(smsGoods.getSupplierName());
}
}
if (null != goodsDetail.getGoodsDetailsPrice()) {
constPrice = goodsDetail.getGoodsDetailsPrice();
}
if (goodsDetail.getIsTaxRate() != null) {
if (goodsDetail.getIsTaxRate().intValue() == 1) {
goodsDetailsVo.setPrice(constPrice.toString());
} else {
if (wxGoods) {
BigDecimal divide = taxRate.divide(new BigDecimal("100"));
BigDecimal add = divide.add(new BigDecimal("1"));
BigDecimal multiply = constPrice.multiply(add);
goodsDetailsVo.setPrice(df2.format(multiply));
} else {
goodsDetailsVo.setPrice(constPrice.toString());
}
}
} else {
if (wxGoods) {
BigDecimal divide = taxRate.divide(new BigDecimal("100"));
BigDecimal add = divide.add(new BigDecimal("1"));
BigDecimal multiply = constPrice.multiply(add);
goodsDetailsVo.setPrice(df2.format(multiply));
} else {
goodsDetailsVo.setPrice(constPrice.toString());
}
}
String returnCount = smsSalesReturnDetailService.selSouceSidAndGoodLinkSid(sourceBillSid,goodsLinkSid);
BigDecimal rCount = new BigDecimal(returnCount);
goodsDetailsVo.setReturnedCount(returnCount);
if (rCount.compareTo(count) < 0) {
goodsDetailsVos.add(goodsDetailsVo);
}
}
vo.setGoodsDetailsVos(goodsDetailsVos);
}
}
} else if (type == 1) {
//销售单
SmsSalesBillDetailsVo data = smsSalesBillService.fetchDetailsVoBySid(smsSalesReturn.getSourceBillSid());
SmsSalesBillDetailsVo data = smsSalesBillService.fetchDetailsVoBySid(sourceBillSid);
if (null != data) {
vo.setSourceBillNo(data.getBillNo());
vo.setBillType("销售单");
vo.setBillDate(data.getCreateTime());
if (null != data.getGoodsAmount()) {
vo.setGoodsAmount(data.getGoodsAmount());
}
if (null != data.getAddAmount()) {
vo.setAddAmount(data.getAddAmount());
}
if (StringUtils.isNotBlank(data.getSubject())) {
vo.setSubject(data.getSubject());
}
@ -749,6 +975,7 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
if (StringUtils.isNotBlank(data.getMobile())) {
vo.setMobile(data.getMobile());
}
if (StringUtils.isNotBlank(data.getVehMark())) {
vo.setVehMark(data.getVehMark());
}
@ -765,13 +992,17 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
for (SalesGoodsVo goodsDetailsVo : goodsDetailsVos) {
SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo();
BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo);
smsGoodsDetailsVo.setGoodsLinkSid(goodsDetailsVo.getSid());
String count = goodsDetailsVo.getCount();
BigDecimal totalCount = new BigDecimal(count);
//查询已退数量
String goodsID = goodsDetailsVo.getGoodsID();
String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid);
smsGoodsDetailsVo.setReturnedCount(sumBackCount);
smsGoodsDetailsVos.add(smsGoodsDetailsVo);
String returnCount = smsSalesReturnDetailService.selSouceSidAndGoodLinkSid(sourceBillSid,goodsDetailsVo.getSid());
BigDecimal rCount = new BigDecimal(returnCount);
smsGoodsDetailsVo.setReturnedCount(returnCount);
if (rCount.compareTo(totalCount) < 0) {
smsGoodsDetailsVos.add(smsGoodsDetailsVo);
}
}
vo.setGoodsDetailsVos(smsGoodsDetailsVos);
}
}
@ -786,6 +1017,25 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
}
vo.setReturnGoods(returnGoods);
}
List<SmsSalesReturnItem> items = smsSalesReturnItemService.fetchByBillSid(sid);
if (!items.isEmpty()) {
List<SalesItemsReturnVo> returnSitemVos = new ArrayList<>(); //退货维修项目列表
for (SmsSalesReturnItem detail : items) {
SalesItemsReturnVo returnVo = new SalesItemsReturnVo();
BeanUtil.copyProperties(detail, returnVo, "id", "sid");
String repairerSid = detail.getRepairerSid();
String repairerName = detail.getRepairerName();
String[] split = repairerSid.split(",");
String[] split1 = repairerName.split(",");
List<String> strsToList1= Arrays.asList(split);
List<String> strsToList2= Arrays.asList(split1);
returnVo.setStaffList(strsToList1);
returnVo.setStaffNameList(strsToList2);
returnSitemVos.add(returnVo);
}
vo.setReturnSitemVos(returnSitemVos);
}
}
return vo;
}
@ -801,6 +1051,9 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
for (String sid : sids) {
smsSalesReturnDetailService.deleteByMainSid(sid);
}
for (String sid : sids) {
smsSalesReturnItemService.deleteByMainSid(sid);
}
return rb.success();
}
@ -823,6 +1076,11 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
} else {
return rb.setMsg(resultBean.getMsg());
}
String sourceBillSid = dto.getSourceBillSid();
int count = baseMapper.selectSubmitBySid(sourceBillSid);
if (count > 0) {
return rb.setMsg("所选单据为已经提交审批的数据,无法提交");
}
smsSalesReturn = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();

10
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java

@ -86,4 +86,14 @@ public class SmsSalesReturnDetail extends BaseEntity {
private BigDecimal backPrice; // 退货价
@ApiModelProperty("单据关联sid")
private String goodsLinkSid; // 单据关联sid
@ApiModelProperty("销售价")
private BigDecimal price; // 销售价
//供应商sid
private String billObjSid;
//供应商
private String billObjName;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
}

2
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.java

@ -66,4 +66,6 @@ public interface SmsSalesReturnDetailMapper extends BaseMapper<SmsSalesReturnDet
@Delete("delete from sms_sales_return_detail where billSid = #{billSid}")
void deleteByMainSid(String billSid);
String selSouceSidAndGoodLinkSid(@Param("sid") String sid, @Param("goodsLinkSid") String goodsLinkSid);
}

10
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.xml

@ -10,4 +10,14 @@
<select id="selectListAllVo" resultType="com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailVo">
SELECT * FROM sms_sales_return_detail <where> ${ew.sqlSegment} </where>
</select>
<select id="selSouceSidAndGoodLinkSid" resultType="java.lang.String">
SELECT
IFNULL(SUM(i.backCount),0)
FROM
sms_sales_return_detail AS i
LEFT JOIN sms_sales_return AS r ON i.billSid = r.sid
WHERE
r.sourceBillSid = #{sid} AND i.goodsLinkSid = #{goodsLinkSid}
AND r.nodeState = '已办结'
</select>
</mapper>

4
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailService.java

@ -109,4 +109,8 @@ public class SmsSalesReturnDetailService extends MybatisBaseService<SmsSalesRetu
BeanUtil.copyProperties(entity, vo);
return vo;
}
public String selSouceSidAndGoodLinkSid(String sid, String goodsLinkSid) {
return baseMapper.selSouceSidAndGoodLinkSid(sid,goodsLinkSid);
}
}

4
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturnitem/SmsSalesReturnItem.java

@ -82,5 +82,9 @@ public class SmsSalesReturnItem extends BaseEntity {
private BigDecimal amount;
@ApiModelProperty("关联维修项目sid")
private String itemLinkSid;
@ApiModelProperty("维修人员sid")
private String repairerSid;
@ApiModelProperty("维修人员姓名")
private String repairerName;
}

8
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillFeign.java

@ -40,4 +40,12 @@ public interface AsBusrepairBillFeign {
@ApiOperation("获取维修项目维修人员")
@GetMapping("/fetchSitemRepairerByBillSid")
public List<AsBusrepairBillSitemRepairer> fetchSitemRepairerByBillSid(@RequestParam("sid") String sid,@RequestParam("itemSid") String itemSid);
@ApiOperation("获取维修用料")
@GetMapping("/fetchGoodsByBillSid")
public List<AsBusrepairInventorybillDetail> fetchGoodsByBillSid(@RequestParam("sid") String sid);
@ApiOperation("获取维修单开票信息")
@GetMapping("/fetchInvoiceBySid")
public AsBusrepairBillInvoice fetchInvoiceBySid(@RequestParam("sid") String sid);
}

42
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillInvoice.java

@ -0,0 +1,42 @@
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/16 17:14
*/
@Data
@ApiModel(value = "维修工单-发票", description = "维修工单-发票")
@TableName("as_busrepair_bill_invoice")
public class AsBusrepairBillInvoice extends BaseEntity {
@ApiModelProperty("工单sid")
private String billSid;
@ApiModelProperty("是否需要开发票(是1,否0)")
private Integer isInvoicing;
@ApiModelProperty("发票类型")
private String invoiceType;
@ApiModelProperty("开票名称")
private String invoiceTitle;
@ApiModelProperty("税号")
private String taxpayerNo;
@ApiModelProperty("发票号码")
private String invoiceCode;
@ApiModelProperty("税率")
private BigDecimal taxRate;
@ApiModelProperty("开票单位sid")
private String invoiceCompanySid;
@ApiModelProperty("开票单位")
private String invoiceCompany;
@ApiModelProperty("加税点项目“,”英文逗号拼接")
private String taxItems;
}

92
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairInventorybillDetail.java

@ -0,0 +1,92 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/7
**/
@Data
public class AsBusrepairInventorybillDetail extends BaseEntity {
private static final long serialVersionUID = 7134535185685249599L;
@ApiModelProperty("单据sid")
private String billSid;
@ApiModelProperty("工单服务项目记录sid")
private String sitemSid;
@ApiModelProperty("项目名称")
private String serviceItem;
@ApiModelProperty("商品库存sid")
private String inventorySid;
@ApiModelProperty("商品ID")
private String goodsID;
@ApiModelProperty("商品基础信息sid")
private String goodSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("已出库数量")
private BigDecimal currentCount;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位Sid")
private String warehouseRackSid;
@ApiModelProperty("库位编号")
private String warehouseRackCode;
@ApiModelProperty("需求数量(维修工单中)")
private BigDecimal needCount;
@ApiModelProperty("出/退库数量")
private BigDecimal count;
@ApiModelProperty("销售价(元)")
private BigDecimal price;
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private Integer discount;
@ApiModelProperty("优惠金额(=销售价*(1-折扣*0.1))")
private BigDecimal discountAmount;
@ApiModelProperty("金额(销售价-优惠金额)")
private BigDecimal amount;
@ApiModelProperty("库存数量")
private BigDecimal inventoryNum; //
@ApiModelProperty("科目sid")
private String subjectSid;
@ApiModelProperty("科目")
private String subject;
@ApiModelProperty("领料人")
private String operUserSid;
@ApiModelProperty("领料人姓名")
private String operName;
//旧件是否入库(适用于保内业务,0未入库,1已入库完成)
private Integer oldIsInInventory;
@ApiModelProperty("销售价格常量")
private BigDecimal goodsDetailsPrice;
//是否含税(1含税,0不含税)
private Integer isTaxRate;
@ApiModelProperty("配件销售sid(逗号拼接)")
private String partsSellersSid;
@ApiModelProperty("配件销售")
private String partsSellers;
@ApiModelProperty("接收时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date receivedTime;
}

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventory.java

@ -64,4 +64,8 @@ public class WmsInventory extends BaseEntity {
private String useOrgSid;
@ApiModelProperty("厂家订单号")
private String manufactorBillNo;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
}

Loading…
Cancel
Save