Browse Source

采购单申请调整

master
God 12 months ago
parent
commit
dfa4447127
  1. 34
      yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillRest.java
  2. 3
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java
  3. 10
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.java
  4. 28
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml
  5. 76
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
  6. 16
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetail.java
  7. 14
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDetailsVo.java
  8. 14
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDto.java
  9. 3
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillinvoice/PmsPurchaseBillInvoiceMapper.java
  10. 4
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillinvoice/PmsPurchaseBillInvoiceService.java
  11. 3
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasepay/PmsPurchasePayMapper.java
  12. 15
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasepay/PmsPurchasePayService.java
  13. 24
      yxt-pms-biz/src/main/java/com/yxt/pms/feign/base/BillNo.java
  14. 44
      yxt-pms-biz/src/main/java/com/yxt/pms/feign/base/Rule.java

34
yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillRest.java

@ -55,7 +55,7 @@ import java.util.List;
*/
@Api(tags = "采购单")
@RestController
@RequestMapping("/apiadmin/pms/pmspurchasebill")
@RequestMapping("v1/pmspurchasebill")
public class PmsPurchaseBillRest {
@Autowired
@ -71,14 +71,6 @@ public class PmsPurchaseBillRest {
return rb.success().setData(pv);
}
@ApiOperation("选择原单")
@PostMapping("/choiceBillListPage")
public ResultBean<PagerVo<PmsPurchaseBillVo>> choiceBillListPage(@RequestBody PagerQuery<PmsPurchaseBillQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<PmsPurchaseBillVo> pv = pmsPurchaseBillService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean<String> save(@RequestBody PmsPurchaseBillDto dto){
@ -87,14 +79,6 @@ public class PmsPurchaseBillRest {
return rb.success().setData(sid);
}
@ApiOperation("反结算")
@PostMapping("/noSettle")
public ResultBean noSettle(@RequestParam("sid") String sid){
ResultBean rb = ResultBean.fireFail();
pmsPurchaseBillService.updateSettleState(sid);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
@ -110,20 +94,4 @@ public class PmsPurchaseBillRest {
PmsPurchaseBillDetailsVo vo = pmsPurchaseBillService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("导出")
@PostMapping("/exportExcel")
public void exportExcel(PmsPurchaseBillQuery query) {
//得到所有要导出的数据
List<PmsPurchaseBillExportVo> exportVoList = pmsPurchaseBillService.listExcel(query);
//定义导出的excel名字
String excelName = "采购单列表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, exportVoList, PmsPurchaseBillExportVo.class, response);
}
}

3
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java

@ -33,6 +33,7 @@ import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDto;
import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDto;
import com.yxt.pms.biz.pms.pmspurchasebillinvoice.PmsPurchaseBillInvoiceDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasebillinvoice.PmsPurchaseBillInvoiceDto;
import com.yxt.pms.biz.pms.pmspurchasepay.PmsPurchasePayDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasepay.PmsPurchasePayDto;
@ -144,7 +145,7 @@ public class PmsPurchaseBillDetailsVo implements Vo {
@ApiModelProperty("付款信息")
private PmsPurchasePayDetailsVo purchasePay;
@ApiModelProperty("发票信息")
private PmsPurchaseBillInvoiceDto purchaseBillInvoice;
private PmsPurchaseBillInvoiceDetailsVo purchaseBillInvoice;
@ApiModelProperty("采购单商品明细")
private List<PmsPurchaseBillDetailDetailsVo> pmsPurchaseBillDetailList;
}

10
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.java

@ -54,14 +54,6 @@ import java.util.List;
public interface PmsPurchaseBillMapper extends BaseMapper<PmsPurchaseBill> {
IPage<PmsPurchaseBillVo> selectPageVo(IPage<PmsPurchaseBill> page, @Param(Constants.WRAPPER) Wrapper<PmsPurchaseBill> qw);
List<PmsPurchaseBillVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<PmsPurchaseBill> qw);
@Select("select * from pms_purchase_bill")
List<PmsPurchaseBillVo> selectListVo();
@Update("update pms_purchase_bill set settleState = '0' where sid = #{sid}")
void updateSettleState(String sid);
List<PmsPurchaseBillExportVo> exportList(@Param(Constants.WRAPPER) QueryWrapper<PmsPurchaseBillExportVo> qw);
String selectNum(String billNo);
}

28
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml

@ -26,26 +26,12 @@
ON ppbd.`billSid` = ppb.`sid`
<where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.pms.biz.pms.pmspurchasebill.PmsPurchaseBillVo">
SELECT * FROM pms_purchase_bill <where> ${ew.sqlSegment} </where>
</select>
<select id="exportList" resultType="com.yxt.pms.biz.pms.pmspurchasebill.PmsPurchaseBillExportVo">
SELECT
pb.sid,
pb.billNo,
pb.createTime,
pb.createByName,
pb.supplierName,
pb.supplierPhone,
pb.storekeeperName,
IF(pb.settleState = 0, '未结算', '已结算') AS settleState,
pbs.settleTime
FROM
pms_purchase_bill pb
LEFT JOIN pms_purchase_bill_settle pbs
ON pbs.`billSid` = pb.`sid`
<where> ${ew.sqlSegment} </where>
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from pms_purchase_bill
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
</mapper>

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

@ -26,6 +26,7 @@
package com.yxt.pms.biz.pms.pmspurchasebill;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.core.result.ResultBean;
@ -35,10 +36,15 @@ 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;
import com.yxt.pms.biz.pms.pmspurchasepay.PmsPurchasePayDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasepay.PmsPurchasePayDto;
import com.yxt.pms.biz.pms.pmspurchasepay.PmsPurchasePayService;
import com.yxt.pms.feign.base.Rule;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationVo;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -74,6 +80,8 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
private PmsPurchaseBillInvoiceService pmsPurchaseBillInvoiceService;
@Autowired
private PmsPurchasePayService pmsPurchasePayService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public PagerVo<PmsPurchaseBillVo> listPageVo(PagerQuery<PmsPurchaseBillQuery> pq) {
PmsPurchaseBillQuery query = pq.getParams();
@ -127,6 +135,18 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
PmsPurchaseBillInvoiceDto purchaseBillInvoice = dto.getPurchaseBillInvoice();
List<PmsPurchaseBillDetailDto> pmsPurchaseBillDetailList = dto.getPmsPurchaseBillDetailList();
if (StringUtils.isBlank(dtoSid)) {
//生成单据编号
String billNo = "";
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "CGD" + sysOrganizationVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
dto.setBillNo(billNo);
String sid = this.insertByDto(dto);
purchasePay.setBillSid(sid);
pmsPurchasePayService.saveOrUpdateDto(purchasePay);
@ -176,6 +196,10 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
BeanUtil.copyProperties(entity, vo);
List<PmsPurchaseBillDetailDetailsVo> pmsPurchaseBillDetailDetailsVos = pmsPurchaseBillDetailService.selByMainSid(sid);
vo.setPmsPurchaseBillDetailList(pmsPurchaseBillDetailDetailsVos);
PmsPurchasePayDetailsVo pmsPurchasePayDetailsVo = pmsPurchasePayService.selByMainSid(sid);
vo.setPurchasePay(pmsPurchasePayDetailsVo);
PmsPurchaseBillInvoiceDetailsVo pmsPurchaseBillInvoiceDetailsVo = pmsPurchaseBillInvoiceService.selByMainSid(sid);
vo.setPurchaseBillInvoice(pmsPurchaseBillInvoiceDetailsVo);
return vo;
}
@ -183,56 +207,8 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
delBySids(sids);
for (String sid : sids) {
pmsPurchaseBillDetailService.delByMainSid(sid);
pmsPurchasePayService.delByMainSid(sid);
pmsPurchaseBillInvoiceService.delByMainSid(sid);
}
}
public void updateSettleState(String sid) {
baseMapper.updateSettleState(sid);
}
public List<PmsPurchaseBillExportVo> listExcel(PmsPurchaseBillQuery query) {
QueryWrapper<PmsPurchaseBillExportVo> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getCreateOrgName())){
qw.like("ppb.createOrgSid",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.getBillNo())){
qw.like("ppb.billNo",query.getBillNo());
}
if (StringUtils.isNotBlank(query.getPurchaseTypeValue())){
qw.like("ppb.purchaseTypeValue",query.getPurchaseTypeValue());
}
if (StringUtils.isNotBlank(query.getPurchaseReasonValue())){
qw.like("ppb.purchaseReasonValue",query.getPurchaseReasonValue());
}
if (StringUtils.isNotBlank(query.getPayTypeValue())){
qw.like("ppb.payTypeValue",query.getPayTypeValue());
}
if (StringUtils.isNotBlank(query.getSupplierName())){
qw.like("ppb.supplierName",query.getSupplierName());
}
if (StringUtils.isNotBlank(query.getIsInvoicing())){
qw.eq("ppbi.isInvoicing",query.getIsInvoicing());
}
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')"
);
}
List<PmsPurchaseBillExportVo> exportVoList = baseMapper.exportList(qw);
exportVoList.removeAll(Collections.singleton(null));
return exportVoList;
}
}

16
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetail.java

@ -68,20 +68,14 @@ public class PmsPurchaseBillDetail extends BaseEntity {
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("采购前库存数量")
private BigDecimal currentCount; // 采购前库存数量
@ApiModelProperty("仓库sid")
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库区/货位sid")
private String warehouseAreaSid; // 库区/货位sid
@ApiModelProperty("库区名称")
private String warehouseAreaName; // 库区名称
@ApiModelProperty("货架sid")
private String warehouseRackSid; // 货架sid
@ApiModelProperty("货架名称")
private String warehouseRackName; // 货架名称
@ApiModelProperty("单位成本(进货价)")
private BigDecimal cost; // 单位成本(进货价)
@ApiModelProperty("采购数量")

14
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDetailsVo.java

@ -67,20 +67,14 @@ public class PmsPurchaseBillDetailDetailsVo implements Vo {
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("采购前库存数量")
private BigDecimal currentCount; // 采购前库存数量
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库区/货位sid")
private String warehouseAreaSid; // 库区/货位sid
@ApiModelProperty("库区名称")
private String warehouseAreaName; // 库区名称
@ApiModelProperty("货架sid")
private String warehouseRackSid; // 货架sid
@ApiModelProperty("货架名称")
private String warehouseRackName; // 货架名称
@ApiModelProperty("单位成本(进货价)")
private BigDecimal cost; // 单位成本(进货价)
@ApiModelProperty("采购数量")

14
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDto.java

@ -67,20 +67,14 @@ public class PmsPurchaseBillDetailDto implements Dto {
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("采购前库存数量")
private BigDecimal currentCount; // 采购前库存数量
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库区/货位sid")
private String warehouseAreaSid; // 库区/货位sid
@ApiModelProperty("库区名称")
private String warehouseAreaName; // 库区名称
@ApiModelProperty("货架sid")
private String warehouseRackSid; // 货架sid
@ApiModelProperty("货架名称")
private String warehouseRackName; // 货架名称
@ApiModelProperty("单位成本(进货价)")
private BigDecimal cost; // 单位成本(进货价)
@ApiModelProperty("采购数量")

3
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillinvoice/PmsPurchaseBillInvoiceMapper.java

@ -61,4 +61,7 @@ public interface PmsPurchaseBillInvoiceMapper extends BaseMapper<PmsPurchaseBill
@Delete("delete from pms_purchase_bill_invoice where billSid = #{dtoSid}")
void delByMainSid(String dtoSid);
@Select("select * from pms_purchase_bill_invoice where billSid = #{sid}")
PmsPurchaseBillInvoiceDetailsVo selByMainSid(String sid);
}

4
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillinvoice/PmsPurchaseBillInvoiceService.java

@ -103,4 +103,8 @@ public class PmsPurchaseBillInvoiceService extends MybatisBaseService<PmsPurchas
public void delByMainSid(String dtoSid) {
baseMapper.delByMainSid(dtoSid);
}
public PmsPurchaseBillInvoiceDetailsVo selByMainSid(String sid) {
return baseMapper.selByMainSid(sid);
}
}

3
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasepay/PmsPurchasePayMapper.java

@ -61,4 +61,7 @@ public interface PmsPurchasePayMapper extends BaseMapper<PmsPurchasePay> {
@Delete("delete from pms_purchase_pay where billSid = #{dtoSid}")
void delByMainSid(String dtoSid);
@Select("select * from pms_purchase_pay where billSid = #{sid}")
PmsPurchasePayDetailsVo selByMainSid(String sid);
}

15
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasepay/PmsPurchasePayService.java

@ -38,6 +38,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -124,4 +125,18 @@ public class PmsPurchasePayService extends MybatisBaseService<PmsPurchasePayMapp
public void delByMainSid(String dtoSid) {
baseMapper.delByMainSid(dtoSid);
}
public PmsPurchasePayDetailsVo selByMainSid(String sid) {
PmsPurchasePayDetailsVo pmsPurchasePayDetailsVo = baseMapper.selByMainSid(sid);
PmsPurchasePay pmsPurchasePay = fetchBySid(pmsPurchasePayDetailsVo.getSid());
String filePath = pmsPurchasePay.getFilePath();
String[] filePaths = filePath.split(",");
List<String> urlPahts = new ArrayList<>();
for (String path : filePaths) {
String url = fileUploadComponent.getUrlPrefix() + path;
urlPahts.add(url);
}
pmsPurchasePayDetailsVo.setFilePaths(urlPahts);
return pmsPurchasePayDetailsVo;
}
}

24
yxt-pms-biz/src/main/java/com/yxt/pms/feign/base/BillNo.java

@ -0,0 +1,24 @@
package com.yxt.pms.feign.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author dimengzhe
* @Date 2022/7/1 9:46
* @Description
*/
@Data
public class BillNo implements Serializable {
private static final long serialVersionUID = 1598887042562656350L;
// @ApiModelProperty(value = "品牌编码")
// private String brandCode;
@ApiModelProperty(value = "单据名称首字母")
private String billType;
@ApiModelProperty(value = "分公司编码")
private String orgCode;
}

44
yxt-pms-biz/src/main/java/com/yxt/pms/feign/base/Rule.java

@ -0,0 +1,44 @@
package com.yxt.pms.feign.base;
import cn.hutool.core.date.DateUtil;
import org.springframework.util.StringUtils;
/**
* @Author dimengzhe
* @Date 2022/7/1 9:44
* @Description 规则
*/
public class Rule {
/**
* 单据编号规则单据名称大写首字母+分公司编码+年份+月份+4位顺序号
* 单据名称大写首字母+分公司编码+年份+月份
* 注意品牌编码暂不用
*
* @return
*/
public static String getBill(BillNo b) {
String billType = b.getBillType();
String orgCode = b.getOrgCode();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
String bill = billType;
if (!StringUtils.isEmpty(orgCode)) {
bill = bill + orgCode;
}
bill = bill + date;
return bill;
}
/**
* 生成单据编号规则
*
* @param bill 单据名称大写首字母+分公司编码+年份+月份
* @param i 根据单据编号包含单据名称大写首字母+分公司编码+年份+月份查询出来的单据的个数
* @return
*/
public static String getBillNo(String bill, int i) {
String num = String.format("%04d", i + 1); // 不足4位补0
String billNo = bill + num;
return billNo;
}
}
Loading…
Cancel
Save