feat: 0523开发询价模块

dev_kcyj
chenhc 1 year ago
parent 65e6bdf631
commit e4faa404e0

@ -1,6 +1,7 @@
package com.glxp.api.controller.purchase;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.RepeatSubmit;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
@ -10,6 +11,7 @@ import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import com.glxp.api.res.purchase.PurOrderResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.purchase.impl.PurContractDetailService;
@ -26,6 +28,7 @@ import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@RestController
@Slf4j
@ -97,10 +100,12 @@ public class PurContractController {
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
purContractRequest.setSysApprovalFlow(sys_approval_flow);
IPage<PurContractEntityResponse> page = purContractService.queryPageList(purContractRequest);
List<PurContractEntityResponse> purContractEntityResponses = purContractService.queryPageList(purContractRequest);
PageInfo<PurContractEntityResponse> pageInfo;
pageInfo = new PageInfo<>(purContractEntityResponses);
PageSimpleResponse<PurContractEntityResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(page.getTotal());
pageSimpleResponse.setList(page.getRecords());
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purContractEntityResponses);
return ResultVOUtils.success(pageSimpleResponse);
}

@ -0,0 +1,201 @@
package com.glxp.api.controller.purchase;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.purchase.*;
import com.glxp.api.req.purchase.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.purchase.impl.PurInquiryItemDetailService;
import com.glxp.api.service.purchase.impl.PurInquiryItemService;
import com.glxp.api.service.purchase.impl.PurInquiryService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import jodd.util.StringUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@RestController
@Slf4j
@RequiredArgsConstructor
public class PurInquiryController {
@Resource
CustomerService customerService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
PurInquiryService purInquiryService;
@Resource
PurInquiryItemService purInquiryItemService;
@Resource
SysApprovalFlowService sysApprovalFlowService;
@Resource
PurInquiryItemDetailService purInquiryItemDetailService;
final String type_xjjh = "xjjh";
/**
*
*/
@GetMapping("/purchase/purInquiry/list")
public BaseResponse list(PurInquiryRequest purInquiryRequest) {
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
purInquiryRequest.setSysApprovalFlow(sys_approval_flow);
List<PurInquiryEntityResponse> purInquiryEntityResponses = purInquiryService.queryPageList(purInquiryRequest);
PageInfo<PurInquiryEntityResponse> pageInfo;
pageInfo = new PageInfo<>(purInquiryEntityResponses);
PageSimpleResponse<PurInquiryEntityResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purInquiryEntityResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@PostMapping("/purchase/addPurInquiryItem/add")
public BaseResponse add() {
Long userId = customerService.getUserId();
PurInquiryEntity purInquiryEntity = new PurInquiryEntity();
Date date = new Date();
purInquiryEntity.setCreateUser(userId + "");
purInquiryEntity.setCreateTime(date);
purInquiryEntity.setUpdateTime(date);
purInquiryEntity.setUpdateUser(userId + "");
purInquiryEntity.setPageType(1);
purInquiryService.insert(purInquiryEntity);
Long id = purInquiryEntity.getId();
return ResultVOUtils.success(id);
}
/**
*
*/
@PostMapping("/purchase/purInquiry/addPurInquiryItem")
public BaseResponse addPurInquiryItem(@RequestBody AddPurInquiryItemRequest addPurInquiryItemRequest) {
int falg = purInquiryItemService.insert(addPurInquiryItemRequest);
if (falg > 0) {
return ResultVOUtils.success("添加成功");
} else {
return ResultVOUtils.success("添加失败");
}
}
/**
*
*
* @param purContractDetailRequest
* @return
*/
@GetMapping("/purchase/purInquiry/list/detail")
public BaseResponse getDetailList(PurContractDetailRequest purContractDetailRequest) {
List<PurInquiryItemEntity> page = purInquiryItemService.queryPageList(purContractDetailRequest);
PageInfo<PurInquiryItemEntity> pageInfo;
pageInfo = new PageInfo<>(page);
PageSimpleResponse<PurInquiryItemEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(page);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param purContractDetailRequest
* @return
*/
@GetMapping("/purchase/purInquiry/list/itemDetail")
public BaseResponse getItemDetailList(PurContractDetailRequest purContractDetailRequest) {
List<PurInquiryItemDetailEntity> page = purInquiryItemDetailService.queryPageList(purContractDetailRequest);
PageInfo<PurInquiryItemDetailEntity> pageInfo;
pageInfo = new PageInfo<>(page);
PageSimpleResponse<PurInquiryItemDetailEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(page);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
* 稿
*/
@PostMapping("/purchase/purInquiry/postOrder")
public BaseResponse postOrder(@RequestBody PostPurInquiryRequest postPurInquiryRequest) {
Long userId = customerService.getUserId();
PurInquiryEntity purInquiryEntity = postPurInquiryRequest.getPurInquiryEntity();
Date date = new Date();
purInquiryEntity.setUpdateTime(date);
purInquiryEntity.setUpdateUser(userId + "");
purInquiryEntity.setStatus(postPurInquiryRequest.getEditStatus()); //状态
Integer editStatus = postPurInquiryRequest.getEditStatus();
String billNo = purInquiryEntity.getBillNo();
if (StringUtil.isEmpty(billNo)) {
billNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("XJ", "yyyyMMdd"));
purInquiryEntity.setBillNo(billNo);
}
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
if (editStatus == 2 && sys_approval_flow){//提交审核
String approvalFlowId = sysApprovalFlowService.getApprovalFlowId();
purInquiryEntity.setApprovalFlowId(approvalFlowId);
sysApprovalFlowService.generateFlow(approvalFlowId,purInquiryEntity.getBillNo(),type_xjjh);
}
if (purInquiryEntity.getId() == null) {
purInquiryEntity.setCreateTime(date);
purInquiryEntity.setCreateUser(userId + "");
purInquiryService.save(purInquiryEntity);
} else {
purInquiryService.updateById(purInquiryEntity);
}
//更新明细详情表
purInquiryItemDetailService.updateItemDetail(purInquiryEntity);
return ResultVOUtils.success("提交成功!");
}
/**
*
*/
@PostMapping("/purchase/purInquiry/updateItem")
public BaseResponse updateItem(@RequestBody PurInquiryItemEntity purInquiryItemEntity) {
purInquiryItemService.updateById(purInquiryItemEntity);
return ResultVOUtils.success("修改成功");
}
/**
*
*
* @param ids
*/
@DeleteMapping("/purchase/purInquiry/item/{ids}")
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
purInquiryItemService.deleteByIds(Arrays.asList(ids));
return ResultVOUtils.success("删除成功");
}
}

@ -0,0 +1,204 @@
package com.glxp.api.controller.purchase;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.purchase.PurInquiryOfferEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferItemDetailEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferItemEntity;
import com.glxp.api.req.purchase.AddPurInquiryOfferItemRequest;
import com.glxp.api.req.purchase.PostPurInquiryOfferRequest;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import com.glxp.api.req.purchase.PurInquiryOfferRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.purchase.PurInquiryOfferEntityResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.purchase.impl.PurInquiryOfferItemDetailService;
import com.glxp.api.service.purchase.impl.PurInquiryOfferItemService;
import com.glxp.api.service.purchase.impl.PurInquiryOfferService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import jodd.util.StringUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@RestController
@Slf4j
@RequiredArgsConstructor
public class PurInquiryOfferController {
@Resource
CustomerService customerService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
PurInquiryOfferService purInquiryOfferService;
@Resource
PurInquiryOfferItemService purInquiryOfferItemService;
@Resource
SysApprovalFlowService sysApprovalFlowService;
@Resource
PurInquiryOfferItemDetailService purInquiryOfferItemDetailService;
final String type_xjbj = "xjbj";
/**
*
*/
@GetMapping("/purchase/purInquiryOffer/list")
public BaseResponse list(PurInquiryOfferRequest purInquiryOfferRequest) {
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
purInquiryOfferRequest.setSysApprovalFlow(sys_approval_flow);
List<PurInquiryOfferEntityResponse> purInquiryOfferEntityResponses = purInquiryOfferService.queryPageList(purInquiryOfferRequest);
PageInfo<PurInquiryOfferEntityResponse> pageInfo;
pageInfo = new PageInfo<>(purInquiryOfferEntityResponses);
PageSimpleResponse<PurInquiryOfferEntityResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purInquiryOfferEntityResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@PostMapping("/purchase/addPurInquiryOfferItem/add")
public BaseResponse add() {
Long userId = customerService.getUserId();
PurInquiryOfferEntity purInquiryOfferEntity = new PurInquiryOfferEntity();
Date date = new Date();
purInquiryOfferEntity.setCreateUser(userId + "");
purInquiryOfferEntity.setCreateTime(date);
purInquiryOfferEntity.setUpdateTime(date);
purInquiryOfferEntity.setUpdateUser(userId + "");
purInquiryOfferEntity.setPageType(1);
purInquiryOfferService.insert(purInquiryOfferEntity);
Long id = purInquiryOfferEntity.getId();
return ResultVOUtils.success(id);
}
/**
*
*/
@PostMapping("/purchase/purInquiryOffer/addPurInquiryOfferItem")
public BaseResponse addPurInquiryOfferItem(@RequestBody AddPurInquiryOfferItemRequest addPurInquiryOfferItemRequest) {
int falg = purInquiryOfferItemService.insert(addPurInquiryOfferItemRequest);
if (falg > 0) {
return ResultVOUtils.success("添加成功");
} else {
return ResultVOUtils.success("添加失败");
}
}
/**
*
*
* @param purContractDetailRequest
* @return
*/
@GetMapping("/purchase/purInquiryOffer/list/detail")
public BaseResponse getDetailList(PurContractDetailRequest purContractDetailRequest) {
List<PurInquiryOfferItemEntity> page = purInquiryOfferItemService.queryPageList(purContractDetailRequest);
PageInfo<PurInquiryOfferItemEntity> pageInfo;
pageInfo = new PageInfo<>(page);
PageSimpleResponse<PurInquiryOfferItemEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(page);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param purContractDetailRequest
* @return
*/
@GetMapping("/purchase/purInquiryOffer/list/itemDetail")
public BaseResponse getItemDetailList(PurContractDetailRequest purContractDetailRequest) {
List<PurInquiryOfferItemDetailEntity> page = purInquiryOfferItemDetailService.queryPageList(purContractDetailRequest);
PageInfo<PurInquiryOfferItemDetailEntity> pageInfo;
pageInfo = new PageInfo<>(page);
PageSimpleResponse<PurInquiryOfferItemDetailEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(page);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
* 稿
*/
@PostMapping("/purchase/purInquiryOffer/postOrder")
public BaseResponse postOrder(@RequestBody PostPurInquiryOfferRequest postPurInquiryOfferRequest) {
Long userId = customerService.getUserId();
PurInquiryOfferEntity purInquiryOfferEntity = postPurInquiryOfferRequest.getPurInquiryOfferEntity();
Date date = new Date();
purInquiryOfferEntity.setUpdateTime(date);
purInquiryOfferEntity.setUpdateUser(userId + "");
purInquiryOfferEntity.setStatus(postPurInquiryOfferRequest.getEditStatus()); //状态
Integer editStatus = postPurInquiryOfferRequest.getEditStatus();
String billNo = purInquiryOfferEntity.getBillNo();
if (StringUtil.isEmpty(billNo)) {
billNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("XJ", "yyyyMMdd"));
purInquiryOfferEntity.setBillNo(billNo);
}
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
if (editStatus == 2 && sys_approval_flow){//提交审核
String approvalFlowId = sysApprovalFlowService.getApprovalFlowId();
purInquiryOfferEntity.setApprovalFlowId(approvalFlowId);
sysApprovalFlowService.generateFlow(approvalFlowId,purInquiryOfferEntity.getBillNo(),type_xjbj);
}
if (purInquiryOfferEntity.getId() == null) {
purInquiryOfferEntity.setCreateTime(date);
purInquiryOfferEntity.setCreateUser(userId + "");
purInquiryOfferService.save(purInquiryOfferEntity);
} else {
purInquiryOfferService.updateById(purInquiryOfferEntity);
}
//更新明细详情表
purInquiryOfferItemDetailService.updateItemDetail(purInquiryOfferEntity);
return ResultVOUtils.success("提交成功!");
}
/**
*
*/
@PostMapping("/purchase/purInquiryOffer/updateItem")
public BaseResponse updateItem(@RequestBody PurInquiryOfferItemEntity purInquiryOfferItemEntity) {
purInquiryOfferItemService.updateById(purInquiryOfferItemEntity);
return ResultVOUtils.success("修改成功");
}
/**
*
*
* @param ids
*/
@DeleteMapping("/purchase/purInquiryOffer/item/{ids}")
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
purInquiryOfferItemService.deleteByIds(Arrays.asList(ids));
return ResultVOUtils.success("删除成功");
}
}

@ -7,9 +7,11 @@ import com.glxp.api.req.purchase.PurContractRequest;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface PurContractMapper extends BaseMapper<PurContractEntity> {
@Override
int insert(PurContractEntity purContractEntity);
Page<PurContractEntityResponse> selectPage(Page page, @Param("purContractRequest") PurContractRequest purContractRequest);
List<PurContractEntityResponse> selectPage(@Param("purContractRequest") PurContractRequest purContractRequest);
}

@ -0,0 +1,17 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurInquiryItemDetailEntity;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import com.glxp.api.req.purchase.PurInquiryRequest;
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PurInquiryItemDetailMapper extends BaseMapper<PurInquiryItemDetailEntity> {
List<PurInquiryItemDetailEntity> selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest);
}

@ -0,0 +1,16 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurInquiryItemDetailEntity;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PurInquiryItemMapper extends BaseMapper<PurInquiryItemEntity> {
List<PurInquiryItemEntity> selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest);
}

@ -0,0 +1,21 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.glxp.api.entity.purchase.PurContractEntity;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import com.glxp.api.req.purchase.PurInquiryRequest;
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PurInquiryMapper extends BaseMapper<PurInquiryEntity> {
@Override
int insert(PurInquiryEntity purInquiryEntity);
List<PurInquiryEntityResponse> selectPage(@Param("purInquiryRequest") PurInquiryRequest purInquiryRequest);
}

@ -0,0 +1,16 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurInquiryItemDetailEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferItemDetailEntity;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PurInquiryOfferItemDetailMapper extends BaseMapper<PurInquiryOfferItemDetailEntity> {
List<PurInquiryOfferItemDetailEntity> selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest);
}

@ -0,0 +1,16 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferItemEntity;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PurInquiryOfferItemMapper extends BaseMapper<PurInquiryOfferItemEntity> {
List<PurInquiryOfferItemEntity> selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest);
}

@ -0,0 +1,22 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferEntity;
import com.glxp.api.req.purchase.PurInquiryOfferRequest;
import com.glxp.api.req.purchase.PurInquiryRequest;
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
import com.glxp.api.res.purchase.PurInquiryOfferEntityResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PurInquiryOfferMapper extends BaseMapper<PurInquiryOfferEntity> {
@Override
int insert(PurInquiryOfferEntity purInquiryOfferEntity);
List<PurInquiryOfferEntityResponse> selectPage(@Param("purInquiryOfferRequest") PurInquiryOfferRequest purInquiryOfferRequest);
}

@ -0,0 +1,221 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import org.springframework.data.annotation.Transient;
/**
*
*/
@ApiModel(description="询价业务")
@Data
@TableName(value = "pur_inquiry")
public class PurInquiryEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="")
private Long id;
/**
*
*/
@TableField(value = "billNo")
@ApiModelProperty(value="询价单据号")
private String billNo;
/**
*
*/
@TableField(value = "billDate")
@ApiModelProperty(value="询价发起时间")
private Date billDate;
/**
* 1.稿2.3.,4.
*/
@TableField(value = "`status`")
@ApiModelProperty(value="状态1.草稿2.未审核3.已审核,4.已拒绝)")
private Integer status;
@TableField(value = "billType")
@ApiModelProperty(value="")
private String billType;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="询价说明")
private String remark;
/**
*
*/
@TableField(value = "invCode")
@ApiModelProperty(value="当前仓库")
private String invCode;
/**
*
*/
@TableField(value = "deptCode")
@ApiModelProperty(value="所属部门")
private String deptCode;
/**
*
*/
@TableField(value = "`createUser`")
@ApiModelProperty(value="创建人")
private String createUser;
/**
*
*/
@TableField(value = "createTime")
@ApiModelProperty(value="创建时间")
private Date createTime;
/**
*
*/
@TableField(value = "auditUser")
@ApiModelProperty(value="审核人")
private String auditUser;
/**
*
*/
@TableField(value = "auditTime")
@ApiModelProperty(value="审核时间")
private Date auditTime;
/**
*
*/
@TableField(value = "updateUser")
@ApiModelProperty(value="更新人")
private String updateUser;
/**
*
*/
@TableField(value = "updateTime")
@ApiModelProperty(value="更新时间")
private Date updateTime;
/**
*
*/
@TableField(value = "auditRemark")
@ApiModelProperty(value="审核说明")
private String auditRemark;
/**
*
*/
@TableField(value = "targetInvCode")
@ApiModelProperty(value="目标仓库")
private String targetInvCode;
/**
*
*/
@TableField(value = "targetDeptCode")
@ApiModelProperty(value="目标部门")
private String targetDeptCode;
/**
*
*/
@TableField(value = "planBillNo")
@ApiModelProperty(value="生成采购计划单据号")
private String planBillNo;
/**
*
*/
@TableField(value = "generatePlan")
@ApiModelProperty(value="是否已生成采购计划")
private Integer generatePlan;
/**
*
*/
@TableField(value = "emergency")
@ApiModelProperty(value="紧急情况")
private Integer emergency;
/**
*
*/
@TableField(value = "arrivalTime")
@ApiModelProperty(value="期望到货时间")
private Date arrivalTime;
/**
* ()
*/
@TableField(value = "approvalFlowId")
@ApiModelProperty(value="审批表主键(关联审批流程主表)")
private String approvalFlowId;
/**
* 1:2
*/
@TableField(value = "pageType")
@ApiModelProperty(value="1:业务管理2设备管理")
private Integer pageType;
/**
*
*/
@TableField(value = "validUntil")
@ApiModelProperty(value="询价截止时间")
private Date validUntil;
private static final long serialVersionUID = 1L;
@TableField(value = "supIds")
@ApiModelProperty(value="供应商ids")
private String supIds;
// 临时存储实际的字符串数组不会被JPA持久化
@TableField(exist = false)
private String[] fromCorp;
// Getter和Setter用于处理JSON转换
public String getSupIds() {
try {
return new ObjectMapper().writeValueAsString(fromCorp);
} catch (Exception e) {
// 处理异常
return null;
}
}
public void setSupIds(String json) {
try {
this.fromCorp = new ObjectMapper().readValue(json, String[].class);
} catch (Exception e) {
// 处理异常
this.fromCorp = null;
}
}
// 提供对字符串数组的getter和setter
public String[] getFromCorp() {
return fromCorp;
}
public void setFromCorp(String[] fromCorp) {
this.fromCorp = fromCorp;
}
}

@ -0,0 +1,133 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
/**
*
*/
@ApiModel(description="询价业务明细详情表")
@Data
@TableName(value = "pur_inquiry_item_detail")
public class PurInquiryItemDetailEntity implements Serializable {
/**
* ID
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="ID")
private Long id;
/**
*
*/
@TableField(value = "orderIdFk")
@ApiModelProperty(value="关联询价编号")
private String orderIdFk;
/**
* id
*/
@TableField(value = "orderItemIdFk")
@ApiModelProperty(value="关联询明细价id")
private String orderItemIdFk;
/**
*
*/
@TableField(value = "supNumber")
@ApiModelProperty(value="供应商报价第几次")
private Integer supNumber;
/**
* id
*/
@TableField(value = "supId")
@ApiModelProperty(value="供应商id")
private Long supId;
/**
*
*/
@TableField(value = "supName")
@ApiModelProperty(value="供应商名称")
private String supName;
/**
*
*/
@TableField(value = "supPerson")
@ApiModelProperty(value="供应商联系人姓名")
private String supPerson;
/**
*
*/
@TableField(value = "supPhone")
@ApiModelProperty(value="供应商联系人电话")
private String supPhone;
/**
*
*/
@TableField(value = "supEmail")
@ApiModelProperty(value="供应商联系人电子邮件")
private String supEmail;
/**
* URL
*/
@TableField(value = "supFilePath")
@ApiModelProperty(value="供应商附件的路径或URL")
private String supFilePath;
/**
*
*/
@TableField(value = "supCount")
@ApiModelProperty(value="供应商报价数量")
private Integer supCount;
/**
*
*/
@TableField(value = "supPrice")
@ApiModelProperty(value="供应商报价单价")
private BigDecimal supPrice;
/**
*
*/
@TableField(value = "supTotalPrice")
@ApiModelProperty(value="供应商报价总价")
private BigDecimal supTotalPrice;
/**
*
*/
@TableField(value = "supRemark")
@ApiModelProperty(value="说明")
private String supRemark;
/**
* 1 0
*/
@TableField(value = "accord")
@ApiModelProperty(value="是否符合 1 符合 0 不符合")
private Integer accord;
/**
* 1 0
*/
@TableField(value = "adopt")
@ApiModelProperty(value="是否采纳 1 采纳 0 不采纳")
private Integer adopt;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,155 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
*
*/
@ApiModel(description="询价业务明细表")
@Data
@TableName(value = "pur_inquiry_item")
public class PurInquiryItemEntity implements Serializable {
/**
* ID
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="ID")
private Long id;
/**
*
*/
@TableField(value = "orderIdFk")
@ApiModelProperty(value="关联询价编号")
private String orderIdFk;
/**
*
*/
@TableField(value = "`count`")
@ApiModelProperty(value="询价数量")
private Integer count;
/**
*
*/
@TableField(value = "price")
@ApiModelProperty(value="期望单价")
private BigDecimal price;
/**
*
*/
@TableField(value = "totalPrice")
@ApiModelProperty(value="期望总价")
private BigDecimal totalPrice;
/**
* URL
*/
@TableField(value = "attachmentPath")
@ApiModelProperty(value="询价附件的路径或URL如产品规格书、图纸等")
private String attachmentPath;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="说明")
private String remark;
/**
*
*/
@TableField(value = "productId")
@ApiModelProperty(value="产品编码")
private Long productId;
/**
* id uniqueId
*/
@TableField(value = "productUniqueId")
@ApiModelProperty(value="产品唯一id uniqueId")
private String productUniqueId;
/**
*
*/
@TableField(value = "nameCode")
@ApiModelProperty(value="最小销售标识")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
@ApiModelProperty(value="批次号")
private String batchNo;
/**
*
*/
@TableField(value = "productName")
@ApiModelProperty(value="产品名称")
private String productName;
/**
*
*/
@TableField(value = "productCompany")
@ApiModelProperty(value="生产厂家")
private String productCompany;
/**
*
*/
@TableField(value = "produceDate")
@ApiModelProperty(value="生产日期")
private Date produceDate;
/**
*
*/
@TableField(value = "expireDate")
@ApiModelProperty(value="过期时间")
private Date expireDate;
/**
* /
*/
@TableField(value = "zczbhhzbapzbh")
@ApiModelProperty(value="注册证/备案号")
private String zczbhhzbapzbh;
/**
*
*/
@TableField(value = "ggxh")
@ApiModelProperty(value="规格型号")
private String ggxh;
/**
*
*/
@TableField(value = "measname")
@ApiModelProperty(value="单位")
private String measname;
/**
*
*/
@TableField(value = "packRatio")
@ApiModelProperty(value="包装级别")
private String packRatio;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,221 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
*/
@ApiModel(description="询价报价业务")
@Data
@TableName(value = "pur_inquiry_offer")
public class PurInquiryOfferEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="")
private Long id;
/**
*
*/
@TableField(value = "billNo")
@ApiModelProperty(value="询价单据号")
private String billNo;
/**
*
*/
@TableField(value = "billDate")
@ApiModelProperty(value="询价发起时间")
private Date billDate;
/**
* 1.稿2.3.,4.
*/
@TableField(value = "`status`")
@ApiModelProperty(value="状态1.草稿2.未审核3.已审核,4.已拒绝)")
private Integer status;
@TableField(value = "billType")
@ApiModelProperty(value="")
private String billType;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="询价说明")
private String remark;
/**
*
*/
@TableField(value = "invCode")
@ApiModelProperty(value="当前仓库")
private String invCode;
/**
*
*/
@TableField(value = "deptCode")
@ApiModelProperty(value="所属部门")
private String deptCode;
/**
*
*/
@TableField(value = "`createUser`")
@ApiModelProperty(value="创建人")
private String createUser;
/**
*
*/
@TableField(value = "createTime")
@ApiModelProperty(value="创建时间")
private Date createTime;
/**
*
*/
@TableField(value = "auditUser")
@ApiModelProperty(value="审核人")
private String auditUser;
/**
*
*/
@TableField(value = "auditTime")
@ApiModelProperty(value="审核时间")
private Date auditTime;
/**
*
*/
@TableField(value = "updateUser")
@ApiModelProperty(value="更新人")
private String updateUser;
/**
*
*/
@TableField(value = "updateTime")
@ApiModelProperty(value="更新时间")
private Date updateTime;
/**
*
*/
@TableField(value = "auditRemark")
@ApiModelProperty(value="审核说明")
private String auditRemark;
/**
*
*/
@TableField(value = "targetInvCode")
@ApiModelProperty(value="目标仓库")
private String targetInvCode;
/**
*
*/
@TableField(value = "targetDeptCode")
@ApiModelProperty(value="目标部门")
private String targetDeptCode;
/**
*
*/
@TableField(value = "planBillNo")
@ApiModelProperty(value="生成采购计划单据号")
private String planBillNo;
/**
*
*/
@TableField(value = "generatePlan")
@ApiModelProperty(value="是否已生成采购计划")
private Integer generatePlan;
/**
*
*/
@TableField(value = "emergency")
@ApiModelProperty(value="紧急情况")
private Integer emergency;
/**
*
*/
@TableField(value = "arrivalTime")
@ApiModelProperty(value="期望到货时间")
private Date arrivalTime;
/**
* ()
*/
@TableField(value = "approvalFlowId")
@ApiModelProperty(value="审批表主键(关联审批流程主表)")
private String approvalFlowId;
/**
* 1:2
*/
@TableField(value = "pageType")
@ApiModelProperty(value="1:业务管理2设备管理")
private Integer pageType;
/**
*
*/
@TableField(value = "validUntil")
@ApiModelProperty(value="询价截止时间")
private Date validUntil;
private static final long serialVersionUID = 1L;
@TableField(value = "supIds")
@ApiModelProperty(value="供应商ids")
private String supIds;
// 临时存储实际的字符串数组不会被JPA持久化
@TableField(exist = false)
private String[] fromCorp;
// Getter和Setter用于处理JSON转换
public String getSupIds() {
try {
return new ObjectMapper().writeValueAsString(fromCorp);
} catch (Exception e) {
// 处理异常
return null;
}
}
public void setSupIds(String json) {
try {
this.fromCorp = new ObjectMapper().readValue(json, String[].class);
} catch (Exception e) {
// 处理异常
this.fromCorp = null;
}
}
// 提供对字符串数组的getter和setter
public String[] getFromCorp() {
return fromCorp;
}
public void setFromCorp(String[] fromCorp) {
this.fromCorp = fromCorp;
}
}

@ -0,0 +1,134 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
*
*/
@ApiModel(description="询价报价业务明细详情表")
@Data
@TableName(value = "pur_inquiry_offer_item_detail")
public class PurInquiryOfferItemDetailEntity implements Serializable {
/**
* ID
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="ID")
private Long id;
/**
*
*/
@TableField(value = "orderIdFk")
@ApiModelProperty(value="关联询价编号")
private String orderIdFk;
/**
* id
*/
@TableField(value = "orderItemIdFk")
@ApiModelProperty(value="关联询明细价id")
private String orderItemIdFk;
/**
*
*/
@TableField(value = "supNumber")
@ApiModelProperty(value="供应商报价第几次")
private Integer supNumber;
/**
* id
*/
@TableField(value = "supId")
@ApiModelProperty(value="供应商id")
private Long supId;
/**
*
*/
@TableField(value = "supName")
@ApiModelProperty(value="供应商名称")
private String supName;
/**
*
*/
@TableField(value = "supPerson")
@ApiModelProperty(value="供应商联系人姓名")
private String supPerson;
/**
*
*/
@TableField(value = "supPhone")
@ApiModelProperty(value="供应商联系人电话")
private String supPhone;
/**
*
*/
@TableField(value = "supEmail")
@ApiModelProperty(value="供应商联系人电子邮件")
private String supEmail;
/**
* URL
*/
@TableField(value = "supFilePath")
@ApiModelProperty(value="供应商附件的路径或URL")
private String supFilePath;
/**
*
*/
@TableField(value = "supCount")
@ApiModelProperty(value="供应商报价数量")
private Integer supCount;
/**
*
*/
@TableField(value = "supPrice")
@ApiModelProperty(value="供应商报价单价")
private BigDecimal supPrice;
/**
*
*/
@TableField(value = "supTotalPrice")
@ApiModelProperty(value="供应商报价总价")
private BigDecimal supTotalPrice;
/**
*
*/
@TableField(value = "supRemark")
@ApiModelProperty(value="说明")
private String supRemark;
/**
* 1 0
*/
@TableField(value = "accord")
@ApiModelProperty(value="是否符合 1 符合 0 不符合")
private Integer accord;
/**
* 1 0
*/
@TableField(value = "adopt")
@ApiModelProperty(value="是否采纳 1 采纳 0 不采纳")
private Integer adopt;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,156 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@ApiModel(description="询价业务明细表")
@Data
@TableName(value = "pur_inquiry_offer_item")
public class PurInquiryOfferItemEntity implements Serializable {
/**
* ID
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="ID")
private Long id;
/**
*
*/
@TableField(value = "orderIdFk")
@ApiModelProperty(value="关联询价编号")
private String orderIdFk;
/**
*
*/
@TableField(value = "`count`")
@ApiModelProperty(value="询价数量")
private Integer count;
/**
*
*/
@TableField(value = "price")
@ApiModelProperty(value="期望单价")
private BigDecimal price;
/**
*
*/
@TableField(value = "totalPrice")
@ApiModelProperty(value="期望总价")
private BigDecimal totalPrice;
/**
* URL
*/
@TableField(value = "attachmentPath")
@ApiModelProperty(value="询价附件的路径或URL如产品规格书、图纸等")
private String attachmentPath;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="说明")
private String remark;
/**
*
*/
@TableField(value = "productId")
@ApiModelProperty(value="产品编码")
private Long productId;
/**
* id uniqueId
*/
@TableField(value = "productUniqueId")
@ApiModelProperty(value="产品唯一id uniqueId")
private String productUniqueId;
/**
*
*/
@TableField(value = "nameCode")
@ApiModelProperty(value="最小销售标识")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
@ApiModelProperty(value="批次号")
private String batchNo;
/**
*
*/
@TableField(value = "productName")
@ApiModelProperty(value="产品名称")
private String productName;
/**
*
*/
@TableField(value = "productCompany")
@ApiModelProperty(value="生产厂家")
private String productCompany;
/**
*
*/
@TableField(value = "produceDate")
@ApiModelProperty(value="生产日期")
private Date produceDate;
/**
*
*/
@TableField(value = "expireDate")
@ApiModelProperty(value="过期时间")
private Date expireDate;
/**
* /
*/
@TableField(value = "zczbhhzbapzbh")
@ApiModelProperty(value="注册证/备案号")
private String zczbhhzbapzbh;
/**
*
*/
@TableField(value = "ggxh")
@ApiModelProperty(value="规格型号")
private String ggxh;
/**
*
*/
@TableField(value = "measname")
@ApiModelProperty(value="单位")
private String measname;
/**
*
*/
@TableField(value = "packRatio")
@ApiModelProperty(value="包装级别")
private String packRatio;
private static final long serialVersionUID = 1L;
}

@ -29,4 +29,6 @@ public class BasicUnitMaintainFilterRequest extends ListPageRequest {
private List<Integer> corpTypeList;
private List<Integer> corpTypeLists;//用来往来单位查询
List<BasicErpUnitsResponse>thrCorpEntities;
private List<String> erpIds;
}

@ -0,0 +1,22 @@
package com.glxp.api.req.purchase;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class AddPurInquiryItemRequest {
@NotNull(message ="产品不可为空!")
private List<UdiRelevanceResponse> productIds;
/**
* ID
*/
@NotEmpty(message = "采购订单id不可为空!")
private String orderIdFk;
}

@ -0,0 +1,21 @@
package com.glxp.api.req.purchase;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class AddPurInquiryOfferItemRequest {
@NotNull(message ="产品不可为空!")
private List<UdiRelevanceResponse> productIds;
/**
* ID
*/
@NotEmpty(message = "采购订单id不可为空!")
private String orderIdFk;
}

@ -0,0 +1,16 @@
package com.glxp.api.req.purchase;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferItemEntity;
import lombok.Data;
import java.util.List;
@Data
public class PostPurInquiryOfferRequest {
Integer editStatus;
PurInquiryOfferEntity purInquiryOfferEntity;
List<PurInquiryOfferItemEntity> purInquiryOfferItemEntities;
}

@ -0,0 +1,14 @@
package com.glxp.api.req.purchase;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import lombok.Data;
import java.util.List;
@Data
public class PostPurInquiryRequest {
Integer editStatus;
PurInquiryEntity purInquiryEntity;
List<PurInquiryItemEntity> purInquiryItemEntities;
}

@ -11,7 +11,10 @@ public class PurContractDetailRequest extends ListPageRequest {
/**
*
*/
@NotBlank(message = "合同外键不能为空")
private String orderIdFk;
/**
*
*/
private String orderItemIdFk;
}

@ -0,0 +1,40 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class PurInquiryOfferRequest extends ListPageRequest {
/**
*
*/
private String billNo;
/**
*
*/
private Integer status;
/**
*
*/
private String startDate;
/**
*
*/
private String endDate;
/**
* 1.;0.
*/
private Integer generatePlan;
private Boolean sysApprovalFlow;
@TableField(value = "pageType")
private Integer pageType;
}

@ -0,0 +1,40 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class PurInquiryRequest extends ListPageRequest {
/**
*
*/
private String billNo;
/**
*
*/
private Integer status;
/**
*
*/
private String startDate;
/**
*
*/
private String endDate;
/**
* 1.;0.
*/
private Integer generatePlan;
private Boolean sysApprovalFlow;
@TableField(value = "pageType")
private Integer pageType;
}

@ -0,0 +1,15 @@
package com.glxp.api.res.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import lombok.Data;
@Data
public class PurInquiryEntityResponse extends PurInquiryEntity {
private String nextNodeName;
private Integer nextApprovalNodeType;
private Integer flowStatus;
}

@ -0,0 +1,14 @@
package com.glxp.api.res.purchase;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import lombok.Data;
@Data
public class PurInquiryOfferEntityResponse extends PurInquiryEntity {
private String nextNodeName;
private Integer nextApprovalNodeType;
private Integer flowStatus;
}

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurContractDetailMapper;
import com.glxp.api.dao.purchase.PurContractMapper;
import com.glxp.api.dao.purchase.PurPlanDao;
@ -16,9 +17,11 @@ import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurApplyDetailRequest;
import com.glxp.api.req.purchase.PurContractRequest;
import com.glxp.api.req.purchase.PurOrderRequest;
import com.glxp.api.req.purchase.PurPlanDetailRequest;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import com.glxp.api.res.purchase.PurOrderResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
@ -26,6 +29,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -45,9 +49,16 @@ public class PurContractService extends ServiceImpl<PurContractMapper, PurContra
@Resource
CustomerService customerService;
public IPage<PurContractEntityResponse> queryPageList(PurContractRequest purContractRequest) {
IPage<PurContractEntityResponse> purPlanEntities = purContractMapper.selectPage(purContractRequest.getPageObj(),purContractRequest);
return purPlanEntities;
public List<PurContractEntityResponse> queryPageList(PurContractRequest purContractRequest) {
if (purContractRequest == null) {
return Collections.emptyList();
}
if (purContractRequest.getPage() != null) {
int offset = (purContractRequest.getPage() - 1) * purContractRequest.getLimit();
PageHelper.offsetPage(offset, purContractRequest.getLimit());
}
List<PurContractEntityResponse> data = purContractMapper.selectPage(purContractRequest);
return data;
}
//
// /**

@ -0,0 +1,80 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.purchase.PurInquiryItemMapper;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import com.glxp.api.service.basic.BasicCorpService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.purchase.PurInquiryItemDetailMapper;
import com.glxp.api.entity.purchase.PurInquiryItemDetailEntity;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
@Transactional(rollbackFor = Exception.class)
public class PurInquiryItemDetailService extends ServiceImpl<PurInquiryItemDetailMapper, PurInquiryItemDetailEntity> {
@Resource
private BasicCorpService basicUnitMaintainService;
@Resource
private PurInquiryItemMapper purInquiryItemMapper;
public List<PurInquiryItemDetailEntity> queryPageList(PurContractDetailRequest purContractDetailRequest) {
QueryWrapper<PurInquiryItemDetailEntity> wrapper = new QueryWrapper<>();
wrapper.eq("orderItemIdFk", purContractDetailRequest.getOrderItemIdFk());
return super.baseMapper.selectList(wrapper);
}
public int updateItemDetail(PurInquiryEntity purInquiryEntity) {
Long id = purInquiryEntity.getId();
//先清空
QueryWrapper<PurInquiryItemDetailEntity> qw = new QueryWrapper<>();
qw.eq("orderIdFk", id);
super.baseMapper.delete(qw);
//保存
String[] fromCorp = purInquiryEntity.getFromCorp();
ArrayList<PurInquiryItemDetailEntity> list = new ArrayList<>();
if (fromCorp != null && fromCorp.length > 0) {
BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest = new BasicUnitMaintainFilterRequest();
basicUnitMaintainFilterRequest.setErpIds(Arrays.asList(fromCorp));
List<BasicCorpEntity> basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest);
//获取明细
QueryWrapper<PurInquiryItemEntity> wrapper = new QueryWrapper<>();
wrapper.eq("orderIdFk", id);
List<PurInquiryItemEntity> purInquiryItemEntities = purInquiryItemMapper.selectList(wrapper);
if (CollectionUtil.isNotEmpty(purInquiryItemEntities)) {
purInquiryItemEntities.forEach(item -> {
basicUnitMaintainEntities.forEach(x -> {
PurInquiryItemDetailEntity purInquiryItemDetailEntity = new PurInquiryItemDetailEntity();
purInquiryItemDetailEntity.setOrderIdFk(String.valueOf(id));
purInquiryItemDetailEntity.setOrderItemIdFk(String.valueOf(item.getId()));
purInquiryItemDetailEntity.setSupNumber(1);
purInquiryItemDetailEntity.setSupId(Long.valueOf(x.getErpId()));
purInquiryItemDetailEntity.setSupName(x.getName());
purInquiryItemDetailEntity.setSupPerson(x.getContact());
purInquiryItemDetailEntity.setSupPhone(x.getMobile());
// purInquiryItemDetailEntity.setSupEmail(x.getAddr());
list.add(purInquiryItemDetailEntity);
});
});
}
if (CollectionUtil.isNotEmpty(list)) {
super.saveBatch(list);
}
}
return 1;
}
}

@ -0,0 +1,78 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.UdiRlSupDao;
import com.glxp.api.entity.purchase.PurContractDetailEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.purchase.AddPurInquiryItemRequest;
import com.glxp.api.req.purchase.AddPurPlanDetailRequest;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import com.glxp.api.req.purchase.PurInquiryRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.purchase.PurInquiryItemMapper;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@Service
public class PurInquiryItemService extends ServiceImpl<PurInquiryItemMapper, PurInquiryItemEntity> {
public int insert(AddPurInquiryItemRequest addPurInquiryItemRequest) {
String orderIdFk = addPurInquiryItemRequest.getOrderIdFk();
List<UdiRelevanceResponse> productIds = addPurInquiryItemRequest.getProductIds();
if (CollectionUtil.isNotEmpty(productIds)){
productIds.forEach( x-> {
PurInquiryItemEntity purInquiryItemEntity = new PurInquiryItemEntity();
purInquiryItemEntity.setOrderIdFk(orderIdFk);
purInquiryItemEntity.setCount(1);
purInquiryItemEntity.setPrice(x.getPrice());
purInquiryItemEntity.setTotalPrice(x.getPrice());
purInquiryItemEntity.setProductId(x.getId());
purInquiryItemEntity.setProductUniqueId(x.getUuid());
purInquiryItemEntity.setNameCode(x.getNameCode());
purInquiryItemEntity.setProductName(x.getCpmctymc());
purInquiryItemEntity.setProductCompany(x.getManufactory());
purInquiryItemEntity.setZczbhhzbapzbh(x.getZczbhhzbapzbh());
purInquiryItemEntity.setGgxh(x.getGgxh());
purInquiryItemEntity.setMeasname(x.getMeasname());
purInquiryItemEntity.setPackRatio(x.getPackRatio());
super.baseMapper.insert(purInquiryItemEntity);
});
}
return 1;
}
public List<PurInquiryItemEntity> queryPageList(PurContractDetailRequest purContractDetailRequest) {
if (purContractDetailRequest == null) {
return Collections.emptyList();
}
if (purContractDetailRequest.getPage() != null) {
int offset = (purContractDetailRequest.getPage() - 1) * purContractDetailRequest.getLimit();
PageHelper.offsetPage(offset, purContractDetailRequest.getLimit());
}
return super.baseMapper.selectPage(purContractDetailRequest);
}
public int deleteByIds(List<Long> asList) {
UpdateWrapper<PurInquiryItemEntity> uw = new UpdateWrapper<>();
uw.in("id",asList);
return super.baseMapper.delete(uw);
}
}

@ -0,0 +1,80 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.purchase.PurInquiryOfferItemDetailMapper;
import com.glxp.api.dao.purchase.PurInquiryOfferItemMapper;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferItemDetailEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferItemEntity;
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import com.glxp.api.service.basic.BasicCorpService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
@Transactional(rollbackFor = Exception.class)
public class PurInquiryOfferItemDetailService extends ServiceImpl<PurInquiryOfferItemDetailMapper, PurInquiryOfferItemDetailEntity> {
@Resource
private BasicCorpService basicUnitMaintainService;
@Resource
private PurInquiryOfferItemMapper purInquiryOfferItemMapper;
public List<PurInquiryOfferItemDetailEntity> queryPageList(PurContractDetailRequest purContractDetailRequest) {
QueryWrapper<PurInquiryOfferItemDetailEntity> wrapper = new QueryWrapper<>();
wrapper.eq("orderItemIdFk", purContractDetailRequest.getOrderItemIdFk());
return super.baseMapper.selectList(wrapper);
}
public int updateItemDetail(PurInquiryOfferEntity purInquiryOfferEntity) {
Long id = purInquiryOfferEntity.getId();
//先清空
QueryWrapper<PurInquiryOfferItemDetailEntity> qw = new QueryWrapper<>();
qw.eq("orderIdFk", id);
super.baseMapper.delete(qw);
//保存
String[] fromCorp = purInquiryOfferEntity.getFromCorp();
ArrayList<PurInquiryOfferItemDetailEntity> list = new ArrayList<>();
if (fromCorp != null && fromCorp.length > 0) {
BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest = new BasicUnitMaintainFilterRequest();
basicUnitMaintainFilterRequest.setErpIds(Arrays.asList(fromCorp));
List<BasicCorpEntity> basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest);
//获取明细
QueryWrapper<PurInquiryOfferItemEntity> wrapper = new QueryWrapper<>();
wrapper.eq("orderIdFk", id);
List<PurInquiryOfferItemEntity> purInquiryOfferItemEntities = purInquiryOfferItemMapper.selectList(wrapper);
if (CollectionUtil.isNotEmpty(purInquiryOfferItemEntities)) {
purInquiryOfferItemEntities.forEach(item -> {
basicUnitMaintainEntities.forEach(x -> {
PurInquiryOfferItemDetailEntity purInquiryOfferItemDetailEntity = new PurInquiryOfferItemDetailEntity();
purInquiryOfferItemDetailEntity.setOrderIdFk(String.valueOf(id));
purInquiryOfferItemDetailEntity.setOrderItemIdFk(String.valueOf(item.getId()));
purInquiryOfferItemDetailEntity.setSupNumber(1);
purInquiryOfferItemDetailEntity.setSupId(Long.valueOf(x.getErpId()));
purInquiryOfferItemDetailEntity.setSupName(x.getName());
purInquiryOfferItemDetailEntity.setSupPerson(x.getContact());
purInquiryOfferItemDetailEntity.setSupPhone(x.getMobile());
// purInquiryOfferItemDetailEntity.setSupEmail(x.getAddr());
list.add(purInquiryOfferItemDetailEntity);
});
});
}
if (CollectionUtil.isNotEmpty(list)) {
super.saveBatch(list);
}
}
return 1;
}
}

@ -0,0 +1,63 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurInquiryOfferItemMapper;
import com.glxp.api.entity.purchase.PurInquiryOfferItemEntity;
import com.glxp.api.req.purchase.AddPurInquiryOfferItemRequest;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
public class PurInquiryOfferItemService extends ServiceImpl<PurInquiryOfferItemMapper, PurInquiryOfferItemEntity> {
public int insert(AddPurInquiryOfferItemRequest addPurInquiryOfferItemRequest) {
String orderIdFk = addPurInquiryOfferItemRequest.getOrderIdFk();
List<UdiRelevanceResponse> productIds = addPurInquiryOfferItemRequest.getProductIds();
if (CollectionUtil.isNotEmpty(productIds)){
productIds.forEach( x-> {
PurInquiryOfferItemEntity purInquiryOfferItemEntity = new PurInquiryOfferItemEntity();
purInquiryOfferItemEntity.setOrderIdFk(orderIdFk);
purInquiryOfferItemEntity.setCount(1);
purInquiryOfferItemEntity.setPrice(x.getPrice());
purInquiryOfferItemEntity.setTotalPrice(x.getPrice());
purInquiryOfferItemEntity.setProductId(x.getId());
purInquiryOfferItemEntity.setProductUniqueId(x.getUuid());
purInquiryOfferItemEntity.setNameCode(x.getNameCode());
purInquiryOfferItemEntity.setProductName(x.getCpmctymc());
purInquiryOfferItemEntity.setProductCompany(x.getManufactory());
purInquiryOfferItemEntity.setZczbhhzbapzbh(x.getZczbhhzbapzbh());
purInquiryOfferItemEntity.setGgxh(x.getGgxh());
purInquiryOfferItemEntity.setMeasname(x.getMeasname());
purInquiryOfferItemEntity.setPackRatio(x.getPackRatio());
super.baseMapper.insert(purInquiryOfferItemEntity);
});
}
return 1;
}
public List<PurInquiryOfferItemEntity> queryPageList(PurContractDetailRequest purContractDetailRequest) {
if (purContractDetailRequest == null) {
return Collections.emptyList();
}
if (purContractDetailRequest.getPage() != null) {
int offset = (purContractDetailRequest.getPage() - 1) * purContractDetailRequest.getLimit();
PageHelper.offsetPage(offset, purContractDetailRequest.getLimit());
}
return super.baseMapper.selectPage(purContractDetailRequest);
}
public int deleteByIds(List<Long> asList) {
UpdateWrapper<PurInquiryOfferItemEntity> uw = new UpdateWrapper<>();
uw.in("id",asList);
return super.baseMapper.delete(uw);
}
}

@ -0,0 +1,38 @@
package com.glxp.api.service.purchase.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurInquiryMapper;
import com.glxp.api.dao.purchase.PurInquiryOfferMapper;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import com.glxp.api.entity.purchase.PurInquiryOfferEntity;
import com.glxp.api.req.purchase.PurInquiryOfferRequest;
import com.glxp.api.req.purchase.PurInquiryRequest;
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
import com.glxp.api.res.purchase.PurInquiryOfferEntityResponse;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
public class PurInquiryOfferService extends ServiceImpl<PurInquiryOfferMapper, PurInquiryOfferEntity> {
public List<PurInquiryOfferEntityResponse> queryPageList(PurInquiryOfferRequest purInquiryOfferRequest) {
if (purInquiryOfferRequest == null) {
return Collections.emptyList();
}
if (purInquiryOfferRequest.getPage() != null) {
int offset = (purInquiryOfferRequest.getPage() - 1) * purInquiryOfferRequest.getLimit();
PageHelper.offsetPage(offset, purInquiryOfferRequest.getLimit());
}
List<PurInquiryOfferEntityResponse> data = super.baseMapper.selectPage(purInquiryOfferRequest);
return data;
}
public int insert(PurInquiryOfferEntity purInquiryOfferEntity) {
return super.baseMapper.insert(purInquiryOfferEntity);
}
}

@ -0,0 +1,36 @@
package com.glxp.api.service.purchase.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageHelper;
import com.glxp.api.req.purchase.PurInquiryRequest;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.purchase.PurInquiryEntity;
import com.glxp.api.dao.purchase.PurInquiryMapper;
import java.util.Collections;
import java.util.List;
@Service
public class PurInquiryService extends ServiceImpl<PurInquiryMapper, PurInquiryEntity> {
public List<PurInquiryEntityResponse> queryPageList(PurInquiryRequest purInquiryRequest) {
if (purInquiryRequest == null) {
return Collections.emptyList();
}
if (purInquiryRequest.getPage() != null) {
int offset = (purInquiryRequest.getPage() - 1) * purInquiryRequest.getLimit();
PageHelper.offsetPage(offset, purInquiryRequest.getLimit());
}
List<PurInquiryEntityResponse> data = super.baseMapper.selectPage(purInquiryRequest);
return data;
}
public int insert(PurInquiryEntity purInquiryEntity) {
return super.baseMapper.insert(purInquiryEntity);
}
}

@ -4,7 +4,7 @@ server:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_pt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
hikari:

@ -52,6 +52,14 @@
and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S')
]]>
</if>
<if test="erpIds != null and erpIds.size() != 0">
AND erpId in
<foreach collection="erpIds" index="index" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
</where>
order by updateTime desc
</select>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurInquiryItemDetailMapper">
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail,
supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt
</sql>
<select id="selectPage" parameterType="com.glxp.api.req.purchase.PurContractDetailRequest"
resultType="com.glxp.api.entity.purchase.PurInquiryItemDetailEntity">
select id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail,
supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt
from pur_inquiry_item_detail
<where>
<if test="purContractDetailRequest.orderItemIdFk != null and purContractDetailRequest.orderItemIdFk != ''">
AND orderItemIdFk = #{purContractDetailRequest.orderItemIdFk}
</if>
order by id desc
</where>
</select>
</mapper>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurInquiryItemMapper">
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId,
nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh,
ggxh, packRatio
</sql>
<select id="selectPage" parameterType="com.glxp.api.req.purchase.PurContractDetailRequest"
resultType="com.glxp.api.entity.purchase.PurInquiryItemEntity">
select id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId,
nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh,
ggxh, packRatio
from pur_inquiry_item
<where>
<if test="purContractDetailRequest.orderIdFk != null and purContractDetailRequest.orderIdFk != ''">
AND orderIdFk = #{purContractDetailRequest.orderIdFk}
</if>
order by id desc
</where>
</select>
</mapper>

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurInquiryMapper">
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`,
createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode,
targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId,
pageType, validUntil
</sql>
<select id="selectPage" parameterType="com.glxp.api.req.purchase.PurInquiryRequest"
resultType="com.glxp.api.res.purchase.PurInquiryEntityResponse">
select
pc.id, pc.billNo, pc.billDate, pc.billType, pc.remark, pc.invCode, pc.deptCode, pc.createUser, pc.createTime,
pc.auditUser, pc.auditTime, pc.updateUser, pc.updateTime, pc.auditRemark, pc.targetInvCode, pc.targetDeptCode, pc.planBillNo,
pc.generatePlan, pc.emergency, pc.arrivalTime, pc.pageType,pc.approvalFlowId,pc.validUntil,IFNULL(pc.status,0) as status,
saf.status as flowStatus, saf.nextNodeName as nextNodeName , saf.nextApprovalNodeType as nextApprovalNodeType,
pc.supIds
from pur_inquiry pc
left join sys_approval_flow saf ON pc.approvalFlowId = saf.id
<where>
pc.billNo is not null
<if test="!purInquiryRequest.sysApprovalFlow">
<if test="purInquiryRequest.status != null and purInquiryRequest.status != 2 and purInquiryRequest.status != 1 and purInquiryRequest.status != 3 ">
and pc.status = #{purInquiryRequest.status}
</if>
<if test="purInquiryRequest.status == 2">
and (pc.status = 2 )
</if>
<if test="purInquiryRequest.status == 1">
and (pc.status = 1 or pc.status is null )
</if>
<if test="purInquiryRequest.status == 3">
and (pc.status = 3 or pc.status = 4)
</if>
</if>
<if test="purInquiryRequest.sysApprovalFlow">
<if test="purInquiryRequest.status != null and purInquiryRequest.status != 1 and purInquiryRequest.status != 2 and purInquiryRequest.status != 3 ">
and saf.status = #{purInquiryRequest.status}
</if>
<if test="purInquiryRequest.status == 2">
and (saf.status = 2)
</if>
<if test="purInquiryRequest.status == 1">
and (saf.status = 1 or saf.status is null or saf.status = 0)
</if>
<if test="purInquiryRequest.status == 3">
and (saf.status = 3 or saf.status = 4)
</if>
</if>
<if test="purInquiryRequest.billNo != null and purInquiryRequest.billNo != ''" >
and pc.billNo like concat('%',#{purInquiryRequest.billNo},'%')
</if>
<!-- <if test="purInquiryRequest.name != null and purInquiryRequest.name != ''" >-->
<!-- and pc.name like concat('%',#{purInquiryRequest.name},'%')-->
<!-- </if>-->
<if test="purInquiryRequest.generatePlan != null " >
and pc.generatePlan = #{purInquiryRequest.generatePlan}
</if>
<if test="purInquiryRequest.startDate != null and purInquiryRequest.startDate != ''">
AND pc.billDate <![CDATA[>=]]> #{purInquiryRequest.startDate}
</if>
<if test="purInquiryRequest.endDate != null and purInquiryRequest.endDate != ''">
AND pc.billDate <![CDATA[<=]]> #{purInquiryRequest.endDate}
</if>
<if test="purInquiryRequest.pageType != null ">
AND pc.pageType = #{purInquiryRequest.pageType}
</if>
order by id desc
</where>
</select>
<insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurInquiryEntity" useGeneratedKeys="true">
insert
INTO pur_inquiry
(
billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`,
createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode,
targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId,
pageType, validUntil
)
values (
#{billNo},
#{billDate},
#{status},
#{billType},
#{remark},
#{invCode},
#{deptCode},
#{createUser},
#{createTime},
#{auditUser},
#{auditTime},
#{updateUser},
#{updateTime},
#{auditRemark},
#{targetInvCode},
#{targetDeptCode},
#{planBillNo},
#{generatePlan},
#{emergency},
#{arrivalTime},
#{approvalFlowId},
#{pageType},
#{validUntil}
)
</insert>
</mapper>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurInquiryOfferItemDetailMapper">
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail,
supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt
</sql>
<select id="selectPage" parameterType="com.glxp.api.req.purchase.PurContractDetailRequest"
resultType="com.glxp.api.entity.purchase.PurInquiryOfferItemDetailEntity">
select id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail,
supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt
from pur_inquiry_offer_item_detail
<where>
<if test="purContractDetailRequest.orderItemIdFk != null and purContractDetailRequest.orderItemIdFk != ''">
AND orderItemIdFk = #{purContractDetailRequest.orderItemIdFk}
</if>
order by id desc
</where>
</select>
</mapper>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurInquiryOfferItemMapper">
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId,
nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh,
ggxh, packRatio
</sql>
<select id="selectPage" parameterType="com.glxp.api.req.purchase.PurContractDetailRequest"
resultType="com.glxp.api.entity.purchase.PurInquiryOfferItemEntity">
select id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId,
nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh,
ggxh, packRatio
from pur_inquiry_offer_item
<where>
<if test="purContractDetailRequest.orderIdFk != null and purContractDetailRequest.orderIdFk != ''">
AND orderIdFk = #{purContractDetailRequest.orderIdFk}
</if>
order by id desc
</where>
</select>
</mapper>

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurInquiryOfferMapper">
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`,
createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode,
targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId,
pageType, validUntil
</sql>
<select id="selectPage" parameterType="com.glxp.api.req.purchase.PurInquiryOfferRequest"
resultType="com.glxp.api.res.purchase.PurInquiryOfferEntityResponse">
select
pc.id, pc.billNo, pc.billDate, pc.billType, pc.remark, pc.invCode, pc.deptCode, pc.createUser, pc.createTime,
pc.auditUser, pc.auditTime, pc.updateUser, pc.updateTime, pc.auditRemark, pc.targetInvCode, pc.targetDeptCode, pc.planBillNo,
pc.generatePlan, pc.emergency, pc.arrivalTime, pc.pageType,pc.approvalFlowId,pc.validUntil,IFNULL(pc.status,0) as status,
saf.status as flowStatus, saf.nextNodeName as nextNodeName , saf.nextApprovalNodeType as nextApprovalNodeType,
pc.supIds
from pur_inquiry_offer pc
left join sys_approval_flow saf ON pc.approvalFlowId = saf.id
<where>
pc.billNo is not null
<if test="!purInquiryOfferRequest.sysApprovalFlow">
<if test="purInquiryOfferRequest.status != null and purInquiryOfferRequest.status != 2 and purInquiryOfferRequest.status != 1 and purInquiryOfferRequest.status != 3 ">
and pc.status = #{purInquiryOfferRequest.status}
</if>
<if test="purInquiryOfferRequest.status == 2">
and (pc.status = 2 )
</if>
<if test="purInquiryOfferRequest.status == 1">
and (pc.status = 1 or pc.status is null )
</if>
<if test="purInquiryOfferRequest.status == 3">
and (pc.status = 3 or pc.status = 4)
</if>
</if>
<if test="purInquiryOfferRequest.sysApprovalFlow">
<if test="purInquiryOfferRequest.status != null and purInquiryOfferRequest.status != 1 and purInquiryOfferRequest.status != 2 and purInquiryOfferRequest.status != 3 ">
and saf.status = #{purInquiryOfferRequest.status}
</if>
<if test="purInquiryOfferRequest.status == 2">
and (saf.status = 2)
</if>
<if test="purInquiryOfferRequest.status == 1">
and (saf.status = 1 or saf.status is null or saf.status = 0)
</if>
<if test="purInquiryOfferRequest.status == 3">
and (saf.status = 3 or saf.status = 4)
</if>
</if>
<if test="purInquiryOfferRequest.billNo != null and purInquiryOfferRequest.billNo != ''" >
and pc.billNo like concat('%',#{purInquiryOfferRequest.billNo},'%')
</if>
<!-- <if test="purInquiryOfferRequest.name != null and purInquiryOfferRequest.name != ''" >-->
<!-- and pc.name like concat('%',#{purInquiryOfferRequest.name},'%')-->
<!-- </if>-->
<if test="purInquiryOfferRequest.generatePlan != null " >
and pc.generatePlan = #{purInquiryOfferRequest.generatePlan}
</if>
<if test="purInquiryOfferRequest.startDate != null and purInquiryOfferRequest.startDate != ''">
AND pc.billDate <![CDATA[>=]]> #{purInquiryOfferRequest.startDate}
</if>
<if test="purInquiryOfferRequest.endDate != null and purInquiryOfferRequest.endDate != ''">
AND pc.billDate <![CDATA[<=]]> #{purInquiryOfferRequest.endDate}
</if>
<if test="purInquiryOfferRequest.pageType != null ">
AND pc.pageType = #{purInquiryOfferRequest.pageType}
</if>
order by id desc
</where>
</select>
<insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurInquiryOfferEntity" useGeneratedKeys="true">
insert
INTO pur_inquiry_offer
(
billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`,
createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode,
targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId,
pageType, validUntil
)
values (
#{billNo},
#{billDate},
#{status},
#{billType},
#{remark},
#{invCode},
#{deptCode},
#{createUser},
#{createTime},
#{auditUser},
#{auditTime},
#{updateUser},
#{updateTime},
#{auditRemark},
#{targetInvCode},
#{targetDeptCode},
#{planBillNo},
#{generatePlan},
#{emergency},
#{arrivalTime},
#{approvalFlowId},
#{pageType},
#{validUntil}
)
</insert>
</mapper>

@ -3407,3 +3407,200 @@ CALL Pro_Temp_ColumnWork('device_check', 'taskBillNo', 'varchar(256) CHARACTER S
CALL Pro_Temp_ColumnWork('device_repair_apply', 'repairApplyBillNo', 'varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''报修单号''', 1);
CALL Pro_Temp_ColumnWork('device_repair', 'repairBillNo', 'varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修单号''', 1);
CALL Pro_Temp_ColumnWork('device_upkeep', 'taskBillNo', 'varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''保养任务单号''', 1);
INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`,
`menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3711, '询价管理', 1673, 2, 'purInquiry', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-08 17:01:50', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3712, '新增询价计划单', 3711, 1, 'purchase/purInquiry/purInquiry', 'purchase/purInquiry/purInquiry', '{\"pageType\":1}', 1, 0, 'C',
'0', '0', 'purchase:purInquiry:purInquiry', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3713, '待审核询价计划单', 3711, 2, 'purchase/purInquiry/purInquiryReviewed', 'purchase/purInquiry/purInquiryReviewed', '{\"pageType\":1}', 1, 0, 'C',
'0', '0', 'purchase:purInquiry:purInquiryReviewed', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3714, '已审核询价计划单', 3711, 3, 'purchase/purInquiry/purInquiryFinish', 'purchase/purInquiry/purInquiryFinish', '{\"pageType\":1}', 1, 0, 'C',
'0', '0', 'purchase:purInquiry:purInquiryFinish', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3715, '待审核询价报价单', 3711, 4, 'purchase/purInquiryOffer/purInquiryOfferReviewed', 'purchase/purInquiryOffer/purInquiryOfferReviewed', '{\"pageType\":1}', 1, 0, 'C',
'0', '0', 'purchase:purInquiryOffer:purInquiryOfferReviewed', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3716, '已审核询价报价单', 3711, 5, 'purchase/purInquiryOffer/purInquiryOfferFinish', 'purchase/purInquiryOffer/purInquiryOfferFinish', '{\"pageType\":1}', 1, 0, 'C',
'0', '0', 'purchase:purInquiryOffer:purInquiryOfferFinish', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL);
INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`)
VALUES ('7', 'xjjh', '询价计划单据', 7, NULL, NULL, NULL, NULL);
INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`)
VALUES ('8', 'xjbj', '询价报价单据', 8, NULL, NULL, NULL, NULL);
-- ----------------------------
-- Table structure for pur_inquiry
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_inquiry` (
`id` bigint(0) NOT NULL AUTO_INCREMENT,
`billNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价单据号',
`billDate` datetime(0) NULL DEFAULT NULL COMMENT '询价发起日期',
`status` tinyint(0) NULL DEFAULT NULL COMMENT '状态1.草稿2.未审核3.已审核,4.已拒绝)',
`billType` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价说明',
`invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前仓库',
`deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属部门',
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`auditUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核人',
`auditTime` datetime(0) NULL DEFAULT NULL COMMENT '审核时间',
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`auditRemark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核说明',
`targetInvCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标仓库',
`targetDeptCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标部门',
`planBillNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成采购计划单据号',
`generatePlan` tinyint(0) NULL DEFAULT NULL COMMENT '是否已生成采购计划',
`emergency` tinyint(0) NULL DEFAULT NULL COMMENT '紧急情况',
`arrivalTime` datetime(0) NULL DEFAULT NULL COMMENT '期望到货时间',
`approvalFlowId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '审批表主键(关联审批流程主表)',
`pageType` int(0) NOT NULL DEFAULT 1 COMMENT '1:业务管理2设备管理',
`validUntil` datetime(0) NULL DEFAULT NULL COMMENT '询价截止时间',
`supIds` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ids',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 97 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '询价业务' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for pur_inquiry_item
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_inquiry_item` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号',
`count` int(0) NULL DEFAULT NULL COMMENT '询价数量',
`price` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望单价',
`totalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望总价',
`attachmentPath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价附件的路径或URL如产品规格书、图纸等',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明',
`productId` bigint(0) NULL DEFAULT NULL COMMENT '产品编码',
`productUniqueId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品唯一id uniqueId',
`nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '最小销售标识',
`batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '批次号',
`productName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品名称',
`productCompany` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '生产厂家',
`produceDate` date NULL DEFAULT NULL COMMENT '生产日期',
`expireDate` date NULL DEFAULT NULL COMMENT '过期时间',
`zczbhhzbapzbh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '注册证/备案号',
`ggxh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '规格型号',
`packRatio` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '包装级别',
`measname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '单位',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1791362555050999838 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价业务明细表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for pur_inquiry_item_detail
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_inquiry_item_detail` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号',
`orderItemIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询明细价id',
`supNumber` int(0) NOT NULL COMMENT '供应商报价第几次',
`supId` bigint(0) NOT NULL COMMENT '供应商id',
`supName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商名称',
`supPerson` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人姓名',
`supPhone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电话',
`supEmail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电子邮件',
`supFilePath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商附件的路径或URL',
`supCount` int(0) NULL DEFAULT NULL COMMENT '供应商报价数量',
`supPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价单价',
`supTotalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价总价',
`supRemark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明',
`accord` int(0) NULL DEFAULT NULL COMMENT '是否符合 1 符合 0 不符合',
`adopt` int(0) NULL DEFAULT NULL COMMENT '是否采纳 1 采纳 0 不采纳',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 235 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价业务明细详情表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for pur_inquiry_offer
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_inquiry_offer` (
`id` bigint(0) NOT NULL AUTO_INCREMENT,
`billNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价单据号',
`billDate` datetime(0) NULL DEFAULT NULL COMMENT '询价发起日期',
`status` tinyint(0) NULL DEFAULT NULL COMMENT '状态1.草稿2.未审核3.已审核,4.已拒绝)',
`billType` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价说明',
`invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前仓库',
`deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属部门',
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`auditUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核人',
`auditTime` datetime(0) NULL DEFAULT NULL COMMENT '审核时间',
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`auditRemark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核说明',
`targetInvCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标仓库',
`targetDeptCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标部门',
`planBillNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成采购计划单据号',
`generatePlan` tinyint(0) NULL DEFAULT NULL COMMENT '是否已生成采购计划',
`emergency` tinyint(0) NULL DEFAULT NULL COMMENT '紧急情况',
`arrivalTime` datetime(0) NULL DEFAULT NULL COMMENT '期望到货时间',
`approvalFlowId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '审批表主键(关联审批流程主表)',
`pageType` int(0) NOT NULL DEFAULT 1 COMMENT '1:业务管理2设备管理',
`validUntil` datetime(0) NULL DEFAULT NULL COMMENT '询价截止时间',
`supIds` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ids',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 97 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '询价报价业务' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for pur_inquiry_offer_item
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_inquiry_offer_item` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号',
`count` int(0) NULL DEFAULT NULL COMMENT '询价数量',
`price` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望单价',
`totalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望总价',
`attachmentPath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价附件的路径或URL如产品规格书、图纸等',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明',
`productId` bigint(0) NULL DEFAULT NULL COMMENT '产品编码',
`productUniqueId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品唯一id uniqueId',
`nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '最小销售标识',
`batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '批次号',
`productName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品名称',
`productCompany` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '生产厂家',
`produceDate` date NULL DEFAULT NULL COMMENT '生产日期',
`expireDate` date NULL DEFAULT NULL COMMENT '过期时间',
`zczbhhzbapzbh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '注册证/备案号',
`ggxh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '规格型号',
`packRatio` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '包装级别',
`measname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '单位',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1791362555050999838 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价报价业务明细表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for pur_inquiry_offer_item_detail
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_inquiry_offer_item_detail` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号',
`orderItemIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询明细价id',
`supNumber` int(0) NOT NULL COMMENT '供应商报价第几次',
`supId` bigint(0) NOT NULL COMMENT '供应商id',
`supName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商名称',
`supPerson` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人姓名',
`supPhone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电话',
`supEmail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电子邮件',
`supFilePath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商附件的路径或URL',
`supCount` int(0) NULL DEFAULT NULL COMMENT '供应商报价数量',
`supPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价单价',
`supTotalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价总价',
`supRemark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明',
`accord` int(0) NULL DEFAULT NULL COMMENT '是否符合 1 符合 0 不符合',
`adopt` int(0) NULL DEFAULT NULL COMMENT '是否采纳 1 采纳 0 不采纳',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 250 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价报价业务明细详情表' ROW_FORMAT = Dynamic;

Loading…
Cancel
Save