diff --git a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java index 70198a87..0f8a4259 100644 --- a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java +++ b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java @@ -68,6 +68,10 @@ public enum OperateTypeEnum { * 终止 * */ TERMINATE(13), + /* + * 发货 + * */ + DELIVER(14), /** * 其它 * diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java index 9bb966ae..dff0dbb2 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java @@ -11,7 +11,9 @@ import lombok.Getter; public enum BusinesTypeEnum { PROJECT_ORDER("销售订单"), - PROJECT_ORDER_SNAPSHOT("销售订单快照"); + PROJECT_ORDER_SNAPSHOT("销售订单快照"), + DELIVER_ORDER("发货订单"), + ; private String description; diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinessFileTypeEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinessFileTypeEnum.java index f210c61b..afb5f29f 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinessFileTypeEnum.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinessFileTypeEnum.java @@ -11,7 +11,8 @@ import lombok.Getter; public enum BusinessFileTypeEnum { CONTRACT("合同"), - TECHNOLOGY_PROTOCOL("技术协议"); + TECHNOLOGY_PROTOCOL("技术协议"), + ID_CARD("身份证照片"); private String description; diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java index 83269644..ffb1b6fb 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java @@ -40,6 +40,7 @@ public enum CodeEnum { WAREHOUSE("仓库", "Wa", 4), STOCK_IN("入库单", "WI", 4, "yyyyMMdd"), STOCK_OUT("出库单", "WO", 4, "yyyyMMdd"), + STOCK_CHECK("盘点单据", "WC", 4, "yyyyMMdd"), PROJECT_ORDER("业务订单", 3, "yyyyMM"), PROJECT_DELIVERY_ORDER("发货单", "HL", 3, "yyyyMM"), ; diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/DeliverOrderStatusEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/DeliverOrderStatusEnum.java new file mode 100644 index 00000000..820fed16 --- /dev/null +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/DeliverOrderStatusEnum.java @@ -0,0 +1,23 @@ +package com.chanko.yunxi.mes.module.heli.enums; + +import lombok.Getter; + +/** + * 发货单状态枚举 + * @author chenxi + * @date 2024-01-26 12:38 + */ +@Getter +public enum DeliverOrderStatusEnum { + + SAVE(1, "已保存"), + DELIVER(2, "已发货"); + + private int code; + private String description; + + DeliverOrderStatusEnum(int code, String description) { + this.code = code; + this.description = description; + } +} diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java index 2736cbd0..93254126 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java @@ -15,6 +15,7 @@ import com.chanko.yunxi.mes.framework.common.exception.ErrorCode; * 002 组织架构 * 003 库存管理 * 004 订单管理 + * 005 发货管理 * 第三段,3 位,错误码 */ public interface ErrorCodeConstants { @@ -43,8 +44,13 @@ public interface ErrorCodeConstants { ErrorCode STORAGE_NOT_EXISTS = new ErrorCode(1_003_004,"库存不存在"); ErrorCode STORAGE_MAT_NOT_EXISTS = new ErrorCode(1_003_005, "物料不存在"); ErrorCode STORAGE_LOG_NOT_EXISTS = new ErrorCode(1_003_006, "库存日志不存在"); + ErrorCode STORAGE_CHECK_NOT_EXISTS = new ErrorCode(1_003_007, "库存盘点不存在"); + ErrorCode STORAGE_CHECK_MAT_NOT_EXISTS = new ErrorCode(1_003_008, "盘点物料不存在"); /************订单管理***********/ ErrorCode PROJECT_ORDER_NOT_EXISTS = new ErrorCode(1_004_001, "项目订单不存在"); + /************发货管理***********/ + ErrorCode DELIVER_ORDER_NOT_EXISTS = new ErrorCode(1_005_001, "发货订单不存在"); + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java new file mode 100644 index 00000000..f25df945 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java @@ -0,0 +1,138 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder; + +import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; +import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService; +import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; +import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; +import org.springframework.transaction.annotation.Transactional; +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.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.time.LocalDateTime; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO; +import com.chanko.yunxi.mes.module.heli.service.deliverorder.DeliverOrderService; + +@Tag(name = "管理后台 - 发货订单") +@RestController +@RequestMapping("/heli/deliver-order") +@Validated +public class DeliverOrderController { + + @Resource + private DeliverOrderService deliverOrderService; + + @Resource + private OperateLogFrameworkService operateLogFrameworkService; + + @Resource + private HttpServletRequest request; + + @PostMapping("/create") + @Operation(summary = "创建发货订单") + @PreAuthorize("@ss.hasPermission('heli:deliver-order:create')") + public CommonResult createDeliverOrder(@Valid @RequestBody DeliverOrderSaveReqVO createReqVO) { + return success(deliverOrderService.createDeliverOrder(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新发货订单") + @PreAuthorize("@ss.hasPermission('heli:deliver-order:update')") + public CommonResult updateDeliverOrder(@Valid @RequestBody DeliverOrderSaveReqVO updateReqVO) { + deliverOrderService.updateDeliverOrder(updateReqVO); + return success(true); + } + + @PostMapping("/operate") + @Operation(summary = "操作项目订单") + @PreAuthorize("@ss.hasPermission('heli:delivery-order:update')") + @OperateLog(enable = false) + @Transactional(rollbackFor = Exception.class) + public CommonResult operateProjectOrder(@Valid @RequestBody DeliverOrderSaveReqVO operateReqVO) { + LocalDateTime startTime = LocalDateTime.now(); + deliverOrderService.operateProjectOrder(operateReqVO); + + // 手动记录日志 + operateLogFrameworkService.createOperateLog(request, + startTime, + BusinesTypeEnum.DELIVER_ORDER.name(), + operateReqVO.getId(), + OperateTypeEnum.valueOf(operateReqVO.getActive()).getType(), + operateReqVO.getActiveOpinion()); + + return success(operateReqVO.getId()); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除发货订单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:deliver-order:delete')") + public CommonResult deleteDeliverOrder(@RequestParam("id") Long id) { + deliverOrderService.deleteDeliverOrder(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得发货订单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:deliver-order:query')") + public CommonResult getDeliverOrder(@RequestParam("id") Long id) { + DeliverOrderDO deliverOrder = deliverOrderService.getDeliverOrder(id); + return success(BeanUtils.toBean(deliverOrder, DeliverOrderRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得发货订单分页") + @PreAuthorize("@ss.hasPermission('heli:deliver-order:query')") + public CommonResult> getDeliverOrderPage(@Valid DeliverOrderPageReqVO pageReqVO) { + PageResult pageResult = deliverOrderService.getDeliverOrderPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DeliverOrderRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出发货订单 Excel") + @PreAuthorize("@ss.hasPermission('heli:deliver-order:export')") + @OperateLog(type = EXPORT) + public void exportDeliverOrderExcel(@Valid DeliverOrderPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = deliverOrderService.getDeliverOrderPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "发货订单.xls", "数据", DeliverOrderRespVO.class, + BeanUtils.toBean(list, DeliverOrderRespVO.class)); + } + + // ==================== 子表(发货订单子项) ==================== + + @GetMapping("/deliver-order-sub/list-by-delivery-order-id") + @Operation(summary = "获得发货订单子项列表") + @Parameter(name = "deliveryOrderId", description = "订单id") + @PreAuthorize("@ss.hasPermission('heli:deliver-order:query')") + public CommonResult> getDeliverOrderSubListByDeliveryOrderId(@RequestParam("deliveryOrderId") Long deliveryOrderId) { + return success(deliverOrderService.getDeliverOrderSubListByDeliveryOrderId(deliveryOrderId)); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderPageReqVO.java new file mode 100644 index 00000000..65a1c2ca --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderPageReqVO.java @@ -0,0 +1,86 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.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 DeliverOrderPageReqVO extends PageParam { + + @Schema(description = "编号,唯一") + private String code; + + @Schema(description = "销售订单id列表 多个用英文逗号分割") + private String saleOrderIds; + + @Schema(description = "项目销售订单编号") + private String saleOrderCode; + + @Schema(description = "客户id", example = "22885") + private Long customerId; + + @Schema(description = "客户名称") + private String customerName; + + @Schema(description = "发货日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] deliverDate; + + @Schema(description = "发货单状态 已保存/已发货", example = "1") + private Integer deliverStatus; + + @Schema(description = "发货人") + private Long deliverPerson; + + @Schema(description = "发货人电话") + private String deliverPersonMobile; + + @Schema(description = "发货方式") + private String deliverMode; + + @Schema(description = "收货人电话") + private String receivePersonMobile; + + @Schema(description = "司机姓名", example = "王五") + private String transportDriverName; + + @Schema(description = "司机电话") + private String transportDriverMobile; + + @Schema(description = "车牌号") + private String transportBusNumber; + + @Schema(description = "重量(T)") + private String transportWeight; + + @Schema(description = "位置(米)") + private String transportSize; + + @Schema(description = "备注", example = "随便") + private String remark; + + @Schema(description = "状态,1表示正常,2表示禁用", example = "1") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "收货人姓名", example = "张三") + private String receivePersonName; + + @Schema(description = "收货详细地址") + private String receiveAddress; + + @Schema(description = "模具名称") + private String mouldName; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderRespVO.java new file mode 100644 index 00000000..e38c4f23 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderRespVO.java @@ -0,0 +1,121 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; +import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; +import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; + +@Schema(description = "管理后台 - 发货订单 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DeliverOrderRespVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "21429") + @ExcelProperty("自增字段,唯一") + private Long id; + + @Schema(description = "编号,唯一", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("编号,唯一") + private String code; + + @Schema(description = "销售订单id列表 多个用英文逗号分割", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("销售订单id列表 多个用英文逗号分割") + private String saleOrderIds; + + @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22885") + @ExcelProperty("客户id") + private Long customerId; + + @Schema(description = "发货日期", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("发货日期") + private LocalDateTime deliverDate; + + @Schema(description = "发货单状态 已保存/已发货", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty(value = "发货单状态 已保存/已发货", converter = DictConvert.class) + @DictFormat("heli_deliver_order_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer deliverStatus; + + @Schema(description = "发货人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("发货人") + private Long deliverPerson; + + @Schema(description = "发货人电话", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("发货人电话") + private String deliverPersonMobile; + + @Schema(description = "发货方式", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty(value = "发货方式", converter = DictConvert.class) + @DictFormat("heli_deliver_mode") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private String deliverMode; + + @Schema(description = "收货人电话", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("收货人电话") + private String receivePersonMobile; + + @Schema(description = "司机姓名", example = "王五") + @ExcelProperty("司机姓名") + private String transportDriverName; + + @Schema(description = "司机电话") + @ExcelProperty("司机电话") + private String transportDriverMobile; + + @Schema(description = "车牌号") + @ExcelProperty("车牌号") + private String transportBusNumber; + + @Schema(description = "重量(T)") + @ExcelProperty("重量(T)") + private String transportWeight; + + @Schema(description = "位置(米)") + @ExcelProperty("位置(米)") + private String transportSize; + + @Schema(description = "备注", example = "随便") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "状态,1表示正常,2表示禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("状态,1表示正常,2表示禁用") + private Integer status; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "收货人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("收货人姓名") + private String receivePersonName; + + @Schema(description = "收货详细地址") + @ExcelProperty("收货详细地址") + private String receiveAddress; + + @Schema(description = "项目销售单号") + @ExcelProperty("项目销售单号") + private String saleOrderCode; + + @Schema(description = "合同号") + @ExcelProperty("合同号") + private String contractNo; + + @Schema(description = "模具名称") + @ExcelProperty("模具名称") + private String mouldName; + + @Schema(description = "性质") + @ExcelProperty("性质") + private String property; + + @Schema(description = "客户名称") + @ExcelProperty("客户名称") + private String customerName; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderSaveReqVO.java new file mode 100644 index 00000000..6db72db3 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderSaveReqVO.java @@ -0,0 +1,91 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO; + +@Schema(description = "管理后台 - 发货订单新增/修改 Request VO") +@Data +public class DeliverOrderSaveReqVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "21429") + private Long id; + + @Schema(description = "编号,唯一", requiredMode = Schema.RequiredMode.REQUIRED) + private String code; + + @Schema(description = "销售订单id列表 多个用英文逗号分割", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "销售订单id列表 多个用英文逗号分割不能为空") + private String saleOrderIds; + + @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22885") + @NotNull(message = "客户id不能为空") + private Long customerId; + + @Schema(description = "发货日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "发货日期不能为空") + private LocalDateTime deliverDate; + + @Schema(description = "发货单状态 已保存/已发货", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "发货单状态 已保存/已发货不能为空") + private Integer deliverStatus; + + @Schema(description = "发货人", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "发货人不能为空") + private Long deliverPerson; + + @Schema(description = "发货人电话", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "发货人电话不能为空") + private String deliverPersonMobile; + + @Schema(description = "发货方式", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "发货方式不能为空") + private String deliverMode; + + @Schema(description = "收货人电话", requiredMode = Schema.RequiredMode.REQUIRED) + private String receivePersonMobile; + + @Schema(description = "司机姓名", example = "王五") + private String transportDriverName; + + @Schema(description = "司机电话") + private String transportDriverMobile; + + @Schema(description = "车牌号") + private String transportBusNumber; + + @Schema(description = "重量(T)") + private String transportWeight; + + @Schema(description = "位置(米)") + private String transportSize; + + @Schema(description = "备注", example = "随便") + private String remark; + + @Schema(description = "状态,1表示正常,2表示禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态,1表示正常,2表示禁用不能为空") + private Integer status; + + @Schema(description = "收货人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + private String receivePersonName; + + @Schema(description = "收货详细地址", requiredMode = Schema.RequiredMode.REQUIRED) + private String receiveAddress; + + @Schema(description = "操作类型") + @NotBlank(message = "操作类型不能为空") + private String active; + + @Schema(description = "操作意见") + private String activeOpinion; + + @Schema(description = "发货订单子项列表") + private List deliverOrderSubs; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pn/PnController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pn/PnController.java index 1992bad7..8efc8f2f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pn/PnController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pn/PnController.java @@ -1,95 +1,102 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.pn; - -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.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; -import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; - -import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; - -import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; -import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; -import com.chanko.yunxi.mes.module.heli.service.pn.PnService; - -@Tag(name = "管理后台 - 库位") -@RestController -@RequestMapping("/heli/pn") -@Validated -public class PnController { - - @Resource - private PnService pnService; - - @PostMapping("/create") - @Operation(summary = "创建库位") - @PreAuthorize("@ss.hasPermission('heli:pn:create')") - public CommonResult createPn(@Valid @RequestBody PnSaveReqVO createReqVO) { - return success(pnService.createPn(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新库位") - @PreAuthorize("@ss.hasPermission('heli:pn:update')") - public CommonResult updatePn(@Valid @RequestBody PnSaveReqVO updateReqVO) { - pnService.updatePn(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除库位") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('heli:pn:delete')") - public CommonResult deletePn(@RequestParam("id") Long id) { - pnService.deletePn(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得库位") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('heli:pn:query')") - public CommonResult getPn(@RequestParam("id") Long id) { - PnDO pn = pnService.getPn(id); - return success(BeanUtils.toBean(pn, PnRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得库位分页") - @PreAuthorize("@ss.hasPermission('heli:pn:query')") - public CommonResult> getPnPage(@Valid PnPageReqVO pageReqVO) { - PageResult pageResult = pnService.getPnPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, PnRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出库位 Excel") - @PreAuthorize("@ss.hasPermission('heli:pn:export')") - @OperateLog(type = EXPORT) - public void exportPnExcel(@Valid PnPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = pnService.getPnPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "库位.xls", "数据", PnRespVO.class, - BeanUtils.toBean(list, PnRespVO.class)); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.pn; + +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +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.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.module.heli.service.pn.PnService; + +@Tag(name = "管理后台 - 库位") +@RestController +@RequestMapping("/heli/pn") +@Validated +public class PnController { + + @Resource + private PnService pnService; + + @PostMapping("/create") + @Operation(summary = "创建库位") + @PreAuthorize("@ss.hasPermission('heli:pn:create')") + public CommonResult createPn(@Valid @RequestBody PnSaveReqVO createReqVO) { + return success(pnService.createPn(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新库位") + @PreAuthorize("@ss.hasPermission('heli:pn:update')") + public CommonResult updatePn(@Valid @RequestBody PnSaveReqVO updateReqVO) { + pnService.updatePn(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除库位") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:pn:delete')") + public CommonResult deletePn(@RequestParam("id") Long id) { + pnService.deletePn(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得库位") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:pn:query')") + public CommonResult getPn(@RequestParam("id") Long id) { + PnDO pn = pnService.getPn(id); + return success(BeanUtils.toBean(pn, PnRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得库位分页") + @PreAuthorize("@ss.hasPermission('heli:pn:query')") + public CommonResult> getPnPage(@Valid PnPageReqVO pageReqVO) { + PageResult pageResult = pnService.getPnPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PnRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出库位 Excel") + @PreAuthorize("@ss.hasPermission('heli:pn:export')") + @OperateLog(type = EXPORT) + public void exportPnExcel(@Valid PnPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = pnService.getPnPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "库位.xls", "数据", PnRespVO.class, + BeanUtils.toBean(list, PnRespVO.class)); + } + @GetMapping({"/all-simples"}) + @Operation(summary = "TODO:获取仓库精简信息列表", description = "只包含被开启的仓库,主要用于前端的下拉选项") + public CommonResult> > getSimpleList() { + List> list = pnService.getSimpleList(); + // 拼接数据 + return success(list); + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java index 0b502e34..9af1fd17 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java @@ -12,7 +12,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.Project import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService; import io.swagger.v3.oas.annotations.Operation; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java index bfadefcf..070f7dc0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java @@ -28,6 +28,9 @@ public class ProjectOrderPageReqVO extends PageParam { @Schema(description = "发货状态 未发货/部分发货/全部发货", example = "1") private Integer deliveryStatus; + @Schema(description = "发货状态列表") + private List deliveryStatusList; + @Schema(description = "提出部门id", example = "9959") private Long businessDeptId; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java index 3431f4bf..8efea052 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java @@ -1,6 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/rg/RgController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/rg/RgController.java index 7d3a93ff..1f5aaf2f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/rg/RgController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/rg/RgController.java @@ -1,95 +1,103 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.rg; - -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.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; -import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; - -import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; - -import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; -import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; -import com.chanko.yunxi.mes.module.heli.service.rg.RgService; - -@Tag(name = "管理后台 - 库区") -@RestController -@RequestMapping("/heli/rg") -@Validated -public class RgController { - - @Resource - private RgService rgService; - - @PostMapping("/create") - @Operation(summary = "创建库区") - @PreAuthorize("@ss.hasPermission('heli:rg:create')") - public CommonResult createRg(@Valid @RequestBody RgSaveReqVO createReqVO) { - return success(rgService.createRg(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新库区") - @PreAuthorize("@ss.hasPermission('heli:rg:update')") - public CommonResult updateRg(@Valid @RequestBody RgSaveReqVO updateReqVO) { - rgService.updateRg(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除库区") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('heli:rg:delete')") - public CommonResult deleteRg(@RequestParam("id") Long id) { - rgService.deleteRg(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得库区") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('heli:rg:query')") - public CommonResult getRg(@RequestParam("id") Long id) { - RgDO rg = rgService.getRg(id); - return success(BeanUtils.toBean(rg, RgRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得库区分页") - @PreAuthorize("@ss.hasPermission('heli:rg:query')") - public CommonResult> getRgPage(@Valid RgPageReqVO pageReqVO) { - PageResult pageResult = rgService.getRgPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, RgRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出库区 Excel") - @PreAuthorize("@ss.hasPermission('heli:rg:export')") - @OperateLog(type = EXPORT) - public void exportRgExcel(@Valid RgPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = rgService.getRgPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "库区.xls", "数据", RgRespVO.class, - BeanUtils.toBean(list, RgRespVO.class)); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.rg; + +import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; +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.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +import com.chanko.yunxi.mes.module.heli.service.rg.RgService; + +@Tag(name = "管理后台 - 库区") +@RestController +@RequestMapping("/heli/rg") +@Validated +public class RgController { + + @Resource + private RgService rgService; + + @PostMapping("/create") + @Operation(summary = "创建库区") + @PreAuthorize("@ss.hasPermission('heli:rg:create')") + public CommonResult createRg(@Valid @RequestBody RgSaveReqVO createReqVO) { + return success(rgService.createRg(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新库区") + @PreAuthorize("@ss.hasPermission('heli:rg:update')") + public CommonResult updateRg(@Valid @RequestBody RgSaveReqVO updateReqVO) { + rgService.updateRg(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除库区") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:rg:delete')") + public CommonResult deleteRg(@RequestParam("id") Long id) { + rgService.deleteRg(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得库区") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:rg:query')") + public CommonResult getRg(@RequestParam("id") Long id) { + RgDO rg = rgService.getRg(id); + return success(BeanUtils.toBean(rg, RgRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得库区分页") + @PreAuthorize("@ss.hasPermission('heli:rg:query')") + public CommonResult> getRgPage(@Valid RgPageReqVO pageReqVO) { + PageResult pageResult = rgService.getRgPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RgRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出库区 Excel") + @PreAuthorize("@ss.hasPermission('heli:rg:export')") + @OperateLog(type = EXPORT) + public void exportRgExcel(@Valid RgPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = rgService.getRgPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "库区.xls", "数据", RgRespVO.class, + BeanUtils.toBean(list, RgRespVO.class)); + } + + @GetMapping({"/all-simples"}) + @Operation(summary = "TODO:获取仓库精简信息列表", description = "只包含被开启的仓库,主要用于前端的下拉选项") + public CommonResult> > getSimpleList() { + List> list = rgService.getSimpleList(); + // 拼接数据 + return success(list); + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java index 1eeed880..db67486a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java @@ -1,5 +1,9 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storage; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; +import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; +import com.chanko.yunxi.mes.module.heli.service.storagemat.StorageMatService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -39,6 +43,12 @@ public class StorageController { @Resource private StorageService storageService; + @Resource + private StorageMatService storageMatService; + + @Resource + private StorageLogService storageLogService; + @PostMapping("/create") @Operation(summary = "创建入/出库") @PreAuthorize("@ss.hasPermission('heli:storage:create')") @@ -57,9 +67,12 @@ public class StorageController { @Operation(summary = "更新入/出库") @PreAuthorize("@ss.hasPermission('heli:storage:update')") public CommonResult updateStorageStatus(@Valid @RequestBody StorageSaveReqVO updateReqVO) { + + // 获取最新的出入库信息 StorageDO targetDo = storageService.getStorage(updateReqVO.getId()); targetDo.setStatus(updateReqVO.getStatus()); + // 提交或者作废时记录相关操作人 LocalDateTime currTime = LocalDateTime.now(); if(updateReqVO.getStatus().equals(2) && updateReqVO.getStockType().equals(1)){ targetDo.setKeeper(updateReqVO.getKeeper()); @@ -74,6 +87,18 @@ public class StorageController { updateReqVO = BeanUtils.toBean(targetDo, StorageSaveReqVO.class); storageService.updateStorage(updateReqVO); + + // 获取当前库存下所有物料信息 + List matList = storageMatService.getStorageMatListByStockId(targetDo.getId()); + // 将物料信息转化日志信息 + List logList = BeanUtils.toBean(matList,StorageLogDO.class); + // 同步库存单状态到日志,便于以后统计 + for (StorageLogDO log : logList){ + log.setStatus(targetDo.getStatus()); + } + // 批量保存当前库存物料日志信息 + storageLogService.createStorageLogBatch(logList); + return success(true); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/StorageCheckController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/StorageCheckController.java new file mode 100644 index 00000000..df09b770 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/StorageCheckController.java @@ -0,0 +1,128 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck; + +import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.StorageSaveReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; +import com.chanko.yunxi.mes.module.heli.service.storagecheckmat.StorageCheckMatService; +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.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.time.LocalDateTime; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO; +import com.chanko.yunxi.mes.module.heli.service.storagecheck.StorageCheckService; + +@Tag(name = "管理后台 - 入/出库盘点") +@RestController +@RequestMapping("/heli/storage-check") +@Validated +public class StorageCheckController { + + @Resource + private StorageCheckService storageCheckService; + + @Resource + private StorageCheckMatService storageCheckMatService; + + @PostMapping("/create") + @Operation(summary = "创建入/出库盘点") + @PreAuthorize("@ss.hasPermission('heli:storage-check:create')") + public CommonResult createStorageCheck(@Valid @RequestBody StorageCheckSaveReqVO createReqVO) { + return success(storageCheckService.createStorageCheck(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新入/出库盘点") + @PreAuthorize("@ss.hasPermission('heli:storage-check:update')") + public CommonResult updateStorageCheck(@Valid @RequestBody StorageCheckSaveReqVO updateReqVO) { + storageCheckService.updateStorageCheck(updateReqVO); + return success(true); + } + + @PutMapping("/update-status") + @Operation(summary = "更新盘点状态") + @PreAuthorize("@ss.hasPermission('heli:storage:update')") + public CommonResult updateStorageCheckStatus(@Valid @RequestBody StorageCheckSaveReqVO updateReqVO) { + + // 提交或者删除时记录相关操作人 + LocalDateTime currTime = LocalDateTime.now(); + if(updateReqVO.getStatus().equals(2)){ + // 已提交时间更新 + updateReqVO.setKeeperTime(currTime); + } else if(updateReqVO.getStatus().equals(3)){ + // 已删除时间更新 + updateReqVO.setCancelTime(currTime); + } + // 盘点信息保存 + storageCheckService.updateStorageCheck(updateReqVO); + + // TODO保存物料列表信息 + + // TODO生成入库/出库单据 + + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除入/出库盘点") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:storage-check:delete')") + public CommonResult deleteStorageCheck(@RequestParam("id") Long id) { + storageCheckService.deleteStorageCheck(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得入/出库盘点") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:storage-check:query')") + public CommonResult getStorageCheck(@RequestParam("id") Long id) { + StorageCheckDO storageCheck = storageCheckService.getStorageCheck(id); + return success(BeanUtils.toBean(storageCheck, StorageCheckRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得入/出库盘点分页") + @PreAuthorize("@ss.hasPermission('heli:storage-check:query')") + public CommonResult> getStorageCheckPage(@Valid StorageCheckPageReqVO pageReqVO) { + PageResult pageResult = storageCheckService.getStorageCheckPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, StorageCheckRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出入/出库盘点 Excel") + @PreAuthorize("@ss.hasPermission('heli:storage-check:export')") + @OperateLog(type = EXPORT) + public void exportStorageCheckExcel(@Valid StorageCheckPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = storageCheckService.getStorageCheckPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "入/出库盘点.xls", "数据", StorageCheckRespVO.class, + BeanUtils.toBean(list, StorageCheckRespVO.class)); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckPageReqVO.java new file mode 100644 index 00000000..ee345539 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckPageReqVO.java @@ -0,0 +1,74 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.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 StorageCheckPageReqVO extends PageParam { + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "盘点单号") + private String stockNo; + + @Schema(description = "盘点类型:1部分盘点2整体盘点") + private Integer checkType; + + @Schema(description = "排除库存为0的物料:1是2否") + private Integer noZero; + + @Schema(description = "备注") + private String description; + + @Schema(description = "状态:1已保存;2已提交;3已删除") + private Integer status; + + @Schema(description = "仓库Id,对应 wms_wh 表中的Id") + private Long whId; + + @Schema(description = "记录的创建人,对应员工表中的 Id") + private String creator; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "记录的修改人,对应员工表中的 Id") + private String updater; + + @Schema(description = "更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] updateTime; + + @Schema(description = "入库人") + private Long keeper; + + @Schema(description = "入库时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] keeperTime; + + @Schema(description = "出库人") + private Long outbound; + + @Schema(description = "出库时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] outboundTime; + + @Schema(description = "作废人") + private Long cancel; + + @Schema(description = "作废时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] cancelTime; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckRespVO.java new file mode 100644 index 00000000..96a8a5ec --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckRespVO.java @@ -0,0 +1,94 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; +import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; +import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; + +@Schema(description = "管理后台 - 入/出库盘点 Response VO") +@Data +@ExcelIgnoreUnannotated +public class StorageCheckRespVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("主键id") + private Long id; + + @Schema(description = "盘点单号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("盘点单号") + private String stockNo; + + @Schema(description = "盘点类型:1部分盘点2整体盘点") + @ExcelProperty(value = "盘点类型:1部分盘点2整体盘点", converter = DictConvert.class) + @DictFormat("heli_storage_mat_check_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer checkType; + + @Schema(description = "排除库存为0的物料:1是2否") + @ExcelProperty(value = "排除库存为0的物料:1是2否", converter = DictConvert.class) + @DictFormat("heli_common_is_or_not") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer noZero; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String description; + + @Schema(description = "状态:1已保存;2已提交;3已删除") + @ExcelProperty(value = "状态:1已保存;2已提交;3已删除", converter = DictConvert.class) + @DictFormat("heli_storage_mat_check_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer status; + + @Schema(description = "仓库Id,对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("仓库Id,对应 wms_wh 表中的Id") + private Long whId; + + @Schema(description = "记录的创建人,对应员工表中的 Id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("记录的创建人,对应员工表中的 Id") + private String creator; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "记录的修改人,对应员工表中的 Id") + @ExcelProperty("记录的修改人,对应员工表中的 Id") + private String updater; + + @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("更新时间") + private LocalDateTime updateTime; + + @Schema(description = "入库人") + @ExcelProperty("入库人") + private Long keeper; + + @Schema(description = "入库时间") + @ExcelProperty("入库时间") + private LocalDateTime keeperTime; + + @Schema(description = "出库人") + @ExcelProperty("出库人") + private Long outbound; + + @Schema(description = "出库时间") + @ExcelProperty("出库时间") + private LocalDateTime outboundTime; + + @Schema(description = "作废人") + @ExcelProperty("作废人") + private Long cancel; + + @Schema(description = "作废时间") + @ExcelProperty("作废时间") + private LocalDateTime cancelTime; + + @Schema(description = "盘点单据时间") + @ExcelProperty("盘点单据时间") + private LocalDateTime checkTime; + + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckSaveReqVO.java new file mode 100644 index 00000000..8c67e0f9 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheck/vo/StorageCheckSaveReqVO.java @@ -0,0 +1,58 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 入/出库盘点新增/修改 Request VO") +@Data +public class StorageCheckSaveReqVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "盘点单号", requiredMode = Schema.RequiredMode.REQUIRED) + private String stockNo; + + @Schema(description = "盘点类型:1部分盘点2整体盘点") + private Integer checkType; + + @Schema(description = "盘点开始时间") + private LocalDateTime checkTime; + + @Schema(description = "排除库存为0的物料:1是2否") + private Integer noZero; + + @Schema(description = "备注") + private String description; + + @Schema(description = "状态:1已保存;2已提交;3已删除") + private Integer status; + + @Schema(description = "仓库Id,对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "仓库Id,对应 wms_wh 表中的Id不能为空") + private Long whId; + + @Schema(description = "入库人") + private Long keeper; + + @Schema(description = "入库时间") + private LocalDateTime keeperTime; + + @Schema(description = "出库人") + private Long outbound; + + @Schema(description = "出库时间") + private LocalDateTime outboundTime; + + @Schema(description = "作废人") + private Long cancel; + + @Schema(description = "作废时间") + private LocalDateTime cancelTime; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/StorageCheckMatController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/StorageCheckMatController.java new file mode 100644 index 00000000..c0667b82 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/StorageCheckMatController.java @@ -0,0 +1,95 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat; + +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.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO; +import com.chanko.yunxi.mes.module.heli.service.storagecheckmat.StorageCheckMatService; + +@Tag(name = "管理后台 - 盘点物料") +@RestController +@RequestMapping("/heli/storage-check-mat") +@Validated +public class StorageCheckMatController { + + @Resource + private StorageCheckMatService storageCheckMatService; + + @PostMapping("/create") + @Operation(summary = "创建盘点物料") + @PreAuthorize("@ss.hasPermission('heli:storage-check-mat:create')") + public CommonResult createStorageCheckMat(@Valid @RequestBody StorageCheckMatSaveReqVO createReqVO) { + return success(storageCheckMatService.createStorageCheckMat(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新盘点物料") + @PreAuthorize("@ss.hasPermission('heli:storage-check-mat:update')") + public CommonResult updateStorageCheckMat(@Valid @RequestBody StorageCheckMatSaveReqVO updateReqVO) { + storageCheckMatService.updateStorageCheckMat(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除盘点物料") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:storage-check-mat:delete')") + public CommonResult deleteStorageCheckMat(@RequestParam("id") Long id) { + storageCheckMatService.deleteStorageCheckMat(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得盘点物料") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:storage-check-mat:query')") + public CommonResult getStorageCheckMat(@RequestParam("id") Long id) { + StorageCheckMatDO storageCheckMat = storageCheckMatService.getStorageCheckMat(id); + return success(BeanUtils.toBean(storageCheckMat, StorageCheckMatRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得盘点物料分页") + @PreAuthorize("@ss.hasPermission('heli:storage-check-mat:query')") + public CommonResult> getStorageCheckMatPage(@Valid StorageCheckMatPageReqVO pageReqVO) { + PageResult pageResult = storageCheckMatService.getStorageCheckMatPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, StorageCheckMatRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出盘点物料 Excel") + @PreAuthorize("@ss.hasPermission('heli:storage-check-mat:export')") + @OperateLog(type = EXPORT) + public void exportStorageCheckMatExcel(@Valid StorageCheckMatPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = storageCheckMatService.getStorageCheckMatPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "盘点物料.xls", "数据", StorageCheckMatRespVO.class, + BeanUtils.toBean(list, StorageCheckMatRespVO.class)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatPageReqVO.java new file mode 100644 index 00000000..1703d6b5 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatPageReqVO.java @@ -0,0 +1,60 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.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 StorageCheckMatPageReqVO extends PageParam { + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "盘点Id") + private Long checkId; + + @Schema(description = "物料 Id,对应 base_material表中的 Id 列") + private Long matId; + + @Schema(description = "仓库 Id,对应 wms_wh 表中的Id") + private Long whId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id") + private Long rgId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id") + private Long pnId; + + @Schema(description = "盘点数量") + private BigDecimal storageOkQty; + + @Schema(description = "物料当前库存数量") + private BigDecimal matRest; + + @Schema(description = "批次号") + private String lotNo; + + @Schema(description = "记录的创建人,对应员工表中的 Id") + private String creator; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "记录的修改人,对应员工表中的 Id") + private String updater; + + @Schema(description = "更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] updateTime; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatRespVO.java new file mode 100644 index 00000000..0accfeb0 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatRespVO.java @@ -0,0 +1,69 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 盘点物料 Response VO") +@Data +@ExcelIgnoreUnannotated +public class StorageCheckMatRespVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("主键id") + private Long id; + + @Schema(description = "盘点Id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("盘点Id") + private Long checkId; + + @Schema(description = "物料 Id,对应 base_material表中的 Id 列", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("物料 Id,对应 base_material表中的 Id 列") + private Long matId; + + @Schema(description = "仓库 Id,对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("仓库 Id,对应 wms_wh 表中的Id") + private Long whId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("库区 Id,对应 wms_rg 表中的Id") + private Long rgId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("库区 Id,对应 wms_rg 表中的Id") + private Long pnId; + + @Schema(description = "盘点数量") + @ExcelProperty("盘点数量") + private BigDecimal storageOkQty; + + @Schema(description = "物料当前库存数量") + @ExcelProperty("物料当前库存数量") + private BigDecimal matRest; + + @Schema(description = "批次号") + @ExcelProperty("批次号") + private String lotNo; + + @Schema(description = "记录的创建人,对应员工表中的 Id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("记录的创建人,对应员工表中的 Id") + private String creator; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "记录的修改人,对应员工表中的 Id") + @ExcelProperty("记录的修改人,对应员工表中的 Id") + private String updater; + + @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("更新时间") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatSaveReqVO.java new file mode 100644 index 00000000..25abb814 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagecheckmat/vo/StorageCheckMatSaveReqVO.java @@ -0,0 +1,46 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 盘点物料新增/修改 Request VO") +@Data +public class StorageCheckMatSaveReqVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "盘点Id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "盘点Id不能为空") + private Long checkId; + + @Schema(description = "物料 Id,对应 base_material表中的 Id 列", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料 Id,对应 base_material表中的 Id 列不能为空") + private Long matId; + + @Schema(description = "仓库 Id,对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "仓库 Id,对应 wms_wh 表中的Id不能为空") + private Long whId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "库区 Id,对应 wms_rg 表中的Id不能为空") + private Long rgId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "库区 Id,对应 wms_rg 表中的Id不能为空") + private Long pnId; + + @Schema(description = "盘点数量") + private BigDecimal storageOkQty; + + @Schema(description = "物料当前库存数量") + private BigDecimal matRest; + + @Schema(description = "批次号") + private String lotNo; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/StorageLogController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/StorageLogController.java index 8d1b3883..f52b90f3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/StorageLogController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/StorageLogController.java @@ -1,95 +1,105 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.storagelog; - -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.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; -import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; - -import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; - -import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; -import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; -import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; - -@Tag(name = "管理后台 - 入/出库日志") -@RestController -@RequestMapping("/heli/storage-log") -@Validated -public class StorageLogController { - - @Resource - private StorageLogService storageLogService; - - @PostMapping("/create") - @Operation(summary = "创建入/出库日志") - @PreAuthorize("@ss.hasPermission('heli:storage-log:create')") - public CommonResult createStorageLog(@Valid @RequestBody StorageLogSaveReqVO createReqVO) { - return success(storageLogService.createStorageLog(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新入/出库日志") - @PreAuthorize("@ss.hasPermission('heli:storage-log:update')") - public CommonResult updateStorageLog(@Valid @RequestBody StorageLogSaveReqVO updateReqVO) { - storageLogService.updateStorageLog(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除入/出库日志") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('heli:storage-log:delete')") - public CommonResult deleteStorageLog(@RequestParam("id") Long id) { - storageLogService.deleteStorageLog(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得入/出库日志") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('heli:storage-log:query')") - public CommonResult getStorageLog(@RequestParam("id") Long id) { - StorageLogDO storageLog = storageLogService.getStorageLog(id); - return success(BeanUtils.toBean(storageLog, StorageLogRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得入/出库日志分页") - @PreAuthorize("@ss.hasPermission('heli:storage-log:query')") - public CommonResult> getStorageLogPage(@Valid StorageLogPageReqVO pageReqVO) { - PageResult pageResult = storageLogService.getStorageLogPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, StorageLogRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出入/出库日志 Excel") - @PreAuthorize("@ss.hasPermission('heli:storage-log:export')") - @OperateLog(type = EXPORT) - public void exportStorageLogExcel(@Valid StorageLogPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = storageLogService.getStorageLogPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "入/出库日志.xls", "数据", StorageLogRespVO.class, - BeanUtils.toBean(list, StorageLogRespVO.class)); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.storagelog; + +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +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.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; +import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; + +@Tag(name = "管理后台 - 入/出库日志") +@RestController +@RequestMapping("/heli/storage-log") +@Validated +public class StorageLogController { + + @Resource + private StorageLogService storageLogService; + + @PostMapping("/create") + @Operation(summary = "创建入/出库日志") + @PreAuthorize("@ss.hasPermission('heli:storage-log:create')") + public CommonResult createStorageLog(@Valid @RequestBody StorageLogSaveReqVO createReqVO) { + return success(storageLogService.createStorageLog(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新入/出库日志") + @PreAuthorize("@ss.hasPermission('heli:storage-log:update')") + public CommonResult updateStorageLog(@Valid @RequestBody StorageLogSaveReqVO updateReqVO) { + storageLogService.updateStorageLog(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除入/出库日志") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:storage-log:delete')") + public CommonResult deleteStorageLog(@RequestParam("id") Long id) { + storageLogService.deleteStorageLog(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得入/出库日志") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:storage-log:query')") + public CommonResult getStorageLog(@RequestParam("id") Long id) { + StorageLogDO storageLog = storageLogService.getStorageLog(id); + return success(BeanUtils.toBean(storageLog, StorageLogRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得入/出库日志分页") + @PreAuthorize("@ss.hasPermission('heli:storage-log:query')") + public CommonResult> getStorageLogPage(@Valid StorageLogPageReqVO pageReqVO) { + PageResult pageResult = storageLogService.getStorageLogPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/now") + @Operation(summary = "获得入/出库实时分页") + @PreAuthorize("@ss.hasPermission('heli:storage-log:query')") + public CommonResult> getStorageNowPage(@Valid StorageLogPageReqVO pageReqVO) { + PageResult pageResult = storageLogService.getStorageNowPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出入/出库日志 Excel") + @PreAuthorize("@ss.hasPermission('heli:storage-log:export')") + @OperateLog(type = EXPORT) + public void exportStorageLogExcel(@Valid StorageLogPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = storageLogService.getStorageLogPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "入/出库日志.xls", "数据", StorageLogRespVO.class, + BeanUtils.toBean(list, StorageLogRespVO.class)); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java index da341cc6..17ce94fd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java @@ -16,45 +16,36 @@ import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_Y @ToString(callSuper = true) public class StorageLogPageReqVO extends PageParam { - @Schema(description = "入/出库Id", example = "3528") - private Long stockId; + @Schema(description = "物料编码") + private String matCode; - @Schema(description = "物料 Id,对应 base_material表中的 Id 列", example = "21832") - private Long matId; + @Schema(description = "物料名称") + private String matName; - @Schema(description = "仓库 Id,对应 wms_wh 表中的Id", example = "3") - private Long whId; - - @Schema(description = "库区 Id,对应 wms_rg 表中的Id", example = "15108") - private Long rgId; - - @Schema(description = "库区 Id,对应 wms_rg 表中的Id", example = "3954") - private Long pnId; - - @Schema(description = "库存良品数量") - private BigDecimal storageOkQty; + @Schema(description = "物料类型") + private String matType; @Schema(description = "批次号") private String lotNo; - @Schema(description = "状态") - private String status; + @Schema(description = "业务单据编号") + private String stockNo; - @Schema(description = "备注", example = "你说的对") - private String description; + @Schema(description = "上游单据编号") + private String headerNo; - @Schema(description = "记录的创建人,对应员工表中的 Id") - private String creator; + @Schema(description = "出入库类型") + private Integer stockType; - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; + @Schema(description = "仓库") + private Long whId; + + @Schema(description = "库区") + private Long rgId; + + @Schema(description = "库位") + private Long pnId; - @Schema(description = "记录的修改人,对应员工表中的 Id") - private String updater; - @Schema(description = "更新时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] updateTime; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogRespVO.java index 3c6a2d4a..a953e650 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogRespVO.java @@ -54,4 +54,39 @@ public class StorageLogRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; + @Schema(description = "业务编号") + @ExcelProperty("业务编号") + private String stockNo; + + @Schema(description = "业务类型") + @ExcelProperty("业务类型") + private Integer stockType; + + @Schema(description = "上游业务编号") + @ExcelProperty("上游业务编号") + private String headerNo; + + @Schema(description = "物料名称") + @ExcelProperty("物料名称") + private String matName; + + @Schema(description = "物料编码") + @ExcelProperty("物料编码") + private String matCode; + + @Schema(description = "物料类型") + @ExcelProperty("物料类型") + private String matType; + + @Schema(description = "仓库名称") + @ExcelProperty("物料类型") + private String whName; + + @Schema(description = "库区名称") + @ExcelProperty("物料类型") + private String rgName; + + @Schema(description = "库位名称") + @ExcelProperty("物料类型") + private String pnName; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/warehouse/WarehouseController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/warehouse/WarehouseController.java index f520c3ad..8a3f59bf 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/warehouse/WarehouseController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/warehouse/WarehouseController.java @@ -106,4 +106,12 @@ public class WarehouseController { // 拼接数据 return success(BeanUtils.toBean(list, WarehouseDO.class)); } + + @GetMapping({"/all-simples"}) + @Operation(summary = "TODO:获取仓库精简信息列表", description = "只包含被开启的仓库,主要用于前端的下拉选项") + public CommonResult> > getSimpleList() { + List> list = warehouseService.getSimpleList(); + // 拼接数据 + return success(list); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java new file mode 100644 index 00000000..a81ae8fd --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java @@ -0,0 +1,143 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder; + +import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; +import com.chanko.yunxi.mes.module.heli.enums.DeliverOrderStatusEnum; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 发货订单 DO + * + * @author 管理员 + */ +@TableName("project_deliver_order") +@KeySequence("project_deliver_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeliverOrderDO extends BaseDO { + + /** + * 自增字段,唯一 + */ + @TableId + private Long id; + /** + * 编号,唯一 + */ + private String code; + /** + * 销售订单id列表 多个用英文逗号分割 + */ + private String saleOrderIds; + /** + * 客户id + */ + private Long customerId; + /** + * 发货日期 + */ + private LocalDateTime deliverDate; + /** + * 发货单状态 已保存/已发货 + * + * 枚举 {@link TODO heli_deliver_order_status 对应的类} + */ + private Integer deliverStatus; + /** + * 发货人 + */ + private Long deliverPerson; + /** + * 发货人电话 + */ + private String deliverPersonMobile; + /** + * 发货方式 + * + * 枚举 {@link TODO heli_deliver_mode 对应的类} + */ + private String deliverMode; + /** + * 收货人电话 + */ + private String receivePersonMobile; + /** + * 司机姓名 + */ + private String transportDriverName; + /** + * 司机电话 + */ + private String transportDriverMobile; + /** + * 车牌号 + */ + private String transportBusNumber; + /** + * 重量(T) + */ + private String transportWeight; + /** + * 位置(米) + */ + private String transportSize; + /** + * 备注 + */ + private String remark; + /** + * 状态,1表示正常,2表示禁用 + */ + private Integer status; + /** + * 收货人姓名 + */ + private String receivePersonName; + /** + * 收货详细地址 + */ + private String receiveAddress; + + @TableField(exist = false) + private String saleOrderCode; + + @TableField(exist = false) + private String contractNo; + + @TableField(exist = false) + private String mouldName; + + @TableField(exist = false) + private String property; + + @TableField(exist = false) + private String customerName; + + public boolean canDeliver() { + return DeliverOrderStatusEnum.SAVE.getCode() == this.deliverStatus.intValue(); + } + + public boolean canOperate(OperateTypeEnum operateTypeEnum) { + switch (operateTypeEnum){ + case SAVE: + return canSave(); + case DELIVER: + return canDeliver(); + default: + return false; + } + } + + private boolean canSave() { + return DeliverOrderStatusEnum.SAVE.getCode() == this.deliverStatus.intValue(); + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderSubDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderSubDO.java new file mode 100644 index 00000000..61c31d03 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderSubDO.java @@ -0,0 +1,93 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 发货订单子项 DO + * + * @author 管理员 + */ +@TableName("project_deliver_order_sub") +@KeySequence("project_deliver_order_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeliverOrderSubDO extends BaseDO { + + /** + * 自增字段,唯一 + */ + @TableId + private Long id; + /** + * 订单id + */ + private Long deliveryOrderId; + /** + * 业务类 发货清单|其他清单 DELIVER_LIST|OTHER_LIST + * + * 枚举 {@link TODO heli_deliver_list_type 对应的类} + */ + private String category; + /** + * 名称,唯一 + */ + private String name; + /** + * 图号 + */ + private String blueprintNo; + /** + * 数量 + */ + private Integer amount; + /** + * 单位 + * + * 枚举 {@link TODO heli_material_unit 对应的类} + */ + private String unit; + /** + * 重量(T) + */ + private String weight; + /** + * 尺寸(米) + */ + private String size; + /** + * 子项类型 + * + * 枚举 {@link TODO heli_deliver_material_type 对应的类} + */ + private String subType; + /** + * 备注 + */ + private String remark; + /** + * 状态,1表示正常,2表示禁用 + */ + private Integer status; + /** + * 删除 物理删除 + */ + private Boolean deleted; + /** + * 销售订单子项id + */ + private Long saleOrderSubId; + /** + * 销售订单编号 + */ + private String saleOrderCode; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java index d8e3599e..a7bdd709 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java @@ -19,8 +19,8 @@ import java.util.Set; * * @author 管理员 */ -@TableName("project_order") -@KeySequence("project_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@TableName("project_sale_order") +@KeySequence("project_sale_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderSubDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderSubDO.java index 2eced4e7..0f314495 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderSubDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderSubDO.java @@ -1,4 +1,4 @@ -package com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub; +package com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; @@ -14,8 +14,8 @@ import java.util.Set; * * @author 管理员 */ -@TableName("project_order_sub") -@KeySequence("project_order_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@TableName("project_sale_order_sub") +@KeySequence("project_sale_order_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @@ -77,4 +77,7 @@ public class ProjectOrderSubDO extends BaseDO { */ @TableField(exist = false) private String compositionName; + + @TableField(exist = false) + private String projectOrderCode; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagecheck/StorageCheckDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagecheck/StorageCheckDO.java new file mode 100644 index 00000000..f4da222f --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagecheck/StorageCheckDO.java @@ -0,0 +1,90 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck; + +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.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 入/出库盘点 DO + * + * @author 管理员 + */ +@TableName("wms_storage_check") +@KeySequence("wms_storage_check_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StorageCheckDO extends BaseDO { + + /** + * 主键id + */ + @TableId + private Long id; + /** + * 盘点单号 + */ + private String stockNo; + /** + * 盘点类型:1部分盘点2整体盘点 + * + * 枚举 {@link TODO heli_storage_mat_check_type 对应的类} + */ + private Integer checkType; + /** + * 排除库存为0的物料:1是2否 + * + * 枚举 {@link TODO heli_common_is_or_not 对应的类} + */ + private Integer noZero; + /** + * 备注 + */ + private String description; + /** + * 状态:1已保存;2已提交;3已删除 + * + * 枚举 {@link TODO heli_storage_mat_check_status 对应的类} + */ + private Integer status; + /** + * 仓库Id,对应 wms_wh 表中的Id + */ + private Long whId; + /** + * 入库人 + */ + private Long keeper; + /** + * 入库时间 + */ + private LocalDateTime keeperTime; + /** + * 出库人 + */ + private Long outbound; + /** + * 出库时间 + */ + private LocalDateTime outboundTime; + /** + * 作废人 + */ + private Long cancel; + /** + * 作废时间 + */ + private LocalDateTime cancelTime; + + private LocalDateTime checkTime; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagecheckmat/StorageCheckMatDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagecheckmat/StorageCheckMatDO.java new file mode 100644 index 00000000..2fd38e90 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagecheckmat/StorageCheckMatDO.java @@ -0,0 +1,65 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 盘点物料 DO + * + * @author 管理员 + */ +@TableName("wms_storage_check_mat") +@KeySequence("wms_storage_check_mat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StorageCheckMatDO extends BaseDO { + + /** + * 主键id + */ + @TableId + private Long id; + /** + * 盘点Id + */ + private Long checkId; + /** + * 物料 Id,对应 base_material表中的 Id 列 + */ + private Long matId; + /** + * 仓库 Id,对应 wms_wh 表中的Id + */ + private Long whId; + /** + * 库区 Id,对应 wms_rg 表中的Id + */ + private Long rgId; + /** + * 库区 Id,对应 wms_rg 表中的Id + */ + private Long pnId; + /** + * 盘点数量 + */ + private BigDecimal storageOkQty; + /** + * 物料当前库存数量 + */ + private BigDecimal matRest; + /** + * 批次号 + */ + private String lotNo; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogAll/StorageLogAllDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogAll/StorageLogAllDO.java new file mode 100644 index 00000000..d04d8dfa --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogAll/StorageLogAllDO.java @@ -0,0 +1,66 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.math.BigDecimal; + +/** + * 入/出库日志 DO + * + * @author 管理员 + */ +@TableName("v_storage_material_log") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StorageLogAllDO extends BaseDO { + + /** + * 主键id + */ + @TableId + private Long id; + + /** + * 库存良品数量 + */ + private BigDecimal storageOkQty; + /** + * 批次号 + */ + private String lotNo; + + private String stockNo; + + private Integer stockType; + + private String stockTypeName; + + private String headerNo; + + private String matName; + + private String matCode; + + private String matType; + + private String whName; + + private String rgName; + + private String pnName; + + private String shortName; + + private String matSpec; + private String matBrand; + private String matUnit; +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageLogNowDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageLogNowDO.java new file mode 100644 index 00000000..f5f45e5e --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageLogNowDO.java @@ -0,0 +1,59 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +import java.math.BigDecimal; + +/** + * 入/出库日志 DO + * + * @author 管理员 + */ +@TableName("v_storage_material_now") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StorageLogNowDO extends BaseDO { + + /** + * 主键id + */ + @TableId + private Long id; + + /** + * 库存良品数量 + */ + private BigDecimal storageOkQty; + /** + * 批次号 + */ + private String lotNo; + + private String matName; + + private String matCode; + + private String matType; + + private Long whId; + private String whName; + + private Long rgId; + private String rgName; + + private Long pnId; + private String pnName; + + private String shortName; + + private String matSpec; + private String matBrand; + private String matUnit; +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderMapper.java new file mode 100644 index 00000000..3f97a7bf --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderMapper.java @@ -0,0 +1,62 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.util.collection.ArrayUtils; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.DeliverOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.util.StringUtils; + +/** + * 发货订单 Mapper + * + * @author 管理员 + */ +@Mapper +public interface DeliverOrderMapper extends BaseMapperX { + + default PageResult selectPage(DeliverOrderPageReqVO reqVO) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(DeliverOrderDO.class) + .select("u.nickname as deliverPersonName", "e.name as customerName") + .select("GROUP_CONCAT(distinct p.code) as saleOrderCode", "GROUP_CONCAT(distinct p.mould_name) as mouldName" + , "GROUP_CONCAT(distinct p.contract_no) as contractNo", "GROUP_CONCAT(distinct p.property) as property") + .leftJoin("project_sale_order p on FIND_IN_SET(p.id, t.sale_order_ids)") + .leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, DeliverOrderDO::getDeliverPerson) + .leftJoin(CustomerDO.class, "e", CustomerDO::getId, DeliverOrderDO::getCustomerId) + .groupBy(DeliverOrderDO::getId) + .orderByDesc(DeliverOrderDO::getId) + .disableSubLogicDel(); + query.like(!StringUtils.isEmpty(reqVO.getCode()), DeliverOrderDO::getCode, reqVO.getCode()) + .like(!StringUtils.isEmpty(reqVO.getSaleOrderCode()), "p.code", reqVO.getSaleOrderCode()) + .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) + .like(!StringUtils.isEmpty(reqVO.getMouldName()), "p.mould_name", reqVO.getMouldName()) + .between(reqVO.getDeliverDate() != null && reqVO.getDeliverDate().length == 2, + DeliverOrderDO::getDeliverDate, ArrayUtils.get(reqVO.getDeliverDate(), 0), ArrayUtils.get(reqVO.getDeliverDate(), 1)) + .eq(reqVO.getDeliverStatus() != null, DeliverOrderDO::getDeliverStatus, reqVO.getDeliverStatus()); + return selectPage(reqVO, query); + } + + default DeliverOrderDO selectById(Long id) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(DeliverOrderDO.class) + .select("u.nickname as deliverPersonName", "e.name as customerName") + .select("GROUP_CONCAT(distinct p.code) as saleOrderCode", "GROUP_CONCAT(distinct p.mould_name) as mouldName" + , "GROUP_CONCAT(distinct p.contract_no) as contractNo", "GROUP_CONCAT(distinct p.property) as property") + .leftJoin("project_sale_order p on FIND_IN_SET(p.id, t.sale_order_ids)") + .leftJoin(CustomerDO.class, "e", CustomerDO::getId, DeliverOrderDO::getCustomerId) + .leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, DeliverOrderDO::getDeliverPerson) + .eq(DeliverOrderDO::getId, id) + .groupBy(DeliverOrderDO::getId) + .last("LIMIT 1") + .disableSubLogicDel(); + return selectOne(query); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderSubMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderSubMapper.java new file mode 100644 index 00000000..6b4e39b2 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderSubMapper.java @@ -0,0 +1,28 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.deliverordersub; + +import java.util.*; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 发货订单子项 Mapper + * + * @author 管理员 + */ +@Mapper +public interface DeliverOrderSubMapper extends BaseMapperX { + + default List selectListByDeliveryOrderId(Long deliveryOrderId) { + return selectList(DeliverOrderSubDO::getDeliveryOrderId, deliveryOrderId); + } + + default int deleteByDeliveryOrderId(Long deliveryOrderId) { + return delete(DeliverOrderSubDO::getDeliveryOrderId, deliveryOrderId); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pn/PnMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pn/PnMapper.java index 569e9830..b3070b9b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pn/PnMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pn/PnMapper.java @@ -2,10 +2,14 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.pn; import java.util.*; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; @@ -31,5 +35,9 @@ public interface PnMapper extends BaseMapperX { .eqIfPresent(PnDO::getWhId, reqVO.getWhId()) .orderByDesc(PnDO::getId)); } + default List> selectSimpleList() { + return selectMaps(new QueryWrapper().select("id", "pn_name","rg_id").lambda()); + + } } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java index c608230b..d01d3d2d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java @@ -33,11 +33,14 @@ public interface ProjectOrderMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) .like(!StringUtils.isEmpty(reqVO.getBusinessManName()), "u.nickname", reqVO.getBusinessManName()) .like(!StringUtils.isEmpty(reqVO.getMouldName()), ProjectOrderDO::getMouldName, reqVO.getMouldName()) + .like(!StringUtils.isEmpty(reqVO.getContractNo()), ProjectOrderDO::getContractNo, reqVO.getContractNo()) .eq(reqVO.getHasPrice() != null, ProjectOrderDO::getHasPrice, reqVO.getHasPrice()) .eq(reqVO.getOrderStatus() != null, ProjectOrderDO::getOrderStatus, reqVO.getOrderStatus()) .eq(reqVO.getDeliveryStatus() != null, ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatus()) .in(reqVO.getOrderStatusList() != null && !reqVO.getOrderStatusList().isEmpty(), ProjectOrderDO::getOrderStatus, reqVO.getOrderStatusList()) + .in(reqVO.getDeliveryStatusList() != null && !reqVO.getDeliveryStatusList().isEmpty(), ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatusList()) .eq(reqVO.getIsSnapshot() != null, ProjectOrderDO::getIsSnapshot, reqVO.getIsSnapshot()) + .eq(reqVO.getHasAlter() != null, ProjectOrderDO::getHasAlter, reqVO.getHasAlter()) .like(!StringUtils.isEmpty(reqVO.getSnapshotCode()), ProjectOrderDO::getSnapshotCode, reqVO.getSnapshotCode()); ; return selectPage(reqVO, query); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java index 2e23093f..0261b9e6 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java @@ -1,16 +1,14 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder; -import java.util.*; - -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 项目订单子项目 Mapper * @@ -22,7 +20,8 @@ public interface ProjectOrderSubMapper extends BaseMapperX { default List selectListByProjectOrderId(Long projectOrderId) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(ProjectOrderSubDO.class) - .select("b.name as compositionName") + .select("b.name as compositionName", "p.code as projectOrderCode") + .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId) .leftJoin(CompositionDO.class, "b", CompositionDO::getId, ProjectOrderSubDO::getCompositionId) .disableSubLogicDel() .eq(ProjectOrderSubDO::getProjectOrderId, projectOrderId); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/rg/RgMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/rg/RgMapper.java index e466a96d..1bc6a966 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/rg/RgMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/rg/RgMapper.java @@ -2,10 +2,13 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.rg; import java.util.*; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; @@ -30,4 +33,10 @@ public interface RgMapper extends BaseMapperX { .orderByDesc(RgDO::getId)); } + default List> selectSimpleList() { + + return selectMaps(new QueryWrapper().select("id", "rg_name","wh_id").lambda()); + + } + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagecheck/StorageCheckMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagecheck/StorageCheckMapper.java new file mode 100644 index 00000000..7f3a49c7 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagecheck/StorageCheckMapper.java @@ -0,0 +1,42 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheck; + +import java.util.*; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO; +import org.apache.ibatis.annotations.Mapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*; + +/** + * 入/出库盘点 Mapper + * + * @author 管理员 + */ +@Mapper +public interface StorageCheckMapper extends BaseMapperX { + + default PageResult selectPage(StorageCheckPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(StorageCheckDO::getId, reqVO.getId()) + .eqIfPresent(StorageCheckDO::getStockNo, reqVO.getStockNo()) + .eqIfPresent(StorageCheckDO::getCheckType, reqVO.getCheckType()) + .eqIfPresent(StorageCheckDO::getNoZero, reqVO.getNoZero()) + .eqIfPresent(StorageCheckDO::getDescription, reqVO.getDescription()) + .eqIfPresent(StorageCheckDO::getStatus, reqVO.getStatus()) + .eqIfPresent(StorageCheckDO::getWhId, reqVO.getWhId()) + .eqIfPresent(StorageCheckDO::getCreator, reqVO.getCreator()) + .betweenIfPresent(StorageCheckDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(StorageCheckDO::getUpdater, reqVO.getUpdater()) + .betweenIfPresent(StorageCheckDO::getUpdateTime, reqVO.getUpdateTime()) + .eqIfPresent(StorageCheckDO::getKeeper, reqVO.getKeeper()) + .betweenIfPresent(StorageCheckDO::getKeeperTime, reqVO.getKeeperTime()) + .eqIfPresent(StorageCheckDO::getOutbound, reqVO.getOutbound()) + .betweenIfPresent(StorageCheckDO::getOutboundTime, reqVO.getOutboundTime()) + .eqIfPresent(StorageCheckDO::getCancel, reqVO.getCancel()) + .betweenIfPresent(StorageCheckDO::getCancelTime, reqVO.getCancelTime()) + .orderByDesc(StorageCheckDO::getId)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagecheckmat/StorageCheckMatMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagecheckmat/StorageCheckMatMapper.java new file mode 100644 index 00000000..42d4d551 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagecheckmat/StorageCheckMatMapper.java @@ -0,0 +1,38 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheckmat; + +import java.util.*; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO; +import org.apache.ibatis.annotations.Mapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*; + +/** + * 盘点物料 Mapper + * + * @author 管理员 + */ +@Mapper +public interface StorageCheckMatMapper extends BaseMapperX { + + default PageResult selectPage(StorageCheckMatPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(StorageCheckMatDO::getId, reqVO.getId()) + .eqIfPresent(StorageCheckMatDO::getCheckId, reqVO.getCheckId()) + .eqIfPresent(StorageCheckMatDO::getMatId, reqVO.getMatId()) + .eqIfPresent(StorageCheckMatDO::getWhId, reqVO.getWhId()) + .eqIfPresent(StorageCheckMatDO::getRgId, reqVO.getRgId()) + .eqIfPresent(StorageCheckMatDO::getPnId, reqVO.getPnId()) + .eqIfPresent(StorageCheckMatDO::getStorageOkQty, reqVO.getStorageOkQty()) + .eqIfPresent(StorageCheckMatDO::getMatRest, reqVO.getMatRest()) + .eqIfPresent(StorageCheckMatDO::getLotNo, reqVO.getLotNo()) + .eqIfPresent(StorageCheckMatDO::getCreator, reqVO.getCreator()) + .betweenIfPresent(StorageCheckMatDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(StorageCheckMatDO::getUpdater, reqVO.getUpdater()) + .betweenIfPresent(StorageCheckMatDO::getUpdateTime, reqVO.getUpdateTime()) + .orderByDesc(StorageCheckMatDO::getId)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogAllMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogAllMapper.java new file mode 100644 index 00000000..1fcd61a0 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogAllMapper.java @@ -0,0 +1,42 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog; + +import com.alibaba.druid.util.StringUtils; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 入/出库日志 Mapper + * + * @author 管理员 + */ +@Mapper +public interface StorageLogAllMapper extends BaseMapperX { + + default PageResult selectPage(StorageLogPageReqVO reqVO) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + + query.selectAll(StorageLogAllDO.class) + .orderByDesc(StorageLogAllDO::getId); + + query.like(!StringUtils.isEmpty(reqVO.getMatType()),StorageLogAllDO::getMatType, reqVO.getMatType()) + .eq(reqVO.getStockType()!= null,StorageLogAllDO::getStockType, reqVO.getStockType()) + .like(!StringUtils.isEmpty(reqVO.getMatName()), StorageLogAllDO::getMatName, reqVO.getMatName()) + .like(!StringUtils.isEmpty(reqVO.getMatCode()), StorageLogAllDO::getMatCode, reqVO.getMatCode()) + .like(!StringUtils.isEmpty(reqVO.getStockNo()), StorageLogAllDO::getStockNo, reqVO.getStockNo()) + .like(!StringUtils.isEmpty(reqVO.getHeaderNo()), StorageLogAllDO::getHeaderNo, reqVO.getHeaderNo()) + .like(!StringUtils.isEmpty(reqVO.getLotNo()),StorageLogAllDO::getLotNo, reqVO.getLotNo()); + + return selectPage(reqVO,query); + } + PageResult selectAllPage(StorageLogPageReqVO reqVO); +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java index 22ccdcc5..ffef076e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java @@ -3,11 +3,18 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog; import java.util.*; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; +import org.springframework.util.StringUtils; /** * 入/出库日志 Mapper @@ -17,21 +24,28 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; @Mapper public interface StorageLogMapper extends BaseMapperX { - default PageResult selectPage(StorageLogPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(StorageLogDO::getStockId, reqVO.getStockId()) - .eqIfPresent(StorageLogDO::getMatId, reqVO.getMatId()) - .eqIfPresent(StorageLogDO::getWhId, reqVO.getWhId()) - .eqIfPresent(StorageLogDO::getRgId, reqVO.getRgId()) - .eqIfPresent(StorageLogDO::getPnId, reqVO.getPnId()) - .eqIfPresent(StorageLogDO::getStorageOkQty, reqVO.getStorageOkQty()) - .eqIfPresent(StorageLogDO::getLotNo, reqVO.getLotNo()) - .eqIfPresent(StorageLogDO::getDescription, reqVO.getDescription()) - .eqIfPresent(StorageLogDO::getCreator, reqVO.getCreator()) - .betweenIfPresent(StorageLogDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(StorageLogDO::getUpdater, reqVO.getUpdater()) - .betweenIfPresent(StorageLogDO::getUpdateTime, reqVO.getUpdateTime()) - .orderByDesc(StorageLogDO::getId)); - } - +// default PageResult selectPage(StorageLogPageReqVO reqVO) { +// MPJLambdaWrapper query = new MPJLambdaWrapper<>(); +// +// query.selectAll(StorageLogDO.class) +// .select("st.stock_no as stockNo", "st.stock_type as stockType","st.header_no as headerNo", "mat.name as matName","mat.code as matCode","mat.material_type as matType","wh.wh_name as whName","rg.rg_name as rgName","pn.pn_name as pnName") +// .leftJoin(StorageDO.class, "st", StorageDO::getId, StorageLogDO::getStockId) +// .leftJoin(MaterialDO.class,"mat", MaterialDO::getId,StorageLogDO::getMatId) +// .leftJoin(WarehouseDO.class,"wh", WarehouseDO::getId,StorageLogDO::getWhId) +// .leftJoin(RgDO.class,"rg", RgDO::getId,StorageLogDO::getRgId) +// .leftJoin(PnDO.class,"pn", PnDO::getId,StorageLogDO::getPnId) +// .disableSubLogicDel() +// .orderByDesc(StorageLogDO::getId); +// +// query.eq(reqVO.getMatType() != null,"mat.material_type", reqVO.getMatType()) +// .eq(reqVO.getStockType() != null,"st.stock_type", reqVO.getStockType()) +// .like(!StringUtils.isEmpty(reqVO.getMatName()), "mat.name", reqVO.getMatName()) +// .like(!StringUtils.isEmpty(reqVO.getMatCode()), "mat.code", reqVO.getMatCode()) +// .like(!StringUtils.isEmpty(reqVO.getStockNo()), "st.stock_no", reqVO.getStockNo()) +// .like(!StringUtils.isEmpty(reqVO.getHeaderNo()), "st.header_no", reqVO.getHeaderNo()) +// .like(!StringUtils.isEmpty(reqVO.getLotNo()),StorageLogDO::getLotNo, reqVO.getLotNo()); +// +// return selectPage(reqVO); +// } + //PageResult selectAllPage(StorageLogPageReqVO reqVO); } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java new file mode 100644 index 00000000..c9032d78 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java @@ -0,0 +1,36 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog; + +import com.alibaba.druid.util.StringUtils; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 入/出库日志 Mapper + * + * @author 管理员 + */ +@Mapper +public interface StorageLogNowMapper extends BaseMapperX { + + default PageResult selectPage(StorageLogPageReqVO reqVO) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + + query.selectAll(StorageLogNowDO.class) + .orderByDesc(StorageLogNowDO::getId); + + query.like(!StringUtils.isEmpty(reqVO.getMatType()),StorageLogNowDO::getMatType, reqVO.getMatType()) + .eq(reqVO.getWhId()!= null,StorageLogNowDO::getWhId, reqVO.getWhId()) + .eq(reqVO.getRgId()!= null,StorageLogNowDO::getRgId, reqVO.getRgId()) + .eq(reqVO.getPnId()!= null,StorageLogNowDO::getPnId, reqVO.getPnId()) + .like(!StringUtils.isEmpty(reqVO.getMatName()), StorageLogNowDO::getMatName, reqVO.getMatName()) + .like(!StringUtils.isEmpty(reqVO.getMatCode()), StorageLogNowDO::getMatCode, reqVO.getMatCode()) + .like(!StringUtils.isEmpty(reqVO.getLotNo()),StorageLogNowDO::getLotNo, reqVO.getLotNo()); + + return selectPage(reqVO,query); + } + PageResult selectAllPage(StorageLogPageReqVO reqVO); +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java index 22be3ced..ce146ab1 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java @@ -2,10 +2,15 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat; import java.util.*; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.*; @@ -33,5 +38,13 @@ public interface StorageMatMapper extends BaseMapperX { .betweenIfPresent(StorageMatDO::getUpdateTime, reqVO.getUpdateTime()) .orderByDesc(StorageMatDO::getId)); } + + default List selectMatByStorckID(Long stockId) { + + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(StorageMatDO.class) + .eq(StorageMatDO::getStockId, stockId); + return selectList(query); + } List selectStorageMatValid(); } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/warehouse/WarehouseMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/warehouse/WarehouseMapper.java index 64148440..8cf5f934 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/warehouse/WarehouseMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/warehouse/WarehouseMapper.java @@ -2,9 +2,12 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.warehouse; import java.util.*; +import cn.hutool.core.lang.Dict; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX; import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import org.apache.ibatis.annotations.Mapper; @@ -36,4 +39,10 @@ public interface WarehouseMapper extends BaseMapperX { default List selectListByStatus(Integer wStatus) { return selectList(WarehouseDO::getWhStatus, wStatus); } + + default List> selectSimpleList() { + + return selectMaps(new QueryWrapper().select("id", "wh_name").lambda()); + + } } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java new file mode 100644 index 00000000..6b8b211c --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java @@ -0,0 +1,67 @@ +package com.chanko.yunxi.mes.module.heli.service.deliverorder; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 发货订单 Service 接口 + * + * @author 管理员 + */ +public interface DeliverOrderService { + + /** + * 创建发货订单 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createDeliverOrder(@Valid DeliverOrderSaveReqVO createReqVO); + + /** + * 更新发货订单 + * + * @param updateReqVO 更新信息 + */ + void updateDeliverOrder(@Valid DeliverOrderSaveReqVO updateReqVO); + + /** + * 删除发货订单 + * + * @param id 编号 + */ + void deleteDeliverOrder(Long id); + + /** + * 获得发货订单 + * + * @param id 编号 + * @return 发货订单 + */ + DeliverOrderDO getDeliverOrder(Long id); + + /** + * 获得发货订单分页 + * + * @param pageReqVO 分页查询 + * @return 发货订单分页 + */ + PageResult getDeliverOrderPage(DeliverOrderPageReqVO pageReqVO); + + // ==================== 子表(发货订单子项) ==================== + + /** + * 获得发货订单子项列表 + * + * @param deliveryOrderId 订单id + * @return 发货订单子项列表 + */ + List getDeliverOrderSubListByDeliveryOrderId(Long deliveryOrderId); + + void operateProjectOrder(DeliverOrderSaveReqVO operateReqVO); +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java new file mode 100644 index 00000000..12396359 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java @@ -0,0 +1,153 @@ +package com.chanko.yunxi.mes.module.heli.service.deliverorder; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; +import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.DeliverOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.DeliverOrderSaveReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverordersub.DeliverOrderSubMapper; +import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; +import com.chanko.yunxi.mes.module.heli.enums.DeliverOrderStatusEnum; +import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PROJECT_DELIVERY_ORDER; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.DELIVER_ORDER_NOT_EXISTS; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.INVALID_OPERATE; + +/** + * 发货订单 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class DeliverOrderServiceImpl implements DeliverOrderService { + + @Resource + private DeliverOrderMapper deliverOrderMapper; + @Resource + private DeliverOrderSubMapper deliverOrderSubMapper; + @Resource + private SerialNumberService serialNumberService; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createDeliverOrder(DeliverOrderSaveReqVO createReqVO) { + // 插入 + DeliverOrderDO deliverOrder = BeanUtils.toBean(createReqVO, DeliverOrderDO.class); + // 月度流水号 + SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(BusinesTypeEnum.DELIVER_ORDER.name(), new SimpleDateFormat("yyyyMM").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); + deliverOrder.setCode(PROJECT_DELIVERY_ORDER.getCode(serialNumberDO.getSerialNumber().toString())); + deliverOrder.setDeliverStatus(DeliverOrderStatusEnum.valueOf(createReqVO.getActive()).getCode()); + deliverOrderMapper.insert(deliverOrder); + + // 插入子表 + if(createReqVO.getDeliverOrderSubs() != null && !createReqVO.getDeliverOrderSubs().isEmpty()){ + createDeliverOrderSubList(deliverOrder.getId(), createReqVO.getDeliverOrderSubs()); + } + createReqVO.setId(deliverOrder.getId()).setCode(deliverOrder.getCode()); + // 回写序列记录 + serialNumberService.updateSerialNumber(serialNumberDO); + // 返回 + return deliverOrder.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateDeliverOrder(DeliverOrderSaveReqVO updateReqVO) { + // 校验存在 + DeliverOrderDO oldDO = validateDeliverOrderExists(updateReqVO.getId()); + if(!oldDO.canOperate(OperateTypeEnum.valueOf(updateReqVO.getActive()))){ + throw exception(INVALID_OPERATE); + } + // 更新 + DeliverOrderDO updateObj = BeanUtils.toBean(updateReqVO, DeliverOrderDO.class); + updateObj.setDeliverStatus(DeliverOrderStatusEnum.valueOf(updateReqVO.getActive()).getCode()); + deliverOrderMapper.updateById(updateObj); + updateReqVO.setDeliverStatus(updateObj.getDeliverStatus()); + + // 更新子表 + updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteDeliverOrder(Long id) { + // 校验存在 + validateDeliverOrderExists(id); + // 删除 + deliverOrderMapper.deleteById(id); + + // 删除子表 + deleteDeliverOrderSubByDeliveryOrderId(id); + } + + private DeliverOrderDO validateDeliverOrderExists(Long id) { + DeliverOrderDO deliverOrderDO = deliverOrderMapper.selectOne(new LambdaQueryWrapper() {{ + eq(DeliverOrderDO::getId, id); + last("LIMIT 1 FOR UPDATE"); + }}); + if (deliverOrderDO == null) { + throw exception(DELIVER_ORDER_NOT_EXISTS); + } + return deliverOrderDO; + } + + @Override + public DeliverOrderDO getDeliverOrder(Long id) { + return deliverOrderMapper.selectById(id); + } + + @Override + public PageResult getDeliverOrderPage(DeliverOrderPageReqVO pageReqVO) { + return deliverOrderMapper.selectPage(pageReqVO); + } + + // ==================== 子表(发货订单子项) ==================== + + @Override + public List getDeliverOrderSubListByDeliveryOrderId(Long deliveryOrderId) { + return deliverOrderSubMapper.selectListByDeliveryOrderId(deliveryOrderId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void operateProjectOrder(DeliverOrderSaveReqVO operateReqVO) { + if(operateReqVO.getId() == null){ + createDeliverOrder(operateReqVO); + }else{ + updateDeliverOrder(operateReqVO); + } + } + + private void createDeliverOrderSubList(Long deliveryOrderId, List list) { + list.forEach(o -> o.setDeliveryOrderId(deliveryOrderId)); + deliverOrderSubMapper.insertBatch(list); + } + + private void updateDeliverOrderSubList(Long deliveryOrderId, List list) { + deleteDeliverOrderSubByDeliveryOrderId(deliveryOrderId); + list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新 + createDeliverOrderSubList(deliveryOrderId, list); + } + + private void deleteDeliverOrderSubByDeliveryOrderId(Long deliveryOrderId) { + deliverOrderSubMapper.deleteByDeliveryOrderId(deliveryOrderId); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java index aa22fdbe..b499428b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java @@ -42,7 +42,7 @@ public class MaterialServiceImpl implements MaterialService { private void validateMaterialRepeat(String code, Long id) { Long repeat = materialMapper.selectCount(new LambdaQueryWrapper() {{ eq(MaterialDO::getCode, code); - eq(id != null, MaterialDO::getId, id); + ne(id != null, MaterialDO::getId, id); last("LIMIT 1"); }}); if(repeat != null && repeat.longValue() > 0){ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnService.java index 7a30460e..ef4bfa50 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnService.java @@ -1,55 +1,58 @@ -package com.chanko.yunxi.mes.module.heli.service.pn; - -import java.util.*; -import javax.validation.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; - -/** - * 库位 Service 接口 - * - * @author 管理员 - */ -public interface PnService { - - /** - * 创建库位 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createPn(@Valid PnSaveReqVO createReqVO); - - /** - * 更新库位 - * - * @param updateReqVO 更新信息 - */ - void updatePn(@Valid PnSaveReqVO updateReqVO); - - /** - * 删除库位 - * - * @param id 编号 - */ - void deletePn(Long id); - - /** - * 获得库位 - * - * @param id 编号 - * @return 库位 - */ - PnDO getPn(Long id); - - /** - * 获得库位分页 - * - * @param pageReqVO 分页查询 - * @return 库位分页 - */ - PageResult getPnPage(PnPageReqVO pageReqVO); - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.pn; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; + +/** + * 库位 Service 接口 + * + * @author 管理员 + */ +public interface PnService { + + /** + * 创建库位 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createPn(@Valid PnSaveReqVO createReqVO); + + /** + * 更新库位 + * + * @param updateReqVO 更新信息 + */ + void updatePn(@Valid PnSaveReqVO updateReqVO); + + /** + * 删除库位 + * + * @param id 编号 + */ + void deletePn(Long id); + + /** + * 获得库位 + * + * @param id 编号 + * @return 库位 + */ + PnDO getPn(Long id); + + /** + * 获得库位分页 + * + * @param pageReqVO 分页查询 + * @return 库位分页 + */ + PageResult getPnPage(PnPageReqVO pageReqVO); + + List> getSimpleList(); + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnServiceImpl.java index ddac994c..09571aa9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pn/PnServiceImpl.java @@ -1,74 +1,79 @@ -package com.chanko.yunxi.mes.module.heli.service.pn; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; - -import com.chanko.yunxi.mes.module.heli.dal.mysql.pn.PnMapper; - -import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; - -/** - * 库位 Service 实现类 - * - * @author 管理员 - */ -@Service -@Validated -public class PnServiceImpl implements PnService { - - @Resource - private PnMapper pnMapper; - - @Override - public Long createPn(PnSaveReqVO createReqVO) { - // 插入 - PnDO pn = BeanUtils.toBean(createReqVO, PnDO.class); - pnMapper.insert(pn); - // 返回 - return pn.getId(); - } - - @Override - public void updatePn(PnSaveReqVO updateReqVO) { - // 校验存在 - validatePnExists(updateReqVO.getId()); - // 更新 - PnDO updateObj = BeanUtils.toBean(updateReqVO, PnDO.class); - pnMapper.updateById(updateObj); - } - - @Override - public void deletePn(Long id) { - // 校验存在 - validatePnExists(id); - // 删除 - pnMapper.deleteById(id); - } - - private void validatePnExists(Long id) { - if (pnMapper.selectById(id) == null) { - throw exception(PN_NOT_EXISTS); - } - } - - @Override - public PnDO getPn(Long id) { - return pnMapper.selectById(id); - } - - @Override - public PageResult getPnPage(PnPageReqVO pageReqVO) { - return pnMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.pn; + +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.pn.PnMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 库位 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class PnServiceImpl implements PnService { + + @Resource + private PnMapper pnMapper; + + @Override + public Long createPn(PnSaveReqVO createReqVO) { + // 插入 + PnDO pn = BeanUtils.toBean(createReqVO, PnDO.class); + pnMapper.insert(pn); + // 返回 + return pn.getId(); + } + + @Override + public void updatePn(PnSaveReqVO updateReqVO) { + // 校验存在 + validatePnExists(updateReqVO.getId()); + // 更新 + PnDO updateObj = BeanUtils.toBean(updateReqVO, PnDO.class); + pnMapper.updateById(updateObj); + } + + @Override + public void deletePn(Long id) { + // 校验存在 + validatePnExists(id); + // 删除 + pnMapper.deleteById(id); + } + + private void validatePnExists(Long id) { + if (pnMapper.selectById(id) == null) { + throw exception(PN_NOT_EXISTS); + } + } + + @Override + public PnDO getPn(Long id) { + return pnMapper.selectById(id); + } + + @Override + public PageResult getPnPage(PnPageReqVO pageReqVO) { + return pnMapper.selectPage(pageReqVO); + } + + @Override + public List> getSimpleList() { + return pnMapper.selectSimpleList(); + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java index 5d53d67c..7830eeaf 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java @@ -1,12 +1,13 @@ package com.chanko.yunxi.mes.module.heli.service.projectorder; -import java.util.*; -import javax.validation.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; + +import javax.validation.Valid; +import java.util.List; /** * 项目订单 Service 接口 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java index be3fe589..b4a19f04 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java @@ -8,7 +8,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.Project import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper; @@ -76,6 +76,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { // 客户编号 CustomerDO customer = customerService.getCustomer(projectOrder.getCustomerId()); projectOrder.setCode(PROJECT_ORDER.getCode(customer.getCode(), serialNumberDO.getSerialNumber().toString())); + projectOrder.setOrderStatus(ProjectOrderStatusEnum.valueOf(createReqVO.getActive()).getCode()); projectOrderMapper.insert(projectOrder); // 插入子表 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgService.java index 9a403198..699f5cec 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgService.java @@ -1,55 +1,57 @@ -package com.chanko.yunxi.mes.module.heli.service.rg; - -import java.util.*; -import javax.validation.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; - -/** - * 库区 Service 接口 - * - * @author 管理员 - */ -public interface RgService { - - /** - * 创建库区 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createRg(@Valid RgSaveReqVO createReqVO); - - /** - * 更新库区 - * - * @param updateReqVO 更新信息 - */ - void updateRg(@Valid RgSaveReqVO updateReqVO); - - /** - * 删除库区 - * - * @param id 编号 - */ - void deleteRg(Long id); - - /** - * 获得库区 - * - * @param id 编号 - * @return 库区 - */ - RgDO getRg(Long id); - - /** - * 获得库区分页 - * - * @param pageReqVO 分页查询 - * @return 库区分页 - */ - PageResult getRgPage(RgPageReqVO pageReqVO); - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.rg; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; + +/** + * 库区 Service 接口 + * + * @author 管理员 + */ +public interface RgService { + + /** + * 创建库区 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createRg(@Valid RgSaveReqVO createReqVO); + + /** + * 更新库区 + * + * @param updateReqVO 更新信息 + */ + void updateRg(@Valid RgSaveReqVO updateReqVO); + + /** + * 删除库区 + * + * @param id 编号 + */ + void deleteRg(Long id); + + /** + * 获得库区 + * + * @param id 编号 + * @return 库区 + */ + RgDO getRg(Long id); + + /** + * 获得库区分页 + * + * @param pageReqVO 分页查询 + * @return 库区分页 + */ + PageResult getRgPage(RgPageReqVO pageReqVO); + + List> getSimpleList(); +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgServiceImpl.java index 8f6dbd5f..f61b037a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/rg/RgServiceImpl.java @@ -1,74 +1,79 @@ -package com.chanko.yunxi.mes.module.heli.service.rg; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; - -import com.chanko.yunxi.mes.module.heli.dal.mysql.rg.RgMapper; - -import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; - -/** - * 库区 Service 实现类 - * - * @author 管理员 - */ -@Service -@Validated -public class RgServiceImpl implements RgService { - - @Resource - private RgMapper rgMapper; - - @Override - public Long createRg(RgSaveReqVO createReqVO) { - // 插入 - RgDO rg = BeanUtils.toBean(createReqVO, RgDO.class); - rgMapper.insert(rg); - // 返回 - return rg.getId(); - } - - @Override - public void updateRg(RgSaveReqVO updateReqVO) { - // 校验存在 - validateRgExists(updateReqVO.getId()); - // 更新 - RgDO updateObj = BeanUtils.toBean(updateReqVO, RgDO.class); - rgMapper.updateById(updateObj); - } - - @Override - public void deleteRg(Long id) { - // 校验存在 - validateRgExists(id); - // 删除 - rgMapper.deleteById(id); - } - - private void validateRgExists(Long id) { - if (rgMapper.selectById(id) == null) { - throw exception(RG_NOT_EXISTS); - } - } - - @Override - public RgDO getRg(Long id) { - return rgMapper.selectById(id); - } - - @Override - public PageResult getRgPage(RgPageReqVO pageReqVO) { - return rgMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.rg; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.rg.RgMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 库区 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class RgServiceImpl implements RgService { + + @Resource + private RgMapper rgMapper; + + @Override + public Long createRg(RgSaveReqVO createReqVO) { + // 插入 + RgDO rg = BeanUtils.toBean(createReqVO, RgDO.class); + rgMapper.insert(rg); + // 返回 + return rg.getId(); + } + + @Override + public void updateRg(RgSaveReqVO updateReqVO) { + // 校验存在 + validateRgExists(updateReqVO.getId()); + // 更新 + RgDO updateObj = BeanUtils.toBean(updateReqVO, RgDO.class); + rgMapper.updateById(updateObj); + } + + @Override + public void deleteRg(Long id) { + // 校验存在 + validateRgExists(id); + // 删除 + rgMapper.deleteById(id); + } + + private void validateRgExists(Long id) { + if (rgMapper.selectById(id) == null) { + throw exception(RG_NOT_EXISTS); + } + } + + @Override + public RgDO getRg(Long id) { + return rgMapper.selectById(id); + } + + @Override + public PageResult getRgPage(RgPageReqVO pageReqVO) { + return rgMapper.selectPage(pageReqVO); + } + + @Override + public List> getSimpleList() { + return rgMapper.selectSimpleList(); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckService.java new file mode 100644 index 00000000..5c7412f8 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckService.java @@ -0,0 +1,55 @@ +package com.chanko.yunxi.mes.module.heli.service.storagecheck; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 入/出库盘点 Service 接口 + * + * @author 管理员 + */ +public interface StorageCheckService { + + /** + * 创建入/出库盘点 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createStorageCheck(@Valid StorageCheckSaveReqVO createReqVO); + + /** + * 更新入/出库盘点 + * + * @param updateReqVO 更新信息 + */ + void updateStorageCheck(@Valid StorageCheckSaveReqVO updateReqVO); + + /** + * 删除入/出库盘点 + * + * @param id 编号 + */ + void deleteStorageCheck(Long id); + + /** + * 获得入/出库盘点 + * + * @param id 编号 + * @return 入/出库盘点 + */ + StorageCheckDO getStorageCheck(Long id); + + /** + * 获得入/出库盘点分页 + * + * @param pageReqVO 分页查询 + * @return 入/出库盘点分页 + */ + PageResult getStorageCheckPage(StorageCheckPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckServiceImpl.java new file mode 100644 index 00000000..192e32ce --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckServiceImpl.java @@ -0,0 +1,81 @@ +package com.chanko.yunxi.mes.module.heli.service.storagecheck; + +import cn.hutool.core.lang.UUID; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheck.StorageCheckMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.STOCK_CHECK; +import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.STOCK_IN; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 入/出库盘点 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class StorageCheckServiceImpl implements StorageCheckService { + + @Resource + private StorageCheckMapper storageCheckMapper; + + @Override + public Long createStorageCheck(StorageCheckSaveReqVO createReqVO) { + // 插入 + StorageCheckDO storageCheck = BeanUtils.toBean(createReqVO, StorageCheckDO.class); + storageCheck.setStockNo(UUID.fastUUID().toString(true)); + storageCheckMapper.insert(storageCheck); + + storageCheck.setStockNo(STOCK_CHECK.getCode(storageCheck.getId().toString())); + storageCheckMapper.updateById(storageCheck); + // 返回 + return storageCheck.getId(); + } + + @Override + public void updateStorageCheck(StorageCheckSaveReqVO updateReqVO) { + // 校验存在 + validateStorageCheckExists(updateReqVO.getId()); + // 更新 + StorageCheckDO updateObj = BeanUtils.toBean(updateReqVO, StorageCheckDO.class); + storageCheckMapper.updateById(updateObj); + } + + @Override + public void deleteStorageCheck(Long id) { + // 校验存在 + validateStorageCheckExists(id); + // 删除 + storageCheckMapper.deleteById(id); + } + + private void validateStorageCheckExists(Long id) { + if (storageCheckMapper.selectById(id) == null) { + throw exception(STORAGE_CHECK_NOT_EXISTS); + } + } + + @Override + public StorageCheckDO getStorageCheck(Long id) { + return storageCheckMapper.selectById(id); + } + + @Override + public PageResult getStorageCheckPage(StorageCheckPageReqVO pageReqVO) { + return storageCheckMapper.selectPage(pageReqVO); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheckmat/StorageCheckMatService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheckmat/StorageCheckMatService.java new file mode 100644 index 00000000..00227048 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheckmat/StorageCheckMatService.java @@ -0,0 +1,55 @@ +package com.chanko.yunxi.mes.module.heli.service.storagecheckmat; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 盘点物料 Service 接口 + * + * @author 管理员 + */ +public interface StorageCheckMatService { + + /** + * 创建盘点物料 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createStorageCheckMat(@Valid StorageCheckMatSaveReqVO createReqVO); + + /** + * 更新盘点物料 + * + * @param updateReqVO 更新信息 + */ + void updateStorageCheckMat(@Valid StorageCheckMatSaveReqVO updateReqVO); + + /** + * 删除盘点物料 + * + * @param id 编号 + */ + void deleteStorageCheckMat(Long id); + + /** + * 获得盘点物料 + * + * @param id 编号 + * @return 盘点物料 + */ + StorageCheckMatDO getStorageCheckMat(Long id); + + /** + * 获得盘点物料分页 + * + * @param pageReqVO 分页查询 + * @return 盘点物料分页 + */ + PageResult getStorageCheckMatPage(StorageCheckMatPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheckmat/StorageCheckMatServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheckmat/StorageCheckMatServiceImpl.java new file mode 100644 index 00000000..6ab814b3 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheckmat/StorageCheckMatServiceImpl.java @@ -0,0 +1,74 @@ +package com.chanko.yunxi.mes.module.heli.service.storagecheckmat; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheckmat.StorageCheckMatMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 盘点物料 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class StorageCheckMatServiceImpl implements StorageCheckMatService { + + @Resource + private StorageCheckMatMapper storageCheckMatMapper; + + @Override + public Long createStorageCheckMat(StorageCheckMatSaveReqVO createReqVO) { + // 插入 + StorageCheckMatDO storageCheckMat = BeanUtils.toBean(createReqVO, StorageCheckMatDO.class); + storageCheckMatMapper.insert(storageCheckMat); + // 返回 + return storageCheckMat.getId(); + } + + @Override + public void updateStorageCheckMat(StorageCheckMatSaveReqVO updateReqVO) { + // 校验存在 + validateStorageCheckMatExists(updateReqVO.getId()); + // 更新 + StorageCheckMatDO updateObj = BeanUtils.toBean(updateReqVO, StorageCheckMatDO.class); + storageCheckMatMapper.updateById(updateObj); + } + + @Override + public void deleteStorageCheckMat(Long id) { + // 校验存在 + validateStorageCheckMatExists(id); + // 删除 + storageCheckMatMapper.deleteById(id); + } + + private void validateStorageCheckMatExists(Long id) { + if (storageCheckMatMapper.selectById(id) == null) { + throw exception(STORAGE_CHECK_MAT_NOT_EXISTS); + } + } + + @Override + public StorageCheckMatDO getStorageCheckMat(Long id) { + return storageCheckMatMapper.selectById(id); + } + + @Override + public PageResult getStorageCheckMatPage(StorageCheckMatPageReqVO pageReqVO) { + return storageCheckMatMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogService.java index f0a4fd87..f5506731 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogService.java @@ -1,55 +1,62 @@ -package com.chanko.yunxi.mes.module.heli.service.storagelog; - -import java.util.*; -import javax.validation.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; - -/** - * 入/出库日志 Service 接口 - * - * @author 管理员 - */ -public interface StorageLogService { - - /** - * 创建入/出库日志 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createStorageLog(@Valid StorageLogSaveReqVO createReqVO); - - /** - * 更新入/出库日志 - * - * @param updateReqVO 更新信息 - */ - void updateStorageLog(@Valid StorageLogSaveReqVO updateReqVO); - - /** - * 删除入/出库日志 - * - * @param id 编号 - */ - void deleteStorageLog(Long id); - - /** - * 获得入/出库日志 - * - * @param id 编号 - * @return 入/出库日志 - */ - StorageLogDO getStorageLog(Long id); - - /** - * 获得入/出库日志分页 - * - * @param pageReqVO 分页查询 - * @return 入/出库日志分页 - */ - PageResult getStorageLogPage(StorageLogPageReqVO pageReqVO); - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.storagelog; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; + +/** + * 入/出库日志 Service 接口 + * + * @author 管理员 + */ +public interface StorageLogService { + + /** + * 创建入/出库日志 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createStorageLog(@Valid StorageLogSaveReqVO createReqVO); + + /** + * 更新入/出库日志 + * + * @param updateReqVO 更新信息 + */ + void updateStorageLog(@Valid StorageLogSaveReqVO updateReqVO); + + /** + * 删除入/出库日志 + * + * @param id 编号 + */ + void deleteStorageLog(Long id); + + /** + * 获得入/出库日志 + * + * @param id 编号 + * @return 入/出库日志 + */ + StorageLogDO getStorageLog(Long id); + + /** + * 获得入/出库日志分页 + * + * @param pageReqVO 分页查询 + * @return 入/出库日志分页 + */ + PageResult getStorageLogPage(StorageLogPageReqVO pageReqVO); + + PageResult getStorageNowPage(StorageLogPageReqVO pageReqVO); + + void createStorageLogBatch(List storageLogDOs); + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java index f3de4675..133a0b86 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java @@ -1,74 +1,96 @@ -package com.chanko.yunxi.mes.module.heli.service.storagelog; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; - -import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogMapper; - -import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; - -/** - * 入/出库日志 Service 实现类 - * - * @author 管理员 - */ -@Service -@Validated -public class StorageLogServiceImpl implements StorageLogService { - - @Resource - private StorageLogMapper storageLogMapper; - - @Override - public Long createStorageLog(StorageLogSaveReqVO createReqVO) { - // 插入 - StorageLogDO storageLog = BeanUtils.toBean(createReqVO, StorageLogDO.class); - storageLogMapper.insert(storageLog); - // 返回 - return storageLog.getId(); - } - - @Override - public void updateStorageLog(StorageLogSaveReqVO updateReqVO) { - // 校验存在 - validateStorageLogExists(updateReqVO.getId()); - // 更新 - StorageLogDO updateObj = BeanUtils.toBean(updateReqVO, StorageLogDO.class); - storageLogMapper.updateById(updateObj); - } - - @Override - public void deleteStorageLog(Long id) { - // 校验存在 - validateStorageLogExists(id); - // 删除 - storageLogMapper.deleteById(id); - } - - private void validateStorageLogExists(Long id) { - if (storageLogMapper.selectById(id) == null) { - throw exception(STORAGE_LOG_NOT_EXISTS); - } - } - - @Override - public StorageLogDO getStorageLog(Long id) { - return storageLogMapper.selectById(id); - } - - @Override - public PageResult getStorageLogPage(StorageLogPageReqVO pageReqVO) { - return storageLogMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.storagelog; + +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogAllMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 入/出库日志 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class StorageLogServiceImpl implements StorageLogService { + + @Resource + private StorageLogMapper storageLogMapper; + + @Resource + private StorageLogAllMapper storageLogAllMapper; + + @Resource + private StorageLogNowMapper storageLogNowMapper; + + @Override + public Long createStorageLog(StorageLogSaveReqVO createReqVO) { + // 插入 + StorageLogDO storageLog = BeanUtils.toBean(createReqVO, StorageLogDO.class); + storageLogMapper.insert(storageLog); + // 返回 + return storageLog.getId(); + } + + @Override + public void updateStorageLog(StorageLogSaveReqVO updateReqVO) { + // 校验存在 + validateStorageLogExists(updateReqVO.getId()); + // 更新 + StorageLogDO updateObj = BeanUtils.toBean(updateReqVO, StorageLogDO.class); + storageLogMapper.updateById(updateObj); + } + + @Override + public void deleteStorageLog(Long id) { + // 校验存在 + validateStorageLogExists(id); + // 删除 + storageLogMapper.deleteById(id); + } + + private void validateStorageLogExists(Long id) { + if (storageLogMapper.selectById(id) == null) { + throw exception(STORAGE_LOG_NOT_EXISTS); + } + } + + @Override + public StorageLogDO getStorageLog(Long id) { + return storageLogMapper.selectById(id); + } + + @Override + public PageResult getStorageLogPage(StorageLogPageReqVO pageReqVO) { + return storageLogAllMapper.selectPage(pageReqVO); + } + + @Override + public PageResult getStorageNowPage(StorageLogPageReqVO pageReqVO) { + return storageLogNowMapper.selectPage(pageReqVO); + } + + @Override + public void createStorageLogBatch(List storageLogDOs) { + for (StorageLogDO storageLogDo : storageLogDOs){ + storageLogMapper.insert(storageLogDo); + } + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatService.java index f0703944..8d5d1354 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatService.java @@ -59,6 +59,8 @@ public interface StorageMatService { */ List getStorageMatList(); - int deleteStorageMatList(Long stockid); + int deleteStorageMatList(Long stockId); + + List getStorageMatListByStockId(Long stockId); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java index 475850b8..0bf3f0dd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java @@ -83,12 +83,17 @@ public class StorageMatServiceImpl implements StorageMatService { } @Override - public int deleteStorageMatList(Long stockid) { + public int deleteStorageMatList(Long stockId) { //删除条件 Map columnMap = Maps.newHashMap(); - columnMap.put("stock_id", stockid); + columnMap.put("stock_id", stockId); return storageMatMapper.deleteByMap(columnMap); } + @Override + public List getStorageMatListByStockId(Long stockId) { + return storageMatMapper.selectMatByStorckID(stockId); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseService.java index a98ec994..a0c321bd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseService.java @@ -61,4 +61,6 @@ public interface WarehouseService { */ List getWarehouseListByStatus(Integer whStatus); + List> getSimpleList(); + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseServiceImpl.java index 39b3554a..4898aa1c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/warehouse/WarehouseServiceImpl.java @@ -83,4 +83,8 @@ public class WarehouseServiceImpl implements WarehouseService { return warehouseMapper.selectListByStatus(whStatus); } + @Override + public List> getSimpleList() { + return warehouseMapper.selectSimpleList(); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml new file mode 100644 index 00000000..6d3c6b42 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagecheck/StorageCheckMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagecheck/StorageCheckMapper.xml new file mode 100644 index 00000000..8971e1c4 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagecheck/StorageCheckMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagecheckmat/StorageCheckMatMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagecheckmat/StorageCheckMatMapper.xml new file mode 100644 index 00000000..21bc3b44 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagecheckmat/StorageCheckMatMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogAllMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogAllMapper.xml new file mode 100644 index 00000000..7a67ca90 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogAllMapper.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml index d89a38b3..f383c187 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml @@ -8,7 +8,5 @@ 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> - + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml index 6b49bac5..73a91ddf 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml @@ -23,6 +23,6 @@ \ No newline at end of file diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java index 92f14851..f08f11ca 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java @@ -21,10 +21,10 @@ import javax.validation.constraints.Pattern; @Builder public class AuthLoginReqVO { - @Schema(description = "账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "mesyuanma") - @NotEmpty(message = "登录账号不能为空") - @Length(min = 4, max = 16, message = "账号长度为 4-16 位") - @Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母") + @Schema(description = "工号", requiredMode = Schema.RequiredMode.REQUIRED, example = "mesyuanma") + @NotEmpty(message = "工号不能为空") + @Length(min = 1, max = 16, message = "工号长度不能超过 16 个字符") + /*@Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母")*/ private String username; @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao") @@ -66,4 +66,4 @@ public class AuthLoginReqVO { return socialType == null || StrUtil.isNotEmpty(socialState); } -} \ No newline at end of file +} diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java index a5f81262..28188245 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java @@ -25,6 +25,9 @@ public class UserPageReqVO extends PageParam { @Schema(description = "昵称,模糊匹配", example = "mes") private String nickname; + @Schema(description = "用户账号或昵称", example = "mes") + private String userNickName; + @Schema(description = "手机号码,模糊匹配", example = "mes") private String mobile; diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java index 80a1edf2..f2138a2e 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java @@ -21,8 +21,7 @@ public class UserSaveReqVO { @Schema(description = "工号", requiredMode = Schema.RequiredMode.REQUIRED, example = "mes") @NotBlank(message = "工号不能为空") - @Pattern(regexp = "^[a-zA-Z0-9]{1,30}$", message = "工号由 数字、字母 组成") - @Size(max = 30, message = "工号长度不能超过 30 个字符") + @Size(max = 16, message = "工号长度不能超过 16 个字符") private String username; @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java index 585092ec..365a4390 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java @@ -6,6 +6,7 @@ import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.module.system.controller.admin.user.vo.user.UserPageReqVO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import org.apache.ibatis.annotations.Mapper; +import org.springframework.util.StringUtils; import java.util.Collection; import java.util.List; @@ -26,14 +27,18 @@ public interface AdminUserMapper extends BaseMapperX { } default PageResult selectPage(UserPageReqVO reqVO, Collection deptIds) { - return selectPage(reqVO, new LambdaQueryWrapperX() + LambdaQueryWrapperX query = new LambdaQueryWrapperX() .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername()) .likeIfPresent(AdminUserDO::getNickname, reqVO.getNickname()) .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile()) .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus()) .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime()) .inIfPresent(AdminUserDO::getDeptId, deptIds) - .orderByDesc(AdminUserDO::getId)); + .orderByDesc(AdminUserDO::getId); + if(!StringUtils.isEmpty(reqVO.getUserNickName())){ + query.like(AdminUserDO::getUsername, reqVO.getUserNickName()).or().like(AdminUserDO::getNickname, reqVO.getUserNickName()); + } + return selectPage(reqVO, query); } default List selectListByNickname(String nickname) { diff --git a/mes-server/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml b/mes-server/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml new file mode 100644 index 00000000..6d3c6b42 --- /dev/null +++ b/mes-server/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/deliverorder/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/deliverorder/index.ts new file mode 100644 index 00000000..e8afac3e --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/deliverorder/index.ts @@ -0,0 +1,66 @@ +import request from '@/config/axios' + +export interface DeliverOrderVO { + id: number + code: string + saleOrderIds: string + customerId: number + deliverDate: Date + deliverStatus: number + deliverPerson: number + deliverPersonMobile: string + deliverMode: string + receivePersonMobile: string + transportDriverName: string + transportDriverMobile: string + transportBusNumber: string + transportWeight: string + transportSize: string + remark: string + status: number + receivePersonName: string + receiveAddress: string + active: string + deliverOrderSubs: object +} + +// 查询发货订单分页 +export const getDeliverOrderPage = async (params) => { + return await request.get({ url: `/heli/deliver-order/page`, params }) +} + +// 查询发货订单详情 +export const getDeliverOrder = async (id: number) => { + return await request.get({ url: `/heli/deliver-order/get?id=` + id }) +} + +// 新增发货订单 +export const createDeliverOrder = async (data: DeliverOrderVO) => { + return await request.post({ url: `/heli/deliver-order/create`, data }) +} + +// 修改发货订单 +export const updateDeliverOrder = async (data: DeliverOrderVO) => { + return await request.put({ url: `/heli/deliver-order/update`, data }) +} + +// 删除发货订单 +export const deleteDeliverOrder = async (id: number) => { + return await request.delete({ url: `/heli/deliver-order/delete?id=` + id }) +} + +// 导出发货订单 Excel +export const exportDeliverOrder = async (params) => { + return await request.download({ url: `/heli/deliver-order/export-excel`, params }) +} + +// ==================== 子表(发货订单子项) ==================== + +// 获得发货订单子项列表 +export const getDeliverOrderSubListByDeliveryOrderId = async (deliveryOrderId) => { + return await request.get({ url: `/heli/deliver-order/deliver-order-sub/list-by-delivery-order-id?deliveryOrderId=` + deliveryOrderId }) +} + +export async function operateDeliverOrder(data: DeliverOrderVO) { + return await request.post({ url: `/heli/deliver-order/operate`, data }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/pn/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/pn/index.ts index d20819e6..ec50962d 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/pn/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/pn/index.ts @@ -1,41 +1,46 @@ -import request from '@/config/axios' - -export interface PnVO { - id: number - pnNo: string - pnName: string - rgId: number - descr: string - pnStatus: number - whId: number -} - -// 查询库位分页 -export const getPnPage = async (params) => { - return await request.get({ url: `/heli/pn/page`, params }) -} - -// 查询库位详情 -export const getPn = async (id: number) => { - return await request.get({ url: `/heli/pn/get?id=` + id }) -} - -// 新增库位 -export const createPn = async (data: PnVO) => { - return await request.post({ url: `/heli/pn/create`, data }) -} - -// 修改库位 -export const updatePn = async (data: PnVO) => { - return await request.put({ url: `/heli/pn/update`, data }) -} - -// 删除库位 -export const deletePn = async (id: number) => { - return await request.delete({ url: `/heli/pn/delete?id=` + id }) -} - -// 导出库位 Excel -export const exportPn = async (params) => { - return await request.download({ url: `/heli/pn/export-excel`, params }) -} \ No newline at end of file +import request from '@/config/axios' + +export interface PnVO { + id: number + pnNo: string + pnName: string + rgId: number + descr: string + pnStatus: number + whId: number +} + +// 查询库区分页 +export const getSimpList = async () => { + return await request.get({ url: `/heli/pn/all-simples` }) +} + +// 查询库位分页 +export const getPnPage = async (params) => { + return await request.get({ url: `/heli/pn/page`, params }) +} + +// 查询库位详情 +export const getPn = async (id: number) => { + return await request.get({ url: `/heli/pn/get?id=` + id }) +} + +// 新增库位 +export const createPn = async (data: PnVO) => { + return await request.post({ url: `/heli/pn/create`, data }) +} + +// 修改库位 +export const updatePn = async (data: PnVO) => { + return await request.put({ url: `/heli/pn/update`, data }) +} + +// 删除库位 +export const deletePn = async (id: number) => { + return await request.delete({ url: `/heli/pn/delete?id=` + id }) +} + +// 导出库位 Excel +export const exportPn = async (params) => { + return await request.download({ url: `/heli/pn/export-excel`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/rg/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/rg/index.ts index 5b8a8e8e..f46eaf8e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/rg/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/rg/index.ts @@ -1,40 +1,45 @@ -import request from '@/config/axios' - -export interface RgVO { - id: number - rgNo: string - rgName: string - whId: number - descr: string - rgStatus: number -} - -// 查询库区分页 -export const getRgPage = async (params) => { - return await request.get({ url: `/heli/rg/page`, params }) -} - -// 查询库区详情 -export const getRg = async (id: number) => { - return await request.get({ url: `/heli/rg/get?id=` + id }) -} - -// 新增库区 -export const createRg = async (data: RgVO) => { - return await request.post({ url: `/heli/rg/create`, data }) -} - -// 修改库区 -export const updateRg = async (data: RgVO) => { - return await request.put({ url: `/heli/rg/update`, data }) -} - -// 删除库区 -export const deleteRg = async (id: number) => { - return await request.delete({ url: `/heli/rg/delete?id=` + id }) -} - -// 导出库区 Excel -export const exportRg = async (params) => { - return await request.download({ url: `/heli/rg/export-excel`, params }) -} \ No newline at end of file +import request from '@/config/axios' + +export interface RgVO { + id: number + rgNo: string + rgName: string + whId: number + descr: string + rgStatus: number +} + +// 查询库区分页 +export const getSimpList = async () => { + return await request.get({ url: `/heli/rg/all-simples` }) +} + +// 查询库区分页 +export const getRgPage = async (params) => { + return await request.get({ url: `/heli/rg/page`, params }) +} + +// 查询库区详情 +export const getRg = async (id: number) => { + return await request.get({ url: `/heli/rg/get?id=` + id }) +} + +// 新增库区 +export const createRg = async (data: RgVO) => { + return await request.post({ url: `/heli/rg/create`, data }) +} + +// 修改库区 +export const updateRg = async (data: RgVO) => { + return await request.put({ url: `/heli/rg/update`, data }) +} + +// 删除库区 +export const deleteRg = async (id: number) => { + return await request.delete({ url: `/heli/rg/delete?id=` + id }) +} + +// 导出库区 Excel +export const exportRg = async (params) => { + return await request.download({ url: `/heli/rg/export-excel`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagecheck/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagecheck/index.ts new file mode 100644 index 00000000..1a596650 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagecheck/index.ts @@ -0,0 +1,48 @@ +import request from '@/config/axios' + +export interface StorageCheckVO { + id: number + stockNo: string + checkType: number + checkTime: Date + noZero: number + description: string + status: number + whId: number + keeper: number + keeperTime: Date + outbound: number + outboundTime: Date + cancel: number + cancelTime: Date +} + +// 查询入/出库盘点分页 +export const getStorageCheckPage = async (params) => { + return await request.get({ url: `/heli/storage-check/page`, params }) +} + +// 查询入/出库盘点详情 +export const getStorageCheck = async (id: number) => { + return await request.get({ url: `/heli/storage-check/get?id=` + id }) +} + +// 新增入/出库盘点 +export const createStorageCheck = async (data: StorageCheckVO) => { + return await request.post({ url: `/heli/storage-check/create`, data }) +} + +// 修改入/出库盘点 +export const updateStorageCheck = async (data: StorageCheckVO) => { + return await request.put({ url: `/heli/storage-check/update`, data }) +} + +// 删除入/出库盘点 +export const deleteStorageCheck = async (id: number) => { + return await request.delete({ url: `/heli/storage-check/delete?id=` + id }) +} + +// 导出入/出库盘点 Excel +export const exportStorageCheck = async (params) => { + return await request.download({ url: `/heli/storage-check/export-excel`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagecheckmat/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagecheckmat/index.ts new file mode 100644 index 00000000..c2efa32c --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagecheckmat/index.ts @@ -0,0 +1,43 @@ +import request from '@/config/axios' + +export interface StorageCheckMatVO { + id: number + checkId: number + matId: number + whId: number + rgId: number + pnId: number + storageOkQty: number + matRest: number + lotNo: string +} + +// 查询盘点物料分页 +export const getStorageCheckMatPage = async (params) => { + return await request.get({ url: `/heli/storage-check-mat/page`, params }) +} + +// 查询盘点物料详情 +export const getStorageCheckMat = async (id: number) => { + return await request.get({ url: `/heli/storage-check-mat/get?id=` + id }) +} + +// 新增盘点物料 +export const createStorageCheckMat = async (data: StorageCheckMatVO) => { + return await request.post({ url: `/heli/storage-check-mat/create`, data }) +} + +// 修改盘点物料 +export const updateStorageCheckMat = async (data: StorageCheckMatVO) => { + return await request.put({ url: `/heli/storage-check-mat/update`, data }) +} + +// 删除盘点物料 +export const deleteStorageCheckMat = async (id: number) => { + return await request.delete({ url: `/heli/storage-check-mat/delete?id=` + id }) +} + +// 导出盘点物料 Excel +export const exportStorageCheckMat = async (params) => { + return await request.download({ url: `/heli/storage-check-mat/export-excel`, params }) +} \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagelog/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagelog/index.ts index e479f3f9..01989c02 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagelog/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagelog/index.ts @@ -1,43 +1,48 @@ -import request from '@/config/axios' - -export interface StorageLogVO { - id: number - stockId: number - matId: number - whId: number - rgId: number - pnId: number - storageOkQty: number - lotNo: string - description: string -} - -// 查询入/出库日志分页 -export const getStorageLogPage = async (params) => { - return await request.get({ url: `/heli/storage-log/page`, params }) -} - -// 查询入/出库日志详情 -export const getStorageLog = async (id: number) => { - return await request.get({ url: `/heli/storage-log/get?id=` + id }) -} - -// 新增入/出库日志 -export const createStorageLog = async (data: StorageLogVO) => { - return await request.post({ url: `/heli/storage-log/create`, data }) -} - -// 修改入/出库日志 -export const updateStorageLog = async (data: StorageLogVO) => { - return await request.put({ url: `/heli/storage-log/update`, data }) -} - -// 删除入/出库日志 -export const deleteStorageLog = async (id: number) => { - return await request.delete({ url: `/heli/storage-log/delete?id=` + id }) -} - -// 导出入/出库日志 Excel -export const exportStorageLog = async (params) => { - return await request.download({ url: `/heli/storage-log/export-excel`, params }) -} \ No newline at end of file +import request from '@/config/axios' + +export interface StorageLogVO { + id: number + stockId: number + matId: number + whId: number + rgId: number + pnId: number + storageOkQty: number + lotNo: string + description: string +} + +// 查询入/出库实时分页 +export const getStorageNowPage = async (params) => { + return await request.get({ url: `/heli/storage-log/now`, params }) +} + +// 查询入/出库日志分页 +export const getStorageLogPage = async (params) => { + return await request.get({ url: `/heli/storage-log/page`, params }) +} + +// 查询入/出库日志详情 +export const getStorageLog = async (id: number) => { + return await request.get({ url: `/heli/storage-log/get?id=` + id }) +} + +// 新增入/出库日志 +export const createStorageLog = async (data: StorageLogVO) => { + return await request.post({ url: `/heli/storage-log/create`, data }) +} + +// 修改入/出库日志 +export const updateStorageLog = async (data: StorageLogVO) => { + return await request.put({ url: `/heli/storage-log/update`, data }) +} + +// 删除入/出库日志 +export const deleteStorageLog = async (id: number) => { + return await request.delete({ url: `/heli/storage-log/delete?id=` + id }) +} + +// 导出入/出库日志 Excel +export const exportStorageLog = async (params) => { + return await request.download({ url: `/heli/storage-log/export-excel`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/warehouse/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/warehouse/index.ts index 3ef86bac..abf97131 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/warehouse/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/warehouse/index.ts @@ -8,6 +8,10 @@ export interface WarehouseVO { telephone: string whStatus: number } +// 查询仓库分页 +export const getSimpList = async () => { + return await request.get({ url: `/heli/warehouse/all-simples` }) +} // 查询仓库分页 export const getWarehouseSimpList = async () => { diff --git a/mes-ui/mes-ui-admin-vue3/src/api/infra/file/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/infra/file/index.ts index 478fb9fd..bb373cdf 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/infra/file/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/infra/file/index.ts @@ -3,6 +3,7 @@ import request from '@/config/axios' export interface FilePageReqVO extends PageParam { path?: string type?: string + url: string createTime?: Date[] businessType: string businessId: number diff --git a/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts index c443a37f..92d42a27 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts @@ -4,6 +4,7 @@ export interface UserVO { id: number username: string nickname: string + userNickName:string deptId: number postIds: string[] email: string diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status2.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status2.png new file mode 100644 index 00000000..5d40c791 Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status2.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status3.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status3.png index 9042e1b1..cc94353c 100644 Binary files a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status3.png and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status3.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status32.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status32.png index 699ed6bc..a5682f05 100644 Binary files a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status32.png and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status32.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status64.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status64.png index 824a7122..32571ec4 100644 Binary files a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status64.png and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status64.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status8.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status8.png index b384b2fb..f4a81715 100644 Binary files a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status8.png and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/status8.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/statusg.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/statusg.png new file mode 100644 index 00000000..f6b05287 Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/statusg.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/statuszf.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/statuszf.png new file mode 100644 index 00000000..24a95d49 Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/statuszf.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/components/DictTag/src/DictTag.vue b/mes-ui/mes-ui-admin-vue3/src/components/DictTag/src/DictTag.vue index db37f714..82f33fa3 100644 --- a/mes-ui/mes-ui-admin-vue3/src/components/DictTag/src/DictTag.vue +++ b/mes-ui/mes-ui-admin-vue3/src/components/DictTag/src/DictTag.vue @@ -41,13 +41,8 @@ export default defineComponent({ // 添加标签的文字颜色为白色,解决自定义背景颜色时标签文字看不清的问题 return ( {dictData.value?.label} diff --git a/mes-ui/mes-ui-admin-vue3/src/locales/en.ts b/mes-ui/mes-ui-admin-vue3/src/locales/en.ts index fe33c512..82e78e79 100644 --- a/mes-ui/mes-ui-admin-vue3/src/locales/en.ts +++ b/mes-ui/mes-ui-admin-vue3/src/locales/en.ts @@ -302,6 +302,7 @@ export default { terminate: 'Terminate', detailArchive: 'Detail', alter: 'Alter', + deliver: 'Deliver', typeCreate: 'Dict Type Create', typeUpdate: 'Dict Type Eidt', dataCreate: 'Dict Data Create', diff --git a/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts b/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts index c439d10d..7198bb94 100644 --- a/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts +++ b/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts @@ -303,6 +303,7 @@ export default { terminate: '终止', detailArchive: '详情', alter: '变更', + deliver: '发货', typeCreate: '字典类型新增', typeUpdate: '字典类型编辑', dataCreate: '字典数据新增', diff --git a/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss b/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss index 5b766755..f5dd0d61 100644 --- a/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss +++ b/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss @@ -48,7 +48,7 @@ .hl-table thead { color: #1d2129; } -.hl-table_header{ +.hl-table_header { color: red; } .hl-table thead th.el-table__cell { @@ -105,15 +105,16 @@ } .el-card__body { - padding: 15px 0px; + padding: 10px 0px; .el-row { - margin: 10px; + margin: 5px 0; } } } .hl-incard { - margin-bottom: 20px; + box-shadow: none !important; + margin: 20px 0; padding: 0 20px; } @@ -145,7 +146,6 @@ } } - /* ---el-table滚动条公共样式--- */ .el-scrollbar { // 横向滚动条 @@ -168,4 +168,82 @@ // background-color: rgba(136, 219, 255, 1); box-shadow: 0 0 6px rgba(0, 0, 0, 0.15); } -} \ No newline at end of file +} + +//已送审 +.iapproval { + background-color:#EDFFED; + color: #038A24; +} +//已保存 +.iconserve { + background-color:#F2FBFF; + color: #1B9AEE; +} + +//已审核 +.iaudit { + background-color: #19A998; + color:#FFFFFF; +} +//已启动 +.istart { + background-color: #1B9AEE; + color: #FFFFFF; +} +//已打回 +.iBack { + background-color: #FFEDED; + color: #E62412; +} + +//已变更 +.ialteration { + background-color:#FFF7E6; + color:#D46B08; +} +//已提交 +.isubmit { + background-color: #19A998; + color:#FFFFFF; +} +//已作废 +.icancellation { + background-color: #F0F1F4; + color: #666879; +} +//已终止 +.ibreakup { + background-color: #F0F1F4; + color: #666879; +} + +//全部发货 +.allshipments { + color: #1B9AEE; + background-color: transparent; + border: none; +} +//未发货 +.noshipments { + color: #E62412; + background-color: transparent; + border: none; +} +//部分发货 +.partshipments { + color: #F39800; + background-color: transparent; + border: none; +} +.sizestylenone { + background-color: transparent; + border: none; + color: var(--el-table-text-color); +} + +.fou { + background-color: #f7fbfd; + border: 1px solid #d4d6e3; + color: #77838C; +} diff --git a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts index 9807eddb..f401920c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts +++ b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts @@ -206,6 +206,7 @@ export enum DICT_TYPE { CRM_PRODUCT_STATUS = 'crm_product_status', CRM_PERMISSION_LEVEL = 'crm_permission_level', // CRM 数据权限的级别 + // ========== HELI 模块 ========== HELI_COMMON_STATUS = 'heli_common_status',// 业务实体启用禁用状态 HELI_CUSTOMER_LEVEL = 'heli_customer_level', //合立客户级别 HELI_SYSTEM_COMMON_STATUS = 'heli_system_common_status', // 系统适配业务状态展示 @@ -222,6 +223,9 @@ export enum DICT_TYPE { HELI_STORAGE_IN_TYPE = 'heli_storage_in_type', // 入库类型 HELI_STORAGE_OUT_TYPE = 'heli_storage_out_type',//出库类型 HELI_STORAGE_STATUS = 'heli_storage_status',//入库出库状态 + HELI_STORAGE_TYPE = 'heli_storage_type', // 入库类型 + HELI_STORAGE_MAT_CHECK_TYPE = 'heli_storage_mat_check_type',//盘点类型 + HELI_STORAGE_MAT_CHECK_STATUS = 'heli_storage_mat_check_status',//盘点状态 HELI_PROJECT_ORDER_STATUS = 'heli_project_order_status', //项目订单状态 HELI_DELIVERY_STATUS = 'heli_delivery_status', // 发货状态 @@ -233,4 +237,7 @@ export enum DICT_TYPE { HELI_PROJECT_ORDER_AUDIT_STATUS = 'heli_project_order_audit_status', // 项目单据审核页状态 HELI_PROJECT_ORDER_APPROVE_STATUS = 'heli_project_order_approve_status', // 项目单据批准页状态 HELI_PROJECT_ORDER_ALTER_STATUS = 'heli_project_order_alter_status', // 项目单据变更页状态 + HELI_DELIVER_ORDER_STATUS = 'heli_deliver_order_status', // 发货单状态 + HELI_DELIVER_MODE = 'heli_deliver_mode', // 发货方式 + HELI_DELIVER_MATERIAL_TYPE = 'heli_deliver_material_type', // 发货物料类型 } diff --git a/mes-ui/mes-ui-admin-vue3/src/utils/routerHelper.ts b/mes-ui/mes-ui-admin-vue3/src/utils/routerHelper.ts index d9fe42aa..00fa52be 100644 --- a/mes-ui/mes-ui-admin-vue3/src/utils/routerHelper.ts +++ b/mes-ui/mes-ui-admin-vue3/src/utils/routerHelper.ts @@ -71,7 +71,6 @@ export const generateRoute = (routes: AppCustomRouteRecordRaw[]): AppRouteRecord noCache: !route.keepAlive, alwaysShow: route.children && - route.children.length === 1 && (route.alwaysShow !== undefined ? route.alwaysShow : true) } // 路由地址转首字母大写驼峰,作为路由名称,适配keepAlive diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue index 4d77957e..9c635923 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue @@ -34,23 +34,7 @@ - - - + @@ -79,7 +63,7 @@ import * as UserApi from "@/api/system/user"; import * as WorkshopApi from "@/api/heli/workshop"; import {DICT_TYPE, getIntDictOptions} from "@/utils/dict"; import {getWorkshopPage} from "@/api/heli/workshop"; - +import UserSelect from '../hlvuestyle/userSelect.vue' const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 @@ -219,4 +203,8 @@ const resetForm = () => { } formRef.value?.resetFields() } + +const handleSelectedUser = (newValue: any) => { + formData.value.leaderUserId = newValue?.id +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue new file mode 100644 index 00000000..11468955 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue @@ -0,0 +1,910 @@ + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue new file mode 100644 index 00000000..b1eda0a6 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue @@ -0,0 +1,273 @@ + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/projectOrderDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/projectOrderDialog.vue new file mode 100644 index 00000000..0e3f5c66 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/projectOrderDialog.vue @@ -0,0 +1,264 @@ + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue index d8f72aef..d88d33a1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue @@ -24,7 +24,7 @@ /> - + + + + + + + + + {{ formData.name }} + + + + + + + + + + + + + + {{ formData.name }} + + + + + + + + + + + + + + {{ formData.name }} + + + + + + + + + + + + + + {{ formData.name }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue index 83b0dd0d..ad546e9b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue @@ -1,8 +1,8 @@