diff --git a/src/main/java/com/glxp/api/controller/purchase/PurContractController.java b/src/main/java/com/glxp/api/controller/purchase/PurContractController.java index 16697c97c..1347b561d 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurContractController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurContractController.java @@ -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 page = purContractService.queryPageList(purContractRequest); + List purContractEntityResponses = purContractService.queryPageList(purContractRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(purContractEntityResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(page.getTotal()); - pageSimpleResponse.setList(page.getRecords()); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(purContractEntityResponses); return ResultVOUtils.success(pageSimpleResponse); } diff --git a/src/main/java/com/glxp/api/controller/purchase/PurInquiryController.java b/src/main/java/com/glxp/api/controller/purchase/PurInquiryController.java new file mode 100644 index 000000000..0bd030887 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/PurInquiryController.java @@ -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 purInquiryEntityResponses = purInquiryService.queryPageList(purInquiryRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(purInquiryEntityResponses); + PageSimpleResponse 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 page = purInquiryItemService.queryPageList(purContractDetailRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(page); + PageSimpleResponse 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 page = purInquiryItemDetailService.queryPageList(purContractDetailRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(page); + PageSimpleResponse 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("删除成功"); + } + +} diff --git a/src/main/java/com/glxp/api/controller/purchase/PurInquiryOfferController.java b/src/main/java/com/glxp/api/controller/purchase/PurInquiryOfferController.java new file mode 100644 index 000000000..03e717e8c --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/PurInquiryOfferController.java @@ -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 purInquiryOfferEntityResponses = purInquiryOfferService.queryPageList(purInquiryOfferRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(purInquiryOfferEntityResponses); + PageSimpleResponse 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 page = purInquiryOfferItemService.queryPageList(purContractDetailRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(page); + PageSimpleResponse 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 page = purInquiryOfferItemDetailService.queryPageList(purContractDetailRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(page); + PageSimpleResponse 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("删除成功"); + } + +} diff --git a/src/main/java/com/glxp/api/dao/purchase/PurContractMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurContractMapper.java index 9dc509ae6..f734c141f 100644 --- a/src/main/java/com/glxp/api/dao/purchase/PurContractMapper.java +++ b/src/main/java/com/glxp/api/dao/purchase/PurContractMapper.java @@ -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 { @Override int insert(PurContractEntity purContractEntity); - Page selectPage(Page page, @Param("purContractRequest") PurContractRequest purContractRequest); + List selectPage(@Param("purContractRequest") PurContractRequest purContractRequest); } diff --git a/src/main/java/com/glxp/api/dao/purchase/PurInquiryItemDetailMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurInquiryItemDetailMapper.java new file mode 100644 index 000000000..b0c727120 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurInquiryItemDetailMapper.java @@ -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 { + + List selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest); +} diff --git a/src/main/java/com/glxp/api/dao/purchase/PurInquiryItemMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurInquiryItemMapper.java new file mode 100644 index 000000000..68f570e8a --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurInquiryItemMapper.java @@ -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 { + + List selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest); +} diff --git a/src/main/java/com/glxp/api/dao/purchase/PurInquiryMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurInquiryMapper.java new file mode 100644 index 000000000..9eafb7fba --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurInquiryMapper.java @@ -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 { + + @Override + int insert(PurInquiryEntity purInquiryEntity); + + List selectPage(@Param("purInquiryRequest") PurInquiryRequest purInquiryRequest); +} diff --git a/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferItemDetailMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferItemDetailMapper.java new file mode 100644 index 000000000..0d7bbaf66 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferItemDetailMapper.java @@ -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 { + + List selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest); +} diff --git a/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferItemMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferItemMapper.java new file mode 100644 index 000000000..ae96d81e7 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferItemMapper.java @@ -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 { + + List selectPage(@Param("purContractDetailRequest") PurContractDetailRequest purContractDetailRequest); +} diff --git a/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferMapper.java new file mode 100644 index 000000000..971081b83 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurInquiryOfferMapper.java @@ -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 { + + @Override + int insert(PurInquiryOfferEntity purInquiryOfferEntity); + + List selectPage(@Param("purInquiryOfferRequest") PurInquiryOfferRequest purInquiryOfferRequest); +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurInquiryEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurInquiryEntity.java new file mode 100644 index 000000000..a4c38c594 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurInquiryEntity.java @@ -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; + } +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurInquiryItemDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurInquiryItemDetailEntity.java new file mode 100644 index 000000000..d8853a92f --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurInquiryItemDetailEntity.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurInquiryItemEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurInquiryItemEntity.java new file mode 100644 index 000000000..81a990cc1 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurInquiryItemEntity.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferEntity.java new file mode 100644 index 000000000..8072d95a5 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferEntity.java @@ -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; + } +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferItemDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferItemDetailEntity.java new file mode 100644 index 000000000..bb8324ff2 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferItemDetailEntity.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferItemEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferItemEntity.java new file mode 100644 index 000000000..cb8c4e490 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurInquiryOfferItemEntity.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java b/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java index 2b6ede471..d9b3db6e0 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java @@ -29,4 +29,6 @@ public class BasicUnitMaintainFilterRequest extends ListPageRequest { private List corpTypeList; private List corpTypeLists;//用来往来单位查询 ListthrCorpEntities; + + private List erpIds; } diff --git a/src/main/java/com/glxp/api/req/purchase/AddPurInquiryItemRequest.java b/src/main/java/com/glxp/api/req/purchase/AddPurInquiryItemRequest.java new file mode 100644 index 000000000..a519e8817 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/AddPurInquiryItemRequest.java @@ -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 productIds; + + /** + * 采购计划ID外键 + */ + @NotEmpty(message = "采购订单id不可为空!") + private String orderIdFk; +} diff --git a/src/main/java/com/glxp/api/req/purchase/AddPurInquiryOfferItemRequest.java b/src/main/java/com/glxp/api/req/purchase/AddPurInquiryOfferItemRequest.java new file mode 100644 index 000000000..6c6022d2e --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/AddPurInquiryOfferItemRequest.java @@ -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 productIds; + + /** + * 采购计划ID外键 + */ + @NotEmpty(message = "采购订单id不可为空!") + private String orderIdFk; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PostPurInquiryOfferRequest.java b/src/main/java/com/glxp/api/req/purchase/PostPurInquiryOfferRequest.java new file mode 100644 index 000000000..f85966e31 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PostPurInquiryOfferRequest.java @@ -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 purInquiryOfferItemEntities; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PostPurInquiryRequest.java b/src/main/java/com/glxp/api/req/purchase/PostPurInquiryRequest.java new file mode 100644 index 000000000..bdc0f4918 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PostPurInquiryRequest.java @@ -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 purInquiryItemEntities; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PurContractDetailRequest.java b/src/main/java/com/glxp/api/req/purchase/PurContractDetailRequest.java index 0cfda7324..2e25d3ce4 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurContractDetailRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurContractDetailRequest.java @@ -11,7 +11,10 @@ public class PurContractDetailRequest extends ListPageRequest { /** * 合同外键 */ - @NotBlank(message = "合同外键不能为空") private String orderIdFk; + /** + * 合同外键 + */ + private String orderItemIdFk; } diff --git a/src/main/java/com/glxp/api/req/purchase/PurInquiryOfferRequest.java b/src/main/java/com/glxp/api/req/purchase/PurInquiryOfferRequest.java new file mode 100644 index 000000000..32e40c465 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PurInquiryOfferRequest.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PurInquiryRequest.java b/src/main/java/com/glxp/api/req/purchase/PurInquiryRequest.java new file mode 100644 index 000000000..df500c476 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PurInquiryRequest.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/res/purchase/PurInquiryEntityResponse.java b/src/main/java/com/glxp/api/res/purchase/PurInquiryEntityResponse.java new file mode 100644 index 000000000..ca5bb3fd8 --- /dev/null +++ b/src/main/java/com/glxp/api/res/purchase/PurInquiryEntityResponse.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/res/purchase/PurInquiryOfferEntityResponse.java b/src/main/java/com/glxp/api/res/purchase/PurInquiryOfferEntityResponse.java new file mode 100644 index 000000000..2394b0f4b --- /dev/null +++ b/src/main/java/com/glxp/api/res/purchase/PurInquiryOfferEntityResponse.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurContractService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurContractService.java index 2189b0447..5bc639135 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/PurContractService.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurContractService.java @@ -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 queryPageList(PurContractRequest purContractRequest) { - IPage purPlanEntities = purContractMapper.selectPage(purContractRequest.getPageObj(),purContractRequest); - return purPlanEntities; + public List 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 data = purContractMapper.selectPage(purContractRequest); + return data; } // // /** diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryItemDetailService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryItemDetailService.java new file mode 100644 index 000000000..e313a9e23 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryItemDetailService.java @@ -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 { + + @Resource + private BasicCorpService basicUnitMaintainService; + @Resource + private PurInquiryItemMapper purInquiryItemMapper; + + public List queryPageList(PurContractDetailRequest purContractDetailRequest) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("orderItemIdFk", purContractDetailRequest.getOrderItemIdFk()); + return super.baseMapper.selectList(wrapper); + } + + public int updateItemDetail(PurInquiryEntity purInquiryEntity) { + Long id = purInquiryEntity.getId(); + //先清空 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("orderIdFk", id); + super.baseMapper.delete(qw); + + //保存 + String[] fromCorp = purInquiryEntity.getFromCorp(); + ArrayList list = new ArrayList<>(); + if (fromCorp != null && fromCorp.length > 0) { + BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest = new BasicUnitMaintainFilterRequest(); + basicUnitMaintainFilterRequest.setErpIds(Arrays.asList(fromCorp)); + List basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest); + + //获取明细 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("orderIdFk", id); + List 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; + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryItemService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryItemService.java new file mode 100644 index 000000000..c621de6d1 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryItemService.java @@ -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 { + + public int insert(AddPurInquiryItemRequest addPurInquiryItemRequest) { + String orderIdFk = addPurInquiryItemRequest.getOrderIdFk(); + List 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 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 asList) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.in("id",asList); + return super.baseMapper.delete(uw); + } + +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferItemDetailService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferItemDetailService.java new file mode 100644 index 000000000..7538c5685 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferItemDetailService.java @@ -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 { + + @Resource + private BasicCorpService basicUnitMaintainService; + @Resource + private PurInquiryOfferItemMapper purInquiryOfferItemMapper; + + public List queryPageList(PurContractDetailRequest purContractDetailRequest) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("orderItemIdFk", purContractDetailRequest.getOrderItemIdFk()); + return super.baseMapper.selectList(wrapper); + } + + public int updateItemDetail(PurInquiryOfferEntity purInquiryOfferEntity) { + Long id = purInquiryOfferEntity.getId(); + //先清空 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("orderIdFk", id); + super.baseMapper.delete(qw); + + //保存 + String[] fromCorp = purInquiryOfferEntity.getFromCorp(); + ArrayList list = new ArrayList<>(); + if (fromCorp != null && fromCorp.length > 0) { + BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest = new BasicUnitMaintainFilterRequest(); + basicUnitMaintainFilterRequest.setErpIds(Arrays.asList(fromCorp)); + List basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest); + + //获取明细 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("orderIdFk", id); + List 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; + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferItemService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferItemService.java new file mode 100644 index 000000000..ee6adb4c9 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferItemService.java @@ -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 { + + public int insert(AddPurInquiryOfferItemRequest addPurInquiryOfferItemRequest) { + String orderIdFk = addPurInquiryOfferItemRequest.getOrderIdFk(); + List 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 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 asList) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.in("id",asList); + return super.baseMapper.delete(uw); + } + +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferService.java new file mode 100644 index 000000000..33dc11a3f --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferService.java @@ -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 { + + + public List 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 data = super.baseMapper.selectPage(purInquiryOfferRequest); + return data; + } + + public int insert(PurInquiryOfferEntity purInquiryOfferEntity) { + return super.baseMapper.insert(purInquiryOfferEntity); + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryService.java new file mode 100644 index 000000000..3d01f5659 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryService.java @@ -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 { + + + public List 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 data = super.baseMapper.selectPage(purInquiryRequest); + return data; + } + + public int insert(PurInquiryEntity purInquiryEntity) { + return super.baseMapper.insert(purInquiryEntity); + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 087dbec16..10d81b490 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -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: diff --git a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml index 168df717a..81eb6001f 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml @@ -52,6 +52,14 @@ and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]> + + + AND erpId in + + #{item} + + + order by updateTime desc diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryItemDetailMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemDetailMapper.xml new file mode 100644 index 000000000..18fb8a59a --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemDetailMapper.xml @@ -0,0 +1,24 @@ + + + + + + id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail, + supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryItemMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemMapper.xml new file mode 100644 index 000000000..6ed3ef35c --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemMapper.xml @@ -0,0 +1,26 @@ + + + + + + id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId, + nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh, + ggxh, packRatio + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryMapper.xml new file mode 100644 index 000000000..015c55dc1 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryMapper.xml @@ -0,0 +1,115 @@ + + + + + + id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, + createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode, + targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId, + pageType, validUntil + + + + + + + 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} + ) + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemDetailMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemDetailMapper.xml new file mode 100644 index 000000000..844d07046 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemDetailMapper.xml @@ -0,0 +1,24 @@ + + + + + + id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail, + supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemMapper.xml new file mode 100644 index 000000000..e7854a79d --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemMapper.xml @@ -0,0 +1,26 @@ + + + + + + id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId, + nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh, + ggxh, packRatio + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferMapper.xml new file mode 100644 index 000000000..8077574ca --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferMapper.xml @@ -0,0 +1,115 @@ + + + + + + id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, + createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode, + targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId, + pageType, validUntil + + + + + + + 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} + ) + + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 8742d54e8..1d4e0f2ac 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -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;