forked from sfms3.0/sfms3.0
1443 changed files with 96923 additions and 11 deletions
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.balance; |
|||
|
|||
import com.win.module.wms.controller.balance.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.balance.vo.*; |
|||
import com.win.module.wms.dal.dataobject.balance.BalanceDO; |
|||
import com.win.module.wms.convert.balance.BalanceConvert; |
|||
import com.win.module.wms.service.balance.BalanceService; |
|||
|
|||
@Tag(name = "管理后台 - 库存余额") |
|||
@RestController |
|||
@RequestMapping("/wms/balance") |
|||
@Validated |
|||
public class BalanceController { |
|||
|
|||
@Resource |
|||
private BalanceService balanceService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建库存余额") |
|||
@PreAuthorize("@ss.hasPermission('wms:balance:create')") |
|||
public CommonResult<String> createBalance(@Valid @RequestBody BalanceCreateReqVO createReqVO) { |
|||
return success(balanceService.createBalance(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新库存余额") |
|||
@PreAuthorize("@ss.hasPermission('wms:balance:update')") |
|||
public CommonResult<Boolean> updateBalance(@Valid @RequestBody BalanceUpdateReqVO updateReqVO) { |
|||
balanceService.updateBalance(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除库存余额") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:balance:delete')") |
|||
public CommonResult<Boolean> deleteBalance(@RequestParam("id") Long id) { |
|||
balanceService.deleteBalance(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得库存余额") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:balance:query')") |
|||
public CommonResult<BalanceRespVO> getBalance(@RequestParam("id") String id) { |
|||
BalanceDO balance = balanceService.getBalance(id); |
|||
return success(BalanceConvert.INSTANCE.convert(balance)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得库存余额列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:balance:query')") |
|||
public CommonResult<List<BalanceRespVO>> getBalanceList(@RequestParam("ids") Collection<String> ids) { |
|||
List<BalanceDO> list = balanceService.getBalanceList(ids); |
|||
return success(BalanceConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得库存余额分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:balance:query')") |
|||
public CommonResult<PageResult<BalanceRespVO>> getBalancePage(@Valid BalancePageReqVO pageVO) { |
|||
PageResult<BalanceDO> pageResult = balanceService.getBalancePage(pageVO); |
|||
return success(BalanceConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出库存余额 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:balance:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportBalanceExcel(@Valid BalanceExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<BalanceDO> list = balanceService.getBalanceList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<BalanceExcelVO> datas = BalanceConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "库存余额.xls", "数据", BalanceExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,121 @@ |
|||
package com.win.module.wms.controller.balance.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 库存余额 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class BalanceBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具代码") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "物料代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "替代批次") |
|||
private String altBatch; |
|||
|
|||
@Schema(description = "到货日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime arriveDate; |
|||
|
|||
@Schema(description = "生产日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime produceDate; |
|||
|
|||
@Schema(description = "失效日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime expireDate; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@Schema(description = "库区代码") |
|||
private String areaCode; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "ERP库位代码") |
|||
private String erpLocationCode; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "锁定数量") |
|||
private BigDecimal lockedQty; |
|||
|
|||
@Schema(description = "可用数量") |
|||
private BigDecimal usableQty; |
|||
|
|||
@Schema(description = "单价") |
|||
private BigDecimal singlePrice; |
|||
|
|||
@Schema(description = "金额") |
|||
private BigDecimal amount; |
|||
|
|||
@Schema(description = "入库时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime putInTime; |
|||
|
|||
@Schema(description = "是否冻结") |
|||
private String frozen; |
|||
|
|||
@Schema(description = "冻结原因") |
|||
private String frozenReason; |
|||
|
|||
@Schema(description = "最后事务号") |
|||
private String lastTransNumber; |
|||
|
|||
@Schema(description = "重量") |
|||
private BigDecimal weight; |
|||
|
|||
@Schema(description = "面积") |
|||
private BigDecimal area; |
|||
|
|||
@Schema(description = "体积") |
|||
private BigDecimal volume; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.balance.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 库存余额创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class BalanceCreateReqVO extends BalanceBaseVO { |
|||
|
|||
} |
@ -0,0 +1,120 @@ |
|||
package com.win.module.wms.controller.balance.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 库存余额 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class BalanceExcelVO { |
|||
|
|||
@ExcelProperty("包装号") |
|||
private String packingNumber; |
|||
|
|||
@ExcelProperty("器具代码") |
|||
private String containerNumber; |
|||
|
|||
@ExcelProperty("物料代码") |
|||
private String itemCode; |
|||
|
|||
@ExcelProperty("批次") |
|||
private String batch; |
|||
|
|||
@ExcelProperty("替代批次") |
|||
private String altBatch; |
|||
|
|||
@ExcelProperty("到货日期") |
|||
private LocalDateTime arriveDate; |
|||
|
|||
@ExcelProperty("生产日期") |
|||
private LocalDateTime produceDate; |
|||
|
|||
@ExcelProperty("失效日期") |
|||
private LocalDateTime expireDate; |
|||
|
|||
@ExcelProperty(value = "库存状态", converter = DictConvert.class) |
|||
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String inventoryStatus; |
|||
|
|||
@ExcelProperty("库位代码") |
|||
private String locationCode; |
|||
|
|||
@ExcelProperty("库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@ExcelProperty("库区代码") |
|||
private String areaCode; |
|||
|
|||
@ExcelProperty("仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@ExcelProperty("ERP库位代码") |
|||
private String erpLocationCode; |
|||
|
|||
@ExcelProperty("货主代码") |
|||
private String ownerCode; |
|||
|
|||
@ExcelProperty(value = "计量单位", converter = DictConvert.class) |
|||
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String uom; |
|||
|
|||
@ExcelProperty("数量") |
|||
private BigDecimal qty; |
|||
|
|||
@ExcelProperty("锁定数量") |
|||
private BigDecimal lockedQty; |
|||
|
|||
@ExcelProperty("可用数量") |
|||
private BigDecimal usableQty; |
|||
|
|||
@ExcelProperty("单价") |
|||
private BigDecimal singlePrice; |
|||
|
|||
@ExcelProperty("金额") |
|||
private BigDecimal amount; |
|||
|
|||
@ExcelProperty("入库时间") |
|||
private LocalDateTime putInTime; |
|||
|
|||
@ExcelProperty(value = "是否冻结", converter = DictConvert.class) |
|||
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String frozen; |
|||
|
|||
@ExcelProperty(value = "冻结原因", converter = DictConvert.class) |
|||
@DictFormat("frozen_reason") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String frozenReason; |
|||
|
|||
@ExcelProperty("最后事务号") |
|||
private String lastTransNumber; |
|||
|
|||
@ExcelProperty("重量") |
|||
private BigDecimal weight; |
|||
|
|||
@ExcelProperty("面积") |
|||
private BigDecimal area; |
|||
|
|||
@ExcelProperty("体积") |
|||
private BigDecimal volume; |
|||
|
|||
} |
@ -0,0 +1,106 @@ |
|||
package com.win.module.wms.controller.balance.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 库存余额 Excel 导出 Request VO,参数和 BalancePageReqVO 是一致的") |
|||
@Data |
|||
public class BalanceExportReqVO { |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具代码") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "物料代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "替代批次") |
|||
private String altBatch; |
|||
|
|||
@Schema(description = "到货日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] arriveDate; |
|||
|
|||
@Schema(description = "生产日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] produceDate; |
|||
|
|||
@Schema(description = "失效日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] expireDate; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@Schema(description = "库区代码") |
|||
private String areaCode; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "ERP库位代码") |
|||
private String erpLocationCode; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "锁定数量") |
|||
private BigDecimal lockedQty; |
|||
|
|||
@Schema(description = "可用数量") |
|||
private BigDecimal usableQty; |
|||
|
|||
@Schema(description = "单价") |
|||
private BigDecimal singlePrice; |
|||
|
|||
@Schema(description = "金额") |
|||
private BigDecimal amount; |
|||
|
|||
@Schema(description = "入库时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] putInTime; |
|||
|
|||
@Schema(description = "是否冻结") |
|||
private String frozen; |
|||
|
|||
@Schema(description = "冻结原因") |
|||
private String frozenReason; |
|||
|
|||
@Schema(description = "最后事务号") |
|||
private String lastTransNumber; |
|||
|
|||
@Schema(description = "重量") |
|||
private BigDecimal weight; |
|||
|
|||
@Schema(description = "面积") |
|||
private BigDecimal area; |
|||
|
|||
@Schema(description = "体积") |
|||
private BigDecimal volume; |
|||
|
|||
} |
@ -0,0 +1,108 @@ |
|||
package com.win.module.wms.controller.balance.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 库存余额分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class BalancePageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具代码") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "物料代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "替代批次") |
|||
private String altBatch; |
|||
|
|||
@Schema(description = "到货日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] arriveDate; |
|||
|
|||
@Schema(description = "生产日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] produceDate; |
|||
|
|||
@Schema(description = "失效日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] expireDate; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@Schema(description = "库区代码") |
|||
private String areaCode; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "ERP库位代码") |
|||
private String erpLocationCode; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "锁定数量") |
|||
private BigDecimal lockedQty; |
|||
|
|||
@Schema(description = "可用数量") |
|||
private BigDecimal usableQty; |
|||
|
|||
@Schema(description = "单价") |
|||
private BigDecimal singlePrice; |
|||
|
|||
@Schema(description = "金额") |
|||
private BigDecimal amount; |
|||
|
|||
@Schema(description = "入库时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] putInTime; |
|||
|
|||
@Schema(description = "是否冻结") |
|||
private String frozen; |
|||
|
|||
@Schema(description = "冻结原因") |
|||
private String frozenReason; |
|||
|
|||
@Schema(description = "最后事务号") |
|||
private String lastTransNumber; |
|||
|
|||
@Schema(description = "重量") |
|||
private BigDecimal weight; |
|||
|
|||
@Schema(description = "面积") |
|||
private BigDecimal area; |
|||
|
|||
@Schema(description = "体积") |
|||
private BigDecimal volume; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.balance.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 库存余额 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class BalanceRespVO extends BalanceBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.balance.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 库存余额更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class BalanceUpdateReqVO extends BalanceBaseVO { |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.container; |
|||
|
|||
import com.win.module.wms.controller.container.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.container.vo.*; |
|||
import com.win.module.wms.dal.dataobject.container.ContainerDetailDO; |
|||
import com.win.module.wms.convert.container.ContainerDetailConvert; |
|||
import com.win.module.wms.service.container.ContainerDetailService; |
|||
|
|||
@Tag(name = "管理后台 - 器具子") |
|||
@RestController |
|||
@RequestMapping("/wms/container-detail") |
|||
@Validated |
|||
public class ContainerDetailController { |
|||
|
|||
@Resource |
|||
private ContainerDetailService containerDetailService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建器具子") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-detail:create')") |
|||
public CommonResult<String> createContainerDetail(@Valid @RequestBody ContainerDetailCreateReqVO createReqVO) { |
|||
return success(containerDetailService.createContainerDetail(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新器具子") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-detail:update')") |
|||
public CommonResult<Boolean> updateContainerDetail(@Valid @RequestBody ContainerDetailUpdateReqVO updateReqVO) { |
|||
containerDetailService.updateContainerDetail(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除器具子") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:container-detail:delete')") |
|||
public CommonResult<Boolean> deleteContainerDetail(@RequestParam("id") Long id) { |
|||
containerDetailService.deleteContainerDetail(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得器具子") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-detail:query')") |
|||
public CommonResult<ContainerDetailRespVO> getContainerDetail(@RequestParam("id") String id) { |
|||
ContainerDetailDO containerDetail = containerDetailService.getContainerDetail(id); |
|||
return success(ContainerDetailConvert.INSTANCE.convert(containerDetail)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得器具子列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-detail:query')") |
|||
public CommonResult<List<ContainerDetailRespVO>> getContainerDetailList(@RequestParam("ids") Collection<String> ids) { |
|||
List<ContainerDetailDO> list = containerDetailService.getContainerDetailList(ids); |
|||
return success(ContainerDetailConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得器具子分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-detail:query')") |
|||
public CommonResult<PageResult<ContainerDetailRespVO>> getContainerDetailPage(@Valid ContainerDetailPageReqVO pageVO) { |
|||
PageResult<ContainerDetailDO> pageResult = containerDetailService.getContainerDetailPage(pageVO); |
|||
return success(ContainerDetailConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出器具子 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-detail:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportContainerDetailExcel(@Valid ContainerDetailExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<ContainerDetailDO> list = containerDetailService.getContainerDetailList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<ContainerDetailExcelVO> datas = ContainerDetailConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "器具子.xls", "数据", ContainerDetailExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.container; |
|||
|
|||
import com.win.module.wms.controller.container.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.container.vo.*; |
|||
import com.win.module.wms.dal.dataobject.container.ContainerMainDO; |
|||
import com.win.module.wms.convert.container.ContainerMainConvert; |
|||
import com.win.module.wms.service.container.ContainerMainService; |
|||
|
|||
@Tag(name = "管理后台 - 器具主") |
|||
@RestController |
|||
@RequestMapping("/wms/container-main") |
|||
@Validated |
|||
public class ContainerMainController { |
|||
|
|||
@Resource |
|||
private ContainerMainService containerMainService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建器具主") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-main:create')") |
|||
public CommonResult<String> createContainerMain(@Valid @RequestBody ContainerMainCreateReqVO createReqVO) { |
|||
return success(containerMainService.createContainerMain(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新器具主") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-main:update')") |
|||
public CommonResult<Boolean> updateContainerMain(@Valid @RequestBody ContainerMainUpdateReqVO updateReqVO) { |
|||
containerMainService.updateContainerMain(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除器具主") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:container-main:delete')") |
|||
public CommonResult<Boolean> deleteContainerMain(@RequestParam("id") Long id) { |
|||
containerMainService.deleteContainerMain(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得器具主") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-main:query')") |
|||
public CommonResult<ContainerMainRespVO> getContainerMain(@RequestParam("id") String id) { |
|||
ContainerMainDO containerMain = containerMainService.getContainerMain(id); |
|||
return success(ContainerMainConvert.INSTANCE.convert(containerMain)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得器具主列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-main:query')") |
|||
public CommonResult<List<ContainerMainRespVO>> getContainerMainList(@RequestParam("ids") Collection<String> ids) { |
|||
List<ContainerMainDO> list = containerMainService.getContainerMainList(ids); |
|||
return success(ContainerMainConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得器具主分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-main:query')") |
|||
public CommonResult<PageResult<ContainerMainRespVO>> getContainerMainPage(@Valid ContainerMainPageReqVO pageVO) { |
|||
PageResult<ContainerMainDO> pageResult = containerMainService.getContainerMainPage(pageVO); |
|||
return success(ContainerMainConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出器具主 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:container-main:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportContainerMainExcel(@Valid ContainerMainExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<ContainerMainDO> list = containerMainService.getContainerMainList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<ContainerMainExcelVO> datas = ContainerMainConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "器具主.xls", "数据", ContainerMainExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import javax.validation.constraints.*; |
|||
|
|||
/** |
|||
* 器具子 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class ContainerDetailBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "内容物类型", requiredMode = Schema.RequiredMode.REQUIRED) |
|||
@NotNull(message = "内容物类型不能为空") |
|||
private String containerContentType; |
|||
|
|||
@Schema(description = "内容物号") |
|||
private String contentNumber; |
|||
|
|||
@Schema(description = "物料代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 器具子创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerDetailCreateReqVO extends ContainerDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,45 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 器具子 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class ContainerDetailExcelVO { |
|||
|
|||
@ExcelProperty(value = "内容物类型", converter = DictConvert.class) |
|||
@DictFormat("container_content_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String containerContentType; |
|||
|
|||
@ExcelProperty("内容物号") |
|||
private String contentNumber; |
|||
|
|||
@ExcelProperty("物料代码") |
|||
private String itemCode; |
|||
|
|||
@ExcelProperty("批次") |
|||
private String batch; |
|||
|
|||
@ExcelProperty(value = "库存状态", converter = DictConvert.class) |
|||
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String inventoryStatus; |
|||
|
|||
@ExcelProperty(value = "计量单位", converter = DictConvert.class) |
|||
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String uom; |
|||
|
|||
@ExcelProperty("数量") |
|||
private BigDecimal qty; |
|||
|
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
|
|||
@Schema(description = "管理后台 - 器具子 Excel 导出 Request VO,参数和 ContainerDetailPageReqVO 是一致的") |
|||
@Data |
|||
public class ContainerDetailExportReqVO { |
|||
|
|||
@Schema(description = "内容物类型") |
|||
private String containerContentType; |
|||
|
|||
@Schema(description = "内容物号") |
|||
private String contentNumber; |
|||
|
|||
@Schema(description = "物料代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
} |
@ -0,0 +1,37 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
|
|||
@Schema(description = "管理后台 - 器具子分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerDetailPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "内容物类型") |
|||
private String containerContentType; |
|||
|
|||
@Schema(description = "内容物号") |
|||
private String contentNumber; |
|||
|
|||
@Schema(description = "物料代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 器具子 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerDetailRespVO extends ContainerDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 器具子更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerDetailUpdateReqVO extends ContainerDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import javax.validation.constraints.*; |
|||
|
|||
/** |
|||
* 器具主 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class ContainerMainBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "号码", requiredMode = Schema.RequiredMode.REQUIRED) |
|||
@NotNull(message = "号码不能为空") |
|||
private String number; |
|||
|
|||
@Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) |
|||
@NotNull(message = "类型不能为空") |
|||
private String type; |
|||
|
|||
@Schema(description = "总容量") |
|||
private BigDecimal capacity; |
|||
|
|||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED) |
|||
@NotNull(message = "状态不能为空") |
|||
private String status; |
|||
|
|||
@Schema(description = "货主代码", requiredMode = Schema.RequiredMode.REQUIRED) |
|||
@NotNull(message = "货主代码不能为空") |
|||
private String ownerCode; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 器具主创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerMainCreateReqVO extends ContainerMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 器具主 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class ContainerMainExcelVO { |
|||
|
|||
@ExcelProperty("id") |
|||
private String id; |
|||
|
|||
@ExcelProperty("号码") |
|||
private String number; |
|||
|
|||
@ExcelProperty(value = "类型", converter = DictConvert.class) |
|||
@DictFormat("container_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String type; |
|||
|
|||
@ExcelProperty("总容量") |
|||
private BigDecimal capacity; |
|||
|
|||
@ExcelProperty(value = "状态", converter = DictConvert.class) |
|||
@DictFormat("container_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String status; |
|||
|
|||
@ExcelProperty("货主代码") |
|||
private String ownerCode; |
|||
|
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
|
|||
@Schema(description = "管理后台 - 器具主 Excel 导出 Request VO,参数和 ContainerMainPageReqVO 是一致的") |
|||
@Data |
|||
public class ContainerMainExportReqVO { |
|||
|
|||
@Schema(description = "号码") |
|||
private String number; |
|||
|
|||
@Schema(description = "类型") |
|||
private String type; |
|||
|
|||
@Schema(description = "总容量") |
|||
private BigDecimal capacity; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
|
|||
@Schema(description = "管理后台 - 器具主分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerMainPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "号码") |
|||
private String number; |
|||
|
|||
@Schema(description = "类型") |
|||
private String type; |
|||
|
|||
@Schema(description = "总容量") |
|||
private BigDecimal capacity; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
} |
@ -0,0 +1,11 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 器具主 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerMainRespVO extends ContainerMainBaseVO { |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.container.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 器具主更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class ContainerMainUpdateReqVO extends ContainerMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countJob; |
|||
|
|||
import com.win.module.wms.controller.countJob.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countJob.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; |
|||
import com.win.module.wms.convert.countJob.CountJobDetailConvert; |
|||
import com.win.module.wms.service.countJob.CountJobDetailService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点任务子") |
|||
@RestController |
|||
@RequestMapping("/wms/count-job-detail") |
|||
@Validated |
|||
public class CountJobDetailController { |
|||
|
|||
@Resource |
|||
private CountJobDetailService countJobDetailService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点任务子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:create')") |
|||
public CommonResult<Long> createCountJobDetail(@Valid @RequestBody CountJobDetailCreateReqVO createReqVO) { |
|||
return success(countJobDetailService.createCountJobDetail(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点任务子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:update')") |
|||
public CommonResult<Boolean> updateCountJobDetail(@Valid @RequestBody CountJobDetailUpdateReqVO updateReqVO) { |
|||
countJobDetailService.updateCountJobDetail(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点任务子") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:delete')") |
|||
public CommonResult<Boolean> deleteCountJobDetail(@RequestParam("id") Long id) { |
|||
countJobDetailService.deleteCountJobDetail(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点任务子") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") |
|||
public CommonResult<CountJobDetailRespVO> getCountJobDetail(@RequestParam("id") Long id) { |
|||
CountJobDetailDO countJobDetail = countJobDetailService.getCountJobDetail(id); |
|||
return success(CountJobDetailConvert.INSTANCE.convert(countJobDetail)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点任务子列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") |
|||
public CommonResult<List<CountJobDetailRespVO>> getCountJobDetailList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountJobDetailDO> list = countJobDetailService.getCountJobDetailList(ids); |
|||
return success(CountJobDetailConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点任务子分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") |
|||
public CommonResult<PageResult<CountJobDetailRespVO>> getCountJobDetailPage(@Valid CountJobDetailPageReqVO pageVO) { |
|||
PageResult<CountJobDetailDO> pageResult = countJobDetailService.getCountJobDetailPage(pageVO); |
|||
return success(CountJobDetailConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点任务子 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountJobDetailExcel(@Valid CountJobDetailExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountJobDetailDO> list = countJobDetailService.getCountJobDetailList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountJobDetailExcelVO> datas = CountJobDetailConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点任务子.xls", "数据", CountJobDetailExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countJob; |
|||
|
|||
import com.win.module.wms.controller.countJob.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countJob.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; |
|||
import com.win.module.wms.convert.countJob.CountJobMainConvert; |
|||
import com.win.module.wms.service.countJob.CountJobMainService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点任务主") |
|||
@RestController |
|||
@RequestMapping("/wms/count-job-main") |
|||
@Validated |
|||
public class CountJobMainController { |
|||
|
|||
@Resource |
|||
private CountJobMainService countJobMainService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点任务主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-main:create')") |
|||
public CommonResult<Long> createCountJobMain(@Valid @RequestBody CountJobMainCreateReqVO createReqVO) { |
|||
return success(countJobMainService.createCountJobMain(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点任务主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-main:update')") |
|||
public CommonResult<Boolean> updateCountJobMain(@Valid @RequestBody CountJobMainUpdateReqVO updateReqVO) { |
|||
countJobMainService.updateCountJobMain(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点任务主") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-main:delete')") |
|||
public CommonResult<Boolean> deleteCountJobMain(@RequestParam("id") Long id) { |
|||
countJobMainService.deleteCountJobMain(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点任务主") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") |
|||
public CommonResult<CountJobMainRespVO> getCountJobMain(@RequestParam("id") Long id) { |
|||
CountJobMainDO countJobMain = countJobMainService.getCountJobMain(id); |
|||
return success(CountJobMainConvert.INSTANCE.convert(countJobMain)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点任务主列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") |
|||
public CommonResult<List<CountJobMainRespVO>> getCountJobMainList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountJobMainDO> list = countJobMainService.getCountJobMainList(ids); |
|||
return success(CountJobMainConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点任务主分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") |
|||
public CommonResult<PageResult<CountJobMainRespVO>> getCountJobMainPage(@Valid CountJobMainPageReqVO pageVO) { |
|||
PageResult<CountJobMainDO> pageResult = countJobMainService.getCountJobMainPage(pageVO); |
|||
return success(CountJobMainConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点任务主 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-job-main:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountJobMainExcel(@Valid CountJobMainExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountJobMainDO> list = countJobMainService.getCountJobMainList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountJobMainExcelVO> datas = CountJobMainConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点任务主.xls", "数据", CountJobMainExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,75 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点任务子 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountJobDetailBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务子创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobDetailCreateReqVO extends CountJobDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,75 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点任务子 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountJobDetailExcelVO { |
|||
|
|||
@ExcelProperty("盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@ExcelProperty("货主代码") |
|||
private String ownerCode; |
|||
|
|||
@ExcelProperty("包装号") |
|||
private String packingNumber; |
|||
|
|||
@ExcelProperty("器具号") |
|||
private String containerNumber; |
|||
|
|||
@ExcelProperty("批次") |
|||
private String batch; |
|||
|
|||
@ExcelProperty(value = "库存状态", converter = DictConvert.class) |
|||
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String inventoryStatus; |
|||
|
|||
@ExcelProperty("物品代码") |
|||
private String itemCode; |
|||
|
|||
@ExcelProperty("物品名称") |
|||
private String itemName; |
|||
|
|||
@ExcelProperty("物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@ExcelProperty("物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@ExcelProperty("项目代码") |
|||
private String projectCode; |
|||
|
|||
@ExcelProperty("数量") |
|||
private BigDecimal qty; |
|||
|
|||
@ExcelProperty(value = "计量单位", converter = DictConvert.class) |
|||
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String uom; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者Id") |
|||
private String creator; |
|||
|
|||
} |
@ -0,0 +1,70 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务子 Excel 导出 Request VO,参数和 CountJobDetailPageReqVO 是一致的") |
|||
@Data |
|||
public class CountJobDetailExportReqVO { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
} |
@ -0,0 +1,72 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务子分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobDetailPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务子 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobDetailRespVO extends CountJobDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务子更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobDetailUpdateReqVO extends CountJobDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,146 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点任务主 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountJobMainBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime requestTime; |
|||
|
|||
@Schema(description = "要求截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime requestDueTime; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "过期时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime expiredTime; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime updateTime; |
|||
|
|||
@Schema(description = "最后更新者Id") |
|||
private String updater; |
|||
|
|||
@Schema(description = "状态") |
|||
private String jobStageStatus; |
|||
|
|||
@Schema(description = "优先级") |
|||
private Integer priority; |
|||
|
|||
@Schema(description = "优先级增量") |
|||
private Integer priorityIncrement; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "承接人用户ID") |
|||
private String acceptUserId; |
|||
|
|||
@Schema(description = "承接时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime acceptTime; |
|||
|
|||
@Schema(description = "完成人用户ID", example = "2") |
|||
private String completeUserId; |
|||
|
|||
@Schema(description = "完成时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime completeTime; |
|||
|
|||
@Schema(description = "从库位类型范围") |
|||
private String fromLocationTypes; |
|||
|
|||
@Schema(description = "到库位类型范围") |
|||
private String toLocationTypes; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "地点ID", example = "19294") |
|||
private String siteId; |
|||
|
|||
@Schema(description = "自动完成") |
|||
private String autoComplete; |
|||
|
|||
@Schema(description = "允许修改库位") |
|||
private String allowModifyLocation; |
|||
|
|||
@Schema(description = "允许修改数量") |
|||
private String allowModifyQty; |
|||
|
|||
@Schema(description = "允许大于推荐数量") |
|||
private String allowBiggerQty; |
|||
|
|||
@Schema(description = "允许小于推荐数量") |
|||
private String allowSmallerQty; |
|||
|
|||
@Schema(description = "允许修改库存状态", example = "1") |
|||
private String allowModifInventoryStatus; |
|||
|
|||
@Schema(description = "允许连续扫描") |
|||
private String allowContinuousScanning; |
|||
|
|||
@Schema(description = "允许部分完成") |
|||
private String allowPartialComplete; |
|||
|
|||
@Schema(description = "允许修改批次") |
|||
private String allowModifyBatch; |
|||
|
|||
@Schema(description = "允许修改箱码") |
|||
private String allowModifyPackingNumber; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务主创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobMainCreateReqVO extends CountJobMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,143 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点任务主 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountJobMainExcelVO { |
|||
|
|||
@ExcelProperty("申请单号") |
|||
private String requestNumber; |
|||
|
|||
@ExcelProperty("计划单号") |
|||
private String planNumber; |
|||
|
|||
@ExcelProperty(value = "阶段", converter = DictConvert.class) |
|||
@DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String stage; |
|||
|
|||
@ExcelProperty("仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@ExcelProperty("库位代码") |
|||
private String locationCode; |
|||
|
|||
@ExcelProperty("申请时间") |
|||
private LocalDateTime requestTime; |
|||
|
|||
@ExcelProperty("要求截止时间") |
|||
private LocalDateTime requestDueTime; |
|||
|
|||
@ExcelProperty(value = "状态", converter = DictConvert.class) |
|||
@DictFormat("job_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String status; |
|||
|
|||
@ExcelProperty("过期时间") |
|||
private LocalDateTime expiredTime; |
|||
|
|||
@ExcelProperty("最后更新时间") |
|||
private LocalDateTime updateTime; |
|||
|
|||
@ExcelProperty("最后更新者Id") |
|||
private String updater; |
|||
|
|||
@ExcelProperty(value = "状态", converter = DictConvert.class) |
|||
@DictFormat("job_stage_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String jobStageStatus; |
|||
|
|||
@ExcelProperty("优先级") |
|||
private Integer priority; |
|||
|
|||
@ExcelProperty("优先级增量") |
|||
private Integer priorityIncrement; |
|||
|
|||
@ExcelProperty("部门") |
|||
private String departmentCode; |
|||
|
|||
@ExcelProperty("承接人用户ID") |
|||
private String acceptUserId; |
|||
|
|||
@ExcelProperty("承接时间") |
|||
private LocalDateTime acceptTime; |
|||
|
|||
@ExcelProperty("完成人用户ID") |
|||
private String completeUserId; |
|||
|
|||
@ExcelProperty("完成时间") |
|||
private LocalDateTime completeTime; |
|||
|
|||
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) |
|||
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String fromLocationTypes; |
|||
|
|||
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) |
|||
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String toLocationTypes; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("业务类型") |
|||
private String businessType; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者id") |
|||
private String creator; |
|||
|
|||
@ExcelProperty("地点ID") |
|||
private String siteId; |
|||
|
|||
@ExcelProperty("自动完成") |
|||
private String autoComplete; |
|||
|
|||
@ExcelProperty("允许修改库位") |
|||
private String allowModifyLocation; |
|||
|
|||
@ExcelProperty("允许修改数量") |
|||
private String allowModifyQty; |
|||
|
|||
@ExcelProperty("允许大于推荐数量") |
|||
private String allowBiggerQty; |
|||
|
|||
@ExcelProperty("允许小于推荐数量") |
|||
private String allowSmallerQty; |
|||
|
|||
@ExcelProperty("允许修改库存状态") |
|||
private String allowModifInventoryStatus; |
|||
|
|||
@ExcelProperty("允许连续扫描") |
|||
private String allowContinuousScanning; |
|||
|
|||
@ExcelProperty("允许部分完成") |
|||
private String allowPartialComplete; |
|||
|
|||
@ExcelProperty("允许修改批次") |
|||
private String allowModifyBatch; |
|||
|
|||
@ExcelProperty("允许修改箱码") |
|||
private String allowModifyPackingNumber; |
|||
|
|||
} |
@ -0,0 +1,134 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import lombok.*; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务主 Excel 导出 Request VO,参数和 CountJobMainPageReqVO 是一致的") |
|||
@Data |
|||
public class CountJobMainExportReqVO { |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestTime; |
|||
|
|||
@Schema(description = "要求截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestDueTime; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "过期时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] expiredTime; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者Id") |
|||
private String updater; |
|||
|
|||
@Schema(description = "状态") |
|||
private String jobStageStatus; |
|||
|
|||
@Schema(description = "优先级") |
|||
private Integer priority; |
|||
|
|||
@Schema(description = "优先级增量") |
|||
private Integer priorityIncrement; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "承接人用户ID") |
|||
private String acceptUserId; |
|||
|
|||
@Schema(description = "承接时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] acceptTime; |
|||
|
|||
@Schema(description = "完成人用户ID", example = "2") |
|||
private String completeUserId; |
|||
|
|||
@Schema(description = "完成时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] completeTime; |
|||
|
|||
@Schema(description = "从库位类型范围") |
|||
private String fromLocationTypes; |
|||
|
|||
@Schema(description = "到库位类型范围") |
|||
private String toLocationTypes; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "地点ID", example = "19294") |
|||
private String siteId; |
|||
|
|||
@Schema(description = "自动完成") |
|||
private String autoComplete; |
|||
|
|||
@Schema(description = "允许修改库位") |
|||
private String allowModifyLocation; |
|||
|
|||
@Schema(description = "允许修改数量") |
|||
private String allowModifyQty; |
|||
|
|||
@Schema(description = "允许大于推荐数量") |
|||
private String allowBiggerQty; |
|||
|
|||
@Schema(description = "允许小于推荐数量") |
|||
private String allowSmallerQty; |
|||
|
|||
@Schema(description = "允许修改库存状态", example = "1") |
|||
private String allowModifInventoryStatus; |
|||
|
|||
@Schema(description = "允许连续扫描") |
|||
private String allowContinuousScanning; |
|||
|
|||
@Schema(description = "允许部分完成") |
|||
private String allowPartialComplete; |
|||
|
|||
@Schema(description = "允许修改批次") |
|||
private String allowModifyBatch; |
|||
|
|||
@Schema(description = "允许修改箱码") |
|||
private String allowModifyPackingNumber; |
|||
|
|||
} |
@ -0,0 +1,136 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import lombok.*; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务主分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobMainPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestTime; |
|||
|
|||
@Schema(description = "要求截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestDueTime; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "过期时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] expiredTime; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者Id") |
|||
private String updater; |
|||
|
|||
@Schema(description = "状态") |
|||
private String jobStageStatus; |
|||
|
|||
@Schema(description = "优先级") |
|||
private Integer priority; |
|||
|
|||
@Schema(description = "优先级增量") |
|||
private Integer priorityIncrement; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "承接人用户ID") |
|||
private String acceptUserId; |
|||
|
|||
@Schema(description = "承接时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] acceptTime; |
|||
|
|||
@Schema(description = "完成人用户ID", example = "2") |
|||
private String completeUserId; |
|||
|
|||
@Schema(description = "完成时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] completeTime; |
|||
|
|||
@Schema(description = "从库位类型范围") |
|||
private String fromLocationTypes; |
|||
|
|||
@Schema(description = "到库位类型范围") |
|||
private String toLocationTypes; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "地点ID", example = "19294") |
|||
private String siteId; |
|||
|
|||
@Schema(description = "自动完成") |
|||
private String autoComplete; |
|||
|
|||
@Schema(description = "允许修改库位") |
|||
private String allowModifyLocation; |
|||
|
|||
@Schema(description = "允许修改数量") |
|||
private String allowModifyQty; |
|||
|
|||
@Schema(description = "允许大于推荐数量") |
|||
private String allowBiggerQty; |
|||
|
|||
@Schema(description = "允许小于推荐数量") |
|||
private String allowSmallerQty; |
|||
|
|||
@Schema(description = "允许修改库存状态", example = "1") |
|||
private String allowModifInventoryStatus; |
|||
|
|||
@Schema(description = "允许连续扫描") |
|||
private String allowContinuousScanning; |
|||
|
|||
@Schema(description = "允许部分完成") |
|||
private String allowPartialComplete; |
|||
|
|||
@Schema(description = "允许修改批次") |
|||
private String allowModifyBatch; |
|||
|
|||
@Schema(description = "允许修改箱码") |
|||
private String allowModifyPackingNumber; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务主 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobMainRespVO extends CountJobMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countJob.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点任务主更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountJobMainUpdateReqVO extends CountJobMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countPlan; |
|||
|
|||
import com.win.module.wms.controller.countPlan.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countPlan.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO; |
|||
import com.win.module.wms.convert.countPlan.CountPlanDetailConvert; |
|||
import com.win.module.wms.service.countPlan.CountPlanDetailService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点计划子") |
|||
@RestController |
|||
@RequestMapping("/wms/count-plan-detail") |
|||
@Validated |
|||
public class CountPlanDetailController { |
|||
|
|||
@Resource |
|||
private CountPlanDetailService countPlanDetailService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点计划子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:create')") |
|||
public CommonResult<Long> createCountPlanDetail(@Valid @RequestBody CountPlanDetailCreateReqVO createReqVO) { |
|||
return success(countPlanDetailService.createCountPlanDetail(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点计划子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:update')") |
|||
public CommonResult<Boolean> updateCountPlanDetail(@Valid @RequestBody CountPlanDetailUpdateReqVO updateReqVO) { |
|||
countPlanDetailService.updateCountPlanDetail(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点计划子") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:delete')") |
|||
public CommonResult<Boolean> deleteCountPlanDetail(@RequestParam("id") Long id) { |
|||
countPlanDetailService.deleteCountPlanDetail(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点计划子") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:query')") |
|||
public CommonResult<CountPlanDetailRespVO> getCountPlanDetail(@RequestParam("id") Long id) { |
|||
CountPlanDetailDO countPlanDetail = countPlanDetailService.getCountPlanDetail(id); |
|||
return success(CountPlanDetailConvert.INSTANCE.convert(countPlanDetail)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点计划子列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:query')") |
|||
public CommonResult<List<CountPlanDetailRespVO>> getCountPlanDetailList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountPlanDetailDO> list = countPlanDetailService.getCountPlanDetailList(ids); |
|||
return success(CountPlanDetailConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点计划子分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:query')") |
|||
public CommonResult<PageResult<CountPlanDetailRespVO>> getCountPlanDetailPage(@Valid CountPlanDetailPageReqVO pageVO) { |
|||
PageResult<CountPlanDetailDO> pageResult = countPlanDetailService.getCountPlanDetailPage(pageVO); |
|||
return success(CountPlanDetailConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点计划子 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountPlanDetailExcel(@Valid CountPlanDetailExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountPlanDetailDO> list = countPlanDetailService.getCountPlanDetailList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountPlanDetailExcelVO> datas = CountPlanDetailConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点计划子.xls", "数据", CountPlanDetailExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countPlan; |
|||
|
|||
import com.win.module.wms.controller.countPlan.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countPlan.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO; |
|||
import com.win.module.wms.convert.countPlan.CountPlanMainConvert; |
|||
import com.win.module.wms.service.countPlan.CountPlanMainService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点计划主") |
|||
@RestController |
|||
@RequestMapping("/wms/count-plan-main") |
|||
@Validated |
|||
public class CountPlanMainController { |
|||
|
|||
@Resource |
|||
private CountPlanMainService countPlanMainService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点计划主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:create')") |
|||
public CommonResult<Long> createCountPlanMain(@Valid @RequestBody CountPlanMainCreateReqVO createReqVO) { |
|||
return success(countPlanMainService.createCountPlanMain(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点计划主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:update')") |
|||
public CommonResult<Boolean> updateCountPlanMain(@Valid @RequestBody CountPlanMainUpdateReqVO updateReqVO) { |
|||
countPlanMainService.updateCountPlanMain(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点计划主") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:delete')") |
|||
public CommonResult<Boolean> deleteCountPlanMain(@RequestParam("id") Long id) { |
|||
countPlanMainService.deleteCountPlanMain(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点计划主") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:query')") |
|||
public CommonResult<CountPlanMainRespVO> getCountPlanMain(@RequestParam("id") Long id) { |
|||
CountPlanMainDO countPlanMain = countPlanMainService.getCountPlanMain(id); |
|||
return success(CountPlanMainConvert.INSTANCE.convert(countPlanMain)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点计划主列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:query')") |
|||
public CommonResult<List<CountPlanMainRespVO>> getCountPlanMainList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountPlanMainDO> list = countPlanMainService.getCountPlanMainList(ids); |
|||
return success(CountPlanMainConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点计划主分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:query')") |
|||
public CommonResult<PageResult<CountPlanMainRespVO>> getCountPlanMainPage(@Valid CountPlanMainPageReqVO pageVO) { |
|||
PageResult<CountPlanMainDO> pageResult = countPlanMainService.getCountPlanMainPage(pageVO); |
|||
return success(CountPlanMainConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点计划主 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountPlanMainExcel(@Valid CountPlanMainExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountPlanMainDO> list = countPlanMainService.getCountPlanMainList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountPlanMainExcelVO> datas = CountPlanMainConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点计划主.xls", "数据", CountPlanMainExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,62 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点计划子 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountPlanDetailBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "盘点范围类型 ") |
|||
private String type; |
|||
|
|||
@Schema(description = "盘点范围值") |
|||
private String value; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "计划数量") |
|||
private BigDecimal planQty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划子创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanDetailCreateReqVO extends CountPlanDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,61 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点计划子 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountPlanDetailExcelVO { |
|||
|
|||
@ExcelProperty(value = "盘点范围类型 ", converter = DictConvert.class) |
|||
@DictFormat("count_dimension") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String type; |
|||
|
|||
@ExcelProperty("盘点范围值") |
|||
private String value; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("物品代码") |
|||
private String itemCode; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者用户名") |
|||
private String creator; |
|||
|
|||
@ExcelProperty("计划数量") |
|||
private BigDecimal planQty; |
|||
|
|||
@ExcelProperty(value = "计量单位", converter = DictConvert.class) |
|||
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String uom; |
|||
|
|||
@ExcelProperty("最后更新时间") |
|||
private LocalDateTime updateTime; |
|||
|
|||
@ExcelProperty("最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@ExcelProperty("是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,56 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划子 Excel 导出 Request VO,参数和 CountPlanDetailPageReqVO 是一致的") |
|||
@Data |
|||
public class CountPlanDetailExportReqVO { |
|||
|
|||
@Schema(description = "盘点范围类型 ") |
|||
private String type; |
|||
|
|||
@Schema(description = "盘点范围值") |
|||
private String value; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "计划数量") |
|||
private BigDecimal planQty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,58 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划子分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanDetailPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "盘点范围类型 ") |
|||
private String type; |
|||
|
|||
@Schema(description = "盘点范围值") |
|||
private String value; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "计划数量") |
|||
private BigDecimal planQty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划子 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanDetailRespVO extends CountPlanDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划子更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanDetailUpdateReqVO extends CountPlanDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点计划主 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountPlanMainBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "盘点类型") |
|||
private String type; |
|||
|
|||
@Schema(description = "执行周期") |
|||
private String crontab; |
|||
|
|||
@Schema(description = "维度") |
|||
private String dimension; |
|||
|
|||
@Schema(description = "限值") |
|||
private BigDecimal limitedValue; |
|||
|
|||
@Schema(description = "物品忽略名单") |
|||
private String ignoreListOfItem; |
|||
|
|||
@Schema(description = "库位忽略名单") |
|||
private String ignoreListOfLocation; |
|||
|
|||
@Schema(description = "盘点范围列表") |
|||
private String scopeList; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "开始时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime beginTime; |
|||
|
|||
@Schema(description = "结束时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime endTime; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "快照盘点") |
|||
private String isSnapshot; |
|||
|
|||
@Schema(description = "冻结盘点") |
|||
private String isFreeze; |
|||
|
|||
@Schema(description = "盘点空库位") |
|||
private String isCountEmptyLocation; |
|||
|
|||
@Schema(description = "盘点零库存") |
|||
private String isCountZeroInventory; |
|||
|
|||
@Schema(description = "盘点负库存") |
|||
private String isCountNegativeInventory; |
|||
|
|||
@Schema(description = "明盘", example = "2367") |
|||
private String isOpenCount; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划主创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanMainCreateReqVO extends CountPlanMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,100 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点计划主 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountPlanMainExcelVO { |
|||
|
|||
@ExcelProperty(value = "盘点类型", converter = DictConvert.class) |
|||
@DictFormat("count_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String type; |
|||
|
|||
@ExcelProperty("执行周期") |
|||
private String crontab; |
|||
|
|||
@ExcelProperty(value = "维度", converter = DictConvert.class) |
|||
@DictFormat("count_dimension") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String dimension; |
|||
|
|||
@ExcelProperty("限值") |
|||
private BigDecimal limitedValue; |
|||
|
|||
@ExcelProperty("物品忽略名单") |
|||
private String ignoreListOfItem; |
|||
|
|||
@ExcelProperty("库位忽略名单") |
|||
private String ignoreListOfLocation; |
|||
|
|||
@ExcelProperty("盘点范围列表") |
|||
private String scopeList; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("业务类型") |
|||
private String businessType; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者用户名") |
|||
private String creator; |
|||
|
|||
@ExcelProperty("开始时间") |
|||
private LocalDateTime beginTime; |
|||
|
|||
@ExcelProperty("结束时间") |
|||
private LocalDateTime endTime; |
|||
|
|||
@ExcelProperty(value = "状态", converter = DictConvert.class) |
|||
@DictFormat("plan_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String status; |
|||
|
|||
@ExcelProperty("最后更新时间") |
|||
private LocalDateTime updateTime; |
|||
|
|||
@ExcelProperty("最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@ExcelProperty("快照盘点") |
|||
private String isSnapshot; |
|||
|
|||
@ExcelProperty("冻结盘点") |
|||
private String isFreeze; |
|||
|
|||
@ExcelProperty("盘点空库位") |
|||
private String isCountEmptyLocation; |
|||
|
|||
@ExcelProperty("盘点零库存") |
|||
private String isCountZeroInventory; |
|||
|
|||
@ExcelProperty("盘点负库存") |
|||
private String isCountNegativeInventory; |
|||
|
|||
@ExcelProperty("明盘") |
|||
private String isOpenCount; |
|||
|
|||
@ExcelProperty("是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,94 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划主 Excel 导出 Request VO,参数和 CountPlanMainPageReqVO 是一致的") |
|||
@Data |
|||
public class CountPlanMainExportReqVO { |
|||
|
|||
@Schema(description = "盘点类型") |
|||
private String type; |
|||
|
|||
@Schema(description = "执行周期") |
|||
private String crontab; |
|||
|
|||
@Schema(description = "维度") |
|||
private String dimension; |
|||
|
|||
@Schema(description = "限值") |
|||
private BigDecimal limitedValue; |
|||
|
|||
@Schema(description = "物品忽略名单") |
|||
private String ignoreListOfItem; |
|||
|
|||
@Schema(description = "库位忽略名单") |
|||
private String ignoreListOfLocation; |
|||
|
|||
@Schema(description = "盘点范围列表") |
|||
private String scopeList; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "开始时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] beginTime; |
|||
|
|||
@Schema(description = "结束时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] endTime; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "快照盘点") |
|||
private String isSnapshot; |
|||
|
|||
@Schema(description = "冻结盘点") |
|||
private String isFreeze; |
|||
|
|||
@Schema(description = "盘点空库位") |
|||
private String isCountEmptyLocation; |
|||
|
|||
@Schema(description = "盘点零库存") |
|||
private String isCountZeroInventory; |
|||
|
|||
@Schema(description = "盘点负库存") |
|||
private String isCountNegativeInventory; |
|||
|
|||
@Schema(description = "明盘", example = "2367") |
|||
private String isOpenCount; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,96 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划主分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanMainPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "盘点类型") |
|||
private String type; |
|||
|
|||
@Schema(description = "执行周期") |
|||
private String crontab; |
|||
|
|||
@Schema(description = "维度") |
|||
private String dimension; |
|||
|
|||
@Schema(description = "限值") |
|||
private BigDecimal limitedValue; |
|||
|
|||
@Schema(description = "物品忽略名单") |
|||
private String ignoreListOfItem; |
|||
|
|||
@Schema(description = "库位忽略名单") |
|||
private String ignoreListOfLocation; |
|||
|
|||
@Schema(description = "盘点范围列表") |
|||
private String scopeList; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "开始时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] beginTime; |
|||
|
|||
@Schema(description = "结束时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] endTime; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "快照盘点") |
|||
private String isSnapshot; |
|||
|
|||
@Schema(description = "冻结盘点") |
|||
private String isFreeze; |
|||
|
|||
@Schema(description = "盘点空库位") |
|||
private String isCountEmptyLocation; |
|||
|
|||
@Schema(description = "盘点零库存") |
|||
private String isCountZeroInventory; |
|||
|
|||
@Schema(description = "盘点负库存") |
|||
private String isCountNegativeInventory; |
|||
|
|||
@Schema(description = "明盘", example = "2367") |
|||
private String isOpenCount; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划主 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanMainRespVO extends CountPlanMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countPlan.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点计划主更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountPlanMainUpdateReqVO extends CountPlanMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countRecord; |
|||
|
|||
import com.win.module.wms.controller.countRecord.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countRecord.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; |
|||
import com.win.module.wms.convert.countRecord.CountRecordDetailConvert; |
|||
import com.win.module.wms.service.countRecord.CountRecordDetailService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点记录子") |
|||
@RestController |
|||
@RequestMapping("/wms/count-record-detail") |
|||
@Validated |
|||
public class CountRecordDetailController { |
|||
|
|||
@Resource |
|||
private CountRecordDetailService countRecordDetailService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点记录子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:create')") |
|||
public CommonResult<Long> createCountRecordDetail(@Valid @RequestBody CountRecordDetailCreateReqVO createReqVO) { |
|||
return success(countRecordDetailService.createCountRecordDetail(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点记录子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:update')") |
|||
public CommonResult<Boolean> updateCountRecordDetail(@Valid @RequestBody CountRecordDetailUpdateReqVO updateReqVO) { |
|||
countRecordDetailService.updateCountRecordDetail(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点记录子") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:delete')") |
|||
public CommonResult<Boolean> deleteCountRecordDetail(@RequestParam("id") Long id) { |
|||
countRecordDetailService.deleteCountRecordDetail(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点记录子") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") |
|||
public CommonResult<CountRecordDetailRespVO> getCountRecordDetail(@RequestParam("id") Long id) { |
|||
CountRecordDetailDO countRecordDetail = countRecordDetailService.getCountRecordDetail(id); |
|||
return success(CountRecordDetailConvert.INSTANCE.convert(countRecordDetail)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点记录子列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") |
|||
public CommonResult<List<CountRecordDetailRespVO>> getCountRecordDetailList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountRecordDetailDO> list = countRecordDetailService.getCountRecordDetailList(ids); |
|||
return success(CountRecordDetailConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点记录子分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") |
|||
public CommonResult<PageResult<CountRecordDetailRespVO>> getCountRecordDetailPage(@Valid CountRecordDetailPageReqVO pageVO) { |
|||
PageResult<CountRecordDetailDO> pageResult = countRecordDetailService.getCountRecordDetailPage(pageVO); |
|||
return success(CountRecordDetailConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点记录子 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountRecordDetailExcel(@Valid CountRecordDetailExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountRecordDetailDO> list = countRecordDetailService.getCountRecordDetailList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountRecordDetailExcelVO> datas = CountRecordDetailConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点记录子.xls", "数据", CountRecordDetailExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countRecord; |
|||
|
|||
import com.win.module.wms.controller.countRecord.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countRecord.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; |
|||
import com.win.module.wms.convert.countRecord.CountRecordMainConvert; |
|||
import com.win.module.wms.service.countRecord.CountRecordMainService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点记录主") |
|||
@RestController |
|||
@RequestMapping("/wms/count-record-main") |
|||
@Validated |
|||
public class CountRecordMainController { |
|||
|
|||
@Resource |
|||
private CountRecordMainService countRecordMainService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点记录主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-main:create')") |
|||
public CommonResult<Long> createCountRecordMain(@Valid @RequestBody CountRecordMainCreateReqVO createReqVO) { |
|||
return success(countRecordMainService.createCountRecordMain(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点记录主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-main:update')") |
|||
public CommonResult<Boolean> updateCountRecordMain(@Valid @RequestBody CountRecordMainUpdateReqVO updateReqVO) { |
|||
countRecordMainService.updateCountRecordMain(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点记录主") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-main:delete')") |
|||
public CommonResult<Boolean> deleteCountRecordMain(@RequestParam("id") Long id) { |
|||
countRecordMainService.deleteCountRecordMain(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点记录主") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") |
|||
public CommonResult<CountRecordMainRespVO> getCountRecordMain(@RequestParam("id") Long id) { |
|||
CountRecordMainDO countRecordMain = countRecordMainService.getCountRecordMain(id); |
|||
return success(CountRecordMainConvert.INSTANCE.convert(countRecordMain)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点记录主列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") |
|||
public CommonResult<List<CountRecordMainRespVO>> getCountRecordMainList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(ids); |
|||
return success(CountRecordMainConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点记录主分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") |
|||
public CommonResult<PageResult<CountRecordMainRespVO>> getCountRecordMainPage(@Valid CountRecordMainPageReqVO pageVO) { |
|||
PageResult<CountRecordMainDO> pageResult = countRecordMainService.getCountRecordMainPage(pageVO); |
|||
return success(CountRecordMainConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点记录主 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-record-main:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountRecordMainExcel(@Valid CountRecordMainExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountRecordMainExcelVO> datas = CountRecordMainConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点记录主.xls", "数据", CountRecordMainExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,109 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点记录子 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountRecordDetailBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "盘点明细号", requiredMode = Schema.RequiredMode.REQUIRED) |
|||
@NotNull(message = "盘点明细号不能为空") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@Schema(description = "库区代码") |
|||
private String areaCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@Schema(description = "盘点时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime countTime; |
|||
|
|||
@Schema(description = "盘点人") |
|||
private String countUser; |
|||
|
|||
@Schema(description = "盘点描述") |
|||
private String countDescription; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creatorId; |
|||
|
|||
@Schema(description = "任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录子创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordDetailCreateReqVO extends CountRecordDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,108 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点记录子 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountRecordDetailExcelVO { |
|||
|
|||
@ExcelProperty("盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@ExcelProperty("货主代码") |
|||
private String ownerCode; |
|||
|
|||
@ExcelProperty("包装号") |
|||
private String packingNumber; |
|||
|
|||
@ExcelProperty("器具号") |
|||
private String containerNumber; |
|||
|
|||
@ExcelProperty("批次") |
|||
private String batch; |
|||
|
|||
@ExcelProperty("库位代码") |
|||
private String locationCode; |
|||
|
|||
@ExcelProperty("库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@ExcelProperty("库区代码") |
|||
private String areaCode; |
|||
|
|||
@ExcelProperty(value = "库存状态", converter = DictConvert.class) |
|||
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String inventoryStatus; |
|||
|
|||
@ExcelProperty("盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@ExcelProperty("盘点时间") |
|||
private LocalDateTime countTime; |
|||
|
|||
@ExcelProperty("盘点人") |
|||
private String countUser; |
|||
|
|||
@ExcelProperty("盘点描述") |
|||
private String countDescription; |
|||
|
|||
@ExcelProperty("物品名称") |
|||
private String itemName; |
|||
|
|||
@ExcelProperty("物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@ExcelProperty("物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@ExcelProperty("项目代码") |
|||
private String projectCode; |
|||
|
|||
@ExcelProperty("数量") |
|||
private BigDecimal qty; |
|||
|
|||
@ExcelProperty(value = "计量单位", converter = DictConvert.class) |
|||
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String uom; |
|||
|
|||
@ExcelProperty("代码") |
|||
private String code; |
|||
|
|||
@ExcelProperty(value = "接口类型", converter = DictConvert.class) |
|||
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String interfaceType; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("物品代码") |
|||
private String itemCode; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者Id") |
|||
private String creatorId; |
|||
|
|||
@ExcelProperty("任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,101 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录子 Excel 导出 Request VO,参数和 CountRecordDetailPageReqVO 是一致的") |
|||
@Data |
|||
public class CountRecordDetailExportReqVO { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@Schema(description = "库区代码") |
|||
private String areaCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@Schema(description = "盘点时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] countTime; |
|||
|
|||
@Schema(description = "盘点人") |
|||
private String countUser; |
|||
|
|||
@Schema(description = "盘点描述") |
|||
private String countDescription; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creatorId; |
|||
|
|||
@Schema(description = "任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,103 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录子分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordDetailPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库位组代码") |
|||
private String locationGroupCode; |
|||
|
|||
@Schema(description = "库区代码") |
|||
private String areaCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@Schema(description = "盘点时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] countTime; |
|||
|
|||
@Schema(description = "盘点人") |
|||
private String countUser; |
|||
|
|||
@Schema(description = "盘点描述") |
|||
private String countDescription; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creatorId; |
|||
|
|||
@Schema(description = "任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录子 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordDetailRespVO extends CountRecordDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录子更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordDetailUpdateReqVO extends CountRecordDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,91 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点记录主 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountRecordMainBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "任务单号") |
|||
private String jobNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "出库事务类型") |
|||
private String outTransactionType; |
|||
|
|||
@Schema(description = "入库事务类型") |
|||
private String inTransactionType; |
|||
|
|||
@Schema(description = "执行时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime executeTime; |
|||
|
|||
@Schema(description = "生效日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime activeDate; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime requestTime; |
|||
|
|||
@Schema(description = "截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime dueTime; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录主创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordMainCreateReqVO extends CountRecordMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,87 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点记录主 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountRecordMainExcelVO { |
|||
|
|||
@ExcelProperty("申请单号") |
|||
private String requestNumber; |
|||
|
|||
@ExcelProperty("任务单号") |
|||
private String jobNumber; |
|||
|
|||
@ExcelProperty("计划单号") |
|||
private String planNumber; |
|||
|
|||
@ExcelProperty(value = "阶段", converter = DictConvert.class) |
|||
@DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String stage; |
|||
|
|||
@ExcelProperty("仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@ExcelProperty("出库事务类型") |
|||
private String outTransactionType; |
|||
|
|||
@ExcelProperty("入库事务类型") |
|||
private String inTransactionType; |
|||
|
|||
@ExcelProperty("执行时间") |
|||
private LocalDateTime executeTime; |
|||
|
|||
@ExcelProperty("生效日期") |
|||
private LocalDateTime activeDate; |
|||
|
|||
@ExcelProperty("申请时间") |
|||
private LocalDateTime requestTime; |
|||
|
|||
@ExcelProperty("截止时间") |
|||
private LocalDateTime dueTime; |
|||
|
|||
@ExcelProperty("部门") |
|||
private String departmentCode; |
|||
|
|||
@ExcelProperty(value = "接口类型", converter = DictConvert.class) |
|||
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String interfaceType; |
|||
|
|||
@ExcelProperty("代码") |
|||
private String code; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("业务类型") |
|||
private String businessType; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者Id") |
|||
private String creator; |
|||
|
|||
@ExcelProperty("是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,81 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import lombok.*; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录主 Excel 导出 Request VO,参数和 CountRecordMainPageReqVO 是一致的") |
|||
@Data |
|||
public class CountRecordMainExportReqVO { |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "任务单号") |
|||
private String jobNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "出库事务类型") |
|||
private String outTransactionType; |
|||
|
|||
@Schema(description = "入库事务类型") |
|||
private String inTransactionType; |
|||
|
|||
@Schema(description = "执行时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] executeTime; |
|||
|
|||
@Schema(description = "生效日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] activeDate; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestTime; |
|||
|
|||
@Schema(description = "截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] dueTime; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,83 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import lombok.*; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录主分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordMainPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "任务单号") |
|||
private String jobNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "出库事务类型") |
|||
private String outTransactionType; |
|||
|
|||
@Schema(description = "入库事务类型") |
|||
private String inTransactionType; |
|||
|
|||
@Schema(description = "执行时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] executeTime; |
|||
|
|||
@Schema(description = "生效日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] activeDate; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestTime; |
|||
|
|||
@Schema(description = "截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] dueTime; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录主 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordMainRespVO extends CountRecordMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点记录主更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRecordMainUpdateReqVO extends CountRecordMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countRequest; |
|||
|
|||
import com.win.module.wms.controller.countRequest.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countRequest.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; |
|||
import com.win.module.wms.convert.countRequest.CountRequestDetailConvert; |
|||
import com.win.module.wms.service.countRequest.CountRequestDetailService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点申请子") |
|||
@RestController |
|||
@RequestMapping("/wms/count-request-detail") |
|||
@Validated |
|||
public class CountRequestDetailController { |
|||
|
|||
@Resource |
|||
private CountRequestDetailService countRequestDetailService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点申请子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:create')") |
|||
public CommonResult<Long> createCountRequestDetail(@Valid @RequestBody CountRequestDetailCreateReqVO createReqVO) { |
|||
return success(countRequestDetailService.createCountRequestDetail(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点申请子") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:update')") |
|||
public CommonResult<Boolean> updateCountRequestDetail(@Valid @RequestBody CountRequestDetailUpdateReqVO updateReqVO) { |
|||
countRequestDetailService.updateCountRequestDetail(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点申请子") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:delete')") |
|||
public CommonResult<Boolean> deleteCountRequestDetail(@RequestParam("id") Long id) { |
|||
countRequestDetailService.deleteCountRequestDetail(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点申请子") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:query')") |
|||
public CommonResult<CountRequestDetailRespVO> getCountRequestDetail(@RequestParam("id") Long id) { |
|||
CountRequestDetailDO countRequestDetail = countRequestDetailService.getCountRequestDetail(id); |
|||
return success(CountRequestDetailConvert.INSTANCE.convert(countRequestDetail)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点申请子列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:query')") |
|||
public CommonResult<List<CountRequestDetailRespVO>> getCountRequestDetailList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountRequestDetailDO> list = countRequestDetailService.getCountRequestDetailList(ids); |
|||
return success(CountRequestDetailConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点申请子分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:query')") |
|||
public CommonResult<PageResult<CountRequestDetailRespVO>> getCountRequestDetailPage(@Valid CountRequestDetailPageReqVO pageVO) { |
|||
PageResult<CountRequestDetailDO> pageResult = countRequestDetailService.getCountRequestDetailPage(pageVO); |
|||
return success(CountRequestDetailConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点申请子 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountRequestDetailExcel(@Valid CountRequestDetailExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountRequestDetailDO> list = countRequestDetailService.getCountRequestDetailList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountRequestDetailExcelVO> datas = CountRequestDetailConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点申请子.xls", "数据", CountRequestDetailExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countRequest; |
|||
|
|||
import com.win.module.wms.controller.countRequest.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countRequest.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; |
|||
import com.win.module.wms.convert.countRequest.CountRequestMainConvert; |
|||
import com.win.module.wms.service.countRequest.CountRequestMainService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点申请主") |
|||
@RestController |
|||
@RequestMapping("/wms/count-request-main") |
|||
@Validated |
|||
public class CountRequestMainController { |
|||
|
|||
@Resource |
|||
private CountRequestMainService countRequestMainService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点申请主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-main:create')") |
|||
public CommonResult<Long> createCountRequestMain(@Valid @RequestBody CountRequestMainCreateReqVO createReqVO) { |
|||
return success(countRequestMainService.createCountRequestMain(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点申请主") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-main:update')") |
|||
public CommonResult<Boolean> updateCountRequestMain(@Valid @RequestBody CountRequestMainUpdateReqVO updateReqVO) { |
|||
countRequestMainService.updateCountRequestMain(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点申请主") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-main:delete')") |
|||
public CommonResult<Boolean> deleteCountRequestMain(@RequestParam("id") Long id) { |
|||
countRequestMainService.deleteCountRequestMain(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点申请主") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") |
|||
public CommonResult<CountRequestMainRespVO> getCountRequestMain(@RequestParam("id") Long id) { |
|||
CountRequestMainDO countRequestMain = countRequestMainService.getCountRequestMain(id); |
|||
return success(CountRequestMainConvert.INSTANCE.convert(countRequestMain)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点申请主列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") |
|||
public CommonResult<List<CountRequestMainRespVO>> getCountRequestMainList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(ids); |
|||
return success(CountRequestMainConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点申请主分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") |
|||
public CommonResult<PageResult<CountRequestMainRespVO>> getCountRequestMainPage(@Valid CountRequestMainPageReqVO pageVO) { |
|||
PageResult<CountRequestMainDO> pageResult = countRequestMainService.getCountRequestMainPage(pageVO); |
|||
return success(CountRequestMainConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点申请主 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:count-request-main:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountRequestMainExcel(@Valid CountRequestMainExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountRequestMainExcelVO> datas = CountRequestMainConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点申请主.xls", "数据", CountRequestMainExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,92 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点申请子 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountRequestDetailBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "从包装号") |
|||
private String fromPackingNumber; |
|||
|
|||
@Schema(description = "到包装号") |
|||
private String toPackingNumber; |
|||
|
|||
@Schema(description = "从器具号") |
|||
private String fromContainerNumber; |
|||
|
|||
@Schema(description = "到器具号") |
|||
private String toContainerNumber; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请子创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestDetailCreateReqVO extends CountRequestDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,91 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点申请子 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountRequestDetailExcelVO { |
|||
|
|||
@ExcelProperty("盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@ExcelProperty("货主代码") |
|||
private String ownerCode; |
|||
|
|||
@ExcelProperty("批次") |
|||
private String batch; |
|||
|
|||
@ExcelProperty("库位代码") |
|||
private String locationCode; |
|||
|
|||
@ExcelProperty(value = "库存状态", converter = DictConvert.class) |
|||
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String inventoryStatus; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者用户名") |
|||
private String creator; |
|||
|
|||
@ExcelProperty("物品名称") |
|||
private String itemName; |
|||
|
|||
@ExcelProperty("物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@ExcelProperty("物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@ExcelProperty("项目代码") |
|||
private String projectCode; |
|||
|
|||
@ExcelProperty("数量") |
|||
private BigDecimal qty; |
|||
|
|||
@ExcelProperty(value = "计量单位", converter = DictConvert.class) |
|||
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String uom; |
|||
|
|||
@ExcelProperty("最后更新时间") |
|||
private LocalDateTime updateTime; |
|||
|
|||
@ExcelProperty("最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@ExcelProperty("物品代码") |
|||
private String itemCode; |
|||
|
|||
@ExcelProperty("从包装号") |
|||
private String fromPackingNumber; |
|||
|
|||
@ExcelProperty("到包装号") |
|||
private String toPackingNumber; |
|||
|
|||
@ExcelProperty("从器具号") |
|||
private String fromContainerNumber; |
|||
|
|||
@ExcelProperty("到器具号") |
|||
private String toContainerNumber; |
|||
|
|||
} |
@ -0,0 +1,86 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请子 Excel 导出 Request VO,参数和 CountRequestDetailPageReqVO 是一致的") |
|||
@Data |
|||
public class CountRequestDetailExportReqVO { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "从包装号") |
|||
private String fromPackingNumber; |
|||
|
|||
@Schema(description = "到包装号") |
|||
private String toPackingNumber; |
|||
|
|||
@Schema(description = "从器具号") |
|||
private String fromContainerNumber; |
|||
|
|||
@Schema(description = "到器具号") |
|||
private String toContainerNumber; |
|||
|
|||
} |
@ -0,0 +1,88 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请子分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestDetailPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "从包装号") |
|||
private String fromPackingNumber; |
|||
|
|||
@Schema(description = "到包装号") |
|||
private String toPackingNumber; |
|||
|
|||
@Schema(description = "从器具号") |
|||
private String fromContainerNumber; |
|||
|
|||
@Schema(description = "到器具号") |
|||
private String toContainerNumber; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请子 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestDetailRespVO extends CountRequestDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请子更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestDetailUpdateReqVO extends CountRequestDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,86 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点申请主 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountRequestMainBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime requestTime; |
|||
|
|||
@Schema(description = "截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime dueTime; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "自动提交") |
|||
private String autoCommit; |
|||
|
|||
@Schema(description = "自动通过") |
|||
private String autoAgree; |
|||
|
|||
@Schema(description = "自动执行") |
|||
private String autoExecute; |
|||
|
|||
@Schema(description = "直接生成记录") |
|||
private String directCreateRecord; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请主创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestMainCreateReqVO extends CountRequestMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,83 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点申请主 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountRequestMainExcelVO { |
|||
|
|||
@ExcelProperty("申请单号") |
|||
private String requestNumber; |
|||
|
|||
@ExcelProperty("计划单号") |
|||
private String planNumber; |
|||
|
|||
@ExcelProperty(value = "阶段", converter = DictConvert.class) |
|||
@DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String stage; |
|||
|
|||
@ExcelProperty("仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("业务类型") |
|||
private String businessType; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者用户名") |
|||
private String creator; |
|||
|
|||
@ExcelProperty("申请时间") |
|||
private LocalDateTime requestTime; |
|||
|
|||
@ExcelProperty("截止时间") |
|||
private LocalDateTime dueTime; |
|||
|
|||
@ExcelProperty("部门") |
|||
private String departmentCode; |
|||
|
|||
@ExcelProperty(value = "状态", converter = DictConvert.class) |
|||
@DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String status; |
|||
|
|||
@ExcelProperty("最后更新时间") |
|||
private LocalDateTime updateTime; |
|||
|
|||
@ExcelProperty("最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@ExcelProperty("自动提交") |
|||
private String autoCommit; |
|||
|
|||
@ExcelProperty("自动通过") |
|||
private String autoAgree; |
|||
|
|||
@ExcelProperty("自动执行") |
|||
private String autoExecute; |
|||
|
|||
@ExcelProperty("直接生成记录") |
|||
private String directCreateRecord; |
|||
|
|||
} |
@ -0,0 +1,77 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import lombok.*; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请主 Excel 导出 Request VO,参数和 CountRequestMainPageReqVO 是一致的") |
|||
@Data |
|||
public class CountRequestMainExportReqVO { |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestTime; |
|||
|
|||
@Schema(description = "截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] dueTime; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "自动提交") |
|||
private String autoCommit; |
|||
|
|||
@Schema(description = "自动通过") |
|||
private String autoAgree; |
|||
|
|||
@Schema(description = "自动执行") |
|||
private String autoExecute; |
|||
|
|||
@Schema(description = "直接生成记录") |
|||
private String directCreateRecord; |
|||
|
|||
} |
@ -0,0 +1,79 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import lombok.*; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请主分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestMainPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "计划单号") |
|||
private String planNumber; |
|||
|
|||
@Schema(description = "阶段") |
|||
private String stage; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者用户名") |
|||
private String creator; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] requestTime; |
|||
|
|||
@Schema(description = "截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] dueTime; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "状态") |
|||
private String status; |
|||
|
|||
@Schema(description = "最后更新时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] updateTime; |
|||
|
|||
@Schema(description = "最后更新者用户名") |
|||
private String updater; |
|||
|
|||
@Schema(description = "自动提交") |
|||
private String autoCommit; |
|||
|
|||
@Schema(description = "自动通过") |
|||
private String autoAgree; |
|||
|
|||
@Schema(description = "自动执行") |
|||
private String autoExecute; |
|||
|
|||
@Schema(description = "直接生成记录") |
|||
private String directCreateRecord; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请主 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestMainRespVO extends CountRequestMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countRequest.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点申请主更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountRequestMainUpdateReqVO extends CountRequestMainBaseVO { |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countadjustRecord; |
|||
|
|||
import com.win.module.wms.controller.countadjustRecord.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countadjustRecord.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countadjustRecord.CountadjustRecordDetailDO; |
|||
import com.win.module.wms.convert.countadjustRecord.CountadjustRecordDetailConvert; |
|||
import com.win.module.wms.service.countadjustRecord.CountadjustRecordDetailService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点调整记录子") |
|||
@RestController |
|||
@RequestMapping("/wms/countadjust-record-detail") |
|||
@Validated |
|||
public class CountadjustRecordDetailController { |
|||
|
|||
@Resource |
|||
private CountadjustRecordDetailService countadjustRecordDetailService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点调整记录子") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:create')") |
|||
public CommonResult<Long> createCountadjustRecordDetail(@Valid @RequestBody CountadjustRecordDetailCreateReqVO createReqVO) { |
|||
return success(countadjustRecordDetailService.createCountadjustRecordDetail(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点调整记录子") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:update')") |
|||
public CommonResult<Boolean> updateCountadjustRecordDetail(@Valid @RequestBody CountadjustRecordDetailUpdateReqVO updateReqVO) { |
|||
countadjustRecordDetailService.updateCountadjustRecordDetail(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点调整记录子") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:delete')") |
|||
public CommonResult<Boolean> deleteCountadjustRecordDetail(@RequestParam("id") Long id) { |
|||
countadjustRecordDetailService.deleteCountadjustRecordDetail(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点调整记录子") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:query')") |
|||
public CommonResult<CountadjustRecordDetailRespVO> getCountadjustRecordDetail(@RequestParam("id") Long id) { |
|||
CountadjustRecordDetailDO countadjustRecordDetail = countadjustRecordDetailService.getCountadjustRecordDetail(id); |
|||
return success(CountadjustRecordDetailConvert.INSTANCE.convert(countadjustRecordDetail)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点调整记录子列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:query')") |
|||
public CommonResult<List<CountadjustRecordDetailRespVO>> getCountadjustRecordDetailList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountadjustRecordDetailDO> list = countadjustRecordDetailService.getCountadjustRecordDetailList(ids); |
|||
return success(CountadjustRecordDetailConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点调整记录子分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:query')") |
|||
public CommonResult<PageResult<CountadjustRecordDetailRespVO>> getCountadjustRecordDetailPage(@Valid CountadjustRecordDetailPageReqVO pageVO) { |
|||
PageResult<CountadjustRecordDetailDO> pageResult = countadjustRecordDetailService.getCountadjustRecordDetailPage(pageVO); |
|||
return success(CountadjustRecordDetailConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点调整记录子 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountadjustRecordDetailExcel(@Valid CountadjustRecordDetailExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountadjustRecordDetailDO> list = countadjustRecordDetailService.getCountadjustRecordDetailList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountadjustRecordDetailExcelVO> datas = CountadjustRecordDetailConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点调整记录子.xls", "数据", CountadjustRecordDetailExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.win.module.wms.controller.countadjustRecord; |
|||
|
|||
import com.win.module.wms.controller.countadjustRecord.vo.*; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import javax.annotation.Resource; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
|
|||
import javax.validation.*; |
|||
import javax.servlet.http.*; |
|||
import java.util.*; |
|||
import java.io.IOException; |
|||
|
|||
import com.win.framework.common.pojo.PageResult; |
|||
import com.win.framework.common.pojo.CommonResult; |
|||
import static com.win.framework.common.pojo.CommonResult.success; |
|||
|
|||
import com.win.framework.excel.core.util.ExcelUtils; |
|||
|
|||
import com.win.framework.operatelog.core.annotations.OperateLog; |
|||
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; |
|||
|
|||
import com.win.module.wms.controller.countadjustRecord.vo.*; |
|||
import com.win.module.wms.dal.dataobject.countadjustRecord.CountadjustRecordMainDO; |
|||
import com.win.module.wms.convert.countadjustRecord.CountadjustRecordMainConvert; |
|||
import com.win.module.wms.service.countadjustRecord.CountadjustRecordMainService; |
|||
|
|||
@Tag(name = "管理后台 - 盘点调整记录主") |
|||
@RestController |
|||
@RequestMapping("/wms/countadjust-record-main") |
|||
@Validated |
|||
public class CountadjustRecordMainController { |
|||
|
|||
@Resource |
|||
private CountadjustRecordMainService countadjustRecordMainService; |
|||
|
|||
@PostMapping("/create") |
|||
@Operation(summary = "创建盘点调整记录主") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:create')") |
|||
public CommonResult<Long> createCountadjustRecordMain(@Valid @RequestBody CountadjustRecordMainCreateReqVO createReqVO) { |
|||
return success(countadjustRecordMainService.createCountadjustRecordMain(createReqVO)); |
|||
} |
|||
|
|||
@PutMapping("/update") |
|||
@Operation(summary = "更新盘点调整记录主") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:update')") |
|||
public CommonResult<Boolean> updateCountadjustRecordMain(@Valid @RequestBody CountadjustRecordMainUpdateReqVO updateReqVO) { |
|||
countadjustRecordMainService.updateCountadjustRecordMain(updateReqVO); |
|||
return success(true); |
|||
} |
|||
|
|||
@DeleteMapping("/delete") |
|||
@Operation(summary = "删除盘点调整记录主") |
|||
@Parameter(name = "id", description = "编号", required = true) |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:delete')") |
|||
public CommonResult<Boolean> deleteCountadjustRecordMain(@RequestParam("id") Long id) { |
|||
countadjustRecordMainService.deleteCountadjustRecordMain(id); |
|||
return success(true); |
|||
} |
|||
|
|||
@GetMapping("/get") |
|||
@Operation(summary = "获得盘点调整记录主") |
|||
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:query')") |
|||
public CommonResult<CountadjustRecordMainRespVO> getCountadjustRecordMain(@RequestParam("id") Long id) { |
|||
CountadjustRecordMainDO countadjustRecordMain = countadjustRecordMainService.getCountadjustRecordMain(id); |
|||
return success(CountadjustRecordMainConvert.INSTANCE.convert(countadjustRecordMain)); |
|||
} |
|||
|
|||
@GetMapping("/list") |
|||
@Operation(summary = "获得盘点调整记录主列表") |
|||
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:query')") |
|||
public CommonResult<List<CountadjustRecordMainRespVO>> getCountadjustRecordMainList(@RequestParam("ids") Collection<Long> ids) { |
|||
List<CountadjustRecordMainDO> list = countadjustRecordMainService.getCountadjustRecordMainList(ids); |
|||
return success(CountadjustRecordMainConvert.INSTANCE.convertList(list)); |
|||
} |
|||
|
|||
@GetMapping("/page") |
|||
@Operation(summary = "获得盘点调整记录主分页") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:query')") |
|||
public CommonResult<PageResult<CountadjustRecordMainRespVO>> getCountadjustRecordMainPage(@Valid CountadjustRecordMainPageReqVO pageVO) { |
|||
PageResult<CountadjustRecordMainDO> pageResult = countadjustRecordMainService.getCountadjustRecordMainPage(pageVO); |
|||
return success(CountadjustRecordMainConvert.INSTANCE.convertPage(pageResult)); |
|||
} |
|||
|
|||
@GetMapping("/export-excel") |
|||
@Operation(summary = "导出盘点调整记录主 Excel") |
|||
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:export')") |
|||
@OperateLog(type = EXPORT) |
|||
public void exportCountadjustRecordMainExcel(@Valid CountadjustRecordMainExportReqVO exportReqVO, |
|||
HttpServletResponse response) throws IOException { |
|||
List<CountadjustRecordMainDO> list = countadjustRecordMainService.getCountadjustRecordMainList(exportReqVO); |
|||
// 导出 Excel
|
|||
List<CountadjustRecordMainExcelVO> datas = CountadjustRecordMainConvert.INSTANCE.convertList02(list); |
|||
ExcelUtils.write(response, "盘点调整记录主.xls", "数据", CountadjustRecordMainExcelVO.class, datas); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,99 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点调整记录子 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountadjustRecordDetailBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "库存数量") |
|||
private BigDecimal inventoryQty; |
|||
|
|||
@Schema(description = "盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@Schema(description = "调整数量") |
|||
private BigDecimal adjustQty; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点调整记录子创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountadjustRecordDetailCreateReqVO extends CountadjustRecordDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,100 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.win.framework.excel.core.annotations.DictFormat; |
|||
import com.win.framework.excel.core.convert.DictConvert; |
|||
|
|||
|
|||
/** |
|||
* 盘点调整记录子 Excel VO |
|||
* |
|||
* @author 超级管理员 |
|||
*/ |
|||
@Data |
|||
public class CountadjustRecordDetailExcelVO { |
|||
|
|||
@ExcelProperty("盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@ExcelProperty("货主代码") |
|||
private String ownerCode; |
|||
|
|||
@ExcelProperty("包装号") |
|||
private String packingNumber; |
|||
|
|||
@ExcelProperty("器具号") |
|||
private String containerNumber; |
|||
|
|||
@ExcelProperty("批次") |
|||
private String batch; |
|||
|
|||
@ExcelProperty("库位代码") |
|||
private String locationCode; |
|||
|
|||
@ExcelProperty(value = "库存状态", converter = DictConvert.class) |
|||
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String inventoryStatus; |
|||
|
|||
@ExcelProperty("库存数量") |
|||
private BigDecimal inventoryQty; |
|||
|
|||
@ExcelProperty("盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@ExcelProperty("调整数量") |
|||
private BigDecimal adjustQty; |
|||
|
|||
@ExcelProperty("物品名称") |
|||
private String itemName; |
|||
|
|||
@ExcelProperty("物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@ExcelProperty("物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@ExcelProperty("项目代码") |
|||
private String projectCode; |
|||
|
|||
@ExcelProperty("数量") |
|||
private BigDecimal qty; |
|||
|
|||
@ExcelProperty(value = "计量单位", converter = DictConvert.class) |
|||
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String uom; |
|||
|
|||
@ExcelProperty("代码") |
|||
private String code; |
|||
|
|||
@ExcelProperty(value = "接口类型", converter = DictConvert.class) |
|||
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
|||
private String interfaceType; |
|||
|
|||
@ExcelProperty("单据号") |
|||
private String number; |
|||
|
|||
@ExcelProperty("物品代码") |
|||
private String itemCode; |
|||
|
|||
@ExcelProperty("备注") |
|||
private String remark; |
|||
|
|||
@ExcelProperty("创建时间") |
|||
private LocalDateTime createTime; |
|||
|
|||
@ExcelProperty("创建者Id") |
|||
private String creator; |
|||
|
|||
@ExcelProperty("任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,91 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import java.time.LocalDateTime; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点调整记录子 Excel 导出 Request VO,参数和 CountadjustRecordDetailPageReqVO 是一致的") |
|||
@Data |
|||
public class CountadjustRecordDetailExportReqVO { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "库存数量") |
|||
private BigDecimal inventoryQty; |
|||
|
|||
@Schema(description = "盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@Schema(description = "调整数量") |
|||
private BigDecimal adjustQty; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,93 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import com.win.framework.common.pojo.PageParam; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
@Schema(description = "管理后台 - 盘点调整记录子分页 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountadjustRecordDetailPageReqVO extends PageParam { |
|||
|
|||
@Schema(description = "盘点明细号") |
|||
private String countDetailNumber; |
|||
|
|||
@Schema(description = "货主代码") |
|||
private String ownerCode; |
|||
|
|||
@Schema(description = "包装号") |
|||
private String packingNumber; |
|||
|
|||
@Schema(description = "器具号") |
|||
private String containerNumber; |
|||
|
|||
@Schema(description = "批次") |
|||
private String batch; |
|||
|
|||
@Schema(description = "库位代码") |
|||
private String locationCode; |
|||
|
|||
@Schema(description = "库存状态") |
|||
private String inventoryStatus; |
|||
|
|||
@Schema(description = "库存数量") |
|||
private BigDecimal inventoryQty; |
|||
|
|||
@Schema(description = "盘点数量") |
|||
private BigDecimal countQty; |
|||
|
|||
@Schema(description = "调整数量") |
|||
private BigDecimal adjustQty; |
|||
|
|||
@Schema(description = "物品名称") |
|||
private String itemName; |
|||
|
|||
@Schema(description = "物品描述1") |
|||
private String itemDesc1; |
|||
|
|||
@Schema(description = "物品描述2") |
|||
private String itemDesc2; |
|||
|
|||
@Schema(description = "项目代码") |
|||
private String projectCode; |
|||
|
|||
@Schema(description = "数量") |
|||
private BigDecimal qty; |
|||
|
|||
@Schema(description = "计量单位") |
|||
private String uom; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "物品代码") |
|||
private String itemCode; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime[] createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "任务明细ID") |
|||
private String jobDetailId; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点调整记录子 Response VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountadjustRecordDetailRespVO extends CountadjustRecordDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
|
|||
@Schema(description = "管理后台 - 盘点调整记录子更新 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountadjustRecordDetailUpdateReqVO extends CountadjustRecordDetailBaseVO { |
|||
|
|||
} |
@ -0,0 +1,85 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.*; |
|||
import java.util.*; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import java.time.LocalDateTime; |
|||
import javax.validation.constraints.*; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
|||
|
|||
/** |
|||
* 盘点调整记录主 Base VO,提供给添加、修改、详细的子 VO 使用 |
|||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
|||
*/ |
|||
@Data |
|||
public class CountadjustRecordMainBaseVO { |
|||
|
|||
@Schema(description = "id", example = "id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "申请单号") |
|||
private String requestNumber; |
|||
|
|||
@Schema(description = "盘点记录单号") |
|||
private String countRecordNumber; |
|||
|
|||
@Schema(description = "仓库代码") |
|||
private String warehouseCode; |
|||
|
|||
@Schema(description = "出库事务类型") |
|||
private String outTransactionType; |
|||
|
|||
@Schema(description = "入库事务类型") |
|||
private String inTransactionType; |
|||
|
|||
@Schema(description = "执行时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime executeTime; |
|||
|
|||
@Schema(description = "生效日期") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime activeDate; |
|||
|
|||
@Schema(description = "申请时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime requestTime; |
|||
|
|||
@Schema(description = "截止时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime dueTime; |
|||
|
|||
@Schema(description = "部门") |
|||
private String departmentCode; |
|||
|
|||
@Schema(description = "接口类型") |
|||
private String interfaceType; |
|||
|
|||
@Schema(description = "代码") |
|||
private String code; |
|||
|
|||
@Schema(description = "单据号") |
|||
private String number; |
|||
|
|||
@Schema(description = "业务类型") |
|||
private String businessType; |
|||
|
|||
@Schema(description = "备注") |
|||
private String remark; |
|||
|
|||
@Schema(description = "创建时间") |
|||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
|||
private LocalDateTime createTime; |
|||
|
|||
@Schema(description = "创建者Id") |
|||
private String creator; |
|||
|
|||
@Schema(description = "是否可用") |
|||
private String available; |
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.win.module.wms.controller.countadjustRecord.vo; |
|||
|
|||
import lombok.*; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
|
|||
@Schema(description = "管理后台 - 盘点调整记录主创建 Request VO") |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@ToString(callSuper = true) |
|||
public class CountadjustRecordMainCreateReqVO extends CountadjustRecordMainBaseVO { |
|||
|
|||
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue