From ff807e0defe40fd6602ca126ca5633c793103416 Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Sun, 19 Jan 2025 21:10:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BF=AE=E6=94=B9=E8=AE=A2?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/app/AppSaleOrderController.java | 7 +- .../admin/saleorder/SaleOrderController.java | 7 +- .../admin/saleorder/vo/SaleOrderRespVO.java | 7 + .../convert/saleorder/SaleOrderConvert.java | 11 +- .../saleorderentry/SaleOrderEntryDO.java | 10 + .../saleorder/SaleOrderServiceImpl.java | 1 + .../src/api/oms/saleorder/index.ts | 1 + .../components/ProductInfoList/DataForm.vue | 70 +++++ .../components/ProductInfoList/config.data.ts | 50 +++ .../src/components/ProductInfoList/index.vue | 287 ++++++++++++++++++ .../src/views/oms/saleorder/detail/index.vue | 287 ++++++++++++------ 11 files changed, 636 insertions(+), 102 deletions(-) create mode 100644 hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/DataForm.vue create mode 100644 hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/config.data.ts create mode 100644 hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/index.vue diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java index ad0f886..713a323 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java @@ -14,8 +14,10 @@ import cn.hangtag.framework.security.core.util.SecurityFrameworkUtils; import cn.hangtag.module.oms.controller.admin.saleorder.front.vo.SaleOrderFollowerUserVO; import cn.hangtag.module.oms.controller.admin.saleorder.vo.*; import cn.hangtag.module.oms.convert.saleorder.SaleOrderConvert; +import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; import cn.hangtag.module.oms.dal.dataobject.customer.CustomerDO; import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import cn.hangtag.module.oms.service.brand.BrandService; import cn.hangtag.module.oms.service.customer.CustomerService; import cn.hangtag.module.oms.service.saleorder.SaleOrderService; import cn.hangtag.module.system.api.user.AdminUserApi; @@ -50,6 +52,8 @@ public class AppSaleOrderController{ @Resource private CustomerService customerService; @Resource + private BrandService brandService; + @Resource private AdminUserApi adminUserApi; @PostMapping("/create") @@ -85,11 +89,12 @@ public class AppSaleOrderController{ List entrys = saleOrderService.getSaleOrderEntryListByParentId(id); CustomerDO customer = customerService.getCustomer(saleOrder.getCustomerId()); + BrandDO brand = brandService.getBrand(saleOrder.getBrandId()); // 1.2 获取修改人 AdminUserRespDTO updater = adminUserApi.getUser(NumberUtils.parseLong(saleOrder.getUpdater())); AdminUserRespDTO auditor = adminUserApi.getUser(NumberUtils.parseLong(saleOrder.getAuditor())); - return success(SaleOrderConvert.INSTANCE.convert(saleOrder,entrys,customer,updater,auditor)); + return success(SaleOrderConvert.INSTANCE.convert(saleOrder,entrys,customer,brand,updater,auditor)); //return success(BeanUtils.toBean(saleOrder, SaleOrderRespVO.class)); } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java index 6cd50d4..20c23ad 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java @@ -2,7 +2,9 @@ package cn.hangtag.module.oms.controller.admin.saleorder; import cn.hangtag.framework.common.util.number.NumberUtils; import cn.hangtag.module.oms.convert.saleorder.SaleOrderConvert; +import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; import cn.hangtag.module.oms.dal.dataobject.customer.CustomerDO; +import cn.hangtag.module.oms.service.brand.BrandService; import cn.hangtag.module.oms.service.customer.CustomerService; import cn.hangtag.module.system.api.user.AdminUserApi; import cn.hangtag.module.system.api.user.dto.AdminUserRespDTO; @@ -49,6 +51,8 @@ public class SaleOrderController { @Resource private CustomerService customerService; @Resource + private BrandService brandService; + @Resource private AdminUserApi adminUserApi; @PostMapping("/create") @@ -88,11 +92,12 @@ public class SaleOrderController { List entrys = saleOrderService.getSaleOrderEntryListByParentId(id); CustomerDO customer = customerService.getCustomer(saleOrder.getCustomerId()); + BrandDO brand = brandService.getBrand(saleOrder.getBrandId()); // 1.2 获取修改人 AdminUserRespDTO updater = adminUserApi.getUser(NumberUtils.parseLong(saleOrder.getUpdater())); AdminUserRespDTO auditor = adminUserApi.getUser(NumberUtils.parseLong(saleOrder.getAuditor())); - return success(SaleOrderConvert.INSTANCE.convert(saleOrder,entrys,customer,updater,auditor)); + return success(SaleOrderConvert.INSTANCE.convert(saleOrder,entrys,customer,brand,updater,auditor)); //return success(BeanUtils.toBean(saleOrder, SaleOrderRespVO.class)); } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java index a031913..69f4f6d 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java @@ -2,6 +2,7 @@ package cn.hangtag.module.oms.controller.admin.saleorder.vo; import cn.hangtag.framework.excel.core.annotations.DictFormat; import cn.hangtag.framework.excel.core.convert.DictConvert; +import cn.hangtag.module.oms.controller.admin.brand.vo.BrandRespVO; import cn.hangtag.module.oms.controller.admin.customer.vo.CustomerRespVO; import cn.hangtag.module.oms.dal.dataobject.customer.CustomerDO; import cn.hangtag.module.oms.enums.DictTypeConstants; @@ -66,6 +67,12 @@ public class SaleOrderRespVO { @ExcelProperty("更新时间") private LocalDateTime updateTime; + @Schema(description = "品牌ID") + private Long brandId; + + @Schema(description = "品牌名称") + private String brandName; + @Schema(description = "创建时间") @ExcelProperty("创建时间") private LocalDateTime createTime; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java index 695772b..0bfc053 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java @@ -4,8 +4,10 @@ package cn.hangtag.module.oms.convert.saleorder; import cn.hangtag.module.oms.controller.admin.customer.vo.CustomerRespVO; import cn.hangtag.module.oms.controller.admin.saleorder.vo.SaleOrderRemarkReqVO; import cn.hangtag.module.oms.controller.admin.saleorder.vo.SaleOrderRespVO; +import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; import cn.hangtag.module.oms.dal.dataobject.customer.CustomerDO; import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO; import cn.hangtag.module.system.api.user.dto.AdminUserRespDTO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; @@ -26,6 +28,7 @@ public interface SaleOrderConvert { @Mapping(source = "emails", target = "emails"), @Mapping(source = "contractType", target = "contractType"), @Mapping(source = "currencyType", target = "currencyType"), + @Mapping(source = "brandId", target = "brandId"), @Mapping(source = "saleContractCode", target = "saleContractCode") }) SaleOrderRespVO convert(SaleOrderDO bean); @@ -38,17 +41,23 @@ public interface SaleOrderConvert { - default SaleOrderRespVO convert(SaleOrderDO saleOrder, List entrys, CustomerDO customer, AdminUserRespDTO updater, AdminUserRespDTO auditor){ + default SaleOrderRespVO convert(SaleOrderDO saleOrder, List entrys, CustomerDO customer, BrandDO brand, AdminUserRespDTO updater, AdminUserRespDTO auditor){ SaleOrderRespVO orderVO = convert(saleOrder); // 处理客户信息 orderVO.setCustomer(convert(customer)); + if(brand!=null){ + orderVO.setBrandName(brand.getName()); + } if(updater!=null){ orderVO.setUpdaterName(updater.getNickname()); } if(auditor!=null){ orderVO.setAuditorName(auditor.getNickname()); } + for (SaleOrderEntryDO entry : entrys) { + entry.setItemKey(entry.getId()+""); + } orderVO.setEntrys(entrys); return orderVO; } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java index 449a974..300030a 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java @@ -27,6 +27,8 @@ public class SaleOrderEntryDO extends BaseDO { */ @TableId private Long id; + @TableField(exist = false) + private String itemKey; /** * 主表id */ @@ -35,6 +37,10 @@ public class SaleOrderEntryDO extends BaseDO { * 物料id */ private Long materialId; + /** + * 物料编码 + */ + private String materialNumber; /** * 物料名称 */ @@ -71,6 +77,10 @@ public class SaleOrderEntryDO extends BaseDO { */ private BigDecimal amount; + /** + * 新增类型 + */ + private Integer newType; // private LocalDateTime deliveryDate; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index 63f23b5..555884e 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -703,6 +703,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { .id(FuncUtil.getNextId()) .parentId(order.getId()) .materialId(itemDTO.getProductId()) + .materialNumber(itemDTO.getProductCode()) .materialName(itemDTO.getProductName()) .qty(itemDTO.getOrderQty()) .deliveryDate(FuncUtil.timeToLocalDate(itemDTO.getDeliveryDate())).build(); diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts index 3826675..a4e6f33 100644 --- a/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts @@ -6,6 +6,7 @@ export interface SaleOrderVO { customerId: number // 客户id bizdate: Date // 业务日期 remark: string // 备注 + brandId: number // 品牌 confirmdate: Date // 确认日期 plansenddate: Date // 计划日期 phone: string // 手机 diff --git a/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/DataForm.vue b/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/DataForm.vue new file mode 100644 index 0000000..8d42ce3 --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/DataForm.vue @@ -0,0 +1,70 @@ + + diff --git a/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/config.data.ts b/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/config.data.ts new file mode 100644 index 0000000..54b3462 --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/config.data.ts @@ -0,0 +1,50 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import {useI18n} from "@/hooks/web/useI18n"; +const {t} = useI18n() +// 表单校验 +export const rules = reactive({ + name: [required], +}) + +// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ +const crudSchemas = reactive([ + { + label: 'id', + field: 'id', + isForm: false, + isTable:false + }, + { + label: t('productDialogList.colLabelCode'), + field: 'code', + isSearch: true, + }, + { + label: t('productDialogList.colLabelType'), + field: 'productTypeId', + isSearch: true, + }, + { + label: t('productDialogList.colLabelCover'), + field: 'cover', + isSearch: false, + }, + { + label: t('productDialogList.colLabelName'), + field: 'name', + isSearch: true, + }, + + { + label: t('productDialogList.colLabelRemark'), + field: 'remark', + isSearch: false, + }, + { + label: t('productDialogList.colLabelDetails'), + field: 'details', + isSearch: false, + } +]) +export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/index.vue b/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/index.vue new file mode 100644 index 0000000..c4c1704 --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/src/components/ProductInfoList/index.vue @@ -0,0 +1,287 @@ + + + + + diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue index 009a475..a68628d 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue @@ -22,25 +22,25 @@ {{ formData.billno }} - + - + + @@ -134,82 +141,94 @@ label-width="0px" :inline-message="true" > - + > - - - - - - + + - - - + + + + + + @@ -217,6 +236,7 @@ + {{ formData.invoiceCode }} @@ -240,6 +260,7 @@ +