|
|
@ -3,13 +3,17 @@ package com.win.module.wms.controller.productdismantleRecord; |
|
|
|
import com.win.framework.common.pojo.CommonResult; |
|
|
|
import com.win.framework.common.pojo.CustomConditions; |
|
|
|
import com.win.framework.common.pojo.PageResult; |
|
|
|
import com.win.framework.dict.core.util.DictFrameworkUtils; |
|
|
|
import com.win.framework.excel.core.util.ExcelUtils; |
|
|
|
import com.win.framework.operatelog.core.annotations.OperateLog; |
|
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
|
import com.win.module.system.api.user.dto.AdminUserRespDTO; |
|
|
|
import com.win.module.wms.controller.productdismantleRecord.vo.*; |
|
|
|
import com.win.module.wms.convert.productdismantleRecord.ProductdismantleRecordMainConvert; |
|
|
|
import com.win.module.wms.dal.dataobject.productdismantleRecord.ProductdismantleRecordDetailaDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productdismantleRecord.ProductdismantleRecordMainDO; |
|
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
|
import com.win.module.wms.service.productdismantleRecord.ProductdismantleRecordDetailaService; |
|
|
|
import com.win.module.wms.service.productdismantleRecord.ProductdismantleRecordMainService; |
|
|
|
import io.swagger.v3.oas.annotations.Operation; |
|
|
|
import io.swagger.v3.oas.annotations.Parameter; |
|
|
@ -22,8 +26,7 @@ import javax.annotation.Resource; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import javax.validation.Valid; |
|
|
|
import java.io.IOException; |
|
|
|
import java.util.Collection; |
|
|
|
import java.util.List; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
import static com.win.framework.common.pojo.CommonResult.success; |
|
|
|
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
|
|
@ -34,6 +37,8 @@ import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
|
|
|
@Validated |
|
|
|
public class ProductdismantleRecordMainController { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private ProductdismantleRecordDetailaService productdismantleRecordDetailaService; |
|
|
|
@Resource |
|
|
|
private ProductdismantleRecordMainService productdismantleRecordMainService; |
|
|
|
|
|
|
@ -104,21 +109,54 @@ public class ProductdismantleRecordMainController { |
|
|
|
return success(result); |
|
|
|
} |
|
|
|
|
|
|
|
private List<ProductdismantleRecordMainExcelVO> getExcelVo(List<ProductdismantleRecordMainDO> list, Map<Integer, String[]> mapDropDown) { |
|
|
|
String[] useOnTheWayLocation = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); |
|
|
|
mapDropDown.put(20, useOnTheWayLocation); |
|
|
|
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); |
|
|
|
mapDropDown.put(35, inventoryStatus); |
|
|
|
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); |
|
|
|
mapDropDown.put(43, uom); |
|
|
|
List<ProductdismantleRecordMainExcelVO> resultList = new ArrayList<>(); |
|
|
|
// 导出
|
|
|
|
for(ProductdismantleRecordMainDO mainDO : list) { |
|
|
|
List<ProductdismantleRecordDetailaDO> subList = productdismantleRecordDetailaService.selectList(mainDO.getId()); |
|
|
|
for(ProductdismantleRecordDetailaDO detailDO : subList) { |
|
|
|
ProductdismantleRecordMainExcelVO vo = ProductdismantleRecordMainConvert.INSTANCE.convert(mainDO, detailDO); |
|
|
|
AdminUserRespDTO user = userApi.getUser(Long.valueOf(mainDO.getCreator())); |
|
|
|
vo.setCreator(user.getNickname()); |
|
|
|
vo.setUpdater(user.getNickname()); |
|
|
|
resultList.add(vo); |
|
|
|
} |
|
|
|
} |
|
|
|
return resultList; |
|
|
|
} |
|
|
|
|
|
|
|
@GetMapping("/export-excel") |
|
|
|
@Operation(summary = "导出制品拆解记录主 Excel") |
|
|
|
@Operation(summary = "导出制品拆解记录 Excel") |
|
|
|
@PreAuthorize("@ss.hasPermission('wms:productdismantle-record-main:export')") |
|
|
|
@OperateLog(type = EXPORT) |
|
|
|
public void exportProductdismantleRecordMainExcel(@Valid ProductdismantleRecordMainExportReqVO exportReqVO, |
|
|
|
HttpServletResponse response) throws IOException { |
|
|
|
|
|
|
|
List<ProductdismantleRecordMainDO> list = productdismantleRecordMainService.getProductdismantleRecordMainList(exportReqVO); |
|
|
|
//组装vo
|
|
|
|
Map<Integer, String[]> mapDropDown = new HashMap<>(); |
|
|
|
List<ProductdismantleRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown); |
|
|
|
// 导出 Excel
|
|
|
|
List<ProductdismantleRecordMainExcelVO> datas = ProductdismantleRecordMainConvert.INSTANCE.convertList02(list); |
|
|
|
for(ProductdismantleRecordMainExcelVO vo : datas) { |
|
|
|
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); |
|
|
|
//后端创建个字段作为前端展示的虚拟字段
|
|
|
|
vo.setCreator(user.getNickname()); |
|
|
|
} |
|
|
|
ExcelUtils.write(response, "制品拆解记录主.xls", "数据", ProductdismantleRecordMainExcelVO.class, datas); |
|
|
|
ExcelUtils.write(response, "制品拆解记录.xlsx", "制品拆解记录", ProductdismantleRecordMainExcelVO.class, resultList, mapDropDown); |
|
|
|
} |
|
|
|
|
|
|
|
@PostMapping("/export-excel-senior") |
|
|
|
@Operation(summary = "导出制品拆解记录 Excel") |
|
|
|
@PreAuthorize("@ss.hasPermission('wms:productdismantle-record-main:export')") |
|
|
|
@OperateLog(type = EXPORT) |
|
|
|
public void exportProductdismantleRecordMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException { |
|
|
|
List<ProductdismantleRecordMainDO> list = productdismantleRecordMainService.getProductdismantleRecordMainList(conditions); |
|
|
|
//组装vo
|
|
|
|
Map<Integer, String[]> mapDropDown = new HashMap<>(); |
|
|
|
List<ProductdismantleRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown); |
|
|
|
// 导出 Excel
|
|
|
|
ExcelUtils.write(response, "制品拆解记录.xlsx", "制品拆解记录", ProductdismantleRecordMainExcelVO.class, resultList, mapDropDown); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|