Commit 177fc2e8e537cb51c69d8df4f2a03ab6c7c850ba

Authored by 房远帅
1 parent a16f9a18

楚江ERP:订货单撤销基础方法

  1 +package com.lframework.xingyun.sc.bo.order;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.lframework.starter.common.constants.StringPool;
  5 +import com.lframework.starter.web.core.bo.BaseBo;
  6 +import java.time.LocalDate;
  7 +import com.lframework.xingyun.sc.entity.PurchaseOrderRevoke;
  8 +import io.swagger.annotations.ApiModelProperty;
  9 +
  10 +import lombok.Data;
  11 +
  12 +/**
  13 + * <p>
  14 + * 订货单撤销表 GetBo
  15 + * </p>
  16 + *
  17 + */
  18 +@Data
  19 +public class GetPurchaseOrderRevokeBo extends BaseBo<PurchaseOrderRevoke> {
  20 +
  21 + /**
  22 + * ID
  23 + */
  24 + @ApiModelProperty("ID")
  25 + private String id;
  26 +
  27 + /**
  28 + * 第几次撤销
  29 + */
  30 + @ApiModelProperty("第几次撤销")
  31 + private String sort;
  32 +
  33 + /**
  34 + * 订货单ID
  35 + */
  36 + @ApiModelProperty("订货单ID")
  37 + private String purchaseOrderId;
  38 +
  39 + /**
  40 + * 订单编号
  41 + */
  42 + @ApiModelProperty("订单编号")
  43 + private String orderNo;
  44 +
  45 + /**
  46 + * 订货单位ID
  47 + */
  48 + @ApiModelProperty("订货单位ID")
  49 + private String orderingUnit;
  50 +
  51 + /**
  52 + * 原订货日期
  53 + */
  54 + @ApiModelProperty("原订货日期")
  55 + @JsonFormat(pattern = StringPool.DATE_PATTERN)
  56 + private LocalDate orderDate;
  57 +
  58 + /**
  59 + * 要求交货日期
  60 + */
  61 + @ApiModelProperty("要求交货日期")
  62 + @JsonFormat(pattern = StringPool.DATE_PATTERN)
  63 + private LocalDate deliveryDate;
  64 +
  65 + /**
  66 + * 制单日期
  67 + */
  68 + @ApiModelProperty("制单日期")
  69 + @JsonFormat(pattern = StringPool.DATE_PATTERN)
  70 + private LocalDate documentPreparationDate;
  71 +
  72 + /**
  73 + * 状态
  74 + */
  75 + @ApiModelProperty("状态")
  76 + private String status;
  77 +
  78 + /**
  79 + * 撤销原因
  80 + */
  81 + @ApiModelProperty("撤销原因")
  82 + private String revokeReason;
  83 +
  84 + /**
  85 + * 撤销确认凭证文件ID
  86 + */
  87 + @ApiModelProperty("撤销确认凭证文件ID")
  88 + private String confirmationVoucherFileId;
  89 +
  90 + /**
  91 + * 撤销确认凭证文件名称
  92 + */
  93 + @ApiModelProperty("撤销确认凭证文件名称")
  94 + private String confirmationVoucherFileName;
  95 +
  96 + /**
  97 + * 创建人
  98 + */
  99 + @ApiModelProperty("创建人")
  100 + private String createBy;
  101 +
  102 + public GetPurchaseOrderRevokeBo() {
  103 +
  104 + }
  105 +
  106 + public GetPurchaseOrderRevokeBo(PurchaseOrderRevoke dto) {
  107 +
  108 + super(dto);
  109 + }
  110 +
  111 + @Override
  112 + public BaseBo<PurchaseOrderRevoke> convert(PurchaseOrderRevoke dto) {
  113 + return super.convert(dto);
  114 + }
  115 +
  116 + @Override
  117 + protected void afterInit(PurchaseOrderRevoke dto) {
  118 +
  119 + }
  120 +}
... ...
  1 +package com.lframework.xingyun.sc.controller.order;
  2 +
  3 +import com.lframework.starter.web.core.annotations.security.HasPermission;
  4 +import com.lframework.starter.web.core.controller.DefaultBaseController;
  5 +import com.lframework.starter.web.core.utils.PageResultUtil;
  6 +import com.lframework.starter.web.core.components.resp.PageResult;
  7 +import com.lframework.starter.web.core.components.resp.InvokeResult;
  8 +import javax.validation.constraints.NotBlank;
  9 +import com.lframework.xingyun.sc.bo.order.GetPurchaseOrderRevokeBo;
  10 +import com.lframework.xingyun.sc.entity.PurchaseOrderRevoke;
  11 +import com.lframework.xingyun.sc.service.order.PurchaseOrderRevokeService;
  12 +import com.lframework.xingyun.sc.vo.order.CreatePurchaseOrderRevokeVo;
  13 +import com.lframework.xingyun.sc.vo.order.QueryPurchaseOrderRevokeVo;
  14 +import com.lframework.xingyun.sc.vo.order.UpdatePurchaseOrderRevokeVo;
  15 +import io.swagger.annotations.ApiImplicitParam;
  16 +import com.lframework.starter.web.core.components.resp.InvokeResultBuilder;
  17 +import com.lframework.starter.common.exceptions.impl.DefaultClientException;
  18 +import io.swagger.annotations.ApiOperation;
  19 +import com.lframework.starter.common.utils.CollectionUtil;
  20 +import io.swagger.annotations.Api;
  21 +import org.springframework.web.bind.annotation.DeleteMapping;
  22 +import org.springframework.beans.factory.annotation.Autowired;
  23 +import org.springframework.validation.annotation.Validated;
  24 +import org.springframework.web.bind.annotation.*;
  25 +
  26 +import javax.validation.Valid;
  27 +import java.util.List;
  28 +import java.util.stream.Collectors;
  29 +
  30 +/**
  31 + * 订货单撤销表 Controller
  32 + *
  33 + */
  34 +@Api(tags = "订货单撤销表")
  35 +@Validated
  36 +@RestController
  37 +@RequestMapping("/purchaseOrderRevoke")
  38 +public class PurchaseOrderRevokeController extends DefaultBaseController {
  39 +
  40 + @Autowired
  41 + private PurchaseOrderRevokeService purchaseOrderRevokeService;
  42 +
  43 + /**
  44 + * 查询列表
  45 + */
  46 + @ApiOperation("查询列表")
  47 + @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:query"})
  48 + @GetMapping("/query")
  49 + public InvokeResult<PageResult<GetPurchaseOrderRevokeBo>> query(@Valid QueryPurchaseOrderRevokeVo vo) {
  50 +
  51 + PageResult<PurchaseOrderRevoke> pageResult = purchaseOrderRevokeService.query(getPageIndex(vo), getPageSize(vo), vo);
  52 +
  53 + List<PurchaseOrderRevoke> datas = pageResult.getDatas();
  54 + List<GetPurchaseOrderRevokeBo> results = null;
  55 +
  56 + if (!CollectionUtil.isEmpty(datas)) {
  57 + results = datas.stream().map(GetPurchaseOrderRevokeBo::new).collect(Collectors.toList());
  58 + }
  59 +
  60 + return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results));
  61 + }
  62 +
  63 + /**
  64 + * 根据ID查询
  65 + */
  66 + @ApiOperation("根据ID查询")
  67 + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true)
  68 + @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:query"})
  69 + @GetMapping
  70 + public InvokeResult<GetPurchaseOrderRevokeBo> get(@NotBlank(message = "id不能为空!") String id) {
  71 +
  72 + PurchaseOrderRevoke data = purchaseOrderRevokeService.findById(id);
  73 + if (data == null) {
  74 + throw new DefaultClientException("订货单撤销表不存在!");
  75 + }
  76 +
  77 + GetPurchaseOrderRevokeBo result = new GetPurchaseOrderRevokeBo(data);
  78 +
  79 + return InvokeResultBuilder.success(result);
  80 + }
  81 +
  82 + /**
  83 + * 新增
  84 + */
  85 + @ApiOperation("新增")
  86 + @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:add"})
  87 + @PostMapping
  88 + public InvokeResult<Void> create(@Valid CreatePurchaseOrderRevokeVo vo) {
  89 +
  90 + purchaseOrderRevokeService.create(vo);
  91 +
  92 + return InvokeResultBuilder.success();
  93 + }
  94 +
  95 + /**
  96 + * 修改
  97 + */
  98 + @ApiOperation("修改")
  99 + @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:modify"})
  100 + @PutMapping
  101 + public InvokeResult<Void> update(@Valid UpdatePurchaseOrderRevokeVo vo) {
  102 +
  103 + purchaseOrderRevokeService.update(vo);
  104 +
  105 + return InvokeResultBuilder.success();
  106 + }
  107 +
  108 + /**
  109 + * 根据ID删除
  110 + */
  111 + @ApiOperation("根据ID删除")
  112 + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true)
  113 + @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:delete"})
  114 + @DeleteMapping
  115 + public InvokeResult<Void> deleteById(@NotBlank(message = "id不能为空!") String id) {
  116 +
  117 + purchaseOrderRevokeService.deleteById(id);
  118 +
  119 + return InvokeResultBuilder.success();
  120 + }
  121 +}
... ...
  1 +package com.lframework.xingyun.sc.entity;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import com.lframework.starter.web.core.dto.BaseDto;
  5 +import java.time.LocalDate;
  6 +import java.time.LocalDateTime;
  7 +import com.baomidou.mybatisplus.annotation.FieldFill;
  8 +import com.lframework.starter.web.core.entity.BaseEntity;
  9 +import com.baomidou.mybatisplus.annotation.TableField;
  10 +import lombok.Data;
  11 +
  12 +/**
  13 + * <p>
  14 + * 订货单撤销表
  15 + * </p>
  16 + *
  17 + */
  18 +@Data
  19 +@TableName("purchase_order_revoke")
  20 +public class PurchaseOrderRevoke extends BaseEntity implements BaseDto {
  21 +
  22 + private static final long serialVersionUID = 1L;
  23 +
  24 + public static final String CACHE_NAME = "PurchaseOrderRevoke";
  25 +
  26 + /**
  27 + * ID
  28 + */
  29 + private String id;
  30 +
  31 + /**
  32 + * 第几次撤销
  33 + */
  34 + private String sort;
  35 +
  36 + /**
  37 + * 订货单ID
  38 + */
  39 + private String purchaseOrderId;
  40 +
  41 + /**
  42 + * 订单编号
  43 + */
  44 + private String orderNo;
  45 +
  46 + /**
  47 + * 订货单位ID
  48 + */
  49 + private String orderingUnit;
  50 +
  51 + /**
  52 + * 原订货日期
  53 + */
  54 + private LocalDate orderDate;
  55 +
  56 + /**
  57 + * 要求交货日期
  58 + */
  59 + private LocalDate deliveryDate;
  60 +
  61 + /**
  62 + * 制单日期
  63 + */
  64 + private LocalDate documentPreparationDate;
  65 +
  66 + /**
  67 + * 状态
  68 + */
  69 + private String status;
  70 +
  71 + /**
  72 + * 撤销原因
  73 + */
  74 + private String revokeReason;
  75 +
  76 + /**
  77 + * 撤销确认凭证文件ID
  78 + */
  79 + private String confirmationVoucherFileId;
  80 +
  81 + /**
  82 + * 撤销确认凭证文件名称
  83 + */
  84 + private String confirmationVoucherFileName;
  85 +
  86 + /**
  87 + * 创建人ID
  88 + */
  89 + @TableField(fill = FieldFill.INSERT)
  90 + private String createById;
  91 +
  92 + /**
  93 + * 创建人
  94 + */
  95 + @TableField(fill = FieldFill.INSERT)
  96 + private String createBy;
  97 +
  98 + /**
  99 + * 更新人ID
  100 + */
  101 + @TableField(fill = FieldFill.INSERT_UPDATE)
  102 + private String updateById;
  103 +
  104 + /**
  105 + * 更新人
  106 + */
  107 + @TableField(fill = FieldFill.INSERT_UPDATE)
  108 + private String updateBy;
  109 +
  110 + /**
  111 + * 创建时间
  112 + */
  113 + @TableField(fill = FieldFill.INSERT)
  114 + private LocalDateTime createTime;
  115 +
  116 + /**
  117 + * 更新时间
  118 + */
  119 + @TableField(fill = FieldFill.INSERT_UPDATE)
  120 + private LocalDateTime updateTime;
  121 +
  122 +}
... ...
  1 +package com.lframework.xingyun.sc.impl.order;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  4 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5 +import com.github.pagehelper.PageInfo;
  6 +import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
  7 +import com.lframework.starter.web.core.utils.PageResultUtil;
  8 +import com.lframework.starter.web.core.components.resp.PageResult;
  9 +import com.lframework.starter.web.core.utils.OpLogUtil;
  10 +import com.lframework.starter.common.utils.StringUtil;
  11 +import com.lframework.starter.common.exceptions.impl.DefaultClientException;
  12 +import java.io.Serializable;
  13 +import com.lframework.starter.web.core.utils.IdUtil;
  14 +import com.lframework.starter.common.utils.ObjectUtil;
  15 +import com.lframework.starter.web.core.annotations.oplog.OpLog;
  16 +import com.lframework.starter.web.core.utils.PageHelperUtil;
  17 +import com.lframework.starter.common.utils.Assert;
  18 +import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
  19 +import com.lframework.xingyun.sc.entity.PurchaseOrderRevoke;
  20 +import com.lframework.xingyun.sc.mappers.PurchaseOrderRevokeMapper;
  21 +import com.lframework.xingyun.sc.service.order.PurchaseOrderRevokeService;
  22 +import com.lframework.xingyun.sc.vo.order.CreatePurchaseOrderRevokeVo;
  23 +import com.lframework.xingyun.sc.vo.order.QueryPurchaseOrderRevokeVo;
  24 +import com.lframework.xingyun.sc.vo.order.UpdatePurchaseOrderRevokeVo;
  25 +import org.springframework.transaction.annotation.Transactional;
  26 +import org.springframework.stereotype.Service;
  27 +
  28 +import java.util.List;
  29 +
  30 +@Service
  31 +public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOrderRevokeMapper, PurchaseOrderRevoke> implements PurchaseOrderRevokeService {
  32 +
  33 + @Override
  34 + public PageResult<PurchaseOrderRevoke> query(Integer pageIndex, Integer pageSize, QueryPurchaseOrderRevokeVo vo) {
  35 +
  36 + Assert.greaterThanZero(pageIndex);
  37 + Assert.greaterThanZero(pageSize);
  38 +
  39 + PageHelperUtil.startPage(pageIndex, pageSize);
  40 + List<PurchaseOrderRevoke> datas = this.query(vo);
  41 +
  42 + return PageResultUtil.convert(new PageInfo<>(datas));
  43 + }
  44 +
  45 + @Override
  46 + public List<PurchaseOrderRevoke> query(QueryPurchaseOrderRevokeVo vo) {
  47 +
  48 + return getBaseMapper().query(vo);
  49 + }
  50 +
  51 + @Override
  52 + public PurchaseOrderRevoke findById(String id) {
  53 +
  54 + return getBaseMapper().selectById(id);
  55 + }
  56 +
  57 + @OpLog(type = OtherOpLogType.class, name = "新增订货单撤销表,ID:{}", params = {"#id"})
  58 + @Transactional(rollbackFor = Exception.class)
  59 + @Override
  60 + public String create(CreatePurchaseOrderRevokeVo vo) {
  61 +
  62 + PurchaseOrderRevoke data = new PurchaseOrderRevoke();
  63 + data.setId(IdUtil.getId());
  64 + data.setSort(vo.getSort());
  65 + data.setPurchaseOrderId(vo.getPurchaseOrderId());
  66 + if (!StringUtil.isBlank(vo.getOrderNo())) {
  67 + data.setOrderNo(vo.getOrderNo());
  68 + }
  69 + if (!StringUtil.isBlank(vo.getOrderingUnit())) {
  70 + data.setOrderingUnit(vo.getOrderingUnit());
  71 + }
  72 + if (vo.getOrderDate() != null) {
  73 + data.setOrderDate(vo.getOrderDate());
  74 + }
  75 + if (vo.getDeliveryDate() != null) {
  76 + data.setDeliveryDate(vo.getDeliveryDate());
  77 + }
  78 + if (vo.getDocumentPreparationDate() != null) {
  79 + data.setDocumentPreparationDate(vo.getDocumentPreparationDate());
  80 + }
  81 + if (!StringUtil.isBlank(vo.getStatus())) {
  82 + data.setStatus(vo.getStatus());
  83 + }
  84 + if (!StringUtil.isBlank(vo.getRevokeReason())) {
  85 + data.setRevokeReason(vo.getRevokeReason());
  86 + }
  87 + if (!StringUtil.isBlank(vo.getConfirmationVoucherFileId())) {
  88 + data.setConfirmationVoucherFileId(vo.getConfirmationVoucherFileId());
  89 + }
  90 + if (!StringUtil.isBlank(vo.getConfirmationVoucherFileName())) {
  91 + data.setConfirmationVoucherFileName(vo.getConfirmationVoucherFileName());
  92 + }
  93 +
  94 + getBaseMapper().insert(data);
  95 +
  96 + OpLogUtil.setVariable("id", data.getId());
  97 + OpLogUtil.setExtra(vo);
  98 +
  99 + return data.getId();
  100 + }
  101 +
  102 + @OpLog(type = OtherOpLogType.class, name = "修改订货单撤销表,ID:{}", params = {"#id"})
  103 + @Transactional(rollbackFor = Exception.class)
  104 + @Override
  105 + public void update(UpdatePurchaseOrderRevokeVo vo) {
  106 +
  107 + PurchaseOrderRevoke data = getBaseMapper().selectById(vo.getId());
  108 + if (ObjectUtil.isNull(data)) {
  109 + throw new DefaultClientException("订货单撤销表不存在!");
  110 + }
  111 +
  112 + LambdaUpdateWrapper<PurchaseOrderRevoke> updateWrapper = Wrappers.lambdaUpdate(PurchaseOrderRevoke.class)
  113 + .set(PurchaseOrderRevoke::getSort, vo.getSort())
  114 + .set(PurchaseOrderRevoke::getPurchaseOrderId, vo.getPurchaseOrderId())
  115 + .set(PurchaseOrderRevoke::getOrderNo, StringUtil.isBlank(vo.getOrderNo()) ? null : vo.getOrderNo())
  116 + .set(PurchaseOrderRevoke::getOrderingUnit, StringUtil.isBlank(vo.getOrderingUnit()) ? null : vo.getOrderingUnit())
  117 + .set(PurchaseOrderRevoke::getOrderDate, vo.getOrderDate() == null ? null : vo.getOrderDate())
  118 + .set(PurchaseOrderRevoke::getDeliveryDate, vo.getDeliveryDate() == null ? null : vo.getDeliveryDate())
  119 + .set(PurchaseOrderRevoke::getDocumentPreparationDate, vo.getDocumentPreparationDate() == null ? null : vo.getDocumentPreparationDate())
  120 + .set(PurchaseOrderRevoke::getStatus, StringUtil.isBlank(vo.getStatus()) ? null : vo.getStatus())
  121 + .set(PurchaseOrderRevoke::getRevokeReason, StringUtil.isBlank(vo.getRevokeReason()) ? null : vo.getRevokeReason())
  122 + .set(PurchaseOrderRevoke::getConfirmationVoucherFileId, StringUtil.isBlank(vo.getConfirmationVoucherFileId()) ? null : vo.getConfirmationVoucherFileId())
  123 + .set(PurchaseOrderRevoke::getConfirmationVoucherFileName, StringUtil.isBlank(vo.getConfirmationVoucherFileName()) ? null : vo.getConfirmationVoucherFileName())
  124 + .eq(PurchaseOrderRevoke::getId, vo.getId());
  125 +
  126 + getBaseMapper().update(updateWrapper);
  127 +
  128 + OpLogUtil.setVariable("id", data.getId());
  129 + OpLogUtil.setExtra(vo);
  130 + }
  131 +
  132 + @OpLog(type = OtherOpLogType.class, name = "删除订货单撤销表,ID:{}", params = {"#id"})
  133 + @Transactional(rollbackFor = Exception.class)
  134 + @Override
  135 + public void deleteById(String id) {
  136 +
  137 + getBaseMapper().deleteById(id);
  138 + }
  139 +
  140 + @Override
  141 + public void cleanCacheByKey(Serializable key) {
  142 +
  143 + }
  144 +}
... ...
  1 +package com.lframework.xingyun.sc.mappers;
  2 +
  3 +import com.lframework.starter.web.core.mapper.BaseMapper;
  4 +import com.lframework.xingyun.sc.entity.PurchaseOrderRevoke;
  5 +import com.lframework.xingyun.sc.vo.order.QueryPurchaseOrderRevokeVo;
  6 +import org.apache.ibatis.annotations.Param;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * <p>
  12 + * 订货单撤销表 Mapper 接口
  13 + * </p>
  14 + *
  15 + */
  16 +public interface PurchaseOrderRevokeMapper extends BaseMapper<PurchaseOrderRevoke> {
  17 +
  18 + /**
  19 + * 查询列表
  20 + * @param vo
  21 + * @return
  22 + */
  23 + List<PurchaseOrderRevoke> query(@Param("vo") QueryPurchaseOrderRevokeVo vo);
  24 +}
... ...
  1 +package com.lframework.xingyun.sc.service.order;
  2 +
  3 +import com.lframework.starter.web.core.service.BaseMpService;
  4 +import com.lframework.starter.web.core.components.resp.PageResult;
  5 +import com.lframework.xingyun.sc.entity.PurchaseOrderRevoke;
  6 +import com.lframework.xingyun.sc.vo.order.CreatePurchaseOrderRevokeVo;
  7 +import com.lframework.xingyun.sc.vo.order.QueryPurchaseOrderRevokeVo;
  8 +import com.lframework.xingyun.sc.vo.order.UpdatePurchaseOrderRevokeVo;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * 订货单撤销表 Service
  13 + */
  14 +public interface PurchaseOrderRevokeService extends BaseMpService<PurchaseOrderRevoke> {
  15 +
  16 + /**
  17 + * 查询列表
  18 + * @return
  19 + */
  20 + PageResult<PurchaseOrderRevoke> query(Integer pageIndex, Integer pageSize, QueryPurchaseOrderRevokeVo vo);
  21 +
  22 + /**
  23 + * 查询列表
  24 + * @param vo
  25 + * @return
  26 + */
  27 + List<PurchaseOrderRevoke> query(QueryPurchaseOrderRevokeVo vo);
  28 +
  29 + /**
  30 + * 根据ID查询
  31 + * @param id
  32 + * @return
  33 + */
  34 + PurchaseOrderRevoke findById(String id);
  35 +
  36 + /**
  37 + * 创建
  38 + * @param vo
  39 + * @return
  40 + */
  41 + String create(CreatePurchaseOrderRevokeVo vo);
  42 +
  43 + /**
  44 + * 修改
  45 + * @param vo
  46 + */
  47 + void update(UpdatePurchaseOrderRevokeVo vo);
  48 +
  49 + /**
  50 + * 根据ID删除
  51 + * @param id
  52 + * @return
  53 + */
  54 + void deleteById(String id);
  55 +}
... ...
  1 +package com.lframework.xingyun.sc.vo.order;
  2 +
  3 +import javax.validation.constraints.NotBlank;
  4 +import java.time.LocalDate;
  5 +import com.lframework.starter.web.core.vo.BaseVo;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import com.lframework.starter.web.core.components.validation.TypeMismatch;
  8 +import org.hibernate.validator.constraints.Length;
  9 +import java.io.Serializable;
  10 +import lombok.Data;
  11 +
  12 +@Data
  13 +public class CreatePurchaseOrderRevokeVo implements BaseVo, Serializable {
  14 +
  15 + private static final long serialVersionUID = 1L;
  16 +
  17 + /**
  18 + * 第几次撤销
  19 + */
  20 + @ApiModelProperty(value = "第几次撤销", required = true)
  21 + @NotBlank(message = "请输入第几次撤销!")
  22 + @Length(message = "第几次撤销最多允许20个字符!")
  23 + private String sort;
  24 +
  25 + /**
  26 + * 订货单ID
  27 + */
  28 + @ApiModelProperty(value = "订货单ID", required = true)
  29 + @NotBlank(message = "请输入订货单ID!")
  30 + @Length(message = "订货单ID最多允许32个字符!")
  31 + private String purchaseOrderId;
  32 +
  33 + /**
  34 + * 订单编号
  35 + */
  36 + @ApiModelProperty("订单编号")
  37 + @Length(message = "订单编号最多允许50个字符!")
  38 + private String orderNo;
  39 +
  40 + /**
  41 + * 订货单位ID
  42 + */
  43 + @ApiModelProperty("订货单位ID")
  44 + @Length(message = "订货单位ID最多允许100个字符!")
  45 + private String orderingUnit;
  46 +
  47 + /**
  48 + * 原订货日期
  49 + */
  50 + @ApiModelProperty("原订货日期")
  51 + @TypeMismatch(message = "原订货日期格式有误!")
  52 + private LocalDate orderDate;
  53 +
  54 + /**
  55 + * 要求交货日期
  56 + */
  57 + @ApiModelProperty("要求交货日期")
  58 + @TypeMismatch(message = "要求交货日期格式有误!")
  59 + private LocalDate deliveryDate;
  60 +
  61 + /**
  62 + * 制单日期
  63 + */
  64 + @ApiModelProperty("制单日期")
  65 + @TypeMismatch(message = "制单日期格式有误!")
  66 + private LocalDate documentPreparationDate;
  67 +
  68 + /**
  69 + * 状态
  70 + */
  71 + @ApiModelProperty("状态")
  72 + @Length(message = "状态最多允许20个字符!")
  73 + private String status;
  74 +
  75 + /**
  76 + * 撤销原因
  77 + */
  78 + @ApiModelProperty("撤销原因")
  79 + @Length(message = "撤销原因最多允许500个字符!")
  80 + private String revokeReason;
  81 +
  82 + /**
  83 + * 撤销确认凭证文件ID
  84 + */
  85 + @ApiModelProperty("撤销确认凭证文件ID")
  86 + @Length(message = "撤销确认凭证文件ID最多允许100个字符!")
  87 + private String confirmationVoucherFileId;
  88 +
  89 + /**
  90 + * 撤销确认凭证文件名称
  91 + */
  92 + @ApiModelProperty("撤销确认凭证文件名称")
  93 + @Length(message = "撤销确认凭证文件名称最多允许100个字符!")
  94 + private String confirmationVoucherFileName;
  95 +
  96 +}
... ...
  1 +package com.lframework.xingyun.sc.vo.order;
  2 +
  3 +import lombok.Data;
  4 +import com.lframework.starter.web.core.vo.PageVo;
  5 +import java.time.LocalDate;
  6 +import com.lframework.starter.web.core.vo.BaseVo;
  7 +import com.lframework.starter.web.core.components.validation.TypeMismatch;
  8 +import io.swagger.annotations.ApiModelProperty;
  9 +import java.io.Serializable;
  10 +
  11 +@Data
  12 +public class QueryPurchaseOrderRevokeVo extends PageVo implements BaseVo, Serializable {
  13 +
  14 + private static final long serialVersionUID = 1L;
  15 +
  16 + /**
  17 + * 订货单ID
  18 + */
  19 + @ApiModelProperty("订货单ID")
  20 + private String purchaseOrderId;
  21 +
  22 + /**
  23 + * 订货单位ID
  24 + */
  25 + @ApiModelProperty("订货单位ID")
  26 + private String orderingUnit;
  27 +
  28 + /**
  29 + * 制单日期
  30 + */
  31 + @ApiModelProperty("制单日期")
  32 + @TypeMismatch(message = "制单日期格式有误!")
  33 + private LocalDate documentPreparationDate;
  34 +
  35 + /**
  36 + * 制单开始日期
  37 + */
  38 + @ApiModelProperty("制单开始日期")
  39 + private String startDate;
  40 +
  41 + /**
  42 + * 制单结束日期
  43 + */
  44 + @ApiModelProperty("制单结束日期")
  45 + private String endDate;
  46 +
  47 + /**
  48 + * 状态
  49 + */
  50 + @ApiModelProperty("状态")
  51 + private String status;
  52 +
  53 +}
... ...
  1 +package com.lframework.xingyun.sc.vo.order;
  2 +
  3 +import lombok.Data;
  4 +import javax.validation.constraints.NotBlank;
  5 +import java.time.LocalDate;
  6 +import com.lframework.starter.web.core.vo.BaseVo;
  7 +import com.lframework.starter.web.core.components.validation.TypeMismatch;
  8 +import io.swagger.annotations.ApiModelProperty;
  9 +import org.hibernate.validator.constraints.Length;
  10 +import java.io.Serializable;
  11 +
  12 +@Data
  13 +public class UpdatePurchaseOrderRevokeVo implements BaseVo, Serializable {
  14 +
  15 + private static final long serialVersionUID = 1L;
  16 +
  17 + /**
  18 + * ID
  19 + */
  20 + @ApiModelProperty(value = "ID", required = true)
  21 + @NotBlank(message = "id不能为空!")
  22 + private String id;
  23 +
  24 + /**
  25 + * 第几次撤销
  26 + */
  27 + @ApiModelProperty(value = "第几次撤销", required = true)
  28 + @NotBlank(message = "请输入第几次撤销!")
  29 + @Length(message = "第几次撤销最多允许20个字符!")
  30 + private String sort;
  31 +
  32 + /**
  33 + * 订货单ID
  34 + */
  35 + @ApiModelProperty(value = "订货单ID", required = true)
  36 + @NotBlank(message = "请输入订货单ID!")
  37 + @Length(message = "订货单ID最多允许32个字符!")
  38 + private String purchaseOrderId;
  39 +
  40 + /**
  41 + * 订单编号
  42 + */
  43 + @ApiModelProperty("订单编号")
  44 + @Length(message = "订单编号最多允许50个字符!")
  45 + private String orderNo;
  46 +
  47 + /**
  48 + * 订货单位ID
  49 + */
  50 + @ApiModelProperty("订货单位ID")
  51 + @Length(message = "订货单位ID最多允许100个字符!")
  52 + private String orderingUnit;
  53 +
  54 + /**
  55 + * 原订货日期
  56 + */
  57 + @ApiModelProperty("原订货日期")
  58 + @TypeMismatch(message = "原订货日期格式有误!")
  59 + private LocalDate orderDate;
  60 +
  61 + /**
  62 + * 要求交货日期
  63 + */
  64 + @ApiModelProperty("要求交货日期")
  65 + @TypeMismatch(message = "要求交货日期格式有误!")
  66 + private LocalDate deliveryDate;
  67 +
  68 + /**
  69 + * 制单日期
  70 + */
  71 + @ApiModelProperty("制单日期")
  72 + @TypeMismatch(message = "制单日期格式有误!")
  73 + private LocalDate documentPreparationDate;
  74 +
  75 + /**
  76 + * 状态
  77 + */
  78 + @ApiModelProperty("状态")
  79 + @Length(message = "状态最多允许20个字符!")
  80 + private String status;
  81 +
  82 + /**
  83 + * 撤销原因
  84 + */
  85 + @ApiModelProperty("撤销原因")
  86 + @Length(message = "撤销原因最多允许500个字符!")
  87 + private String revokeReason;
  88 +
  89 + /**
  90 + * 撤销确认凭证文件ID
  91 + */
  92 + @ApiModelProperty("撤销确认凭证文件ID")
  93 + @Length(message = "撤销确认凭证文件ID最多允许100个字符!")
  94 + private String confirmationVoucherFileId;
  95 +
  96 + /**
  97 + * 撤销确认凭证文件名称
  98 + */
  99 + @ApiModelProperty("撤销确认凭证文件名称")
  100 + @Length(message = "撤销确认凭证文件名称最多允许100个字符!")
  101 + private String confirmationVoucherFileName;
  102 +
  103 +}
... ...
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.lframework.xingyun.sc.mappers.PurchaseOrderRevokeMapper">
  4 +
  5 + <resultMap id="PurchaseOrderRevoke" type="com.lframework.xingyun.sc.entity.PurchaseOrderRevoke">
  6 + <id column="id" property="id"/>
  7 + <result column="sort" property="sort"/>
  8 + <result column="purchase_order_id" property="purchaseOrderId"/>
  9 + <result column="order_no" property="orderNo"/>
  10 + <result column="ordering_unit" property="orderingUnit"/>
  11 + <result column="order_date" property="orderDate"/>
  12 + <result column="delivery_date" property="deliveryDate"/>
  13 + <result column="document_preparation_date" property="documentPreparationDate"/>
  14 + <result column="status" property="status"/>
  15 + <result column="revoke_reason" property="revokeReason"/>
  16 + <result column="confirmation_voucher_file_id" property="confirmationVoucherFileId"/>
  17 + <result column="confirmation_voucher_file_name" property="confirmationVoucherFileName"/>
  18 + <result column="create_by_id" property="createById"/>
  19 + <result column="create_by" property="createBy"/>
  20 + <result column="update_by_id" property="updateById"/>
  21 + <result column="update_by" property="updateBy"/>
  22 + <result column="create_time" property="createTime"/>
  23 + <result column="update_time" property="updateTime"/>
  24 + </resultMap>
  25 +
  26 + <sql id="PurchaseOrderRevoke_sql">
  27 + SELECT
  28 + tb.id,
  29 + tb.sort,
  30 + tb.purchase_order_id,
  31 + tb.order_no,
  32 + tb.ordering_unit,
  33 + tb.order_date,
  34 + tb.delivery_date,
  35 + tb.document_preparation_date,
  36 + tb.status,
  37 + tb.revoke_reason,
  38 + tb.confirmation_voucher_file_id,
  39 + tb.confirmation_voucher_file_name,
  40 + tb.create_by_id,
  41 + tb.create_by,
  42 + tb.update_by_id,
  43 + tb.update_by,
  44 + tb.create_time,
  45 + tb.update_time
  46 + FROM purchase_order_revoke AS tb
  47 + </sql>
  48 +
  49 + <select id="query" resultMap="PurchaseOrderRevoke">
  50 + <include refid="PurchaseOrderRevoke_sql"/>
  51 + <where>
  52 + <if test="vo.purchaseOrderId != null and vo.purchaseOrderId != ''">
  53 + AND tb.purchase_order_id = #{vo.purchaseOrderId}
  54 + </if>
  55 + <if test="vo.orderingUnit != null and vo.orderingUnit != ''">
  56 + AND tb.ordering_unit = #{vo.orderingUnit}
  57 + </if>
  58 + <if test="vo.startDate != null">
  59 + AND tb.document_preparation_date >= #{vo.startDate}
  60 + </if>
  61 + <if test="vo.endDate != null">
  62 + <![CDATA[
  63 + AND tb.document_preparation_date <= #{vo.endDate}
  64 + ]]>
  65 + </if>
  66 + <if test="vo.status != null and vo.status != ''">
  67 + AND tb.status = #{vo.status}
  68 + </if>
  69 + </where>
  70 + ORDER BY tb.update_time DESC
  71 + </select>
  72 +</mapper>
... ...