Browse Source

采购退货单oms调用底层代码接口开发

master
God 12 months ago
parent
commit
eed5b29a4f
  1. 1
      src/main/java/com/yxt/purchase/biz/purchaseappendix/PurchaseFileEnum.java
  2. 8
      src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillDetailsVo.java
  3. 4
      src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillDto.java
  4. 4
      src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillMapper.java
  5. 44
      src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillMapper.xml
  6. 28
      src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillQuery.java
  7. 76
      src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillService.java
  8. 40
      src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillVo.java

1
src/main/java/com/yxt/purchase/biz/purchaseappendix/PurchaseFileEnum.java

@ -8,6 +8,7 @@ package com.yxt.purchase.biz.purchaseappendix;
public enum PurchaseFileEnum {
PURCHASEBILL("001", "采购单附件"),
PURCHASEBACKBILL("002", "采购退货单附件"),
;

8
src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillDetailsVo.java

@ -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<>();
}

4
src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillDto.java

@ -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<>();
}

4
src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillMapper.java

@ -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);
}

44
src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillMapper.xml

@ -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>

28
src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillQuery.java

@ -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("组织全路径")

76
src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillService.java

@ -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.getPurchaseTypeValue())) {
qw.like("pb.purchaseTypeValue", query.getPurchaseTypeValue());
if (StringUtils.isNotBlank(query.getRemarks())) {
qw.like("ppb.createOrgName", query.getRemarks());
}
if (StringUtils.isNotBlank(query.getPurchaseReasonValue())) {
qw.like("pb.purchaseReasonValue", query.getPurchaseReasonValue());
if (StringUtils.isNotBlank(query.getWareHouseName())) {
qw.like("ppb.deptName", query.getWareHouseName());
}
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();
}

40
src/main/java/com/yxt/purchase/biz/purchasebackbill/PurchasebackBillVo.java

@ -39,37 +39,19 @@ public class PurchasebackBillVo implements Vo {
private String sid; // sid
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("创建组织名称")
private String createOrgName;
@ApiModelProperty("申请部门名称")
private String deptName;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("创建时间")
@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 backTypeValue;
@ApiModelProperty("单据编号")
private String billNo;
@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;
}

Loading…
Cancel
Save