| | |
| | | package com.ruoyi.stock.service.impl; |
| | | |
| | | 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.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum; |
| | |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.EnumUtil; |
| | | import com.ruoyi.common.utils.OrderUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.production.mapper.ProductOrderMapper; |
| | | import com.ruoyi.production.pojo.ProductOrder; |
| | | import com.ruoyi.stock.dto.StockInRecordDto; |
| | | import com.ruoyi.stock.dto.StockInventoryDto; |
| | | import com.ruoyi.stock.dto.StockUninventoryDto; |
| | |
| | | private StockInRecordMapper stockInRecordMapper; |
| | | private StockInventoryMapper stockInventoryMapper; |
| | | private StockUninventoryMapper stockUninventoryMapper; |
| | | |
| | | private ProductOrderMapper productOrderMapper; |
| | | |
| | | @Override |
| | | public IPage<StockInRecordDto> listPage(Page page, StockInRecordDto stockInRecordDto) { |
| | |
| | | StockUninventoryDto stockUninventoryDto = new StockUninventoryDto(); |
| | | stockUninventoryDto.setProductModelId(stockUninventory.getProductModelId()); |
| | | stockUninventoryDto.setQualitity(stockInRecord.getStockInNum()); |
| | | stockUninventoryDto.setStockLocation(stockInRecord.getStockLocation()); |
| | | stockUninventoryMapper.updateSubtractStockUnInventory(stockUninventoryDto); |
| | | } |
| | | } |
| | |
| | | ExcelUtil<StockInRecordExportData> util = new ExcelUtil<>(StockInRecordExportData.class); |
| | | util.exportExcel(response,list, "入库记录信息"); |
| | | } |
| | | |
| | | @Override |
| | | public Object productionApprove(StockInRecordDto stockInRecordDto) { |
| | | //再进行新增库存数量库存 |
| | | //先查询库存表中的产品是否存在,不存在新增,存在更新 |
| | | StockInventory oldStockInventory = stockInventoryMapper.selectOne(new QueryWrapper<StockInventory>() |
| | | .lambda() |
| | | .eq(StockInventory::getProductModelId, stockInRecordDto.getProductModelId()) |
| | | .eq(StockInventory::getStockLocation, stockInRecordDto.getStockLocation())); |
| | | StockInventory newStockInventory = new StockInventory(); |
| | | newStockInventory.setProductModelId(stockInRecordDto.getProductModelId()); |
| | | newStockInventory.setQualitity(stockInRecordDto.getActualStockInNum()); |
| | | newStockInventory.setVersion(1); |
| | | newStockInventory.setRemark(stockInRecordDto.getRemark()); |
| | | newStockInventory.setStockLocation(stockInRecordDto.getStockLocation()); |
| | | if (ObjectUtils.isEmpty(oldStockInventory)) { |
| | | stockInventoryMapper.insert(newStockInventory); |
| | | }else { |
| | | StockInventoryDto oldStockInventoryDto = new StockInventoryDto(); |
| | | BeanUtils.copyProperties(oldStockInventory, oldStockInventoryDto); |
| | | stockInventoryMapper.updateAddStockInventory(oldStockInventoryDto); |
| | | } |
| | | stockInRecordDto.setStatus(2); |
| | | stockInRecordDto.setStockInNum(stockInRecordDto.getActualStockInNum() == null ? stockInRecordDto.getWaitAuditNum() : stockInRecordDto.getActualStockInNum()); |
| | | stockInRecordMapper.updateById(stockInRecordDto); |
| | | ProductOrder productOrder = productOrderMapper.selectById(stockInRecordDto.getRecordId()); |
| | | if(productOrder != null){ |
| | | if(StringUtils.isNotEmpty(stockInRecordDto.getReason())){ |
| | | productOrder.setReason(stockInRecordDto.getReason()); |
| | | } |
| | | if(stockInRecordDto.getActualStockInNum() != null){ |
| | | productOrder.setActualStockInNum(stockInRecordDto.getActualStockInNum()); |
| | | } |
| | | productOrderMapper.updateById(productOrder); |
| | | } |
| | | return true; |
| | | } |
| | | } |