| | |
| | | dataIndex: 'oper', |
| | | key: 'oper', |
| | | width: 240, |
| | | fixed: 'right', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | dataIndex: 'oper', |
| | | key: 'oper', |
| | | width: 240, |
| | | fixed: 'right', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | dataIndex: 'oper', |
| | | key: 'oper', |
| | | width: 240, |
| | | fixed: 'right', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | |
| | | <script> |
| | | export default { |
| | | name: '缓存站点' |
| | | name: '播种站点' |
| | | } |
| | | </script> |
| | | |
| | |
| | | ...getColumnSearchProps('siteNo'), |
| | | }, |
| | | { |
| | | title: formatMessage('db.man_wave_seed.order_detl_id', '订单明细'), |
| | | dataIndex: 'orderDetlId$', |
| | | title: formatMessage('db.man_wave_seed.orderNo', '订单编号'), |
| | | dataIndex: ['orderDetl$', 'orderNo'], |
| | | width: 140, |
| | | ellipsis: true, |
| | | ...getColumnSearchProps('orderDetlId$'), |
| | | ...getColumnSearchProps('orderNo'), |
| | | }, |
| | | { |
| | | title: formatMessage('db.man_wave_seed.matnr', '商品编号'), |
| | | dataIndex: ['orderDetl$', 'mat$', 'matnr'], |
| | | width: 140, |
| | | ellipsis: true, |
| | | ...getColumnSearchProps('matnr'), |
| | | }, |
| | | // { |
| | | // title: formatMessage('db.man_wave_seed.order_detl_id', '订单明细'), |
| | | // dataIndex: 'orderDetlId$', |
| | | // width: 140, |
| | | // ellipsis: true, |
| | | // ...getColumnSearchProps('orderDetlId$'), |
| | | // }, |
| | | { |
| | | title: formatMessage('db.man_wave_seed.anfme', '数量'), |
| | | dataIndex: 'anfme', |
| | |
| | | } |
| | | |
| | | const handleReviewOk = () => { |
| | | |
| | | post('/api/waveSeed/review', { |
| | | waveSeedId: reviewState.record.id, |
| | | reviewNum: reviewState.reviewNum, |
| | | }).then((resp) => { |
| | | let result = resp.data; |
| | | if (result.code === 200) { |
| | | message.success(result.msg); |
| | | reviewState.open = false; |
| | | handleTableReload() |
| | | } else { |
| | | message.error(result.msg); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | |
| | | </a-table> |
| | | |
| | | <a-modal v-model:open="reviewState.open" :title="formatMessage('page.review', '复核')" @ok="handleReviewOk"> |
| | | <div> |
| | | <div style="margin-bottom: 20px;"> |
| | | 播种数量:{{ reviewState.record.anfme }} |
| | | </div> |
| | | <div> |
| | | 实际数量:<a-input v-model:value="reviewState.reviewNum" /> |
| | | <div style="display: flex;justify-content: flex-start;align-items: center;"> |
| | | 实际数量:<a-input-number v-model:value="reviewState.reviewNum" :min="1" :max="reviewState.record.anfme" /> |
| | | </div> |
| | | </a-modal> |
| | | </div> |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.zy.asrs.framework.common.Cools; |
| | | import com.zy.asrs.framework.common.R; |
| | | import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam; |
| | | import com.zy.asrs.wms.common.annotation.OperationLog; |
| | | import com.zy.asrs.wms.common.domain.BaseParam; |
| | | import com.zy.asrs.wms.common.domain.KeyValVo; |
| | |
| | | ExcelUtil.build(ExcelUtil.create(waveSeedService.list(), WaveSeed.class), response); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('asrs:waveSeed:update')") |
| | | @OperationLog("播种复核") |
| | | @PostMapping("/waveSeed/review") |
| | | public R review(@RequestBody WaveSeedReviewParam param) { |
| | | waveSeedService.waveSeedReview(param); |
| | | return R.ok("播种复核成功"); |
| | | } |
| | | |
| | | } |
| | |
| | | private String siteNo; |
| | | |
| | | /** |
| | | * 订单 |
| | | */ |
| | | @ApiModelProperty(value= "订单") |
| | | private Long orderId; |
| | | |
| | | /** |
| | | * 订单明细 |
| | | */ |
| | | @ApiModelProperty(value= "订单明细") |
New file |
| | |
| | | package com.zy.asrs.wms.asrs.entity.param; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class WaveSeedReviewParam { |
| | | |
| | | private Long waveSeedId; |
| | | |
| | | private Double reviewNum; |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.zy.asrs.wms.asrs.entity.WaveSeed; |
| | | import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam; |
| | | |
| | | public interface WaveSeedService extends IService<WaveSeed> { |
| | | |
| | | void waveSeedReview(WaveSeedReviewParam param); |
| | | |
| | | } |
| | |
| | | package com.zy.asrs.wms.asrs.service.impl; |
| | | |
| | | import com.zy.asrs.framework.exception.CoolException; |
| | | import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam; |
| | | import com.zy.asrs.wms.asrs.mapper.WaveSeedMapper; |
| | | import com.zy.asrs.wms.asrs.entity.WaveSeed; |
| | | import com.zy.asrs.wms.asrs.service.WaveSeedService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | import java.util.Optional; |
| | | |
| | | @Service("waveSeedService") |
| | | public class WaveSeedServiceImpl extends ServiceImpl<WaveSeedMapper, WaveSeed> implements WaveSeedService { |
| | | |
| | | @Override |
| | | public void waveSeedReview(WaveSeedReviewParam param) { |
| | | if (param == null) { |
| | | throw new CoolException("参数不能为空"); |
| | | } |
| | | |
| | | if (param.getWaveSeedId() == null) { |
| | | throw new CoolException("播种数据不能为空"); |
| | | } |
| | | |
| | | if (param.getReviewNum() == null) { |
| | | throw new CoolException("播种数量不能为空"); |
| | | } |
| | | |
| | | if (param.getReviewNum() <= 0) { |
| | | throw new CoolException("播种数量需要大于0"); |
| | | } |
| | | |
| | | WaveSeed waveSeed = this.getById(param.getWaveSeedId()); |
| | | if (waveSeed == null) { |
| | | throw new CoolException("播种数据不存在"); |
| | | } |
| | | |
| | | Double stock = Optional.of(waveSeed.getAnfme() - waveSeed.getWorkQty()).orElse(0.0D); |
| | | if (stock - param.getReviewNum() < 0) { |
| | | throw new CoolException("播种数量已满"); |
| | | } |
| | | |
| | | waveSeed.setWorkQty(waveSeed.getWorkQty() + param.getReviewNum()); |
| | | waveSeed.setUpdateTime(new Date()); |
| | | if (!this.updateById(waveSeed)) { |
| | | throw new CoolException("播种复核更新失败"); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | orderUtils.updateWorkQty(orderDetl.getId(), workQty, true); |
| | | |
| | | |
| | | List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).eq(CacheSite::getHostId, hostId)); |
| | | if (cacheSites.isEmpty()) { |
| | | throw new CoolException("缓存站空间不足,请稍后再试"); |
| | | CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, orderDetl.getOrderId()).eq(CacheSite::getHostId, hostId)); |
| | | if (cacheSite == null) { |
| | | throw new CoolException("缓存站空间不存在"); |
| | | } |
| | | CacheSite cacheSite = cacheSites.get(0); |
| | | |
| | | WaveSeed waveSeed = new WaveSeed(); |
| | | waveSeed.setSiteId(cacheSite.getId()); |
| | | waveSeed.setSiteNo(cacheSite.getSiteNo()); |
| | | waveSeed.setOrderId(orderDetl.getOrderId()); |
| | | waveSeed.setOrderDetlId(orderDetl.getId()); |
| | | waveSeed.setTaskDetlId(taskDetl.getId()); |
| | | waveSeed.setAnfme(taskDetl.getAnfme()); |