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