|
38 | 38 | import com.wansenai.utils.enums.AssembleReceiptCodeEnum;
|
39 | 39 | import com.wansenai.utils.enums.BaseCodeEnum;
|
40 | 40 | import com.wansenai.utils.enums.DisassembleReceiptCodeEnum;
|
| 41 | +import com.wansenai.utils.excel.ExcelUtils; |
41 | 42 | import com.wansenai.utils.response.Response;
|
42 | 43 | import com.wansenai.vo.warehouse.AssembleReceiptDetailVO;
|
43 | 44 | import com.wansenai.vo.warehouse.AssembleReceiptVO;
|
44 | 45 | import com.wansenai.vo.warehouse.DisassembleReceiptDetailVO;
|
45 | 46 | import com.wansenai.vo.warehouse.DisassembleReceiptVO;
|
| 47 | +import jakarta.servlet.http.HttpServletResponse; |
46 | 48 | import org.springframework.stereotype.Service;
|
47 | 49 | import org.springframework.transaction.annotation.Transactional;
|
48 | 50 | import org.springframework.util.StringUtils;
|
@@ -181,6 +183,44 @@ public Response<Page<DisassembleReceiptVO>> getDisassembleReceiptPageList(QueryD
|
181 | 183 | return Response.responseData(result);
|
182 | 184 | }
|
183 | 185 |
|
| 186 | + public List<DisassembleReceiptVO> getDisassembleReceiptList(QueryDisassembleReceiptDTO queryDisassembleReceiptDTO) { |
| 187 | + var wrapperMainMapper = lambdaQuery() |
| 188 | + .eq(queryDisassembleReceiptDTO.getOperatorId() != null, WarehouseReceiptMain::getCreateBy, queryDisassembleReceiptDTO.getOperatorId()) |
| 189 | + .eq(queryDisassembleReceiptDTO.getStatus() != null, WarehouseReceiptMain::getStatus, queryDisassembleReceiptDTO.getStatus()) |
| 190 | + .eq(StringUtils.hasLength(queryDisassembleReceiptDTO.getReceiptNumber()), WarehouseReceiptMain::getReceiptNumber, queryDisassembleReceiptDTO.getReceiptNumber()) |
| 191 | + .like(StringUtils.hasLength(queryDisassembleReceiptDTO.getRemark()), WarehouseReceiptMain::getRemark, queryDisassembleReceiptDTO.getRemark()) |
| 192 | + .ge(StringUtils.hasLength(queryDisassembleReceiptDTO.getStartDate()), WarehouseReceiptMain::getCreateTime, queryDisassembleReceiptDTO.getStartDate()) |
| 193 | + .le(StringUtils.hasLength(queryDisassembleReceiptDTO.getEndDate()), WarehouseReceiptMain::getCreateTime, queryDisassembleReceiptDTO.getEndDate()) |
| 194 | + .eq(WarehouseReceiptMain::getType, "拆卸单") |
| 195 | + .eq(WarehouseReceiptMain::getDeleteFlag, CommonConstants.NOT_DELETED) |
| 196 | + .list(); |
| 197 | + |
| 198 | + var disAssembleReceiptVOList = new ArrayList<DisassembleReceiptVO>(wrapperMainMapper.size() + 1); |
| 199 | + wrapperMainMapper.forEach(item -> { |
| 200 | + |
| 201 | + var product = productService.getById(item.getProductId()); |
| 202 | + var productInfo = ""; |
| 203 | + if(product != null) { |
| 204 | + productInfo = product.getProductName() + "|" + product.getProductStandard() + "|" + product.getProductModel() + "|" + product.getProductUnit(); |
| 205 | + } |
| 206 | + |
| 207 | + var operator = userService.getById(item.getCreateBy()); |
| 208 | + var disAssembleReceiptVO = DisassembleReceiptVO.builder() |
| 209 | + .id(item.getId()) |
| 210 | + .receiptNumber(item.getReceiptNumber()) |
| 211 | + .productInfo(productInfo) |
| 212 | + .receiptDate(item.getReceiptDate()) |
| 213 | + .operator(Optional.ofNullable(operator).map(SysUser::getName).orElse("")) |
| 214 | + .productNumber(item.getTotalProductNumber()) |
| 215 | + .totalAmount(item.getTotalAmount()) |
| 216 | + .status(item.getStatus()) |
| 217 | + .build(); |
| 218 | + |
| 219 | + disAssembleReceiptVOList.add(disAssembleReceiptVO); |
| 220 | + }); |
| 221 | + return disAssembleReceiptVOList; |
| 222 | + } |
| 223 | + |
184 | 224 | @Override
|
185 | 225 | public Response<DisassembleReceiptDetailVO> getDisassembleReceiptDetail(Long id) {
|
186 | 226 | if (id == null) {
|
@@ -432,4 +472,13 @@ public Response<String> updateDisassembleReceiptStatus(List<Long> ids, Integer s
|
432 | 472 | }
|
433 | 473 | return Response.responseMsg(DisassembleReceiptCodeEnum.UPDATE_DISASSEMBLE_RECEIPT_SUCCESS);
|
434 | 474 | }
|
| 475 | + |
| 476 | + @Override |
| 477 | + public void exportDisAssembleReceipt(QueryDisassembleReceiptDTO queryDisassembleReceiptDTO, HttpServletResponse response) throws Exception { |
| 478 | + var data = getDisassembleReceiptList(queryDisassembleReceiptDTO); |
| 479 | + if (!data.isEmpty()) { |
| 480 | + var file = ExcelUtils.exportFile(ExcelUtils.DEFAULT_FILE_PATH, "拆卸单", data); |
| 481 | + ExcelUtils.downloadExcel(file, "拆卸单", response); |
| 482 | + } |
| 483 | + } |
435 | 484 | }
|
0 commit comments