采购退货单oms调用底层代码接口开发
This commit is contained in:
@@ -8,6 +8,7 @@ package com.yxt.purchase.biz.purchaseappendix;
|
||||
public enum PurchaseFileEnum {
|
||||
|
||||
PURCHASEBILL("001", "采购单附件"),
|
||||
PURCHASEBACKBILL("002", "采购退货单附件"),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ package com.yxt.purchase.biz.purchasebackbill;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import com.yxt.purchase.biz.purchaseappendix.PurchaseAppendixUrl;
|
||||
import com.yxt.purchase.biz.purchasebackdetail.PurchasebackDetailDetailsVo;
|
||||
import com.yxt.purchase.biz.purchasebill.PurchaseChoiceBillDetailsVo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
@@ -35,6 +36,7 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -96,8 +98,6 @@ public class PurchasebackBillDetailsVo implements Vo {
|
||||
|
||||
@ApiModelProperty("采购退货单明细")
|
||||
private List<PurchasebackDetailDetailsVo> PurchasebackDetailList;
|
||||
|
||||
/*单独查询*/
|
||||
@ApiModelProperty("初始化采购单信息")
|
||||
private PurchaseChoiceBillDetailsVo PurchaseChoiceBillDetailsVo;
|
||||
@ApiModelProperty("附件")
|
||||
private List<PurchaseAppendixUrl> purchaseAppendixList = new ArrayList<>();
|
||||
}
|
||||
@@ -28,12 +28,14 @@ package com.yxt.purchase.biz.purchasebackbill;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import com.yxt.purchase.biz.purchaseappendix.PurchaseAppendixUrl;
|
||||
import com.yxt.purchase.biz.purchasebackdetail.PurchasebackDetailDto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -95,5 +97,7 @@ public class PurchasebackBillDto implements Dto {
|
||||
|
||||
@ApiModelProperty("采购退货单明细")
|
||||
private List<PurchasebackDetailDto> PurchasebackDetailList;
|
||||
@ApiModelProperty("附件")
|
||||
private List<PurchaseAppendixUrl> purchaseAppendixList = new ArrayList<>();
|
||||
|
||||
}
|
||||
@@ -41,8 +41,4 @@ public interface PurchasebackBillMapper extends BaseMapper<PurchasebackBill> {
|
||||
IPage<PurchasebackBillVo> selectPageVo(IPage<PurchasebackBill> page, @Param(Constants.WRAPPER) Wrapper<PurchasebackBill> qw);
|
||||
|
||||
String selectNum(String billNo);
|
||||
|
||||
int checkNodeStateBySourceBillSid(String sourceBillSid);
|
||||
|
||||
BigDecimal checkPayableAmountBySourceBillSid(String sourceBillSid);
|
||||
}
|
||||
@@ -6,53 +6,25 @@
|
||||
<select id="selectPageVo" resultType="com.yxt.purchase.biz.purchasebackbill.PurchasebackBillVo">
|
||||
SELECT
|
||||
ppb.sid,
|
||||
ppb.`nodeState`,
|
||||
ppb.`procDefId`,
|
||||
ppb.`procInstId`,
|
||||
ppb.billNo,
|
||||
ppb.createOrgName,
|
||||
ppb.`deptName`,
|
||||
ppb.createTime,
|
||||
ppb.`finishTime`,
|
||||
pb.billNo AS sourceBillNo,
|
||||
pb.`payTypeValue`,
|
||||
pb.`purchaseReasonValue`,
|
||||
pb.`purchaseTypeValue`,
|
||||
ppb.backTypeValue,
|
||||
ppb.billNo,
|
||||
ppb.wareHouseName,
|
||||
pb.supplierName,
|
||||
SUM(ppd.backAmount) AS backAmountCount,
|
||||
ppb.receivableAmount
|
||||
ppb.salesName,
|
||||
ppb.remarks
|
||||
FROM
|
||||
pms_purchaseback_bill ppb
|
||||
LEFT JOIN pms_purchase_bill pb
|
||||
purchaseback_bill ppb
|
||||
LEFT JOIN purchase_bill pb
|
||||
ON ppb.`sourceBillSid` = pb.`sid`
|
||||
LEFT JOIN pms_purchaseback_detail ppd
|
||||
ON ppb.`sid` = ppd.`billSid`
|
||||
LEFT JOIN anrui_portal.sys_organization as s ON ppb.deptSid = s.sid
|
||||
<where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
|
||||
<select id="selectNum" resultType="java.lang.String">
|
||||
select RIGHT (billNo, 4)
|
||||
from pms_purchaseback_bill
|
||||
from purchaseback_bill
|
||||
where billNo LIKE concat(#{billNo}, '%')
|
||||
order by billNo desc
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkNodeStateBySourceBillSid" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM pms_purchaseback_bill
|
||||
WHERE sourceBillSid = #{sourceBillSid}
|
||||
AND nodeState != '已办结'
|
||||
AND nodeState != '终止'
|
||||
</select>
|
||||
|
||||
<select id="checkPayableAmountBySourceBillSid" resultType="java.math.BigDecimal">
|
||||
SELECT payableAmount
|
||||
FROM pms_purchaseback_bill
|
||||
WHERE sourceBillSid = #{sourceBillSid}
|
||||
AND nodeState = '已办结'
|
||||
ORDER BY createTime DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -34,32 +34,20 @@ import lombok.Data;
|
||||
@ApiModel(value = "采购退货单据 查询条件", description = "采购退货单据 查询条件")
|
||||
public class PurchasebackBillQuery implements Query {
|
||||
|
||||
@ApiModelProperty("创建组织名称")
|
||||
private String createOrgName;
|
||||
@ApiModelProperty("申请部门名称")
|
||||
private String deptName;
|
||||
@ApiModelProperty("申请人")
|
||||
private String createByName;
|
||||
@ApiModelProperty("单据编号")
|
||||
private String billNo;
|
||||
@ApiModelProperty("创建开始日期")
|
||||
private String createStartTime;
|
||||
@ApiModelProperty("创建结束日期")
|
||||
private String createEndTime;
|
||||
@ApiModelProperty("办结开始日期")
|
||||
private String finishStartTime;
|
||||
@ApiModelProperty("办结结束日期")
|
||||
private String finishEndTime;
|
||||
@ApiModelProperty("来源单编号")
|
||||
private String sourceBillNo;
|
||||
@ApiModelProperty("采购类型Value(厂家采购、外采、其他)")
|
||||
private String purchaseTypeValue;
|
||||
@ApiModelProperty("采购原因(储备/客户订单/在修车辆)")
|
||||
private String purchaseReasonValue;
|
||||
@ApiModelProperty("付款方式value(预付款/月结/单笔付款)")
|
||||
private String payTypeValue;
|
||||
@ApiModelProperty("供应商名称")
|
||||
private String supplierName;
|
||||
@ApiModelProperty("单据编号")
|
||||
private String billNo;
|
||||
@ApiModelProperty("备注")
|
||||
private String remarks;
|
||||
@ApiModelProperty("仓库")
|
||||
private String wareHouseName;
|
||||
@ApiModelProperty("业务员")
|
||||
private String salesName;
|
||||
|
||||
private String orgLevelKey;
|
||||
@ApiModelProperty("组织全路径")
|
||||
|
||||
@@ -28,11 +28,13 @@ package com.yxt.purchase.biz.purchasebackbill;
|
||||
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.config.component.FileUploadComponent;
|
||||
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.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.purchase.biz.purchaseappendix.*;
|
||||
import com.yxt.purchase.biz.purchasebackdetail.PurchasebackDetailDetailsVo;
|
||||
import com.yxt.purchase.biz.purchasebackdetail.PurchasebackDetailDto;
|
||||
import com.yxt.purchase.biz.purchasebackdetail.PurchasebackDetailService;
|
||||
@@ -51,14 +53,16 @@ public class PurchasebackBillService extends MybatisBaseService<PurchasebackBill
|
||||
@Autowired
|
||||
private PurchasebackDetailService purchasebackDetailService;
|
||||
@Autowired
|
||||
private PurchaseBillService purchaseBillService;
|
||||
private PurchaseAppendixService purchaseAppendixService;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
|
||||
public ResultBean<PagerVo<PurchasebackBillVo>> listPageVo(PagerQuery<PurchasebackBillQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PurchasebackBillQuery query = pq.getParams();
|
||||
QueryWrapper<PurchasebackBill> qw = new QueryWrapper<>();
|
||||
//========================================数据授权开始
|
||||
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人) -
|
||||
String orgSidPath = query.getOrgPath();
|
||||
orgSidPath = orgSidPath + "/";
|
||||
@@ -89,45 +93,27 @@ public class PurchasebackBillService extends MybatisBaseService<PurchasebackBill
|
||||
PagerVo<WarehouseRackVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}*/
|
||||
if (StringUtils.isNotBlank(query.getCreateOrgName())) {
|
||||
qw.like("ppb.createOrgName", query.getCreateOrgName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getDeptName())) {
|
||||
qw.like("ppb.deptName", query.getDeptName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getCreateByName())) {
|
||||
qw.like("ppb.createByName", query.getCreateByName());
|
||||
if (StringUtils.isNotBlank(query.getSupplierName())) {
|
||||
qw.like("pb.supplierName", query.getSupplierName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getBillNo())) {
|
||||
qw.like("ppb.billNo", query.getBillNo());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getSourceBillNo())) {
|
||||
qw.like("pb.billNo", query.getSourceBillNo());
|
||||
if (StringUtils.isNotBlank(query.getRemarks())) {
|
||||
qw.like("ppb.createOrgName", query.getRemarks());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getPurchaseTypeValue())) {
|
||||
qw.like("pb.purchaseTypeValue", query.getPurchaseTypeValue());
|
||||
if (StringUtils.isNotBlank(query.getWareHouseName())) {
|
||||
qw.like("ppb.deptName", query.getWareHouseName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getPurchaseReasonValue())) {
|
||||
qw.like("pb.purchaseReasonValue", query.getPurchaseReasonValue());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getPayTypeValue())) {
|
||||
qw.like("pb.payTypeValue", query.getPayTypeValue());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getSupplierName())) {
|
||||
qw.like("pb.supplierName", query.getSupplierName());
|
||||
if (StringUtils.isNotBlank(query.getSalesName())) {
|
||||
qw.like("ppb.createByName", query.getSalesName());
|
||||
}
|
||||
String createStartTime = query.getCreateStartTime();
|
||||
String createEndTime = query.getCreateEndTime();
|
||||
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (ppb.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
|
||||
apply(StringUtils.isNotEmpty(createEndTime), "date_format (ppb.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
|
||||
);
|
||||
String finishStartTime = query.getFinishStartTime();
|
||||
String finishEndTime = query.getFinishEndTime();
|
||||
qw.apply(StringUtils.isNotEmpty(finishStartTime), "date_format (ppb.finishTime,'%Y-%m-%d') >= date_format('" + finishStartTime + "','%Y-%m-%d')").
|
||||
apply(StringUtils.isNotEmpty(finishEndTime), "date_format (ppb.finishTime,'%Y-%m-%d') <= date_format('" + finishEndTime + "','%Y-%m-%d')"
|
||||
);
|
||||
qw.orderByDesc("ppb.createTime");
|
||||
qw.groupBy("ppb.sid");
|
||||
IPage<PurchasebackBill> page = PagerUtil.queryToPage(pq);
|
||||
IPage<PurchasebackBillVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<PurchasebackBillVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
@@ -138,20 +124,40 @@ public class PurchasebackBillService extends MybatisBaseService<PurchasebackBill
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String dtoSid = dto.getSid();
|
||||
List<PurchasebackDetailDto> purchasebackDetailList = dto.getPurchasebackDetailList();
|
||||
List<PurchaseAppendixUrl> purchaseAppendixList = dto.getPurchaseAppendixList();
|
||||
if (StringUtils.isBlank(dtoSid)) {
|
||||
String sid = this.insertByDto(dto);
|
||||
for (PurchasebackDetailDto purchasebackDetailDto : purchasebackDetailList) {
|
||||
purchasebackDetailDto.setBillSid(sid);
|
||||
purchasebackDetailService.insertByDto(purchasebackDetailDto);
|
||||
}
|
||||
//保存附件信息
|
||||
for (PurchaseAppendixUrl purchaseAppendixUrl : purchaseAppendixList) {
|
||||
PurchaseAppendixDto purchaseAppendixDto = new PurchaseAppendixDto();
|
||||
String filePath = purchaseAppendixUrl.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
|
||||
purchaseAppendixDto.setLinkSid(sid);
|
||||
purchaseAppendixDto.setAttachType(PurchaseFileEnum.PURCHASEBACKBILL.getAttachType());
|
||||
purchaseAppendixDto.setFilePath(filePath);
|
||||
purchaseAppendixService.insertByDto(purchaseAppendixDto);
|
||||
}
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
this.updateByDto(dto);
|
||||
purchasebackDetailService.delByMainSid(dtoSid);
|
||||
purchaseAppendixService.delByLinkSid(dtoSid);
|
||||
for (PurchasebackDetailDto purchasebackDetailDto : purchasebackDetailList) {
|
||||
purchasebackDetailDto.setBillSid(dtoSid);
|
||||
purchasebackDetailService.insertByDto(purchasebackDetailDto);
|
||||
}
|
||||
//保存附件信息
|
||||
for (PurchaseAppendixUrl purchaseAppendixUrl : purchaseAppendixList) {
|
||||
PurchaseAppendixDto purchaseAppendixDto = new PurchaseAppendixDto();
|
||||
String filePath = purchaseAppendixUrl.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
|
||||
purchaseAppendixDto.setLinkSid(dtoSid);
|
||||
purchaseAppendixDto.setAttachType(PurchaseFileEnum.PURCHASEBACKBILL.getAttachType());
|
||||
purchaseAppendixDto.setFilePath(filePath);
|
||||
purchaseAppendixService.insertByDto(purchaseAppendixDto);
|
||||
}
|
||||
return rb.success().setData(dtoSid);
|
||||
}
|
||||
|
||||
@@ -181,10 +187,15 @@ public class PurchasebackBillService extends MybatisBaseService<PurchasebackBill
|
||||
purchasebackDetailDetailsVo.setAmount(purchasebackDetailDetailsVo.getCount().multiply(purchasebackDetailDetailsVo.getTaxPrice()));
|
||||
}
|
||||
vo.setPurchasebackDetailList(purchasebackDetailDetailsVos);
|
||||
PurchaseBill purchaseBill = purchaseBillService.fetchBySid(entity.getSourceBillSid());
|
||||
PurchaseChoiceBillDetailsVo purchaseChoiceBillDetailsVo = new PurchaseChoiceBillDetailsVo();
|
||||
BeanUtil.copyProperties(purchaseBill, purchaseChoiceBillDetailsVo);
|
||||
vo.setPurchaseChoiceBillDetailsVo(purchaseChoiceBillDetailsVo);
|
||||
List<PurchaseAppendixDetailsVo> purchaseAppendixDetailsVos = purchaseAppendixService.selByLinkSid(sid);
|
||||
List<PurchaseAppendixUrl> purchaseAppendixUrlList = new ArrayList<>();
|
||||
for (PurchaseAppendixDetailsVo purchaseAppendixDetailsVo : purchaseAppendixDetailsVos) {
|
||||
PurchaseAppendixUrl purchaseAppendixUrl = new PurchaseAppendixUrl();
|
||||
String url = fileUploadComponent.getUrlPrefix() + purchaseAppendixDetailsVo.getFilePath();
|
||||
purchaseAppendixUrl.setUrl(url);
|
||||
purchaseAppendixUrlList.add(purchaseAppendixUrl);
|
||||
}
|
||||
vo.setPurchaseAppendixList(purchaseAppendixUrlList);
|
||||
return vo;
|
||||
}
|
||||
|
||||
@@ -193,6 +204,7 @@ public class PurchasebackBillService extends MybatisBaseService<PurchasebackBill
|
||||
delBySids(sids);
|
||||
for (String sid : sids) {
|
||||
purchasebackDetailService.delByMainSid(sid);
|
||||
purchaseAppendixService.delByLinkSid(sid);
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@@ -39,37 +39,19 @@ public class PurchasebackBillVo implements Vo {
|
||||
|
||||
private String sid; // sid
|
||||
|
||||
@ApiModelProperty("流程状态")
|
||||
private String nodeState;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
|
||||
@ApiModelProperty("业务日期")
|
||||
private Date createTime;
|
||||
@ApiModelProperty("业务类型")
|
||||
private String backTypeValue;
|
||||
@ApiModelProperty("单据编号")
|
||||
private String billNo;
|
||||
@ApiModelProperty("创建组织名称")
|
||||
private String createOrgName;
|
||||
@ApiModelProperty("申请部门名称")
|
||||
private String deptName;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
|
||||
@ApiModelProperty("办结时间")
|
||||
private Date finishTime;
|
||||
@ApiModelProperty("来源单编号")
|
||||
private String sourceBillNo;
|
||||
@ApiModelProperty("采购类型Value(厂家采购、外采、其他)")
|
||||
private String purchaseTypeValue;
|
||||
@ApiModelProperty("采购原因(储备/客户订单/在修车辆)")
|
||||
private String purchaseReasonValue;
|
||||
@ApiModelProperty("付款方式value(预付款/月结/单笔付款)")
|
||||
private String payTypeValue;
|
||||
@ApiModelProperty("仓库")
|
||||
private String wareHouseName;
|
||||
@ApiModelProperty("供应商名称")
|
||||
private String supplierName;
|
||||
@ApiModelProperty("退货金额")
|
||||
private String backAmountCount;
|
||||
@ApiModelProperty("应收金额")
|
||||
private String receivableAmount;
|
||||
|
||||
@ApiModelProperty("流程定义的id")
|
||||
private String procDefId;
|
||||
@ApiModelProperty("流程实例的sid")
|
||||
private String procInstId;
|
||||
@ApiModelProperty("业务员")
|
||||
private String salesName;
|
||||
@ApiModelProperty("备注")
|
||||
private String remarks;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user