Browse Source

制品上架 记录

master
陈薪名 2 years ago
parent
commit
d5d0c1f443
  1. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRecord/vo/IssueRecordDetailExportReqVO.java
  2. 79
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/ProductputawayRecordMainController.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordDetailExportReqVO.java
  4. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordDetailPageReqVO.java
  5. 88
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordMainExcelVO.java
  6. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRecord/ProductputawayRecordMainConvert.java
  7. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueRecord/IssueRecordDetailMapper.java
  8. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRecord/ProductputawayRecordDetailMapper.java
  9. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRecord/ProductputawayRecordMainMapper.java
  10. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayJob/ProductputawayJobMainServiceImpl.java
  11. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordDetailService.java
  12. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordDetailServiceImpl.java
  13. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainService.java
  14. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainServiceImpl.java

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRecord/vo/IssueRecordDetailExportReqVO.java

@ -112,4 +112,8 @@ public class IssueRecordDetailExportReqVO {
@Schema(description = "任务明细ID")
private String jobDetailId;
@Schema(description = "主表ID")
private String masterId;
}

79
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/ProductputawayRecordMainController.java

@ -3,13 +3,17 @@ package com.win.module.wms.controller.productputawayRecord;
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.productputawayRecord.vo.*;
import com.win.module.wms.convert.productputawayRecord.ProductputawayRecordMainConvert;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productputawayRecord.ProductputawayRecordDetailService;
import com.win.module.wms.service.productputawayRecord.ProductputawayRecordMainService;
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 ProductputawayRecordMainController {
@Resource
private ProductputawayRecordDetailService productputawayRecordDetailService;
@Resource
private ProductputawayRecordMainService productputawayRecordMainService;
@ -90,23 +95,6 @@ public class ProductputawayRecordMainController {
return success(ProductputawayRecordMainConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出制品上架记录主 Excel")
@PreAuthorize("@ss.hasPermission('wms:productputaway-record-main:export')")
@OperateLog(type = EXPORT)
public void exportProductputawayRecordMainExcel(@Valid ProductputawayRecordMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<ProductputawayRecordMainDO> list = productputawayRecordMainService.getProductputawayRecordMainList(exportReqVO);
// 导出 Excel
List<ProductputawayRecordMainExcelVO> datas = ProductputawayRecordMainConvert.INSTANCE.convertList02(list);
for(ProductputawayRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "制品上架记录主.xls", "数据", ProductputawayRecordMainExcelVO.class, datas);
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得制品上架记录主分页")
@PreAuthorize("@ss.hasPermission('wms:productputaway-record-main:query')")
@ -121,4 +109,57 @@ public class ProductputawayRecordMainController {
return success(result);
}
private List<ProductputawayRecordMainExcelVO> getExcelVo(List<ProductputawayRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(17, locationType);
mapDropDown.put(20, locationType);
String[] useOnTheWayLocation = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(23, useOnTheWayLocation);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(32, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(49, uom);
List<ProductputawayRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(ProductputawayRecordMainDO mainDO : list) {
List<ProductputawayRecordDetailDO> subList = productputawayRecordDetailService.selectList(mainDO.getId());
for(ProductputawayRecordDetailDO detailDO : subList) {
ProductputawayRecordMainExcelVO vo = ProductputawayRecordMainConvert.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")
@PreAuthorize("@ss.hasPermission('wms:productputaway-record-main:export')")
@OperateLog(type = EXPORT)
public void exportProductputawayRecordMainExcel(@Valid ProductputawayRecordMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<ProductputawayRecordMainDO> list = productputawayRecordMainService.getProductputawayRecordMainList(exportReqVO);
//组装vo
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ProductputawayRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
// 导出 Excel
ExcelUtils.write(response, "制品上架记录.xlsx", "制品上架记录", ProductputawayRecordMainExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出制品上架记录 Excel")
@PreAuthorize("@ss.hasPermission('wms:productputaway-record-main:export')")
@OperateLog(type = EXPORT)
public void exportProductputawayRecordMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<ProductputawayRecordMainDO> list = productputawayRecordMainService.getProductputawayRecordMainList(conditions);
//组装vo
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ProductputawayRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
// 导出 Excel
ExcelUtils.write(response, "制品上架记录.xlsx", "制品上架记录", ProductputawayRecordMainExcelVO.class, resultList, mapDropDown);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordDetailExportReqVO.java

@ -109,4 +109,7 @@ public class ProductputawayRecordDetailExportReqVO {
@Schema(description = "任务明细ID")
private String jobDetailId;
@Schema(description = "主表ID")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordDetailPageReqVO.java

@ -111,4 +111,7 @@ public class ProductputawayRecordDetailPageReqVO extends PageParam {
@Schema(description = "任务明细ID")
private String jobDetailId;
@Schema(description = "主表ID")
private String masterId;
}

88
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordMainExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.productputawayRecord.vo;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@ -52,10 +53,6 @@ public class ProductputawayRecordMainExcelVO {
@ExcelProperty("部门")
private String departmentCode;
@ExcelProperty(value = "接口类型", converter = DictConvert.class)
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String interfaceType;
@ExcelProperty("单据号")
private String number;
@ -71,14 +68,11 @@ public class ProductputawayRecordMainExcelVO {
@ExcelProperty("创建者Id")
private String creator;
@ExcelProperty("代码")
private String code;
@ExcelProperty("从仓库代码")
private String fromWarehouseCode;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes;
@ExcelProperty("从库区代码范围")
@ -88,7 +82,7 @@ public class ProductputawayRecordMainExcelVO {
private String toWarehouseCode;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes;
@ExcelProperty("到库区代码范围")
@ -97,7 +91,81 @@ public class ProductputawayRecordMainExcelVO {
@ExcelProperty("权限所属人员id")
private Long ruleUserId;
@ExcelProperty("是否可用")
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String available;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
private String updater;
// 子表信息
@ExcelProperty("从包装号")
private String fromPackingNumber;
@ExcelProperty("到包装号")
private String toPackingNumber;
@ExcelProperty("从批次")
private String fromBatch;
@ExcelProperty("到批次")
private String toBatch;
@ExcelProperty("从器具号")
private String fromContainerNumber;
@ExcelProperty("到器具号")
private String toContainerNumber;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("到货主代码")
private String toOwnerCode;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty("从库位组代码")
private String fromLocationGroupCode;
@ExcelProperty("到库位组代码")
private String toLocationGroupCode;
@ExcelProperty("从库区代码")
private String fromAreaCode;
@ExcelProperty("到库区代码")
private String toAreaCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private String qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
}

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRecord/ProductputawayRecordMainConvert.java

@ -8,7 +8,10 @@ import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecor
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainExcelVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainRespVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordMainDO;
@ -34,4 +37,13 @@ public interface ProductputawayRecordMainConvert {
List<ProductputawayRecordMainExcelVO> convertList02(List<ProductputawayRecordMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
ProductputawayRecordMainExcelVO convert(ProductputawayRecordMainDO mainDO, ProductputawayRecordDetailDO detailDO);
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueRecord/IssueRecordDetailMapper.java

@ -64,6 +64,7 @@ public interface IssueRecordDetailMapper extends BaseMapperX<IssueRecordDetailDO
}
default List<IssueRecordDetailDO> selectList(IssueRecordDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<IssueRecordDetailDO>()
.eqIfPresent(IssueRecordDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(IssueRecordDetailDO::getProductionLineCode, reqVO.getProductionLineCode())
.eqIfPresent(IssueRecordDetailDO::getWorkStationCode, reqVO.getWorkStationCode())
.eqIfPresent(IssueRecordDetailDO::getOnTheWayLocationCode, reqVO.getOnTheWayLocationCode())

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRecord/ProductputawayRecordDetailMapper.java

@ -7,6 +7,7 @@ import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordDetailExportReqVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordDetailDO;
import org.apache.ibatis.annotations.Mapper;
@ -22,6 +23,7 @@ public interface ProductputawayRecordDetailMapper extends BaseMapperX<Productput
default PageResult<ProductputawayRecordDetailDO> selectPage(ProductputawayRecordDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ProductputawayRecordDetailDO>()
.eqIfPresent(ProductputawayRecordDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(ProductputawayRecordDetailDO::getFromPackingNumber, reqVO.getFromPackingNumber())
.eqIfPresent(ProductputawayRecordDetailDO::getToPackingNumber, reqVO.getToPackingNumber())
.eqIfPresent(ProductputawayRecordDetailDO::getFromBatch, reqVO.getFromBatch())
@ -62,6 +64,7 @@ public interface ProductputawayRecordDetailMapper extends BaseMapperX<Productput
default List<ProductputawayRecordDetailDO> selectList(ProductputawayRecordDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<ProductputawayRecordDetailDO>()
.eqIfPresent(ProductputawayRecordDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(ProductputawayRecordDetailDO::getFromPackingNumber, reqVO.getFromPackingNumber())
.eqIfPresent(ProductputawayRecordDetailDO::getToPackingNumber, reqVO.getToPackingNumber())
.eqIfPresent(ProductputawayRecordDetailDO::getFromBatch, reqVO.getFromBatch())
@ -96,4 +99,8 @@ public interface ProductputawayRecordDetailMapper extends BaseMapperX<Productput
.orderByDesc(ProductputawayRecordDetailDO::getId));
}
default List<ProductputawayRecordDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<ProductputawayRecordDetailDO>()
.eq(ProductputawayRecordDetailDO::getMasterId, masterId));
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRecord/ProductputawayRecordMainMapper.java

@ -7,6 +7,7 @@ import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainExportReqVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordMainDO;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordMainDO;
import org.apache.ibatis.annotations.Mapper;
@ -84,4 +85,7 @@ public interface ProductputawayRecordMainMapper extends BaseMapperX<Productputaw
.orderByDesc(ProductputawayRecordMainDO::getId));
}
default List<ProductputawayRecordMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayJob/ProductputawayJobMainServiceImpl.java

@ -280,6 +280,7 @@ public class ProductputawayJobMainServiceImpl implements ProductputawayJobMainSe
productputawayRecordDetailDO.setToBatch(productputawayJobDetailDO.getBatch());
productputawayRecordDetailDO.setFromContainerNumber(productputawayJobDetailDO.getContainerNumber());
productputawayRecordDetailDO.setToContainerNumber(productputawayJobDetailDO.getContainerNumber());
productputawayRecordDetailDO.setMasterId(productputawayRecordMainDO.getId());
// 根据 to库位 查询 库位组 库区
LocationDO locationDO = locationService.selectLocation(productputawayJobDetailDO.getToLocationCode());
productputawayRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode());

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordDetailService.java

@ -80,4 +80,6 @@ public interface ProductputawayRecordDetailService {
* @return 分页列表
*/
PageResult<ProductputawayRecordDetailDO> getProductputawayRecordDetailSenior(CustomConditions conditions);
List<ProductputawayRecordDetailDO> selectList(Long id);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordDetailServiceImpl.java

@ -88,4 +88,9 @@ public class ProductputawayRecordDetailServiceImpl implements ProductputawayReco
public PageResult<ProductputawayRecordDetailDO> getProductputawayRecordDetailSenior(CustomConditions conditions) {
return productputawayRecordDetailMapper.selectSenior(conditions);
}
@Override
public List<ProductputawayRecordDetailDO> selectList(Long masterId) {
return productputawayRecordDetailMapper.selectList(masterId);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainService.java

@ -80,4 +80,6 @@ public interface ProductputawayRecordMainService {
* @return 分页列表
*/
PageResult<ProductputawayRecordMainDO> getProductputawayRecordMainSenior(CustomConditions conditions);
List<ProductputawayRecordMainDO> getProductputawayRecordMainList(CustomConditions conditions);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainServiceImpl.java

@ -87,4 +87,9 @@ public class ProductputawayRecordMainServiceImpl implements ProductputawayRecord
public PageResult<ProductputawayRecordMainDO> getProductputawayRecordMainSenior(CustomConditions conditions) {
return productputawayRecordMainMapper.selectSenior(conditions);
}
@Override
public List<ProductputawayRecordMainDO> getProductputawayRecordMainList(CustomConditions conditions) {
return productputawayRecordMainMapper.selectSeniorList(conditions);
}
}

Loading…
Cancel
Save