Browse Source

采购退货完善

选择原单完善
zhanglei
God 12 months ago
parent
commit
c08ec2b688
  1. 4
      yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackBillRest.java
  2. 4
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBill.java
  3. 4
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java
  4. 4
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java
  5. 5
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.java
  6. 17
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml
  7. 23
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java
  8. 8
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetail.java
  9. 14
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDetailsVo.java
  10. 14
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDto.java
  11. 16
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
  12. 64
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillQuery.java
  13. 5
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillVo.java

4
yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackBillRest.java

@ -81,9 +81,7 @@ public class PmsPurchasebackBillRest {
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean<String> save(@RequestBody PmsPurchasebackBillDto dto){
ResultBean rb = ResultBean.fireFail();
String sid = pmsPurchasebackBillService.saveOrUpdateDto(dto);
return rb.success().setData(sid);
return pmsPurchasebackBillService.saveOrUpdateDto(dto);
}
@ApiOperation("根据sid批量删除")

4
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBill.java

@ -77,8 +77,10 @@ public class PmsPurchasebackBill extends BaseEntity {
@ApiModelProperty("单据状态")
private String documentState;
@ApiModelProperty("付金额")
@ApiModelProperty("付金额")
private BigDecimal paidAmount;
@ApiModelProperty("应付金额")
private BigDecimal payableAmount;
@ApiModelProperty("应收金额")
private BigDecimal receivableAmount;

4
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java

@ -81,8 +81,10 @@ public class PmsPurchasebackBillDetailsVo implements Vo {
@ApiModelProperty("转入预付款")
private BigDecimal toPrepayment; // 转入预付款
@ApiModelProperty("付金额")
@ApiModelProperty("付金额")
private BigDecimal paidAmount;
@ApiModelProperty("应付金额")
private BigDecimal payableAmount;
@ApiModelProperty("应收金额")
private BigDecimal receivableAmount;

4
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java

@ -80,8 +80,10 @@ public class PmsPurchasebackBillDto implements Dto {
@ApiModelProperty("转入预付款")
private BigDecimal toPrepayment; // 转入预付款
@ApiModelProperty("付金额")
@ApiModelProperty("付金额")
private BigDecimal paidAmount;
@ApiModelProperty("应付金额")
private BigDecimal payableAmount;
@ApiModelProperty("应收金额")
private BigDecimal receivableAmount;

5
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.java

@ -34,6 +34,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@ -58,4 +59,8 @@ public interface PmsPurchasebackBillMapper extends BaseMapper<PmsPurchasebackBil
String selectNum(String billNo);
int updateFlowFiled(Map<String, Object> map);
int checkNodeStateBySourceBillSid(String sourceBillSid);
BigDecimal checkPayableAmountBySourceBillSid(String sourceBillSid);
}

17
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml

@ -53,4 +53,21 @@
</if>
WHERE sid=#{sid}
</update>
<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>

23
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java

@ -29,6 +29,8 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.sun.org.apache.regexp.internal.RE;
import com.yxt.common.core.result.ResultBean;
import com.yxt.pms.biz.pms.pmspurchasebackbill.flowable.*;
import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDetailsVo;
@ -60,6 +62,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -144,8 +147,13 @@ public class PmsPurchasebackBillService extends MybatisBaseService<PmsPurchaseba
return p;
}
public String saveOrUpdateDto(PmsPurchasebackBillDto dto){
public ResultBean<String> saveOrUpdateDto(PmsPurchasebackBillDto dto){
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
int i = baseMapper.checkNodeStateBySourceBillSid(dto.getSourceBillSid());
if (i > 0){
return rb.setMsg(dto.getSourceBillNo() + "存在待提交或审批中的申请");
}
List<PmsPurchasebackDetailDto> pmsPurchasebackDetailList = dto.getPmsPurchasebackDetailList();
if (StringUtils.isBlank(dtoSid)) {
String sid = this.insertByDto(dto);
@ -153,7 +161,7 @@ public class PmsPurchasebackBillService extends MybatisBaseService<PmsPurchaseba
pmsPurchasebackDetailDto.setBillSid(sid);
pmsPurchasebackDetailService.saveOrUpdateDto(pmsPurchasebackDetailDto);
}
return sid;
return rb.success().setData(sid);
}
this.updateByDto(dto);
pmsPurchasebackDetailService.delByMainSid(dtoSid);
@ -161,7 +169,7 @@ public class PmsPurchasebackBillService extends MybatisBaseService<PmsPurchaseba
pmsPurchasebackDetailDto.setBillSid(dtoSid);
pmsPurchasebackDetailService.saveOrUpdateDto(pmsPurchasebackDetailDto);
}
return dtoSid;
return rb.success().setData(dtoSid);
}
public String insertByDto(PmsPurchasebackBillDto dto){
@ -186,6 +194,9 @@ public class PmsPurchasebackBillService extends MybatisBaseService<PmsPurchaseba
PmsPurchasebackBillDetailsVo vo = new PmsPurchasebackBillDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<PmsPurchasebackDetailDetailsVo> pmsPurchasebackDetailDetailsVos = pmsPurchasebackDetailService.selByMainSid(sid);
for (PmsPurchasebackDetailDetailsVo pmsPurchasebackDetailDetailsVo : pmsPurchasebackDetailDetailsVos) {
pmsPurchasebackDetailDetailsVo.setAmount(pmsPurchasebackDetailDetailsVo.getCount().multiply(pmsPurchasebackDetailDetailsVo.getTaxPrice()));
}
vo.setPmsPurchasebackDetailList(pmsPurchasebackDetailDetailsVos);
return vo;
}
@ -208,7 +219,7 @@ public class PmsPurchasebackBillService extends MybatisBaseService<PmsPurchaseba
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
String businessSid = saveOrUpdateDto(dto);
String businessSid = saveOrUpdateDto(dto).getData();
pmsPurchasebackBill = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
@ -490,4 +501,8 @@ public class PmsPurchasebackBillService extends MybatisBaseService<PmsPurchaseba
flowFeign.delegate(delegateQuery);
return rb.success();
}
public BigDecimal checkPayableAmountBySourceBillSid(String sourceBillSid) {
return baseMapper.checkPayableAmountBySourceBillSid(sourceBillSid);
}
}

8
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetail.java

@ -78,10 +78,14 @@ public class PmsPurchasebackDetail extends BaseEntity {
private BigDecimal returnedCount; // 已退数量
@ApiModelProperty("退货数量")
private BigDecimal backCount; // 退货数量
@ApiModelProperty("采购数量")
private BigDecimal count;
@ApiModelProperty("税额")
private BigDecimal maxAmount; // 税额
private BigDecimal taxAmount; // 税额
@ApiModelProperty("含税价")
private BigDecimal maxPrice; // 含税价
private BigDecimal taxPrice; // 含税价
@ApiModelProperty("退货金额")
private BigDecimal backAmount; // 退货金额

14
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDetailsVo.java

@ -79,10 +79,16 @@ public class PmsPurchasebackDetailDetailsVo implements Vo {
private BigDecimal returnedCount; // 已退数量
@ApiModelProperty("退货数量")
private BigDecimal backCount; // 退货数量
@ApiModelProperty("税额")
private BigDecimal maxAmount; // 税额
@ApiModelProperty("含税价")
private BigDecimal maxPrice; // 含税价
@ApiModelProperty("采购数量")
private BigDecimal count;
@ApiModelProperty("采购金额")
private BigDecimal amount;
@ApiModelProperty("税额")
private BigDecimal taxAmount;
@ApiModelProperty("含税价")
private BigDecimal taxPrice;
@ApiModelProperty("退货金额")
private BigDecimal backAmount; // 退货金额

14
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDto.java

@ -79,11 +79,15 @@ public class PmsPurchasebackDetailDto implements Dto {
private BigDecimal returnedCount; // 已退数量
@ApiModelProperty("退货数量")
private BigDecimal backCount; // 退货数量
@ApiModelProperty("税额")
private BigDecimal maxAmount; // 税额
@ApiModelProperty("含税价")
private BigDecimal maxPrice; // 含税价
@ApiModelProperty("退货金额")
@ApiModelProperty("采购数量")
private BigDecimal count;
@ApiModelProperty("税额")
private BigDecimal taxAmount; // 税额
@ApiModelProperty("含税价")
private BigDecimal taxPrice;
@ApiModelProperty("退货金额")
private BigDecimal backAmount; // 退货金额
}

16
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java

@ -32,13 +32,11 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.core.result.ResultBean;
import com.yxt.pms.biz.pms.pmspurchasebackbill.PmsPurchasebackBillService;
import com.yxt.pms.biz.pms.pmspurchasebill.flowable.*;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDto;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailService;
import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDto;
import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendService;
import com.yxt.pms.biz.pms.pmspurchasebillinvoice.PmsPurchaseBillInvoiceDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasebillinvoice.PmsPurchaseBillInvoiceDto;
import com.yxt.pms.biz.pms.pmspurchasebillinvoice.PmsPurchaseBillInvoiceService;
@ -55,7 +53,6 @@ import com.yxt.pms.feign.flowable.flowtask.LatestTaskVo;
import com.yxt.pms.feign.message.MessageFeign;
import com.yxt.pms.feign.message.MessageFlowVo;
import com.yxt.pms.feign.message.MessageFlowableQuery;
import com.yxt.pms.feign.portal.sysorganization.SysOrganization;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.pms.feign.portal.sysstafforg.SysStaffOrgFeign;
@ -68,6 +65,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -87,6 +85,8 @@ import java.util.stream.Collectors;
@Service
public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMapper, PmsPurchaseBill> {
@Autowired
private PmsPurchasebackBillService pmsPurchasebackBillService;
@Autowired
private PmsPurchaseBillDetailService pmsPurchaseBillDetailService;
@Autowired
@ -202,6 +202,14 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
qw.groupBy("ppb.sid");
IPage<PmsPurchaseBill> page = PagerUtil.queryToPage(pq);
IPage<PmsPurchaseChoiceBillVo> pagging = baseMapper.choiceBillListPage(page, qw);
for (PmsPurchaseChoiceBillVo record : pagging.getRecords()) {
BigDecimal money = pmsPurchasebackBillService.checkPayableAmountBySourceBillSid(record.getSid());
if (money != null){
record.setPayableAmount(money);
}
List<PmsPurchaseBillDetailDetailsVo> pmsPurchaseBillDetailDetailsVos = pmsPurchaseBillDetailService.selByMainSid(record.getSid());
record.setPmsPurchaseBillDetailList(pmsPurchaseBillDetailDetailsVos);
}
PagerVo<PmsPurchaseChoiceBillVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}

64
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillExcelVo.java → yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillQuery.java

@ -23,53 +23,57 @@
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.pms.biz.pms.pmspurchasebackbill;
package com.yxt.pms.biz.pms.pmspurchasebill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.utils.ExportEntityMap;
import com.yxt.common.core.vo.Vo;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: yxt-pms(采购) <br/>
* File: PmsPurchasebackBillVo.java <br/>
* Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillVo <br/>
* Description: 采购退货单据 视图数据对象. <br/>
* File: PmsPurchaseBillQuery.java <br/>
* Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillQuery <br/>
* Description: 采购 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-19 16:16:12 <br/>
* Makedate: 2024-03-19 13:51:45 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "采购退货单据 视图数据对象", description = "采购退货单据 视图数据对象")
public class PmsPurchasebackBillExcelVo implements Vo {
@ApiModel(value = "采购单原单 查询条件", description = "采购单 查询条件")
public class PmsPurchaseChoiceBillQuery implements Query {
@ExportEntityMap(CnName = "单据编号", EnName = "billNo")
@ApiModelProperty("创建组织名称")
private String createOrgName;
@ApiModelProperty("申请部门名称")
private String deptName;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("单据编号")
private String billNo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ExportEntityMap(CnName = "创建时间", EnName = "createTime")
private Date createTime;
@ExportEntityMap(CnName = "来源单编号", EnName = "sourceBillNo")
private String sourceBillNo;
@ExportEntityMap(CnName = "供应商名称", EnName = "supplierName")
@ApiModelProperty("创建开始日期")
private String createStartTime;
@ApiModelProperty("创建结束日期")
private String createEndTime;
@ApiModelProperty("办结开始日期")
private String finishStartTime;
@ApiModelProperty("办结结束日期")
private String finishEndTime;
@ApiModelProperty("采购类型Value(厂家采购、外采、其他)")
private String purchaseTypeValue;
@ApiModelProperty("采购原因(储备/客户订单/在修车辆)")
private String purchaseReasonValue;
@ApiModelProperty("付款方式value(预付款/月结/单笔付款)")
private String payTypeValue;
@ApiModelProperty("供应商名称")
private String supplierName;
@ExportEntityMap(CnName = "供应商联系电话", EnName = "supplierPhone")
private String supplierPhone;
@ExportEntityMap(CnName = "采购员姓名", EnName = "purchaserName")
private String purchaserName;
@ExportEntityMap(CnName = "库管员姓名", EnName = "storekeeperName")
private String storekeeperName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ExportEntityMap(CnName = "结算时间", EnName = "settleTime")
private Date settleTime;
@ExportEntityMap(CnName = "票据类型", EnName = "billTypeValue")
private String billTypeValue;
@ApiModelProperty("是否需要开发票(是1,否0)")
private String isInvoicing;
private String createOrgSid;
}

5
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillVo.java

@ -28,12 +28,14 @@ package com.yxt.pms.biz.pms.pmspurchasebill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* Project: yxt-pms(采购) <br/>
@ -88,4 +90,7 @@ public class PmsPurchaseChoiceBillVo implements Vo {
private BigDecimal errorAmount;
@ApiModelProperty("应付金额(=采购金额+运费-优惠金额)")
private BigDecimal payableAmount;
@ApiModelProperty("采购单商品明细")
private List<PmsPurchaseBillDetailDetailsVo> pmsPurchaseBillDetailList;
}

Loading…
Cancel
Save