From 6cf7f197796ad3a45f0ae07b89c1204fd569f17d Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Fri, 26 Jan 2024 12:47:40 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=9C=80=E6=B1=82=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E3=80=91=E5=8F=91=E8=B4=A7=E5=8D=95=E5=9F=BA=E7=A1=80=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/heli/enums/BusinesTypeEnum.java | 4 +- .../heli/enums/DeliverOrderStatusEnum.java | 23 ++ .../module/heli/enums/ErrorCodeConstants.java | 4 + .../deliverorder/DeliverOrderController.java | 106 +++++++ .../vo/DeliverOrderPageReqVO.java | 86 ++++++ .../deliverorder/vo/DeliverOrderRespVO.java | 121 ++++++++ .../vo/DeliverOrderSaveReqVO.java | 88 ++++++ .../deliverorder/DeliverOrderDO.java | 122 ++++++++ .../deliverorder/DeliverOrderSubDO.java | 85 ++++++ .../deliverorder/DeliverOrderMapper.java | 45 +++ .../deliverorder/DeliverOrderSubMapper.java | 28 ++ .../deliverorder/DeliverOrderService.java | 66 +++++ .../deliverorder/DeliverOrderServiceImpl.java | 112 ++++++++ .../deliverorder/DeliverOrderMapper.xml | 12 + .../deliverorder/DeliverOrderMapper.xml | 12 + .../src/api/heli/deliverorder/index.ts | 60 ++++ mes-ui/mes-ui-admin-vue3/src/utils/dict.ts | 2 + .../heli/deliverorder/DeliverOrderForm.vue | 227 +++++++++++++++ .../components/DeliverOrderSubForm.vue | 191 +++++++++++++ .../src/views/heli/deliverorder/index.vue | 265 ++++++++++++++++++ sql/v1.2.0/1.structure.sql | 5 +- 21 files changed, 1661 insertions(+), 3 deletions(-) create mode 100644 mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/DeliverOrderStatusEnum.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderPageReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderRespVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/vo/DeliverOrderSaveReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderSubDO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderMapper.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/deliverorder/DeliverOrderSubMapper.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml create mode 100644 mes-server/src/main/resources/mapper/deliverorder/DeliverOrderMapper.xml create mode 100644 mes-ui/mes-ui-admin-vue3/src/api/heli/deliverorder/index.ts create mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/DeliverOrderForm.vue create mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/components/DeliverOrderSubForm.vue create mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue 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/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..dc5de32b --- /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 { + + DEFAULT(1, "已保存"), + FINISHED(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..a6462988 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 { @@ -47,4 +48,7 @@ public interface ErrorCodeConstants { /************订单管理***********/ 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..4b0d5574 --- /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,106 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder; + +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.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; + + @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); + } + + @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)); + } + +} \ 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/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..43158d4d --- /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,88 @@ +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) + @NotEmpty(message = "编号,唯一不能为空") + 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) + @NotEmpty(message = "收货人电话不能为空") + 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 = "张三") + @NotEmpty(message = "收货人姓名不能为空") + private String receivePersonName; + + @Schema(description = "收货详细地址", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "收货详细地址不能为空") + private String receiveAddress; + + @Schema(description = "发货订单子项列表") + private List deliverOrderSubs; + +} 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..8eaca3a7 --- /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,122 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder; + +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; +} 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..01fb60e2 --- /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,85 @@ +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; + +} 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..f1b1029e --- /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,45 @@ +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.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()), ProjectOrderDO::getCode, reqVO.getSaleOrderCode()) + .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) + .like(!StringUtils.isEmpty(reqVO.getMouldName()), ProjectOrderDO::getMouldName, 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); + } + +} 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/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..7bb6476c --- /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,66 @@ +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); + +} \ 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/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..b6ddbe77 --- /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,112 @@ +package com.chanko.yunxi.mes.module.heli.service.deliverorder; + +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.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; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverordersub.DeliverOrderSubMapper; + +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 DeliverOrderServiceImpl implements DeliverOrderService { + + @Resource + private DeliverOrderMapper deliverOrderMapper; + @Resource + private DeliverOrderSubMapper deliverOrderSubMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createDeliverOrder(DeliverOrderSaveReqVO createReqVO) { + // 插入 + DeliverOrderDO deliverOrder = BeanUtils.toBean(createReqVO, DeliverOrderDO.class); + deliverOrderMapper.insert(deliverOrder); + + // 插入子表 + createDeliverOrderSubList(deliverOrder.getId(), createReqVO.getDeliverOrderSubs()); + // 返回 + return deliverOrder.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateDeliverOrder(DeliverOrderSaveReqVO updateReqVO) { + // 校验存在 + validateDeliverOrderExists(updateReqVO.getId()); + // 更新 + DeliverOrderDO updateObj = BeanUtils.toBean(updateReqVO, DeliverOrderDO.class); + deliverOrderMapper.updateById(updateObj); + + // 更新子表 + updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteDeliverOrder(Long id) { + // 校验存在 + validateDeliverOrderExists(id); + // 删除 + deliverOrderMapper.deleteById(id); + + // 删除子表 + deleteDeliverOrderSubByDeliveryOrderId(id); + } + + private void validateDeliverOrderExists(Long id) { + if (deliverOrderMapper.selectById(id) == null) { + throw exception(DELIVER_ORDER_NOT_EXISTS); + } + } + + @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); + } + + 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); + } + +} \ No newline at end of file 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-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..aa567570 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/deliverorder/index.ts @@ -0,0 +1,60 @@ +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 +} + +// 查询发货订单分页 +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 }) +} 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..2faae34b 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', // 系统适配业务状态展示 @@ -233,4 +234,5 @@ 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', // 发货单状态 } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/DeliverOrderForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/DeliverOrderForm.vue new file mode 100644 index 00000000..4131e688 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/DeliverOrderForm.vue @@ -0,0 +1,227 @@ + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/components/DeliverOrderSubForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/components/DeliverOrderSubForm.vue new file mode 100644 index 00000000..e75587cb --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/components/DeliverOrderSubForm.vue @@ -0,0 +1,191 @@ + + \ No newline at end of file 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..67629b68 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue @@ -0,0 +1,265 @@ + + + diff --git a/sql/v1.2.0/1.structure.sql b/sql/v1.2.0/1.structure.sql index b6f8e542..4c9332b8 100644 --- a/sql/v1.2.0/1.structure.sql +++ b/sql/v1.2.0/1.structure.sql @@ -17,12 +17,13 @@ CREATE TABLE `project_deliver_order` ( `sale_order_ids` varchar(255) not null comment '销售订单id列表 多个用英文逗号分割', `customer_id` BIGINT(20) not null comment '客户id', `deliver_date` DATETIME not null comment '发货日期', - `deliver_status` char(1) not null COMMENT '发货单状态 已保存/已发货', + `deliver_status` int(11) not null COMMENT '发货单状态 已保存/已发货', `deliver_person` BIGINT(20) not null comment '发货人', `deliver_person_mobile` varchar(32) not null comment '发货人电话', `deliver_mode` char(1) not null comment '发货方式', - `receive_person_name` BIGINT(20) not null comment '收货人姓名', + `receive_person_name` varchar(16) not null comment '收货人姓名', `receive_person_mobile` varchar(32) not null comment '收货人电话', + `receive_address` varchar(255) not null comment '收货详细地址', `transport_driver_name` varchar(16) comment '司机姓名', `transport_driver_mobile` varchar(32) comment '司机电话', `transport_bus_number` varchar(32) comment '车牌号',