Browse Source

生成收料记录

master
陈薪名 2 years ago
parent
commit
98d3cc4124
  1. 114
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/ProductionreceiptRecordMainController.java
  2. 115
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordMainExcelVO.java
  3. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionreceiptRecord/ProductionreceiptRecordMainConvert.java
  4. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordDetailMapper.java
  5. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordMainMapper.java
  6. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordDetailService.java
  7. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordDetailServiceImpl.java
  8. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordMainService.java
  9. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordMainServiceImpl.java

114
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/ProductionreceiptRecordMainController.java

@ -3,13 +3,21 @@ package com.win.module.wms.controller.productionreceiptRecord;
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.issueJob.vo.IssueJobMainExcelVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.*;
import com.win.module.wms.convert.issueJob.IssueJobMainConvert;
import com.win.module.wms.convert.productionreceiptRecord.ProductionreceiptRecordMainConvert;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productionreceiptRecord.ProductionreceiptRecordDetailService;
import com.win.module.wms.service.productionreceiptRecord.ProductionreceiptRecordMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@ -22,8 +30,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,36 +41,14 @@ import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Validated
public class ProductionreceiptRecordMainController {
@Resource
private ProductionreceiptRecordDetailService productionreceiptRecordDetailService;
@Resource
private ProductionreceiptRecordMainService productionreceiptRecordMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建生产收料记录主")
@PreAuthorize("@ss.hasPermission('wms:productionreceipt-record-main:create')")
public CommonResult<Long> createProductionreceiptRecordMain(@Valid @RequestBody ProductionreceiptRecordMainCreateReqVO createReqVO) {
return success(productionreceiptRecordMainService.createProductionreceiptRecordMain(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新生产收料记录主")
@PreAuthorize("@ss.hasPermission('wms:productionreceipt-record-main:update')")
public CommonResult<Boolean> updateProductionreceiptRecordMain(@Valid @RequestBody ProductionreceiptRecordMainUpdateReqVO updateReqVO) {
productionreceiptRecordMainService.updateProductionreceiptRecordMain(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除生产收料记录主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:productionreceipt-record-main:delete')")
public CommonResult<Boolean> deleteProductionreceiptRecordMain(@RequestParam("id") Long id) {
productionreceiptRecordMainService.deleteProductionreceiptRecordMain(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得生产收料记录主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@ -90,23 +75,6 @@ public class ProductionreceiptRecordMainController {
return success(ProductionreceiptRecordMainConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出生产收料记录主 Excel")
@PreAuthorize("@ss.hasPermission('wms:productionreceipt-record-main:export')")
@OperateLog(type = EXPORT)
public void exportProductionreceiptRecordMainExcel(@Valid ProductionreceiptRecordMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<ProductionreceiptRecordMainDO> list = productionreceiptRecordMainService.getProductionreceiptRecordMainList(exportReqVO);
// 导出 Excel
List<ProductionreceiptRecordMainExcelVO> datas = ProductionreceiptRecordMainConvert.INSTANCE.convertList02(list);
for(ProductionreceiptRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "生产收料记录主.xls", "数据", ProductionreceiptRecordMainExcelVO.class, datas);
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得生产收料记录主分页")
@PreAuthorize("@ss.hasPermission('wms:productionreceipt-record-main:query')")
@ -121,4 +89,64 @@ public class ProductionreceiptRecordMainController {
return success(result);
}
private List<ProductionreceiptRecordMainExcelVO> getExcelVo(List<ProductionreceiptRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(17, locationType);
mapDropDown.put(18, locationType);
String[] areaType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.AREA_TYPE);
mapDropDown.put(24, areaType);
mapDropDown.put(25, areaType);
String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(26, trueFalse);
mapDropDown.put(27, trueFalse);
mapDropDown.put(28, trueFalse);
mapDropDown.put(29, trueFalse);
mapDropDown.put(30, trueFalse);
mapDropDown.put(31, trueFalse);
mapDropDown.put(32, trueFalse);
mapDropDown.put(33, trueFalse);
mapDropDown.put(34, trueFalse);
mapDropDown.put(35, trueFalse);
mapDropDown.put(36, trueFalse);
List<ProductionreceiptRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(ProductionreceiptRecordMainDO mainDO : list) {
List<ProductionreceiptRecordDetailDO> subList = productionreceiptRecordDetailService.selectList(mainDO.getId());
for(ProductionreceiptRecordDetailDO detailDO : subList) {
ProductionreceiptRecordMainExcelVO vo = ProductionreceiptRecordMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(mainDO.getCreator()));
vo.setCreator(user.getNickname());
resultList.add(vo);
}
}
return resultList;
}
@GetMapping("/export-excel")
@Operation(summary = "导出生产收料记录 Excel")
@PreAuthorize("@ss.hasPermission('wms:productionreceipt-record-main:export')")
@OperateLog(type = EXPORT)
public void exportProductionreceiptRecordMainExcel(@Valid ProductionreceiptRecordMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<ProductionreceiptRecordMainDO> list = productionreceiptRecordMainService.getProductionreceiptRecordList(exportReqVO);
//组装vo
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ProductionreceiptRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
// 导出 Excel
ExcelUtils.write(response, "生产收料记录.xlsx", "生产收料", ProductionreceiptRecordMainExcelVO.class, resultList, mapDropDown);;
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出生产收料记录 Excel")
@PreAuthorize("@ss.hasPermission('wms:productionreceipt-record-main:export')")
@OperateLog(type = EXPORT)
public void exportProductionreceiptRecordMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<ProductionreceiptRecordMainDO> list = productionreceiptRecordMainService.getProductionreceiptRecordMainList(conditions);
//组装vo
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ProductionreceiptRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
// 导出 Excel
ExcelUtils.write(response, "生产收料记录.xlsx", "生产收料", ProductionreceiptRecordMainExcelVO.class, resultList, mapDropDown);
}
}

115
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordMainExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.productionreceiptRecord.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 ProductionreceiptRecordMainExcelVO {
@ExcelProperty("部门")
private String departmentCode;
@ExcelProperty(value = "接口类型", converter = DictConvert.class)
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String interfaceType;
@ExcelProperty("单据号")
private String number;
@ -65,20 +62,10 @@ public class ProductionreceiptRecordMainExcelVO {
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
@ExcelProperty("代码")
private String code;
@ExcelProperty("从仓库代码")
private String fromWarehouseCode;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty(value = "从库位类型范围")
private String fromLocationTypes;
@ExcelProperty("从库区代码范围")
@ -87,17 +74,107 @@ public class ProductionreceiptRecordMainExcelVO {
@ExcelProperty("到仓库代码")
private String toWarehouseCode;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty(value = "到库位类型范围")
private String toLocationTypes;
@ExcelProperty("到库区代码范围")
private String toAreaCodes;
@ExcelProperty("使用在途库")
@ExcelProperty(value = "使用在途库", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String useOnTheWayLocation;
@ExcelProperty("是否可用")
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String available;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
// 子表数据
@ExcelProperty("生产线代码")
private String productionLineCode;
@ExcelProperty("工位代码")
private String workStationCode;
@ExcelProperty("在途库库位")
private String onTheWayLocationCode;
@ExcelProperty("从包装号")
private String fromPackingNumber;
@ExcelProperty("到包装号")
private String toPackingNumber;
@ExcelProperty("从批次")
private String fromBatch;
@ExcelProperty("到批次")
private String toBatch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@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 fromContainerNumber;
@ExcelProperty("到器具号")
private String toContainerNumber;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("到货主代码")
private String toOwnerCode;
@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;
}

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionreceiptRecord/ProductionreceiptRecordMainConvert.java

@ -4,11 +4,17 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.issueJob.vo.IssueJobMainExcelVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainExcelVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainRespVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordMainDO;
@ -34,4 +40,13 @@ public interface ProductionreceiptRecordMainConvert {
List<ProductionreceiptRecordMainExcelVO> convertList02(List<ProductionreceiptRecordMainDO> 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"),
})
ProductionreceiptRecordMainExcelVO convert(ProductionreceiptRecordMainDO mainDO, ProductionreceiptRecordDetailDO detailDO);
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordDetailMapper.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.productionreceiptRecord.vo.ProductionreceiptRecordDetailExportReqVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO;
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordDetailDO;
import org.apache.ibatis.annotations.Mapper;
@ -98,4 +99,9 @@ public interface ProductionreceiptRecordDetailMapper extends BaseMapperX<Product
.orderByDesc(ProductionreceiptRecordDetailDO::getId));
}
default List<ProductionreceiptRecordDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<ProductionreceiptRecordDetailDO>()
.eq(ProductionreceiptRecordDetailDO::getMasterId, masterId));
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordMainMapper.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.productionreceiptRecord.vo.ProductionreceiptRecordMainExportReqVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordMainDO;
import org.apache.ibatis.annotations.Mapper;
@ -84,4 +85,7 @@ public interface ProductionreceiptRecordMainMapper extends BaseMapperX<Productio
.orderByDesc(ProductionreceiptRecordMainDO::getId));
}
default List<ProductionreceiptRecordMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordDetailService.java

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

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordDetailServiceImpl.java

@ -87,4 +87,9 @@ public class ProductionreceiptRecordDetailServiceImpl implements Productionrecei
public PageResult<ProductionreceiptRecordDetailDO> getProductionreceiptRecordDetailSenior(CustomConditions conditions) {
return productionreceiptRecordDetailMapper.selectSenior(conditions);
}
@Override
public List<ProductionreceiptRecordDetailDO> selectList(Long masterId) {
return productionreceiptRecordDetailMapper.selectList(masterId);
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordMainService.java

@ -6,6 +6,7 @@ import com.win.module.wms.controller.productionreceiptRecord.vo.Productionreceip
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainExportReqVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainPageReqVO;
import com.win.module.wms.controller.productionreceiptRecord.vo.ProductionreceiptRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordMainDO;
import javax.validation.Valid;
@ -57,6 +58,8 @@ public interface ProductionreceiptRecordMainService {
*/
List<ProductionreceiptRecordMainDO> getProductionreceiptRecordMainList(Collection<Long> ids);
List<ProductionreceiptRecordMainDO> getProductionreceiptRecordMainList(CustomConditions conditions);
/**
* 获得生产收料记录主分页
*
@ -81,4 +84,5 @@ public interface ProductionreceiptRecordMainService {
*/
PageResult<ProductionreceiptRecordMainDO> getProductionreceiptRecordMainSenior(CustomConditions conditions);
List<ProductionreceiptRecordMainDO> getProductionreceiptRecordList(ProductionreceiptRecordMainExportReqVO exportReqVO);
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptRecord/ProductionreceiptRecordMainServiceImpl.java

@ -73,6 +73,11 @@ public class ProductionreceiptRecordMainServiceImpl implements Productionreceipt
return productionreceiptRecordMainMapper.selectBatchIds(ids);
}
@Override
public List<ProductionreceiptRecordMainDO> getProductionreceiptRecordMainList(CustomConditions conditions) {
return productionreceiptRecordMainMapper.selectSeniorList(conditions);
}
@Override
public PageResult<ProductionreceiptRecordMainDO> getProductionreceiptRecordMainPage(ProductionreceiptRecordMainPageReqVO pageReqVO) {
return productionreceiptRecordMainMapper.selectPage(pageReqVO);
@ -87,4 +92,9 @@ public class ProductionreceiptRecordMainServiceImpl implements Productionreceipt
public PageResult<ProductionreceiptRecordMainDO> getProductionreceiptRecordMainSenior(CustomConditions conditions) {
return productionreceiptRecordMainMapper.selectSenior(conditions);
}
@Override
public List<ProductionreceiptRecordMainDO> getProductionreceiptRecordList(ProductionreceiptRecordMainExportReqVO exportReqVO) {
return productionreceiptRecordMainMapper.selectList(exportReqVO);
}
}

Loading…
Cancel
Save