JAVA全系列 教程
3762个小节阅读:7092.8k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
序号 | 接口名称 | 接口地址 | 请求类型 |
---|---|---|---|
1 | 分页查询所有采购入库列表信息 | /erp/purchase/listPurchaseForPage | get |
2 | 提交审核 | /erp/purchase/doAudit/{purchaseId} | post |
3 | 提交作废 | /erp/purchase/doInvalid/{purchaseId} | post |
4 | 生成采购单ID | /erp/purchase/generatePurchaseId | get |
5 | 添加采购单并提交审核 | /erp/purchase/addPurchaseToAudit | post |
6 | 暂存采购单信息 | /erp/purchase/addPurchase | post |
7 | 查询采购单详情 | /erp/purchase/queryPurchaseAndItemByPurchaseId/{purchaseId} | get |
参数名称 | 是否必须 |
---|---|
pageNum | 否 |
pageSize | 否 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
total | int | |
code | int | |
data | object [] | item 类型: object |
├─ purchaseId | String | |
├─ providerId | String | |
├─ purchaseTradeTotalAmount | int | |
├─ status | String | |
├─ applyUserId | int | |
├─ applyUserName | String | |
├─ storageOptUser | String | |
├─ storageOptTime | String | |
├─ auditMsg | String | |
├─ createTime | String | |
├─ updateTime | String | |
├─ createBy | String | |
├─ updateBy | String |
创建Purchase、PurchaseDto
xxxxxxxxxx
import ...
/**
* @Author:
*/
value="com-dto-PurchaseDto") (
callSuper=true) (
public class PurchaseDto extends BaseDto {
/**
* 制单号ID 全局ID雪花算法
*/
value = "制单号ID 全局ID雪花算法") (
message = "采购单据号不能为空") (
private String purchaseId;
/**
* 供应商ID
*/
value = "供应商ID") (
message = "供应商ID不能为空") (
private String providerId;
/**
* 采购批发总额
*/
value = "采购批发总额") (
message = "采购批发总额不能为空") (
private BigDecimal purchaseTradeTotalAmount;
/**
* 单据状态; 1未提交2待审核 3审核通过 4审核失败 5作废 6入库成功 字典表 his_order_status
*/
value = "单据状态; 1未提交2待审核 3审核通过 4审核失败 5作废 6入库成功 字典表 his_order_status") (
private String status;
/**
* 申请人ID
*/
value = "申请人ID") (
private Long applyUserId;
/**
* 申请人名称
*/
value = "申请人名称") (
private String applyUserName;
/**
* 入库操作人
*/
value = "入库操作人") (
private String storageOptUser;
/**
* 入库操作时间
*/
value = "入库操作时间") (
private Date storageOptTime;
/**
* 审核信息
*/
value = "审核信息") (
private String auditMsg;
}
xxxxxxxxxx
public interface PurchaseMapper extends BaseMapper<Purchase> {}
创建PurchaseMapper.xml
xxxxxxxxxx
<mapper namespace="com.itbaizhan.openhis.mapper.ProducerMapper">
<resultMap id="BaseResultMap" type="com.itbaizhan.openhis.domain.Producer">
<!--@mbg.generated-->
<!--@Table stock_producter-->
<id column="producter_id" jdbcType="BIGINT" property="producterId" />
<result column="producter_name" jdbcType="VARCHAR" property="producterName" />
<result column="producter_code" jdbcType="VARCHAR" property="producterCode" />
<result column="producter_address" jdbcType="VARCHAR" property="producterAddress" />
<result column="producter_tel" jdbcType="VARCHAR" property="producterTel" />
<result column="producter_person" jdbcType="VARCHAR" property="producterPerson" />
<result column="keywords" jdbcType="VARCHAR" property="keywords" />
<result column="status" jdbcType="CHAR" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
producter_id, producter_name, producter_code, producter_address, producter_tel, producter_person,
keywords, `status`, create_time, update_time, create_by, update_by
</sql>
</mapper>
xxxxxxxxxx
public class PurchaseServiceImpl implements PurchaseService{
private PurchaseMapper purchaseMapper;
public DataGridView listPurchasePage(PurchaseDto purchaseDto) {
Page<Purchase> page=new Page<>(purchaseDto.getPageNum(),purchaseDto.getPageSize());
QueryWrapper<Purchase> qw=new QueryWrapper<>();
qw.eq(StringUtils.isNotBlank(purchaseDto.getProviderId()),Purchase.COL_PROVIDER_ID,purchaseDto.getProviderId());
qw.eq(StringUtils.isNotBlank(purchaseDto.getStatus()),Purchase.COL_STATUS,purchaseDto.getStatus()); qw.like(StringUtils.isNotBlank(purchaseDto.getApplyUserName()),Purchase.COL_APPLY_USER_NAME,purchaseDto.getApplyUserName());
qw.orderByDesc(Purchase.COL_CREATE_TIME);
this.purchaseMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
}
xxxxxxxxxx
"erp/purchase") (
public class PurchaseController {
//使用dubbo的引用
private PurchaseService purchaseService;
/**
* 分页查询
*/
"listPurchaseForPage") (
public AjaxResult listPurchaseForPage(PurchaseDto purchaseDto) {
DataGridView gridView = this.purchaseService.listPurchasePage(purchaseDto);
return AjaxResult.success("查询成功", gridView.getData(), gridView.getTotal());
}
}
分页查询所有采购入库列表信息 /erp/purchase/listPurchaseForPage
参数名称 | 是否必须 |
---|---|
purchaseId | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
purchase | object | |
├─ createTime | String | |
├─ purchaseId | String | |
├─ createBy | String | |
├─ purchaseTradeTotalAmount | int | |
├─ providerId | int | |
items | object [] | item 类型: object |
├─ medicinesId | int | |
├─ medicinesNumber | String | |
├─ medicinesName | String | |
├─ medicinesType | String | |
├─ prescriptionType | String | |
├─ prescriptionPrice | int | |
├─ unit | String | |
├─ conversion | int | |
├─ keywords | String | |
├─ producterId | String | |
├─ medicinesStockNum | int | |
├─ medicinesStockDangerNum | int | |
├─ purchaseNumber | int | |
├─ tradePrice | int | |
├─ tradeTotalAmount | int | |
├─ batchNumber | String | |
├─ remark | String |
创建Purchase、PurchaseDto
创建PurchaseMapper、PurchaseMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Purchase;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.domain.PurchaseItem;
import com.bjsxt.domain.SimpleUser;
import com.bjsxt.dto.PurchaseDto;
import com.bjsxt.dto.PurchaseFormDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
/**
*
*/
public interface PurchaseService {
/**
* 分页查询
* @param purchaseDto
* @return
*/
DataGridView listPurchasePage(PurchaseDto purchaseDto);
/**
* 提交 审核
* @param purchaseId
* @return
*/
int doAudit(String purchaseId, SimpleUser simpleUser);
}
xxxxxxxxxx
package com.bjsxt.controller.erp;
import ...
"erp/purchase") (
public class PurchaseController {
//使用dubbo的引用
private PurchaseService purchaseService;
/**
* 分页查询
*/
"listPurchaseForPage") (
public AjaxResult listPurchaseForPage(PurchaseDto purchaseDto) {
DataGridView gridView = this.purchaseService.listPurchasePage(purchaseDto);
return AjaxResult.success("查询成功", gridView.getData(), gridView.getTotal());
}
/**
* 提交审核
* 什么条件下可以提交审核
*/
"doAudit/{purchaseId}") (
title = "采购单管理--提交审核", businessType = BusinessType.UPDATE) (
public AjaxResult doAudit( String purchaseId) {
//根据purchaseId查询单据对象
Purchase purchase = this.purchaseService.getPurchaseById(purchaseId);
if (purchase.getStatus().equals(Constants.STOCK_PURCHASE_STATUS_1) || purchase.getStatus().equals(Constants.STOCK_PURCHASE_STATUS_4)) {
int i = this.purchaseService.doAudit(purchaseId, ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(i);
} else {
return AjaxResult.fail("当前单据状态不是【未提交】或【审核失败】状态,不能提交审核");
}
}
}
提交审核/erp/purchase/doAudit/{purchaseId}
参数名称 | 是否必须 |
---|---|
purchaseId | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
code | int | |
msg | String |
创建Purchase、PurchaseDto
创建PurchaseMapper、PurchaseMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Purchase;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.domain.PurchaseItem;
import com.bjsxt.domain.SimpleUser;
import com.bjsxt.dto.PurchaseDto;
import com.bjsxt.dto.PurchaseFormDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
public interface PurchaseService {
/**
* 分页查询
* @param purchaseDto
* @return
*/
DataGridView listPurchasePage(PurchaseDto purchaseDto);
/**
* 提交 审核
* @param purchaseId
* @return
*/
int doAudit(String purchaseId, SimpleUser simpleUser);
/**
* 作废
* @param purchaseId
* @return
*/
int doInvalid(String purchaseId);
}
xxxxxxxxxx
package com.bjsxt.controller.erp;
import ...
"erp/purchase") (
public class PurchaseController {
//使用dubbo的引用
private PurchaseService purchaseService;
/**
* 分页查询
*/
"listPurchaseForPage") (
public AjaxResult listPurchaseForPage(PurchaseDto purchaseDto) {
DataGridView gridView = this.purchaseService.listPurchasePage(purchaseDto);
return AjaxResult.success("查询成功", gridView.getData(), gridView.getTotal());
}
/**
* 提交审核
* 什么条件下可以提交审核
*/
"doAudit/{purchaseId}") (
title = "采购单管理--提交审核", businessType = BusinessType.UPDATE) (
public AjaxResult doAudit( String purchaseId) {
//根据purchaseId查询单据对象
Purchase purchase = this.purchaseService.getPurchaseById(purchaseId);
if (purchase.getStatus().equals(Constants.STOCK_PURCHASE_STATUS_1) || purchase.getStatus().equals(Constants.STOCK_PURCHASE_STATUS_4)) {
int i = this.purchaseService.doAudit(purchaseId, ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(i);
} else {
return AjaxResult.fail("当前单据状态不是【未提交】或【审核失败】状态,不能提交审核");
}
}
/**
* 作废
* 什么条件下可以提交作废
*/
"doInvalid/{purchaseId}") (
title = "采购单管理--作废", businessType = BusinessType.UPDATE) (
public AjaxResult doInvalid( String purchaseId) {
//根据purchaseId查询单据对象
Purchase purchase = this.purchaseService.getPurchaseById(purchaseId);
if (purchase.getStatus().equals(Constants.STOCK_PURCHASE_STATUS_1) || purchase.getStatus().equals(Constants.STOCK_PURCHASE_STATUS_4)) {
int i = this.purchaseService.doInvalid(purchaseId);
return AjaxResult.toAjax(i);
} else {
return AjaxResult.fail("当前单据状态不是【未提交】或【审核失败】状态,不能提交审核");
}
}
}
提交作废/erp/purchase/doInvalid/{purchaseId}
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String |
xxxxxxxxxx
/**
* @Author:
*/
public class IdGeneratorSnowflake {
private static final Logger log = LoggerFactory.getLogger(HttpUtils.class);
private static long workId = 0;
private static long datacenterId = 1;
private static Snowflake snowflake;
static {
try {
// workId = NetUtil.ipv4ToLong(NetUtil.getLocalhostStr());
log.info("当前机器的工作ID为:" + workId);
snowflake=IdUtil.createSnowflake(workId, datacenterId);
} catch (Exception e) {
e.printStackTrace();
log.error("当前机器的workId获取失败", e);
workId = NetUtil.getLocalhostStr().hashCode();
}
}
/**
* 产生4位验证码
* @return
*/
public static Integer generateVerificationCode(){
Random random = new Random();
int randomNumber = random.nextInt(9000) + 1000;
return randomNumber;
}
/**
* 生成ID
*/
public static synchronized Long snowflakeId() {
return snowflake.nextId();
}
/**
* 根据前缀前成ID
*/
public static String generatorIdWithProfix(String profix) {
return profix + snowflakeId();
}
public static void main(String[] args) {
System.out.println(generatorIdWithProfix("CG"));
}
}
名称 | 类型 | 是否必须 | 其他信息 |
---|---|---|---|
purchaseDto | object | 必须 | |
├─ purchaseId | String | 必须 | |
├─ purchaseTradeTotalAmount | int | 必须 | |
├─ providerId | int | 必须 | |
purchaseItemDtos | object [] | 必须 | item 类型: object |
├─ medicinesId | int | 必须 | |
├─ medicinesName | String | 必须 | |
├─ medicinesType | String | 必须 | |
├─ prescriptionType | String | 必须 | |
├─ unit | String | 必须 | |
├─ conversion | String | 必须 | |
├─ keywords | String | 必须 | |
├─ producterId | String | 必须 | |
├─ purchaseNumber | int | 必须 | |
├─ tradePrice | int | 必须 | |
├─ tradeTotalAmount | int | 必须 | |
├─ batchNumber | String | 必须 | |
├─ remark | String | 必须 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int |
xxxxxxxxxx
public class PurchaseServiceImpl implements PurchaseService{
private PurchaseMapper purchaseMapper;
public DataGridView listPurchasePage(PurchaseDto purchaseDto) {
Page<Purchase> page=new Page<>(purchaseDto.getPageNum(),purchaseDto.getPageSize());
QueryWrapper<Purchase> qw=new QueryWrapper<>();
qw.eq(StringUtils.isNotBlank(purchaseDto.getProviderId()),Purchase.COL_PROVIDER_ID,purchaseDto.getProviderId());
qw.eq(StringUtils.isNotBlank(purchaseDto.getStatus()),Purchase.COL_STATUS,purchaseDto.getStatus()); qw.like(StringUtils.isNotBlank(purchaseDto.getApplyUserName()),Purchase.COL_APPLY_USER_NAME,purchaseDto.getApplyUserName());
qw.orderByDesc(Purchase.COL_CREATE_TIME);
this.purchaseMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
/**
* 保存并提交审核 状态应该是Constants.STOCK_PURCHASE_STATUS_2
* @param purchaseFormDto
* @return
*/
public int addPurchaseAndItemToAudit(PurchaseFormDto purchaseFormDto) {
Purchase purchase = this.purchaseMapper.selectById(purchaseFormDto.getPurchaseDto().getPurchaseId());
if(null!=purchase){
//删除之前的数据
this.purchaseMapper.deleteById(purchase.getPurchaseId());
//删除之前的详情数据
QueryWrapper<PurchaseItem> qw=new QueryWrapper<>();
qw.eq(PurchaseItem.COL_PURCHASE_ID,purchase.getPurchaseId());
this.purchaseItemMapper.delete(qw);
}
//保存采购单主表数据
Purchase newPurchase=new Purchase();
BeanUtil.copyProperties(purchaseFormDto.getPurchaseDto(),newPurchase);
newPurchase.setStatus(Constants.STOCK_PURCHASE_STATUS_2);//待审核
newPurchase.setCreateBy(purchaseFormDto.getPurchaseDto().getSimpleUser().getUserName());
newPurchase.setCreateTime(DateUtil.date());
//设置申请人和申请人的ID
newPurchase.setApplyUserId(Long.valueOf(purchaseFormDto.getPurchaseDto().getSimpleUser().getUserId().toString()));
newPurchase.setApplyUserName(purchaseFormDto.getPurchaseDto().getSimpleUser().getUserName());
int a=this.purchaseMapper.insert(newPurchase);
//保存详情数据
for (PurchaseItemDto item : purchaseFormDto.getPurchaseItemDtos()) {
PurchaseItem purchaseItem=new PurchaseItem();
BeanUtil.copyProperties(item,purchaseItem);
purchaseItem.setPurchaseId(newPurchase.getPurchaseId());
purchaseItem.setItemId(IdGeneratorSnowflake.snowflakeId().toString());
this.purchaseItemMapper.insert(purchaseItem);
}
return a;
}
}
xxxxxxxxxx
"erp/purchase") (
public class PurchaseController {
//使用dubbo的引用
private PurchaseService purchaseService;
/**
* 分页查询
*/
"listPurchaseForPage") (
public AjaxResult listPurchaseForPage(PurchaseDto purchaseDto) {
DataGridView gridView = this.purchaseService.listPurchasePage(purchaseDto);
return AjaxResult.success("查询成功", gridView.getData(), gridView.getTotal());
}
/**
* 保存并提交审核采购单数据和详情
*/
"addPurchaseToAudit") (
title = "采购单管理--添加并提交审核采购单位和详情数据", businessType = BusinessType.INSERT) (
public AjaxResult addPurchaseToAudit( PurchaseFormDto purchaseFormDto) {
//判断当前采购单的状态
if (!checkPurchase(purchaseFormDto)) {
return AjaxResult.fail("当前单据状态不是【未提交】或【审核失败】状态,不能进行修改");
}
purchaseFormDto.getPurchaseDto().setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.purchaseService.addPurchaseAndItemToAudit(purchaseFormDto));
}
}
添加采购单并提交审核 /erp/purchase/addPurchaseToAudit,图片
返回JSON数据
xxxxxxxxxx
public class PurchaseServiceImpl implements PurchaseService{
private PurchaseMapper purchaseMapper;
public DataGridView listPurchasePage(PurchaseDto purchaseDto) {
Page<Purchase> page=new Page<>(purchaseDto.getPageNum(),purchaseDto.getPageSize());
QueryWrapper<Purchase> qw=new QueryWrapper<>();
qw.eq(StringUtils.isNotBlank(purchaseDto.getProviderId()),Purchase.COL_PROVIDER_ID,purchaseDto.getProviderId());
qw.eq(StringUtils.isNotBlank(purchaseDto.getStatus()),Purchase.COL_STATUS,purchaseDto.getStatus()); qw.like(StringUtils.isNotBlank(purchaseDto.getApplyUserName()),Purchase.COL_APPLY_USER_NAME,purchaseDto.getApplyUserName());
qw.orderByDesc(Purchase.COL_CREATE_TIME);
this.purchaseMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
/**
* 保存并提交审核 状态应该是Constants.STOCK_PURCHASE_STATUS_2
* @param purchaseFormDto
* @return
*/
public int addPurchaseAndItemToAudit(PurchaseFormDto purchaseFormDto) {
Purchase purchase = this.purchaseMapper.selectById(purchaseFormDto.getPurchaseDto().getPurchaseId());
if(null!=purchase){
//删除之前的数据
this.purchaseMapper.deleteById(purchase.getPurchaseId());
//删除之前的详情数据
QueryWrapper<PurchaseItem> qw=new QueryWrapper<>();
qw.eq(PurchaseItem.COL_PURCHASE_ID,purchase.getPurchaseId());
this.purchaseItemMapper.delete(qw);
}
//保存采购单主表数据
Purchase newPurchase=new Purchase();
BeanUtil.copyProperties(purchaseFormDto.getPurchaseDto(),newPurchase);
newPurchase.setStatus(Constants.STOCK_PURCHASE_STATUS_2);//待审核
newPurchase.setCreateBy(purchaseFormDto.getPurchaseDto().getSimpleUser().getUserName());
newPurchase.setCreateTime(DateUtil.date());
//设置申请人和申请人的ID
newPurchase.setApplyUserId(Long.valueOf(purchaseFormDto.getPurchaseDto().getSimpleUser().getUserId().toString()));
newPurchase.setApplyUserName(purchaseFormDto.getPurchaseDto().getSimpleUser().getUserName());
int a=this.purchaseMapper.insert(newPurchase);
//保存详情数据
for (PurchaseItemDto item : purchaseFormDto.getPurchaseItemDtos()) {
PurchaseItem purchaseItem=new PurchaseItem();
BeanUtil.copyProperties(item,purchaseItem);
purchaseItem.setPurchaseId(newPurchase.getPurchaseId());
purchaseItem.setItemId(IdGeneratorSnowflake.snowflakeId().toString());
this.purchaseItemMapper.insert(purchaseItem);
}
return a;
}
/**
* 暂存 采购单的状态是Constants.STOCK_PURCHASE_STATUS_1
* @param purchaseFormDto
* @return
*/
public int addPurchaseAndItem(PurchaseFormDto purchaseFormDto) {
Purchase purchase = this.purchaseMapper.selectById(purchaseFormDto.getPurchaseDto().getPurchaseId());
if(null!=purchase){
//删除之前的数据
this.purchaseMapper.deleteById(purchase.getPurchaseId());
//删除之前的详情数据
QueryWrapper<PurchaseItem> qw=new QueryWrapper<>();
qw.eq(PurchaseItem.COL_PURCHASE_ID,purchase.getPurchaseId());
this.purchaseItemMapper.delete(qw);
}
//保存采购单主表数据
Purchase newPurchase=new Purchase();
BeanUtil.copyProperties(purchaseFormDto.getPurchaseDto(),newPurchase);
newPurchase.setStatus(Constants.STOCK_PURCHASE_STATUS_1);//未提交状态
newPurchase.setCreateBy(purchaseFormDto.getPurchaseDto().getSimpleUser().getUserName());
newPurchase.setCreateTime(DateUtil.date());
int a=this.purchaseMapper.insert(newPurchase);
//保存详情数据
for (PurchaseItemDto item : purchaseFormDto.getPurchaseItemDtos()) {
PurchaseItem purchaseItem=new PurchaseItem();
BeanUtil.copyProperties(item,purchaseItem);
purchaseItem.setPurchaseId(newPurchase.getPurchaseId());
purchaseItem.setItemId(IdGeneratorSnowflake.snowflakeId().toString());
this.purchaseItemMapper.insert(purchaseItem);
}
return a;
}
}
xxxxxxxxxx
"erp/purchase") (
public class PurchaseController {
//使用dubbo的引用
private PurchaseService purchaseService;
/**
* 分页查询
*/
"listPurchaseForPage") (
public AjaxResult listPurchaseForPage(PurchaseDto purchaseDto) {
DataGridView gridView = this.purchaseService.listPurchasePage(purchaseDto);
return AjaxResult.success("查询成功", gridView.getData(), gridView.getTotal());
}
/**
* 保存并提交审核采购单数据和详情
*/
"addPurchaseToAudit") (
title = "采购单管理--添加并提交审核采购单位和详情数据", businessType = BusinessType.INSERT) (
public AjaxResult addPurchaseToAudit( PurchaseFormDto purchaseFormDto) {
//判断当前采购单的状态
if (!checkPurchase(purchaseFormDto)) {
return AjaxResult.fail("当前单据状态不是【未提交】或【审核失败】状态,不能进行修改");
}
purchaseFormDto.getPurchaseDto().setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.purchaseService.addPurchaseAndItemToAudit(purchaseFormDto));
}
/**
* 暂存采购单数据和详情
*/
"addPurchase") (
title = "采购单管理--暂存采购单位和详情数据", businessType = BusinessType.INSERT) (
public AjaxResult addPurchase( PurchaseFormDto purchaseFormDto) {
//判断当前采购单的状态
if (!checkPurchase(purchaseFormDto)) {
return AjaxResult.fail("当前单据状态不是【未提交】或【审核失败】状态,不能进行修改");
}
purchaseFormDto.getPurchaseDto().setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.purchaseService.addPurchaseAndItem(purchaseFormDto));
}
}
暂存采购单信息 /erp/purchase/addPurchase,图片
参数名称 | 是否必须 |
---|---|
pageNum | 否 |
pageSize | 否 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
total | int | |
code | int | |
data | object [] | item 类型: object |
├─ purchaseId | String | |
├─ providerId | String | |
├─ purchaseTradeTotalAmount | int | |
├─ status | String | |
├─ applyUserId | int | |
├─ applyUserName | String | |
├─ storageOptUser | String | |
├─ storageOptTime | String | |
├─ auditMsg | String | |
├─ createTime | String | |
├─ updateTime | String | |
├─ createBy | String | |
├─ updateBy | String |
值对象Dto
xxxxxxxxxx
package com.bjsxt.dto;
import ...
/**
*
*/
value="com-bjsxt-dto-PurchaseDto") (
callSuper=true) (
public class PurchaseDto extends BaseDto {
/**
* 制单号ID 全局ID雪花算法
*/
value = "制单号ID 全局ID雪花算法") (
message = "采购单据号不能为空") (
private String purchaseId;
/**
* 供应商ID
*/
value = "供应商ID") (
message = "供应商ID不能为空") (
private String providerId;
/**
* 采购批发总额
*/
value = "采购批发总额") (
message = "采购批发总额不能为空") (
private BigDecimal purchaseTradeTotalAmount;
/**
* 单据状态; 1未提交2待审核 3审核通过 4审核失败 5作废 6入库成功 字典表 his_order_status
*/
value = "单据状态; 1未提交2待审核 3审核通过 4审核失败 5作废 6入库成功 字典表 his_order_status") (
private String status;
/**
* 申请人ID
*/
value = "申请人ID") (
private Long applyUserId;
/**
* 申请人名称
*/
value = "申请人名称") (
private String applyUserName;
/**
* 入库操作人
*/
value = "入库操作人") (
private String storageOptUser;
/**
* 入库操作时间
*/
value = "入库操作时间") (
private Date storageOptTime;
/**
* 审核信息
*/
value = "审核信息") (
private String auditMsg;
}
xxxxxxxxxx
package com.bjsxt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bjsxt.domain.PurchaseItem;
/**
*
*/
public interface PurchaseItemMapper extends BaseMapper<PurchaseItem> {
}
PurchaseMapper.xml
xxxxxxxxxx
<mapper namespace="com.bjsxt.mapper.PurchaseMapper">
<resultMap id="BaseResultMap" type="com.bjsxt.domain.Purchase">
<!--@mbg.generated-->
<!--@Table stock_purchase-->
<id column="purchase_id" jdbcType="VARCHAR" property="purchaseId" />
<result column="provider_id" jdbcType="VARCHAR" property="providerId" />
<result column="purchase_trade_total_amount" jdbcType="DECIMAL" property="purchaseTradeTotalAmount" />
<result column="status" jdbcType="CHAR" property="status" />
<result column="apply_user_id" jdbcType="BIGINT" property="applyUserId" />
<result column="apply_user_name" jdbcType="VARCHAR" property="applyUserName" />
<result column="storage_opt_user" jdbcType="VARCHAR" property="storageOptUser" />
<result column="storage_opt_time" jdbcType="TIMESTAMP" property="storageOptTime" />
<result column="audit_msg" jdbcType="VARCHAR" property="auditMsg" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
purchase_id, provider_id, purchase_trade_total_amount, `status`, apply_user_id, apply_user_name,
storage_opt_user, storage_opt_time, audit_msg, create_time, update_time, create_by,
update_by
</sql>
</mapper>
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Purchase;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.domain.PurchaseItem;
import com.bjsxt.domain.SimpleUser;
import com.bjsxt.dto.PurchaseDto;
import com.bjsxt.dto.PurchaseFormDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
/**
*
*/
public interface PurchaseService {
/**
* 分页查询
* @param purchaseDto
* @return
*/
DataGridView listPurchasePage(PurchaseDto purchaseDto);
}
xxxxxxxxxx
package com.bjsxt.controller.erp;
import ...
"erp/purchase") (
public class PurchaseController {
//使用dubbo的引用
private PurchaseService purchaseService;
/**
* 分页查询
*/
"listPurchaseForPage") (
public AjaxResult listPurchaseForPage(PurchaseDto purchaseDto) {
DataGridView gridView = this.purchaseService.listPurchasePage(purchaseDto);
return AjaxResult.success("查询成功", gridView.getData(), gridView.getTotal());
}
}
查询采购单详情/erp/purchase/queryPurchaseAndItemByPurchaseId/{purchaseId}