Commit 70fb645ee813314579cb1450b5aa6dedc43371a6
Merge remote-tracking branch 'origin/master_0929' into master_0929
Showing
15 changed files
with
296 additions
and
119 deletions
| ... | ... | @@ -6,6 +6,7 @@ import com.lframework.starter.web.core.bo.BaseBo; |
| 6 | 6 | import java.time.LocalDate; |
| 7 | 7 | import java.util.List; |
| 8 | 8 | import com.lframework.xingyun.sc.entity.PurchaseOrderRevoke; |
| 9 | +import com.lframework.xingyun.sc.entity.PurchaseOrderRevokeLine; | |
| 9 | 10 | import io.swagger.annotations.ApiModelProperty; |
| 10 | 11 | |
| 11 | 12 | import lombok.Data; |
| ... | ... | @@ -26,12 +27,6 @@ public class GetPurchaseOrderRevokeBo extends BaseBo<PurchaseOrderRevoke> { |
| 26 | 27 | private String id; |
| 27 | 28 | |
| 28 | 29 | /** |
| 29 | - * 第几次撤销 | |
| 30 | - */ | |
| 31 | - @ApiModelProperty("第几次撤销") | |
| 32 | - private String sort; | |
| 33 | - | |
| 34 | - /** | |
| 35 | 30 | * 订货单ID |
| 36 | 31 | */ |
| 37 | 32 | @ApiModelProperty("订货单ID") |
| ... | ... | @@ -101,7 +96,7 @@ public class GetPurchaseOrderRevokeBo extends BaseBo<PurchaseOrderRevoke> { |
| 101 | 96 | private String confirmationVoucherFileName; |
| 102 | 97 | |
| 103 | 98 | /** |
| 104 | - * 创建人 | |
| 99 | + * 创建人(制单人) | |
| 105 | 100 | */ |
| 106 | 101 | @ApiModelProperty("创建人") |
| 107 | 102 | private String createBy; |
| ... | ... | @@ -110,7 +105,7 @@ public class GetPurchaseOrderRevokeBo extends BaseBo<PurchaseOrderRevoke> { |
| 110 | 105 | * 订货单撤销表物料行 |
| 111 | 106 | */ |
| 112 | 107 | @ApiModelProperty("订货单撤销表物料行") |
| 113 | - private List<GetPurchaseOrderRevokeLineBo> getPurchaseOrderRevokeLineBoList; | |
| 108 | + private List<PurchaseOrderRevokeLine> purchaseOrderRevokeLineList; | |
| 114 | 109 | |
| 115 | 110 | public GetPurchaseOrderRevokeBo() { |
| 116 | 111 | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/order/PurchaseOrderInfoController.java
| ... | ... | @@ -68,6 +68,26 @@ public class PurchaseOrderInfoController extends DefaultBaseController { |
| 68 | 68 | } |
| 69 | 69 | |
| 70 | 70 | /** |
| 71 | + * 查询列表可以撤销数据 | |
| 72 | + */ | |
| 73 | + @ApiOperation("查询列表") | |
| 74 | + @HasPermission({"purchaseOrderInfo:purchaseorderinfo:query"}) | |
| 75 | + @GetMapping("/queryRevokeList") | |
| 76 | + public InvokeResult<PageResult<GetPurchaseOrderInfoBo>> queryRevokeList(@Valid QueryPurchaseOrderInfoVo vo) { | |
| 77 | + | |
| 78 | + PageResult<PurchaseOrderInfo> pageResult = purchaseOrderInfoService.queryRevokeList(getPageIndex(vo), getPageSize(vo), vo); | |
| 79 | + | |
| 80 | + List<PurchaseOrderInfo> datas = pageResult.getDatas(); | |
| 81 | + List<GetPurchaseOrderInfoBo> results = null; | |
| 82 | + | |
| 83 | + if (!CollectionUtil.isEmpty(datas)) { | |
| 84 | + results = datas.stream().map(GetPurchaseOrderInfoBo::new).collect(Collectors.toList()); | |
| 85 | + } | |
| 86 | + | |
| 87 | + return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results)); | |
| 88 | + } | |
| 89 | + | |
| 90 | + /** | |
| 71 | 91 | * 根据ID查询 |
| 72 | 92 | */ |
| 73 | 93 | @ApiOperation("根据ID查询") | ... | ... |
| ... | ... | @@ -9,15 +9,12 @@ import com.lframework.starter.web.core.components.resp.InvokeResult; |
| 9 | 9 | import javax.annotation.Resource; |
| 10 | 10 | import javax.validation.constraints.NotBlank; |
| 11 | 11 | import com.lframework.xingyun.sc.bo.order.GetPurchaseOrderRevokeBo; |
| 12 | -import com.lframework.xingyun.sc.bo.order.GetPurchaseOrderRevokeLineBo; | |
| 13 | 12 | import com.lframework.xingyun.sc.entity.*; |
| 14 | 13 | import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService; |
| 15 | 14 | import com.lframework.xingyun.sc.service.order.PurchaseOrderLineService; |
| 15 | +import com.lframework.xingyun.sc.service.order.PurchaseOrderRevokeLineService; | |
| 16 | 16 | import com.lframework.xingyun.sc.service.order.PurchaseOrderRevokeService; |
| 17 | -import com.lframework.xingyun.sc.vo.order.CreatePurchaseOrderRevokeVo; | |
| 18 | -import com.lframework.xingyun.sc.vo.order.QueryPurchaseOrderLineVo; | |
| 19 | -import com.lframework.xingyun.sc.vo.order.QueryPurchaseOrderRevokeVo; | |
| 20 | -import com.lframework.xingyun.sc.vo.order.UpdatePurchaseOrderRevokeVo; | |
| 17 | +import com.lframework.xingyun.sc.vo.order.*; | |
| 21 | 18 | import io.swagger.annotations.ApiImplicitParam; |
| 22 | 19 | import com.lframework.starter.web.core.components.resp.InvokeResultBuilder; |
| 23 | 20 | import com.lframework.starter.common.exceptions.impl.DefaultClientException; |
| ... | ... | @@ -50,6 +47,8 @@ public class PurchaseOrderRevokeController extends DefaultBaseController { |
| 50 | 47 | private PurchaseOrderInfoService purchaseOrderInfoService; |
| 51 | 48 | @Resource |
| 52 | 49 | private PurchaseOrderLineService purchaseOrderLineService; |
| 50 | + @Resource | |
| 51 | + private PurchaseOrderRevokeLineService purchaseOrderRevokeLineService; | |
| 53 | 52 | |
| 54 | 53 | /** |
| 55 | 54 | * 查询列表 |
| ... | ... | @@ -86,6 +85,12 @@ public class PurchaseOrderRevokeController extends DefaultBaseController { |
| 86 | 85 | } |
| 87 | 86 | |
| 88 | 87 | GetPurchaseOrderRevokeBo result = new GetPurchaseOrderRevokeBo(data); |
| 88 | + QueryPurchaseOrderRevokeLineVo vo = new QueryPurchaseOrderRevokeLineVo(); | |
| 89 | + vo.setPurchaseOrderRevokeId(id); | |
| 90 | + List<PurchaseOrderRevokeLine> query = purchaseOrderRevokeLineService.query(vo); | |
| 91 | + if (CollectionUtil.isNotEmpty(query)) { | |
| 92 | + result.setPurchaseOrderRevokeLineList(query); | |
| 93 | + } | |
| 89 | 94 | |
| 90 | 95 | return InvokeResultBuilder.success(result); |
| 91 | 96 | } |
| ... | ... | @@ -114,7 +119,7 @@ public class PurchaseOrderRevokeController extends DefaultBaseController { |
| 114 | 119 | @ApiOperation("新增") |
| 115 | 120 | @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:add"}) |
| 116 | 121 | @PostMapping("/create") |
| 117 | - public InvokeResult<Void> create(@Valid CreatePurchaseOrderRevokeVo vo) { | |
| 122 | + public InvokeResult<Void> create(@Valid @RequestBody CreatePurchaseOrderRevokeVo vo) { | |
| 118 | 123 | |
| 119 | 124 | purchaseOrderRevokeService.create(vo); |
| 120 | 125 | |
| ... | ... | @@ -127,7 +132,7 @@ public class PurchaseOrderRevokeController extends DefaultBaseController { |
| 127 | 132 | @ApiOperation("修改") |
| 128 | 133 | @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:modify"}) |
| 129 | 134 | @PutMapping("/update") |
| 130 | - public InvokeResult<Void> update(@Valid UpdatePurchaseOrderRevokeVo vo) { | |
| 135 | + public InvokeResult<Void> update(@Valid @RequestBody UpdatePurchaseOrderRevokeVo vo) { | |
| 131 | 136 | |
| 132 | 137 | purchaseOrderRevokeService.update(vo); |
| 133 | 138 | |
| ... | ... | @@ -135,6 +140,20 @@ public class PurchaseOrderRevokeController extends DefaultBaseController { |
| 135 | 140 | } |
| 136 | 141 | |
| 137 | 142 | /** |
| 143 | + * 取消 | |
| 144 | + */ | |
| 145 | + @ApiOperation("取消") | |
| 146 | + @HasPermission({"purchaseOrderRevoke:purchaseorderrevoke:cancel"}) | |
| 147 | + @GetMapping("/cancel") | |
| 148 | + public InvokeResult<Void> cancel(@NotBlank(message = "id不能为空!") String id, | |
| 149 | + @NotBlank(message = "status不能为空!") String status) { | |
| 150 | + | |
| 151 | + purchaseOrderRevokeService.updateStatus(id, status); | |
| 152 | + | |
| 153 | + return InvokeResultBuilder.success(); | |
| 154 | + } | |
| 155 | + | |
| 156 | + /** | |
| 138 | 157 | * 根据ID删除 |
| 139 | 158 | */ |
| 140 | 159 | @ApiOperation("根据ID删除") |
| ... | ... | @@ -175,29 +194,29 @@ public class PurchaseOrderRevokeController extends DefaultBaseController { |
| 175 | 194 | vo.setPurchaseOrderId(purchaseOrderInfo.getId()); |
| 176 | 195 | List<PurchaseOrderLine> purchaseOrderLineList = purchaseOrderLineService.query(vo); |
| 177 | 196 | if (CollectionUtil.isNotEmpty(purchaseOrderLineList)) { |
| 178 | - List<GetPurchaseOrderRevokeLineBo> revokeLineBoList = new ArrayList<>(purchaseOrderLineList.size()); | |
| 197 | + List<PurchaseOrderRevokeLine> revokeLineList = new ArrayList<>(purchaseOrderLineList.size()); | |
| 179 | 198 | for (PurchaseOrderLine purchaseOrderLine : purchaseOrderLineList) { |
| 180 | - GetPurchaseOrderRevokeLineBo bo = new GetPurchaseOrderRevokeLineBo(); | |
| 181 | - bo.setPurchaseOrderLineId(purchaseOrderLine.getId()); | |
| 182 | - bo.setIndustry(purchaseOrderLine.getIndustry()); | |
| 183 | - bo.setQuality(purchaseOrderLine.getQuality()); | |
| 184 | - bo.setBrand(purchaseOrderLine.getBrand()); | |
| 185 | - bo.setThickness(purchaseOrderLine.getThickness()); | |
| 186 | - bo.setThicknessTolPos(purchaseOrderLine.getThicknessTolPos()); | |
| 187 | - bo.setThicknessTolNeg(purchaseOrderLine.getThicknessTolNeg()); | |
| 188 | - bo.setWidth(purchaseOrderLine.getWidth()); | |
| 189 | - bo.setWidthTolPos(purchaseOrderLine.getWidthTolPos()); | |
| 190 | - bo.setWidthTolNeg(purchaseOrderLine.getWidthTolNeg()); | |
| 191 | - bo.setLength(purchaseOrderLine.getLength()); | |
| 192 | - bo.setLengthTolPos(purchaseOrderLine.getLengthTolPos()); | |
| 193 | - bo.setLengthTolNeg(purchaseOrderLine.getLengthTolNeg()); | |
| 194 | - bo.setQuantity(purchaseOrderLine.getQuantity()); | |
| 195 | - bo.setSalesPrice(purchaseOrderLine.getSalesPrice()); | |
| 196 | - bo.setDeliveryDate(purchaseOrderLine.getDeliveryDate()); | |
| 197 | - bo.setShowOrder(purchaseOrderLine.getShowOrder()); | |
| 198 | - revokeLineBoList.add(bo); | |
| 199 | + PurchaseOrderRevokeLine line = new PurchaseOrderRevokeLine(); | |
| 200 | + line.setPurchaseOrderLineId(purchaseOrderLine.getId()); | |
| 201 | + line.setIndustry(purchaseOrderLine.getIndustry()); | |
| 202 | + line.setQuality(purchaseOrderLine.getQuality()); | |
| 203 | + line.setBrand(purchaseOrderLine.getBrand()); | |
| 204 | + line.setThickness(purchaseOrderLine.getThickness()); | |
| 205 | + line.setThicknessTolPos(purchaseOrderLine.getThicknessTolPos()); | |
| 206 | + line.setThicknessTolNeg(purchaseOrderLine.getThicknessTolNeg()); | |
| 207 | + line.setWidth(purchaseOrderLine.getWidth()); | |
| 208 | + line.setWidthTolPos(purchaseOrderLine.getWidthTolPos()); | |
| 209 | + line.setWidthTolNeg(purchaseOrderLine.getWidthTolNeg()); | |
| 210 | + line.setLength(purchaseOrderLine.getLength()); | |
| 211 | + line.setLengthTolPos(purchaseOrderLine.getLengthTolPos()); | |
| 212 | + line.setLengthTolNeg(purchaseOrderLine.getLengthTolNeg()); | |
| 213 | + line.setQuantity(purchaseOrderLine.getQuantity()); | |
| 214 | + line.setSalesPrice(purchaseOrderLine.getSalesPrice()); | |
| 215 | + line.setDeliveryDate(purchaseOrderLine.getDeliveryDate()); | |
| 216 | + line.setShowOrder(purchaseOrderLine.getShowOrder()); | |
| 217 | + revokeLineList.add(line); | |
| 199 | 218 | } |
| 200 | - data.setGetPurchaseOrderRevokeLineBoList(revokeLineBoList); | |
| 219 | + data.setPurchaseOrderRevokeLineList(revokeLineList); | |
| 201 | 220 | } |
| 202 | 221 | |
| 203 | 222 | return data; | ... | ... |
| ... | ... | @@ -29,11 +29,6 @@ public class PurchaseOrderRevoke extends BaseEntity implements BaseDto { |
| 29 | 29 | private String id; |
| 30 | 30 | |
| 31 | 31 | /** |
| 32 | - * 第几次撤销 | |
| 33 | - */ | |
| 34 | - private String sort; | |
| 35 | - | |
| 36 | - /** | |
| 37 | 32 | * 订货单ID |
| 38 | 33 | */ |
| 39 | 34 | private String purchaseOrderId; |
| ... | ... | @@ -49,6 +44,12 @@ public class PurchaseOrderRevoke extends BaseEntity implements BaseDto { |
| 49 | 44 | private String orderingUnit; |
| 50 | 45 | |
| 51 | 46 | /** |
| 47 | + * 订货单位名称(非持久化字段) | |
| 48 | + */ | |
| 49 | + @TableField(exist = false) | |
| 50 | + private String orderingUnitName; | |
| 51 | + | |
| 52 | + /** | |
| 52 | 53 | * 原订货日期 |
| 53 | 54 | */ |
| 54 | 55 | private LocalDate orderDate; | ... | ... |
| ... | ... | @@ -57,12 +57,30 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde |
| 57 | 57 | } |
| 58 | 58 | |
| 59 | 59 | @Override |
| 60 | + public PageResult<PurchaseOrderInfo> queryRevokeList(Integer pageIndex, Integer pageSize, QueryPurchaseOrderInfoVo vo) { | |
| 61 | + | |
| 62 | + Assert.greaterThanZero(pageIndex); | |
| 63 | + Assert.greaterThanZero(pageSize); | |
| 64 | + | |
| 65 | + PageHelperUtil.startPage(pageIndex, pageSize); | |
| 66 | + List<PurchaseOrderInfo> datas = this.queryRevokeList(vo); | |
| 67 | + | |
| 68 | + return PageResultUtil.convert(new PageInfo<>(datas)); | |
| 69 | + } | |
| 70 | + | |
| 71 | + @Override | |
| 60 | 72 | public List<PurchaseOrderInfo> query(QueryPurchaseOrderInfoVo vo) { |
| 61 | 73 | |
| 62 | 74 | return getBaseMapper().query(vo); |
| 63 | 75 | } |
| 64 | 76 | |
| 65 | 77 | @Override |
| 78 | + public List<PurchaseOrderInfo> queryRevokeList(QueryPurchaseOrderInfoVo vo) { | |
| 79 | + | |
| 80 | + return getBaseMapper().queryRevokeList(vo); | |
| 81 | + } | |
| 82 | + | |
| 83 | + @Override | |
| 66 | 84 | public PurchaseOrderInfo findById(String id) { |
| 67 | 85 | |
| 68 | 86 | return getBaseMapper().findById(id); |
| ... | ... | @@ -290,6 +308,19 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde |
| 290 | 308 | } |
| 291 | 309 | } |
| 292 | 310 | |
| 311 | + @OpLog(type = OtherOpLogType.class, name = "更新撤销状态,ID:{}", params = {"#id"}) | |
| 312 | + @Transactional(rollbackFor = Exception.class) | |
| 313 | + @Override | |
| 314 | + public void updateRevokeStatus(String id, String status) { | |
| 315 | + if (StringUtils.isBlank(id) || StringUtils.isBlank(status)) { | |
| 316 | + return; | |
| 317 | + } | |
| 318 | + LambdaUpdateWrapper<PurchaseOrderInfo> updateWrapper = Wrappers.lambdaUpdate(PurchaseOrderInfo.class) | |
| 319 | + .set(PurchaseOrderInfo::getRevokeStatus, status) | |
| 320 | + .eq(PurchaseOrderInfo::getId, id); | |
| 321 | + getBaseMapper().update(updateWrapper); | |
| 322 | + } | |
| 323 | + | |
| 293 | 324 | @Override |
| 294 | 325 | public void cleanCacheByKey(Serializable key) { |
| 295 | 326 | ... | ... |
| ... | ... | @@ -3,6 +3,7 @@ package com.lframework.xingyun.sc.impl.order; |
| 3 | 3 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| 4 | 4 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| 5 | 5 | import com.github.pagehelper.PageInfo; |
| 6 | +import com.lframework.starter.common.utils.CollectionUtil; | |
| 6 | 7 | import com.lframework.starter.web.core.impl.BaseMpServiceImpl; |
| 7 | 8 | import com.lframework.starter.web.core.utils.PageResultUtil; |
| 8 | 9 | import com.lframework.starter.web.core.components.resp.PageResult; |
| ... | ... | @@ -17,19 +18,29 @@ import com.lframework.starter.web.core.utils.PageHelperUtil; |
| 17 | 18 | import com.lframework.starter.common.utils.Assert; |
| 18 | 19 | import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; |
| 19 | 20 | import com.lframework.xingyun.sc.entity.PurchaseOrderRevoke; |
| 21 | +import com.lframework.xingyun.sc.entity.PurchaseOrderRevokeLine; | |
| 20 | 22 | import com.lframework.xingyun.sc.mappers.PurchaseOrderRevokeMapper; |
| 23 | +import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService; | |
| 24 | +import com.lframework.xingyun.sc.service.order.PurchaseOrderRevokeLineService; | |
| 21 | 25 | 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; | |
| 26 | +import com.lframework.xingyun.sc.vo.order.*; | |
| 27 | +import org.apache.commons.lang3.StringUtils; | |
| 25 | 28 | import org.springframework.transaction.annotation.Transactional; |
| 26 | 29 | import org.springframework.stereotype.Service; |
| 27 | 30 | |
| 31 | +import javax.annotation.Resource; | |
| 32 | +import java.time.LocalDate; | |
| 28 | 33 | import java.util.List; |
| 29 | 34 | |
| 30 | 35 | @Service |
| 31 | 36 | public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOrderRevokeMapper, PurchaseOrderRevoke> implements PurchaseOrderRevokeService { |
| 32 | 37 | |
| 38 | + @Resource | |
| 39 | + private PurchaseOrderRevokeLineService purchaseOrderRevokeLineService; | |
| 40 | + @Resource | |
| 41 | + private PurchaseOrderInfoService purchaseOrderInfoService; | |
| 42 | + | |
| 43 | + | |
| 33 | 44 | @Override |
| 34 | 45 | public PageResult<PurchaseOrderRevoke> query(Integer pageIndex, Integer pageSize, QueryPurchaseOrderRevokeVo vo) { |
| 35 | 46 | |
| ... | ... | @@ -51,7 +62,7 @@ public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOr |
| 51 | 62 | @Override |
| 52 | 63 | public PurchaseOrderRevoke findById(String id) { |
| 53 | 64 | |
| 54 | - return getBaseMapper().selectById(id); | |
| 65 | + return getBaseMapper().findById(id); | |
| 55 | 66 | } |
| 56 | 67 | |
| 57 | 68 | @OpLog(type = OtherOpLogType.class, name = "新增订货单撤销表,ID:{}", params = {"#id"}) |
| ... | ... | @@ -61,7 +72,6 @@ public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOr |
| 61 | 72 | |
| 62 | 73 | PurchaseOrderRevoke data = new PurchaseOrderRevoke(); |
| 63 | 74 | data.setId(IdUtil.getId()); |
| 64 | - data.setSort(vo.getSort()); | |
| 65 | 75 | data.setPurchaseOrderId(vo.getPurchaseOrderId()); |
| 66 | 76 | if (!StringUtil.isBlank(vo.getOrderNo())) { |
| 67 | 77 | data.setOrderNo(vo.getOrderNo()); |
| ... | ... | @@ -75,11 +85,12 @@ public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOr |
| 75 | 85 | if (vo.getDeliveryDate() != null) { |
| 76 | 86 | data.setDeliveryDate(vo.getDeliveryDate()); |
| 77 | 87 | } |
| 78 | - if (vo.getDocumentPreparationDate() != null) { | |
| 79 | - data.setDocumentPreparationDate(vo.getDocumentPreparationDate()); | |
| 80 | - } | |
| 88 | + //制单日期 | |
| 89 | + data.setDocumentPreparationDate(LocalDate.now()); | |
| 81 | 90 | if (!StringUtil.isBlank(vo.getStatus())) { |
| 82 | 91 | data.setStatus(vo.getStatus()); |
| 92 | + } else { | |
| 93 | + data.setStatus("AUDIT"); | |
| 83 | 94 | } |
| 84 | 95 | if (!StringUtil.isBlank(vo.getRevokeReason())) { |
| 85 | 96 | data.setRevokeReason(vo.getRevokeReason()); |
| ... | ... | @@ -96,6 +107,36 @@ public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOr |
| 96 | 107 | OpLogUtil.setVariable("id", data.getId()); |
| 97 | 108 | OpLogUtil.setExtra(vo); |
| 98 | 109 | |
| 110 | + //新增订货单撤销表物料行 | |
| 111 | + if (CollectionUtil.isNotEmpty(vo.getPurchaseOrderRevokeLineList())) { | |
| 112 | + List<PurchaseOrderRevokeLine> purchaseOrderRevokeLineList = vo.getPurchaseOrderRevokeLineList(); | |
| 113 | + for (PurchaseOrderRevokeLine purchaseOrderRevokeLine : purchaseOrderRevokeLineList) { | |
| 114 | + CreatePurchaseOrderRevokeLineVo vo1 = new CreatePurchaseOrderRevokeLineVo(); | |
| 115 | + vo1.setPurchaseOrderRevokeId(data.getId()); | |
| 116 | + vo1.setPurchaseOrderLineId(purchaseOrderRevokeLine.getPurchaseOrderLineId()); | |
| 117 | + vo1.setIndustry(purchaseOrderRevokeLine.getIndustry()); | |
| 118 | + vo1.setQuality(purchaseOrderRevokeLine.getQuality()); | |
| 119 | + vo1.setBrand(purchaseOrderRevokeLine.getBrand()); | |
| 120 | + vo1.setThickness(purchaseOrderRevokeLine.getThickness()); | |
| 121 | + vo1.setThicknessTolPos(purchaseOrderRevokeLine.getThicknessTolPos()); | |
| 122 | + vo1.setThicknessTolNeg(purchaseOrderRevokeLine.getThicknessTolNeg()); | |
| 123 | + vo1.setWidth(purchaseOrderRevokeLine.getWidth()); | |
| 124 | + vo1.setWidthTolPos(purchaseOrderRevokeLine.getWidthTolPos()); | |
| 125 | + vo1.setWidthTolNeg(purchaseOrderRevokeLine.getWidthTolNeg()); | |
| 126 | + vo1.setLength(purchaseOrderRevokeLine.getLength()); | |
| 127 | + vo1.setLengthTolPos(purchaseOrderRevokeLine.getLengthTolPos()); | |
| 128 | + vo1.setLengthTolNeg(purchaseOrderRevokeLine.getLengthTolNeg()); | |
| 129 | + vo1.setQuantity(purchaseOrderRevokeLine.getQuantity()); | |
| 130 | + vo1.setSalesPrice(purchaseOrderRevokeLine.getSalesPrice()); | |
| 131 | + vo1.setDeliveryDate(purchaseOrderRevokeLine.getDeliveryDate()); | |
| 132 | + vo1.setRevokeQuantity(purchaseOrderRevokeLine.getRevokeQuantity()); | |
| 133 | + vo1.setShowOrder(purchaseOrderRevokeLine.getShowOrder()); | |
| 134 | + purchaseOrderRevokeLineService.create(vo1); | |
| 135 | + } | |
| 136 | + } | |
| 137 | + //更新订货单撤销状态为:撤销中 | |
| 138 | + purchaseOrderInfoService.updateRevokeStatus(vo.getPurchaseOrderId(), "UNDOING"); | |
| 139 | + | |
| 99 | 140 | return data.getId(); |
| 100 | 141 | } |
| 101 | 142 | |
| ... | ... | @@ -110,14 +151,8 @@ public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOr |
| 110 | 151 | } |
| 111 | 152 | |
| 112 | 153 | 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 | 154 | .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()) | |
| 155 | + .set(PurchaseOrderRevoke::getStatus, "AUDIT") | |
| 121 | 156 | .set(PurchaseOrderRevoke::getRevokeReason, StringUtil.isBlank(vo.getRevokeReason()) ? null : vo.getRevokeReason()) |
| 122 | 157 | .set(PurchaseOrderRevoke::getConfirmationVoucherFileId, StringUtil.isBlank(vo.getConfirmationVoucherFileId()) ? null : vo.getConfirmationVoucherFileId()) |
| 123 | 158 | .set(PurchaseOrderRevoke::getConfirmationVoucherFileName, StringUtil.isBlank(vo.getConfirmationVoucherFileName()) ? null : vo.getConfirmationVoucherFileName()) |
| ... | ... | @@ -125,10 +160,39 @@ public class PurchaseOrderRevokeServiceImpl extends BaseMpServiceImpl<PurchaseOr |
| 125 | 160 | |
| 126 | 161 | getBaseMapper().update(updateWrapper); |
| 127 | 162 | |
| 163 | + //撤销单物料行修改 | |
| 164 | + List<UpdatePurchaseOrderRevokeLineVo> voList = vo.getUpdatePurchaseOrderRevokeLineVoList(); | |
| 165 | + if (CollectionUtil.isNotEmpty(voList)) { | |
| 166 | + for (UpdatePurchaseOrderRevokeLineVo vo1 : voList) { | |
| 167 | + purchaseOrderRevokeLineService.update(vo1); | |
| 168 | + } | |
| 169 | + } | |
| 170 | + | |
| 128 | 171 | OpLogUtil.setVariable("id", data.getId()); |
| 129 | 172 | OpLogUtil.setExtra(vo); |
| 130 | 173 | } |
| 131 | 174 | |
| 175 | + @OpLog(type = OtherOpLogType.class, name = "更新状态,ID:{}", params = {"#id"}) | |
| 176 | + @Transactional(rollbackFor = Exception.class) | |
| 177 | + @Override | |
| 178 | + public void updateStatus(String id, String status) { | |
| 179 | + if (StringUtils.isBlank(id) || StringUtils.isBlank(status)) { | |
| 180 | + return; | |
| 181 | + } | |
| 182 | + | |
| 183 | + LambdaUpdateWrapper<PurchaseOrderRevoke> updateWrapper = Wrappers.lambdaUpdate(PurchaseOrderRevoke.class) | |
| 184 | + .set(PurchaseOrderRevoke::getStatus, status) | |
| 185 | + .eq(PurchaseOrderRevoke::getId, id); | |
| 186 | + getBaseMapper().update(updateWrapper); | |
| 187 | + | |
| 188 | + if ("CANCEL".equals(status)) { | |
| 189 | + PurchaseOrderRevoke revoke = findById(id); | |
| 190 | + //更新订货单撤销状态为已取消 | |
| 191 | + purchaseOrderInfoService.updateRevokeStatus(revoke.getPurchaseOrderId(), status); | |
| 192 | + } | |
| 193 | + | |
| 194 | + } | |
| 195 | + | |
| 132 | 196 | @OpLog(type = OtherOpLogType.class, name = "删除订货单撤销表,ID:{}", params = {"#id"}) |
| 133 | 197 | @Transactional(rollbackFor = Exception.class) |
| 134 | 198 | @Override | ... | ... |
| ... | ... | @@ -22,5 +22,12 @@ public interface PurchaseOrderInfoMapper extends BaseMapper<PurchaseOrderInfo> { |
| 22 | 22 | */ |
| 23 | 23 | List<PurchaseOrderInfo> query(@Param("vo") QueryPurchaseOrderInfoVo vo); |
| 24 | 24 | |
| 25 | + /** | |
| 26 | + * 查询可撤销操作列表 | |
| 27 | + * @param vo | |
| 28 | + * @return | |
| 29 | + */ | |
| 30 | + List<PurchaseOrderInfo> queryRevokeList(@Param("vo") QueryPurchaseOrderInfoVo vo); | |
| 31 | + | |
| 25 | 32 | PurchaseOrderInfo findById(@Param("id") String id); |
| 26 | 33 | } | ... | ... |
| ... | ... | @@ -21,12 +21,25 @@ public interface PurchaseOrderInfoService extends BaseMpService<PurchaseOrderInf |
| 21 | 21 | |
| 22 | 22 | /** |
| 23 | 23 | * 查询列表 |
| 24 | + * @return | |
| 25 | + */ | |
| 26 | + PageResult<PurchaseOrderInfo> queryRevokeList(Integer pageIndex, Integer pageSize, QueryPurchaseOrderInfoVo vo); | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 查询列表 | |
| 24 | 30 | * @param vo |
| 25 | 31 | * @return |
| 26 | 32 | */ |
| 27 | 33 | List<PurchaseOrderInfo> query(QueryPurchaseOrderInfoVo vo); |
| 28 | 34 | |
| 29 | 35 | /** |
| 36 | + * 查询可撤销列表 | |
| 37 | + * @param vo | |
| 38 | + * @return | |
| 39 | + */ | |
| 40 | + List<PurchaseOrderInfo> queryRevokeList(QueryPurchaseOrderInfoVo vo); | |
| 41 | + | |
| 42 | + /** | |
| 30 | 43 | * 根据ID查询 |
| 31 | 44 | * @param id |
| 32 | 45 | * @return |
| ... | ... | @@ -67,4 +80,12 @@ public interface PurchaseOrderInfoService extends BaseMpService<PurchaseOrderInf |
| 67 | 80 | * @param vo 更新数据 |
| 68 | 81 | */ |
| 69 | 82 | void updateNoFlowInstance(UpdatePurchaseOrderInfoVo vo); |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 根据主键ID更新撤销状态 | |
| 86 | + * | |
| 87 | + * @param id 主键ID | |
| 88 | + * @param status 撤销状态 | |
| 89 | + */ | |
| 90 | + void updateRevokeStatus(String id, String status); | |
| 70 | 91 | } | ... | ... |
| ... | ... | @@ -47,6 +47,14 @@ public interface PurchaseOrderRevokeService extends BaseMpService<PurchaseOrderR |
| 47 | 47 | void update(UpdatePurchaseOrderRevokeVo vo); |
| 48 | 48 | |
| 49 | 49 | /** |
| 50 | + * 更新状态 | |
| 51 | + * | |
| 52 | + * @param id 主键 | |
| 53 | + * @param status 状态 | |
| 54 | + */ | |
| 55 | + void updateStatus(String id, String status); | |
| 56 | + | |
| 57 | + /** | |
| 50 | 58 | * 根据ID删除 |
| 51 | 59 | * @param id |
| 52 | 60 | * @return | ... | ... |
| ... | ... | @@ -3,10 +3,13 @@ package com.lframework.xingyun.sc.vo.order; |
| 3 | 3 | import javax.validation.constraints.NotBlank; |
| 4 | 4 | import java.time.LocalDate; |
| 5 | 5 | import com.lframework.starter.web.core.vo.BaseVo; |
| 6 | +import com.lframework.xingyun.sc.entity.PurchaseOrderRevokeLine; | |
| 6 | 7 | import io.swagger.annotations.ApiModelProperty; |
| 7 | 8 | import com.lframework.starter.web.core.components.validation.TypeMismatch; |
| 8 | 9 | import org.hibernate.validator.constraints.Length; |
| 9 | 10 | import java.io.Serializable; |
| 11 | +import java.util.List; | |
| 12 | + | |
| 10 | 13 | import lombok.Data; |
| 11 | 14 | |
| 12 | 15 | @Data |
| ... | ... | @@ -15,14 +18,6 @@ public class CreatePurchaseOrderRevokeVo implements BaseVo, Serializable { |
| 15 | 18 | private static final long serialVersionUID = 1L; |
| 16 | 19 | |
| 17 | 20 | /** |
| 18 | - * 第几次撤销 | |
| 19 | - */ | |
| 20 | - @ApiModelProperty(value = "第几次撤销", required = true) | |
| 21 | - @NotBlank(message = "请输入第几次撤销!") | |
| 22 | - @Length(message = "第几次撤销最多允许20个字符!") | |
| 23 | - private String sort; | |
| 24 | - | |
| 25 | - /** | |
| 26 | 21 | * 订货单ID |
| 27 | 22 | */ |
| 28 | 23 | @ApiModelProperty(value = "订货单ID", required = true) |
| ... | ... | @@ -93,4 +88,10 @@ public class CreatePurchaseOrderRevokeVo implements BaseVo, Serializable { |
| 93 | 88 | @Length(message = "撤销确认凭证文件名称最多允许100个字符!") |
| 94 | 89 | private String confirmationVoucherFileName; |
| 95 | 90 | |
| 91 | + /** | |
| 92 | + * 订货单撤销表物料行 | |
| 93 | + */ | |
| 94 | + @ApiModelProperty("订货单撤销表物料行") | |
| 95 | + private List<PurchaseOrderRevokeLine> purchaseOrderRevokeLineList; | |
| 96 | + | |
| 96 | 97 | } | ... | ... |
| ... | ... | @@ -25,9 +25,9 @@ public class UpdatePurchaseOrderRevokeLineVo implements BaseVo, Serializable { |
| 25 | 25 | /** |
| 26 | 26 | * 撤销数量kg |
| 27 | 27 | */ |
| 28 | - @ApiModelProperty("撤销数量kg") | |
| 29 | - @TypeMismatch(message = "撤销数量kg格式有误!") | |
| 30 | - @IsNumberPrecision(message = "撤销数量kg最多允许4位小数!", value = 4) | |
| 28 | + @ApiModelProperty("撤销数量") | |
| 29 | + @TypeMismatch(message = "撤销数量格式有误!") | |
| 30 | + @IsNumberPrecision(message = "撤销数量最多允许4位小数!", value = 4) | |
| 31 | 31 | private BigDecimal revokeQuantity; |
| 32 | 32 | |
| 33 | 33 | } | ... | ... |
| ... | ... | @@ -8,6 +8,7 @@ import com.lframework.starter.web.core.components.validation.TypeMismatch; |
| 8 | 8 | import io.swagger.annotations.ApiModelProperty; |
| 9 | 9 | import org.hibernate.validator.constraints.Length; |
| 10 | 10 | import java.io.Serializable; |
| 11 | +import java.util.List; | |
| 11 | 12 | |
| 12 | 13 | @Data |
| 13 | 14 | public class UpdatePurchaseOrderRevokeVo implements BaseVo, Serializable { |
| ... | ... | @@ -21,42 +22,6 @@ public class UpdatePurchaseOrderRevokeVo implements BaseVo, Serializable { |
| 21 | 22 | @NotBlank(message = "id不能为空!") |
| 22 | 23 | private String id; |
| 23 | 24 | |
| 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 | 25 | |
| 61 | 26 | /** |
| 62 | 27 | * 要求交货日期 |
| ... | ... | @@ -66,20 +31,6 @@ public class UpdatePurchaseOrderRevokeVo implements BaseVo, Serializable { |
| 66 | 31 | private LocalDate deliveryDate; |
| 67 | 32 | |
| 68 | 33 | /** |
| 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 | 34 | * 撤销原因 |
| 84 | 35 | */ |
| 85 | 36 | @ApiModelProperty("撤销原因") |
| ... | ... | @@ -100,4 +51,10 @@ public class UpdatePurchaseOrderRevokeVo implements BaseVo, Serializable { |
| 100 | 51 | @Length(message = "撤销确认凭证文件名称最多允许100个字符!") |
| 101 | 52 | private String confirmationVoucherFileName; |
| 102 | 53 | |
| 54 | + /** | |
| 55 | + * 订货单撤销单物料行 | |
| 56 | + */ | |
| 57 | + @ApiModelProperty("订货单撤销单物料行") | |
| 58 | + List<UpdatePurchaseOrderRevokeLineVo> updatePurchaseOrderRevokeLineVoList; | |
| 59 | + | |
| 103 | 60 | } | ... | ... |
| ... | ... | @@ -120,6 +120,45 @@ |
| 120 | 120 | ORDER BY tb.update_time DESC |
| 121 | 121 | </select> |
| 122 | 122 | |
| 123 | + <select id="queryRevokeList" resultMap="PurchaseOrderInfo"> | |
| 124 | + <include refid="PurchaseOrderInfo_sql"/> | |
| 125 | + <where> | |
| 126 | + <if test="vo.orderNo != null and vo.orderNo != ''"> | |
| 127 | + AND tb.order_no = #{vo.orderNo} | |
| 128 | + </if> | |
| 129 | + <if test="vo.orderingUnitName != null and vo.orderingUnitName != ''"> | |
| 130 | + AND cu.name LIKE CONCAT('%', #{vo.orderingUnitName},'%') | |
| 131 | + </if> | |
| 132 | + <if test="vo.orderDateStart != null"> | |
| 133 | + AND tb.order_date >= #{vo.orderDateStart} | |
| 134 | + </if> | |
| 135 | + <if test="vo.orderDateEnd != null"> | |
| 136 | + <![CDATA[ | |
| 137 | + AND tb.order_date <= #{vo.orderDateEnd} | |
| 138 | + ]]> | |
| 139 | + </if> | |
| 140 | + <if test="vo.status != null and vo.status != ''"> | |
| 141 | + AND tb.status = #{vo.status} | |
| 142 | + </if> | |
| 143 | + <if test="vo.examineStatus != null and vo.examineStatus != ''"> | |
| 144 | + AND tb.examine_status = #{vo.examineStatus} | |
| 145 | + </if> | |
| 146 | + <if test="vo.revokeStatus != null and vo.revokeStatus != ''"> | |
| 147 | + AND tb.revoke_status = #{vo.revokeStatus} | |
| 148 | + </if> | |
| 149 | + <if test="vo.deptId != null and vo.deptId != ''"> | |
| 150 | + AND tb.dept_id = #{vo.deptId} | |
| 151 | + </if> | |
| 152 | + <if test="vo.workshopId != null and vo.workshopId != ''"> | |
| 153 | + AND tb.workshop_id = #{vo.workshopId} | |
| 154 | + </if> | |
| 155 | + AND (tb.revoke_status = '' OR tb.revoke_status = null OR tb.revoke_status='CANCEL' OR | |
| 156 | + tb.revoke_status='PARTIAL') | |
| 157 | + AND (tb.status='ISSUED' OR tb.status='WAIT' OR tb.status='TRANSIT') | |
| 158 | + </where> | |
| 159 | + ORDER BY tb.update_time DESC | |
| 160 | + </select> | |
| 161 | + | |
| 123 | 162 | <select id="findById" resultType="com.lframework.xingyun.sc.entity.PurchaseOrderInfo"> |
| 124 | 163 | <include refid="PurchaseOrderInfo_sql"/> |
| 125 | 164 | <where> | ... | ... |
| ... | ... | @@ -4,7 +4,6 @@ |
| 4 | 4 | |
| 5 | 5 | <resultMap id="PurchaseOrderRevoke" type="com.lframework.xingyun.sc.entity.PurchaseOrderRevoke"> |
| 6 | 6 | <id column="id" property="id"/> |
| 7 | - <result column="sort" property="sort"/> | |
| 8 | 7 | <result column="purchase_order_id" property="purchaseOrderId"/> |
| 9 | 8 | <result column="order_no" property="orderNo"/> |
| 10 | 9 | <result column="ordering_unit" property="orderingUnit"/> |
| ... | ... | @@ -26,10 +25,10 @@ |
| 26 | 25 | <sql id="PurchaseOrderRevoke_sql"> |
| 27 | 26 | SELECT |
| 28 | 27 | tb.id, |
| 29 | - tb.sort, | |
| 30 | 28 | tb.purchase_order_id, |
| 31 | 29 | tb.order_no, |
| 32 | 30 | tb.ordering_unit, |
| 31 | + cu.name AS ordering_unit_name, | |
| 33 | 32 | tb.order_date, |
| 34 | 33 | tb.delivery_date, |
| 35 | 34 | tb.document_preparation_date, |
| ... | ... | @@ -44,6 +43,7 @@ |
| 44 | 43 | tb.create_time, |
| 45 | 44 | tb.update_time |
| 46 | 45 | FROM purchase_order_revoke AS tb |
| 46 | + left join base_data_customer as cu on cu.id = tb.ordering_unit | |
| 47 | 47 | </sql> |
| 48 | 48 | |
| 49 | 49 | <select id="query" resultMap="PurchaseOrderRevoke"> |
| ... | ... | @@ -55,6 +55,9 @@ |
| 55 | 55 | <if test="vo.orderingUnit != null and vo.orderingUnit != ''"> |
| 56 | 56 | AND tb.ordering_unit = #{vo.orderingUnit} |
| 57 | 57 | </if> |
| 58 | + <if test="vo.orderingUnitName != null and vo.orderingUnitName != ''"> | |
| 59 | + AND cu.name LIKE CONCAT('%', #{vo.orderingUnitName},'%') | |
| 60 | + </if> | |
| 58 | 61 | <if test="vo.startDate != null"> |
| 59 | 62 | AND tb.document_preparation_date >= #{vo.startDate} |
| 60 | 63 | </if> |
| ... | ... | @@ -69,4 +72,13 @@ |
| 69 | 72 | </where> |
| 70 | 73 | ORDER BY tb.update_time DESC |
| 71 | 74 | </select> |
| 75 | + | |
| 76 | + <select id="findById" resultType="com.lframework.xingyun.sc.entity.PurchaseOrderRevoke"> | |
| 77 | + <include refid="PurchaseOrderRevoke_sql"/> | |
| 78 | + <where> | |
| 79 | + <if test="id != null and id != ''"> | |
| 80 | + AND tb.id = #{id} | |
| 81 | + </if> | |
| 82 | + </where> | |
| 83 | + </select> | |
| 72 | 84 | </mapper> | ... | ... |