diff --git a/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts b/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts
index d254b0a..31c76ba 100644
--- a/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts
+++ b/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts
@@ -1,4 +1,5 @@
import { defHttp } from '@/utils/http/axios'
+import { handleTree } from '@/utils/tree'
// 查询业务线/仓库列表
export function getBusinessWarehousePage(params) {
@@ -32,5 +33,15 @@ export function exportBusinessWarehouse(params) {
// 查询业务线(精简)列表
export function listSimpleBusiness() {
- return defHttp.get({ url: '/system/business-warehouse/list-all-simple' })
- }
+ return defHttp.get({ url: '/system/business-warehouse/list-all-simple' })
+}
+
+ // 查询业务线列表
+export function getBusinessPage(params) {
+ return defHttp.get({ url: '/system/business-warehouse/business', params })
+}
+
+ // 查询业务组织列表
+ export function getBusinessUserList(params) {
+ return defHttp.get({ url: '/system/business-warehouse/business-user', params })
+}
diff --git a/yudao-ui-admin-vben-master/src/views/system/dept/index.vue b/yudao-ui-admin-vben-master/src/views/system/dept/index.vue
index 42b2b2a..4ea0448 100644
--- a/yudao-ui-admin-vben-master/src/views/system/dept/index.vue
+++ b/yudao-ui-admin-vben-master/src/views/system/dept/index.vue
@@ -38,6 +38,7 @@ const [register, { expandAll, collapseAll, getForm, reload }] = useTable({
async function getList() {
const res = await getDeptPage(getForm().getFieldsValue() as any)
+ console.log('dept',res)
return handleTree(res, 'id')
}
diff --git a/yudao-ui-admin-vben-master/src/views/system/user/user.data.ts b/yudao-ui-admin-vben-master/src/views/system/user/user.data.ts
index 87b0af2..5c8b3a6 100644
--- a/yudao-ui-admin-vben-master/src/views/system/user/user.data.ts
+++ b/yudao-ui-admin-vben-master/src/views/system/user/user.data.ts
@@ -30,6 +30,7 @@ export const columns: BasicColumn[] = [
dataIndex: 'deptId',
width: 120,
customRender: ({ record }) => {
+ console.log('record',record)
return useRender.renderTag(record.dept && record.dept.name)
},
},
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue
index 1f4d021..e63c365 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue
@@ -45,6 +45,7 @@ async function handleSubmit() {
if (unref(isUpdate)) {
await updateBusinessWarehouse(values)
} else {
+ values.diffFlag = 1
await createBusinessWarehouse(values)
}
closeModal()
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/businessOrganization.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/businessOrganization.data.ts
index 75d6aab..e6aaaf9 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/businessOrganization.data.ts
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/businessOrganization.data.ts
@@ -175,15 +175,15 @@ export const createFormSchema: FormSchema[] = [
field: 'description',
component: 'InputTextArea'
},
- {
- label: '区分标志',
- field: 'diffFlag',
- required: true,
- component: 'Select',
- componentProps: {
- options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
- }
- },
+ // {
+ // label: '区分标志',
+ // field: 'diffFlag',
+ // required: true,
+ // component: 'Select',
+ // componentProps: {
+ // options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
+ // }
+ // },
]
export const updateFormSchema: FormSchema[] = [
@@ -246,13 +246,13 @@ export const updateFormSchema: FormSchema[] = [
field: 'belongUserId',
component: 'Input'
},
- {
- label: '区分标志',
- field: 'diffFlag',
- required: true,
- component: 'Select',
- componentProps: {
- options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
- }
- },
+ // {
+ // label: '区分标志',
+ // field: 'diffFlag',
+ // required: true,
+ // component: 'Select',
+ // componentProps: {
+ // options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
+ // }
+ // },
]
\ No newline at end of file
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/index.vue
index 6f072bd..5c14c0f 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/index.vue
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/index.vue
@@ -8,6 +8,12 @@
{{ t('action.export') }}
+
+ {{ t('component.tree.expandAll') }}
+
+
+ {{ t('component.tree.unExpandAll') }}
+
@@ -42,6 +48,7 @@ import { IconEnum } from '@/enums/appEnum'
import { BasicTable, useTable, TableAction } from '@/components/Table'
import { deleteBusinessWarehouse, exportBusinessWarehouse, getBusinessWarehousePage } from '@/api/xxjj/businessWarehouse'
import { columns, searchFormSchema } from './businessOrganization.data'
+import { handleTree } from '@/utils/tree'
defineOptions({ name: 'BusinessOrganization' })
@@ -49,13 +56,16 @@ const { t } = useI18n()
const { createConfirm, createMessage } = useMessage()
const [registerModal, { openModal }] = useModal()
-const [registerTable, { getForm, reload }] = useTable({
- title: '业务线列表',
- api: getBusinessWarehousePage,
+const [registerTable, { expandAll, collapseAll, getForm, reload }] = useTable({
+ title: '业务组织列表',
+ api: getList,
columns,
formConfig: { labelWidth: 120, schemas: searchFormSchema },
+ isTreeTable: true,
+ pagination: false,
useSearchForm: true,
showTableSetting: true,
+ showIndexColumn: false,
actionColumn: {
width: 140,
title: t('common.action'),
@@ -72,6 +82,12 @@ function handleEdit(record: Recordable) {
openModal(true, { record, isUpdate: true })
}
+async function getList() {
+ const res = await getBusinessWarehousePage(getForm().getFieldsValue() as any)
+ console.log('dept',res.list)
+ return handleTree(res.list, 'id')
+}
+
async function handleExport() {
createConfirm({
title: t('common.exportTitle'),
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts
index 0542cdd..5d081d1 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts
@@ -1,48 +1,86 @@
import { BasicColumn, FormSchema, useRender } from '@/components/Table'
import { DICT_TYPE, getDictOptions } from '@/utils/dict'
+import { getListSimpleUsers, getUserPage } from '@/api/system/user'
+import { listSimpleBusiness } from '@/api/xxjj/businessWarehouse'
+import { handleTree,listToTree } from '@/utils/tree'
+
+
+let users: any[] = []
+let user: any[] = []
+async function getUserList() {
+ const res = await listSimpleBusiness()
+ user = await getListSimpleUsers()
+ console.log('res',res)
+ const result = handleTree(res, 'id')
+ listToTree(result)
+ users = result
+ console.log('user',users)
+}
+
+await getUserList()
export const columns: BasicColumn[] = [
{
- title: '业务线名称',
- dataIndex: 'name',
+ title: '姓名',
+ dataIndex: 'nickname',
width: 160
},
{
- title: '类型',
- dataIndex: 'type',
+ title: '职务',
+ dataIndex: 'postName',
width: 180,
customRender: ({ text }) => {
- return useRender.renderDict(text, DICT_TYPE.BUSINESS_TYPE)
+ console.log('zhiwu',text)
+ return useRender.renderTag(text)
}
},
{
- title: '状态',
- dataIndex: 'type',
- width: 180,
+ title: '组织部门',
+ dataIndex: 'deptName',
+ width: 160,
customRender: ({ text }) => {
- return useRender.renderDict(text, DICT_TYPE.CLASS_STATUS)
- }
+ return useRender.renderTag(text)
+ },
},
{
- title: '关联机构',
- dataIndex: 'institutionNum',
+ title: '关联业务',
+ dataIndex: 'businessName',
width: 160
},
{
- title: '成员数量',
- dataIndex: 'employeeNum',
- width: 160
+ title: '帐号状态',
+ dataIndex: 'accountStatus',
+ width: 160,
+ customRender: ({ text }) => {
+ return useRender.renderDict(text, DICT_TYPE.COMMON_STATUS)
+ }
},
{
- title: '主管人员',
- dataIndex: 'belongUserId',
+ title: '手机',
+ dataIndex: 'mobile',
width: 160
},
{
- title: '介绍',
+ title: '在线状态',
dataIndex: 'description',
width: 160
},
+ {
+ title: '最后登录',
+ dataIndex: 'loginDate',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ },
+ {
+ title: '添加时间',
+ dataIndex: 'createTime',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ },
{
title: '更新时间',
dataIndex: 'updateTime',
@@ -55,11 +93,17 @@ export const columns: BasicColumn[] = [
export const searchFormSchema: FormSchema[] = [
{
- label: '业务线名称',
- field: 'name',
+ label: '姓名',
+ field: 'nickname',
component: 'Input',
colProps: { span: 8 }
},
+ {
+ label: '最后登录时间',
+ field: 'loginTime',
+ component: 'RangePicker',
+ colProps: { span: 8 }
+ },
// {
// label: '类型',
// field: 'type',
@@ -109,72 +153,17 @@ export const searchFormSchema: FormSchema[] = [
export const createFormSchema: FormSchema[] = [
{
- label: '编号',
- field: 'id',
- show: false,
- component: 'Input'
- },
- {
- label: '业务线编号',
- field: 'businessCode',
- required: true,
- component: 'Input'
- },
- {
- label: '业务线名称',
+ label: '成员',
field: 'name',
required: true,
- component: 'Input'
- },
- {
- label: '业务线简称',
- field: 'businessSimple',
- component: 'Input'
- },
- {
- label: '类型',
- field: 'type',
- component: 'Select',
- componentProps: {
- options: getDictOptions(DICT_TYPE.BUSINESS_TYPE, 'number')
- }
- },
- {
- label: '所属行业',
- field: 'industry',
- component: 'Select',
- componentProps: {
- options: getDictOptions(DICT_TYPE.DUTY_TYPE, 'number')
- }
- },
- {
- label: '所在城市',
- field: 'city',
- component: 'Input'
- },
- {
- label: '成立时间',
- field: 'establishDate',
- component: 'DatePicker'
- },
- {
- label: '介绍',
- field: 'description',
- component: 'InputTextArea'
- },
- {
- label: '归属人员',
- field: 'belongUserId',
- component: 'Input'
- },
- {
- label: '区分标志',
- field: 'diffFlag',
- required: true,
- component: 'Select',
+ component: 'ApiTransfer',
componentProps: {
- options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
- }
+ // api: () => listSimpleBusiness(),
+ dataSource: users,
+ showSearch: true,
+ labelField: 'name',
+ valueField: 'id',
+ },
},
]
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue
index 7467aa8..6febdb4 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue
@@ -42,7 +42,7 @@ import { useModal } from '@/components/Modal'
import BusinessWarehouseModal from './BusinessWarehouseModal.vue'
import { IconEnum } from '@/enums/appEnum'
import { BasicTable, useTable, TableAction } from '@/components/Table'
-import { deleteBusinessWarehouse, exportBusinessWarehouse, getBusinessWarehousePage } from '@/api/xxjj/businessWarehouse'
+import { deleteBusinessWarehouse, exportBusinessWarehouse, getBusinessWarehousePage, getBusinessUserList } from '@/api/xxjj/businessWarehouse'
import { columns, searchFormSchema } from './businessWarehouse.data'
import BusinessTree from './BusinessTree.vue'
@@ -54,8 +54,8 @@ const [registerModal, { openModal }] = useModal()
const searchInfo = reactive({})
const [registerTable, { getForm, reload }] = useTable({
- title: '业务线/仓库列表',
- api: getBusinessWarehousePage,
+ title: '业务组织配置列表',
+ api: getBusinessUserList,
columns,
formConfig: { labelWidth: 120, schemas: searchFormSchema },
useSearchForm: true,
@@ -95,8 +95,9 @@ async function handleDelete(record: Recordable) {
}
/** 点击部门操作 */
-function handleSelect(deptId = '') {
- searchInfo.deptId = deptId
+function handleSelect(id = '') {
+ searchInfo.businessId = id
+ console.log('info',searchInfo)
reload()
}
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue
index af624f5..994099f 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue
@@ -45,6 +45,7 @@ async function handleSubmit() {
if (unref(isUpdate)) {
await updateBusinessWarehouse(values)
} else {
+ values.diffFlag = 0
await createBusinessWarehouse(values)
}
closeModal()
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts
index f98e2e2..769605b 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts
@@ -167,15 +167,15 @@ export const createFormSchema: FormSchema[] = [
field: 'belongUserId',
component: 'Input'
},
- {
- label: '区分标志',
- field: 'diffFlag',
- required: true,
- component: 'Select',
- componentProps: {
- options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
- }
- },
+ // {
+ // label: '区分标志',
+ // field: 'diffFlag',
+ // required: true,
+ // component: 'Select',
+ // componentProps: {
+ // options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
+ // }
+ // },
]
export const updateFormSchema: FormSchema[] = [
@@ -238,13 +238,13 @@ export const updateFormSchema: FormSchema[] = [
field: 'belongUserId',
component: 'Input'
},
- {
- label: '区分标志',
- field: 'diffFlag',
- required: true,
- component: 'Select',
- componentProps: {
- options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
- }
- },
+ // {
+ // label: '区分标志',
+ // field: 'diffFlag',
+ // required: true,
+ // component: 'Select',
+ // componentProps: {
+ // options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
+ // }
+ // },
]
diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue
index 6bf4ca8..af32c91 100644
--- a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue
+++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue
@@ -13,6 +13,9 @@
queryWrapper) {
// MyBatis Plus 查询
diff --git a/yunxi-module-system/yunxi-module-system-api/src/main/java/com/yunxi/scm/module/system/enums/ErrorCodeConstants.java b/yunxi-module-system/yunxi-module-system-api/src/main/java/com/yunxi/scm/module/system/enums/ErrorCodeConstants.java
index 89923e7..a988e0c 100644
--- a/yunxi-module-system/yunxi-module-system-api/src/main/java/com/yunxi/scm/module/system/enums/ErrorCodeConstants.java
+++ b/yunxi-module-system/yunxi-module-system-api/src/main/java/com/yunxi/scm/module/system/enums/ErrorCodeConstants.java
@@ -169,6 +169,9 @@ public interface ErrorCodeConstants {
// ========== 业务线表 TODO 补充编号 ==========
ErrorCode BUSINESS_WAREHOUSE_NOT_EXISTS = new ErrorCode(1002025019, "业务线表不存在");
-
+ // ========== 业务线和用户关联 TODO 补充编号 ==========
+ ErrorCode BUSINESS_USER_RELATIONAL_NOT_EXISTS = new ErrorCode(1002025020, "业务线和用户关联不存在");
+ // ========== 业务线和机构关联 TODO 补充编号 ==========
+ ErrorCode BUSINESS_ENTERPRISE_RELATIONAL_NOT_EXISTS = new ErrorCode(1002025021, "业务线和机构关联不存在");
}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/BusinessEnterpriseRelationalController.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/BusinessEnterpriseRelationalController.java
new file mode 100644
index 0000000..22460a1
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/BusinessEnterpriseRelationalController.java
@@ -0,0 +1,102 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational;
+
+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.yunxi.scm.framework.common.pojo.PageResult;
+import com.yunxi.scm.framework.common.pojo.CommonResult;
+import static com.yunxi.scm.framework.common.pojo.CommonResult.success;
+
+import com.yunxi.scm.framework.excel.core.util.ExcelUtils;
+
+import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog;
+import static com.yunxi.scm.framework.operatelog.core.enums.OperateTypeEnum.*;
+
+import com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO;
+import com.yunxi.scm.module.system.convert.businessenterpriserelational.BusinessEnterpriseRelationalConvert;
+import com.yunxi.scm.module.system.service.businessenterpriserelational.BusinessEnterpriseRelationalService;
+
+@Tag(name = "管理后台 - 业务线和机构关联")
+@RestController
+@RequestMapping("/system/business-enterprise-relational")
+@Validated
+public class BusinessEnterpriseRelationalController {
+
+ @Resource
+ private BusinessEnterpriseRelationalService businessEnterpriseRelationalService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建业务线和机构关联")
+ @PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:create')")
+ public CommonResult createBusinessEnterpriseRelational(@Valid @RequestBody BusinessEnterpriseRelationalCreateReqVO createReqVO) {
+ return success(businessEnterpriseRelationalService.createBusinessEnterpriseRelational(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新业务线和机构关联")
+ @PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:update')")
+ public CommonResult updateBusinessEnterpriseRelational(@Valid @RequestBody BusinessEnterpriseRelationalUpdateReqVO updateReqVO) {
+ businessEnterpriseRelationalService.updateBusinessEnterpriseRelational(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除业务线和机构关联")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:delete')")
+ public CommonResult deleteBusinessEnterpriseRelational(@RequestParam("id") Long id) {
+ businessEnterpriseRelationalService.deleteBusinessEnterpriseRelational(id);
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得业务线和机构关联")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:query')")
+ public CommonResult getBusinessEnterpriseRelational(@RequestParam("id") Long id) {
+ BusinessEnterpriseRelationalDO businessEnterpriseRelational = businessEnterpriseRelationalService.getBusinessEnterpriseRelational(id);
+ return success(BusinessEnterpriseRelationalConvert.INSTANCE.convert(businessEnterpriseRelational));
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "获得业务线和机构关联列表")
+ @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
+ @PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:query')")
+ public CommonResult> getBusinessEnterpriseRelationalList(@RequestParam("ids") Collection ids) {
+ List list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(ids);
+ return success(BusinessEnterpriseRelationalConvert.INSTANCE.convertList(list));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得业务线和机构关联分页")
+ @PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:query')")
+ public CommonResult> getBusinessEnterpriseRelationalPage(@Valid BusinessEnterpriseRelationalPageReqVO pageVO) {
+ PageResult pageResult = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalPage(pageVO);
+ return success(BusinessEnterpriseRelationalConvert.INSTANCE.convertPage(pageResult));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出业务线和机构关联 Excel")
+ @PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:export')")
+ @OperateLog(type = EXPORT)
+ public void exportBusinessEnterpriseRelationalExcel(@Valid BusinessEnterpriseRelationalExportReqVO exportReqVO,
+ HttpServletResponse response) throws IOException {
+ List list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(exportReqVO);
+ // 导出 Excel
+ List datas = BusinessEnterpriseRelationalConvert.INSTANCE.convertList02(list);
+ ExcelUtils.write(response, "业务线和机构关联.xls", "数据", BusinessEnterpriseRelationalExcelVO.class, datas);
+ }
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalBaseVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalBaseVO.java
new file mode 100644
index 0000000..22136ba
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalBaseVO.java
@@ -0,0 +1,25 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import javax.validation.constraints.*;
+
+/**
+ * 业务线和机构关联 Base VO,提供给添加、修改、详细的子 VO 使用
+ * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
+ */
+@Data
+public class BusinessEnterpriseRelationalBaseVO {
+
+ @Schema(description = "业务线id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3256")
+ @NotNull(message = "业务线id不能为空")
+ private Long businessId;
+
+ @Schema(description = "企业id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15640")
+ @NotNull(message = "企业id不能为空")
+ private Long enterpriseId;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalCreateReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalCreateReqVO.java
new file mode 100644
index 0000000..76f1aee
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalCreateReqVO.java
@@ -0,0 +1,14 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - 业务线和机构关联创建 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class BusinessEnterpriseRelationalCreateReqVO extends BusinessEnterpriseRelationalBaseVO {
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExcelVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExcelVO.java
new file mode 100644
index 0000000..f299788
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExcelVO.java
@@ -0,0 +1,31 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+
+/**
+ * 业务线和机构关联 Excel VO
+ *
+ * @author 长江云息
+ */
+@Data
+public class BusinessEnterpriseRelationalExcelVO {
+
+ @ExcelProperty("主键id")
+ private Long id;
+
+ @ExcelProperty("业务线id")
+ private Long businessId;
+
+ @ExcelProperty("企业id")
+ private Long enterpriseId;
+
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExportReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExportReqVO.java
new file mode 100644
index 0000000..f6880a9
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExportReqVO.java
@@ -0,0 +1,26 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.yunxi.scm.framework.common.pojo.PageParam;
+import java.time.LocalDateTime;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 业务线和机构关联 Excel 导出 Request VO,参数和 BusinessEnterpriseRelationalPageReqVO 是一致的")
+@Data
+public class BusinessEnterpriseRelationalExportReqVO {
+
+ @Schema(description = "业务线id", example = "3256")
+ private Long businessId;
+
+ @Schema(description = "企业id", example = "15640")
+ private Long enterpriseId;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalPageReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalPageReqVO.java
new file mode 100644
index 0000000..c0ccd76
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalPageReqVO.java
@@ -0,0 +1,28 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.yunxi.scm.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.yunxi.scm.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 BusinessEnterpriseRelationalPageReqVO extends PageParam {
+
+ @Schema(description = "业务线id", example = "3256")
+ private Long businessId;
+
+ @Schema(description = "企业id", example = "15640")
+ private Long enterpriseId;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalRespVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalRespVO.java
new file mode 100644
index 0000000..26188dc
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalRespVO.java
@@ -0,0 +1,19 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 业务线和机构关联 Response VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class BusinessEnterpriseRelationalRespVO extends BusinessEnterpriseRelationalBaseVO {
+
+ @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21519")
+ private Long id;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ private LocalDateTime createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalUpdateReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalUpdateReqVO.java
new file mode 100644
index 0000000..d1397e2
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalUpdateReqVO.java
@@ -0,0 +1,18 @@
+package com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - 业务线和机构关联更新 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class BusinessEnterpriseRelationalUpdateReqVO extends BusinessEnterpriseRelationalBaseVO {
+
+ @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21519")
+ @NotNull(message = "主键id不能为空")
+ private Long id;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/BusinessUserRelationalController.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/BusinessUserRelationalController.java
new file mode 100644
index 0000000..68c3c16
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/BusinessUserRelationalController.java
@@ -0,0 +1,102 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational;
+
+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.yunxi.scm.framework.common.pojo.PageResult;
+import com.yunxi.scm.framework.common.pojo.CommonResult;
+import static com.yunxi.scm.framework.common.pojo.CommonResult.success;
+
+import com.yunxi.scm.framework.excel.core.util.ExcelUtils;
+
+import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog;
+import static com.yunxi.scm.framework.operatelog.core.enums.OperateTypeEnum.*;
+
+import com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessuserrelational.BusinessUserRelationalDO;
+import com.yunxi.scm.module.system.convert.businessuserrelational.BusinessUserRelationalConvert;
+import com.yunxi.scm.module.system.service.businessuserrelational.BusinessUserRelationalService;
+
+@Tag(name = "管理后台 - 业务线和用户关联")
+@RestController
+@RequestMapping("/system/business-user-relational")
+@Validated
+public class BusinessUserRelationalController {
+
+ @Resource
+ private BusinessUserRelationalService businessUserRelationalService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建业务线和用户关联")
+ @PreAuthorize("@ss.hasPermission('system:business-user-relational:create')")
+ public CommonResult createBusinessUserRelational(@Valid @RequestBody BusinessUserRelationalCreateReqVO createReqVO) {
+ return success(businessUserRelationalService.createBusinessUserRelational(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新业务线和用户关联")
+ @PreAuthorize("@ss.hasPermission('system:business-user-relational:update')")
+ public CommonResult updateBusinessUserRelational(@Valid @RequestBody BusinessUserRelationalUpdateReqVO updateReqVO) {
+ businessUserRelationalService.updateBusinessUserRelational(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除业务线和用户关联")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('system:business-user-relational:delete')")
+ public CommonResult deleteBusinessUserRelational(@RequestParam("id") Long id) {
+ businessUserRelationalService.deleteBusinessUserRelational(id);
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得业务线和用户关联")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('system:business-user-relational:query')")
+ public CommonResult getBusinessUserRelational(@RequestParam("id") Long id) {
+ BusinessUserRelationalDO businessUserRelational = businessUserRelationalService.getBusinessUserRelational(id);
+ return success(BusinessUserRelationalConvert.INSTANCE.convert(businessUserRelational));
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "获得业务线和用户关联列表")
+ @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
+ @PreAuthorize("@ss.hasPermission('system:business-user-relational:query')")
+ public CommonResult> getBusinessUserRelationalList(@RequestParam("ids") Collection ids) {
+ List list = businessUserRelationalService.getBusinessUserRelationalList(ids);
+ return success(BusinessUserRelationalConvert.INSTANCE.convertList(list));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得业务线和用户关联分页")
+ @PreAuthorize("@ss.hasPermission('system:business-user-relational:query')")
+ public CommonResult> getBusinessUserRelationalPage(@Valid BusinessUserRelationalPageReqVO pageVO) {
+ PageResult pageResult = businessUserRelationalService.getBusinessUserRelationalPage(pageVO);
+ return success(BusinessUserRelationalConvert.INSTANCE.convertPage(pageResult));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出业务线和用户关联 Excel")
+ @PreAuthorize("@ss.hasPermission('system:business-user-relational:export')")
+ @OperateLog(type = EXPORT)
+ public void exportBusinessUserRelationalExcel(@Valid BusinessUserRelationalExportReqVO exportReqVO,
+ HttpServletResponse response) throws IOException {
+ List list = businessUserRelationalService.getBusinessUserRelationalList(exportReqVO);
+ // 导出 Excel
+ List datas = BusinessUserRelationalConvert.INSTANCE.convertList02(list);
+ ExcelUtils.write(response, "业务线和用户关联.xls", "数据", BusinessUserRelationalExcelVO.class, datas);
+ }
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalBaseVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalBaseVO.java
new file mode 100644
index 0000000..5fb8716
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalBaseVO.java
@@ -0,0 +1,25 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import javax.validation.constraints.*;
+
+/**
+ * 业务线和用户关联 Base VO,提供给添加、修改、详细的子 VO 使用
+ * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
+ */
+@Data
+public class BusinessUserRelationalBaseVO {
+
+ @Schema(description = "业务线/仓库id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29863")
+ @NotNull(message = "业务线/仓库id不能为空")
+ private Long businessId;
+
+ @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2593")
+ @NotNull(message = "用户id不能为空")
+ private Long userId;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalCreateReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalCreateReqVO.java
new file mode 100644
index 0000000..7f7d659
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalCreateReqVO.java
@@ -0,0 +1,14 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - 业务线和用户关联创建 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class BusinessUserRelationalCreateReqVO extends BusinessUserRelationalBaseVO {
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalExcelVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalExcelVO.java
new file mode 100644
index 0000000..e9638c9
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalExcelVO.java
@@ -0,0 +1,31 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+
+/**
+ * 业务线和用户关联 Excel VO
+ *
+ * @author 长江云息
+ */
+@Data
+public class BusinessUserRelationalExcelVO {
+
+ @ExcelProperty("主键id")
+ private Long id;
+
+ @ExcelProperty("业务线/仓库id")
+ private Long businessId;
+
+ @ExcelProperty("用户id")
+ private Long userId;
+
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalExportReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalExportReqVO.java
new file mode 100644
index 0000000..82392cb
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalExportReqVO.java
@@ -0,0 +1,26 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.yunxi.scm.framework.common.pojo.PageParam;
+import java.time.LocalDateTime;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 业务线和用户关联 Excel 导出 Request VO,参数和 BusinessUserRelationalPageReqVO 是一致的")
+@Data
+public class BusinessUserRelationalExportReqVO {
+
+ @Schema(description = "业务线/仓库id", example = "29863")
+ private Long businessId;
+
+ @Schema(description = "用户id", example = "2593")
+ private Long userId;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalPageReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalPageReqVO.java
new file mode 100644
index 0000000..1677ed1
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalPageReqVO.java
@@ -0,0 +1,28 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.yunxi.scm.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.yunxi.scm.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 BusinessUserRelationalPageReqVO extends PageParam {
+
+ @Schema(description = "业务线/仓库id", example = "29863")
+ private Long businessId;
+
+ @Schema(description = "用户id", example = "2593")
+ private Long userId;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalRespVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalRespVO.java
new file mode 100644
index 0000000..daf622b
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalRespVO.java
@@ -0,0 +1,19 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 业务线和用户关联 Response VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class BusinessUserRelationalRespVO extends BusinessUserRelationalBaseVO {
+
+ @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17732")
+ private Long id;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ private LocalDateTime createTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalUpdateReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalUpdateReqVO.java
new file mode 100644
index 0000000..0a24b57
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businessuserrelational/vo/BusinessUserRelationalUpdateReqVO.java
@@ -0,0 +1,18 @@
+package com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - 业务线和用户关联更新 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class BusinessUserRelationalUpdateReqVO extends BusinessUserRelationalBaseVO {
+
+ @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17732")
+ @NotNull(message = "主键id不能为空")
+ private Long id;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businesswarehouse/BusinessWarehouseController.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businesswarehouse/BusinessWarehouseController.java
index d4a98e8..616aa9f 100644
--- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businesswarehouse/BusinessWarehouseController.java
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businesswarehouse/BusinessWarehouseController.java
@@ -93,6 +93,14 @@ public class BusinessWarehouseController {
return success(BusinessWarehouseConvert.INSTANCE.convertPage(pageResult));
}
+ @GetMapping("/business")
+ @Operation(summary = "获得业务线分页")
+ @PreAuthorize("@ss.hasPermission('system:business-warehouse:business')")
+ public CommonResult> getBusinessPage(@Valid BusinessWarehousePageReqVO pageVO) {
+ PageResult pageResult = businessWarehouseService.getBusinessPage(pageVO);
+ return success(BusinessWarehouseConvert.INSTANCE.convertPage(pageResult));
+ }
+
@GetMapping("/export-excel")
@Operation(summary = "导出业务线表 Excel")
@PreAuthorize("@ss.hasPermission('system:business-warehouse:export')")
@@ -118,4 +126,12 @@ public class BusinessWarehouseController {
return success(BusinessWarehouseConvert.INSTANCE.convertList03(list));
}
+ @GetMapping("/business-user")
+ @Operation(summary = "获得业务线分页")
+ @PreAuthorize("@ss.hasPermission('system:business-warehouse:business-user')")
+ public CommonResult> getBusinessUserPage(BusinessUserVO reqVO) {
+ PageResult pageResult = businessWarehouseService.getBusinessUserList(reqVO);
+ return success(pageResult);
+ }
+
}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businesswarehouse/vo/BusinessUserVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businesswarehouse/vo/BusinessUserVO.java
new file mode 100644
index 0000000..8d77fde
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/businesswarehouse/vo/BusinessUserVO.java
@@ -0,0 +1,44 @@
+package com.yunxi.scm.module.system.controller.admin.businesswarehouse.vo;
+
+
+import com.yunxi.scm.framework.common.pojo.PageParam;
+import com.yunxi.scm.module.system.dal.dataobject.businesswarehouse.BusinessWarehouseDO;
+import com.yunxi.scm.module.system.dal.dataobject.user.AdminUserDO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 业务线员工信息 Response VO")
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class BusinessUserVO extends AdminUserDO {
+
+
+ @Schema(description = "帐号状态")
+ private Integer accountStatus;
+ @Schema(description = "业务编号")
+ private Integer businessId;
+ @Schema(description = "业务名称")
+ private String businessName;
+ @Schema(description = "员工编号")
+ private Integer userId;
+ @Schema(description = "分页")
+ private Integer pageNo;
+ @Schema(description = "分页")
+ private Integer pageSize;
+ @Schema(description = "部门名称")
+ private String deptName;
+ @Schema(description = "职务名称")
+ private String postName;
+ @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] loginTime;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java
index 488befe..34d984a 100644
--- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java
@@ -106,4 +106,16 @@ public class DeptController {
return success(DeptConvert.INSTANCE.convert(deptService.getDept(id)));
}
+ @GetMapping("/list-user-simple")
+ @Operation(summary = "获取部门用户精简信息列表", description = "只包含被开启的部门,主要用于前端的下拉选项")
+ public CommonResult> getSimpleDeptUserList() {
+ // 获得部门列表,只要开启状态的
+ DeptListReqVO reqVO = new DeptListReqVO();
+ reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
+ List list = deptService.getDeptList(reqVO);
+ // 排序后,返回给前端
+ list.sort(Comparator.comparing(DeptDO::getSort));
+ return success(DeptConvert.INSTANCE.convertList02(list));
+ }
+
}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java
index c1b8987..a9b1ba5 100644
--- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java
@@ -23,4 +23,6 @@ public class DeptSimpleRespVO {
@Schema(description = "父部门 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long parentId;
+
+
}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/convert/businessenterpriserelational/BusinessEnterpriseRelationalConvert.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/convert/businessenterpriserelational/BusinessEnterpriseRelationalConvert.java
new file mode 100644
index 0000000..a2f19ec
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/convert/businessenterpriserelational/BusinessEnterpriseRelationalConvert.java
@@ -0,0 +1,34 @@
+package com.yunxi.scm.module.system.convert.businessenterpriserelational;
+
+import java.util.*;
+
+import com.yunxi.scm.framework.common.pojo.PageResult;
+
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+import com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO;
+
+/**
+ * 业务线和机构关联 Convert
+ *
+ * @author 长江云息
+ */
+@Mapper
+public interface BusinessEnterpriseRelationalConvert {
+
+ BusinessEnterpriseRelationalConvert INSTANCE = Mappers.getMapper(BusinessEnterpriseRelationalConvert.class);
+
+ BusinessEnterpriseRelationalDO convert(BusinessEnterpriseRelationalCreateReqVO bean);
+
+ BusinessEnterpriseRelationalDO convert(BusinessEnterpriseRelationalUpdateReqVO bean);
+
+ BusinessEnterpriseRelationalRespVO convert(BusinessEnterpriseRelationalDO bean);
+
+ List convertList(List list);
+
+ PageResult convertPage(PageResult page);
+
+ List convertList02(List list);
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/convert/businessuserrelational/BusinessUserRelationalConvert.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/convert/businessuserrelational/BusinessUserRelationalConvert.java
new file mode 100644
index 0000000..7c20981
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/convert/businessuserrelational/BusinessUserRelationalConvert.java
@@ -0,0 +1,34 @@
+package com.yunxi.scm.module.system.convert.businessuserrelational;
+
+import java.util.*;
+
+import com.yunxi.scm.framework.common.pojo.PageResult;
+
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+import com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessuserrelational.BusinessUserRelationalDO;
+
+/**
+ * 业务线和用户关联 Convert
+ *
+ * @author 长江云息
+ */
+@Mapper
+public interface BusinessUserRelationalConvert {
+
+ BusinessUserRelationalConvert INSTANCE = Mappers.getMapper(BusinessUserRelationalConvert.class);
+
+ BusinessUserRelationalDO convert(BusinessUserRelationalCreateReqVO bean);
+
+ BusinessUserRelationalDO convert(BusinessUserRelationalUpdateReqVO bean);
+
+ BusinessUserRelationalRespVO convert(BusinessUserRelationalDO bean);
+
+ List convertList(List list);
+
+ PageResult convertPage(PageResult page);
+
+ List convertList02(List list);
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/businessenterpriserelational/BusinessEnterpriseRelationalDO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/businessenterpriserelational/BusinessEnterpriseRelationalDO.java
new file mode 100644
index 0000000..ef4fd9c
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/businessenterpriserelational/BusinessEnterpriseRelationalDO.java
@@ -0,0 +1,39 @@
+package com.yunxi.scm.module.system.dal.dataobject.businessenterpriserelational;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import com.yunxi.scm.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 业务线和机构关联 DO
+ *
+ * @author 长江云息
+ */
+@TableName("system_business_enterprise_relational")
+@KeySequence("system_business_enterprise_relational_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class BusinessEnterpriseRelationalDO extends BaseDO {
+
+ /**
+ * 主键id
+ */
+ @TableId
+ private Long id;
+ /**
+ * 业务线id
+ */
+ private Long businessId;
+ /**
+ * 企业id
+ */
+ private Long enterpriseId;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/businessuserrelational/BusinessUserRelationalDO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/businessuserrelational/BusinessUserRelationalDO.java
new file mode 100644
index 0000000..cf2e542
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/businessuserrelational/BusinessUserRelationalDO.java
@@ -0,0 +1,39 @@
+package com.yunxi.scm.module.system.dal.dataobject.businessuserrelational;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import com.yunxi.scm.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 业务线和用户关联 DO
+ *
+ * @author 长江云息
+ */
+@TableName("system_business_user_relational")
+@KeySequence("system_business_user_relational_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class BusinessUserRelationalDO extends BaseDO {
+
+ /**
+ * 主键id
+ */
+ @TableId
+ private Long id;
+ /**
+ * 业务线/仓库id
+ */
+ private Long businessId;
+ /**
+ * 用户id
+ */
+ private Long userId;
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businessenterpriserelational/BusinessEnterpriseRelationalMapper.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businessenterpriserelational/BusinessEnterpriseRelationalMapper.java
new file mode 100644
index 0000000..07e0ad3
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businessenterpriserelational/BusinessEnterpriseRelationalMapper.java
@@ -0,0 +1,36 @@
+package com.yunxi.scm.module.system.dal.mysql.businessenterpriserelational;
+
+import java.util.*;
+
+import com.yunxi.scm.framework.common.pojo.PageResult;
+import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
+import com.yunxi.scm.module.system.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO;
+import org.apache.ibatis.annotations.Mapper;
+import com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo.*;
+
+/**
+ * 业务线和机构关联 Mapper
+ *
+ * @author 长江云息
+ */
+@Mapper
+public interface BusinessEnterpriseRelationalMapper extends BaseMapperX {
+
+ default PageResult selectPage(BusinessEnterpriseRelationalPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId())
+ .eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId())
+ .betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(BusinessEnterpriseRelationalDO::getId));
+ }
+
+ default List selectList(BusinessEnterpriseRelationalExportReqVO reqVO) {
+ return selectList(new LambdaQueryWrapperX()
+ .eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId())
+ .eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId())
+ .betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(BusinessEnterpriseRelationalDO::getId));
+ }
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businessuserrelational/BusinessUserRelationalMapper.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businessuserrelational/BusinessUserRelationalMapper.java
new file mode 100644
index 0000000..05d3c41
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businessuserrelational/BusinessUserRelationalMapper.java
@@ -0,0 +1,36 @@
+package com.yunxi.scm.module.system.dal.mysql.businessuserrelational;
+
+import java.util.*;
+
+import com.yunxi.scm.framework.common.pojo.PageResult;
+import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
+import com.yunxi.scm.module.system.dal.dataobject.businessuserrelational.BusinessUserRelationalDO;
+import org.apache.ibatis.annotations.Mapper;
+import com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo.*;
+
+/**
+ * 业务线和用户关联 Mapper
+ *
+ * @author 长江云息
+ */
+@Mapper
+public interface BusinessUserRelationalMapper extends BaseMapperX {
+
+ default PageResult selectPage(BusinessUserRelationalPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId())
+ .eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId())
+ .betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(BusinessUserRelationalDO::getId));
+ }
+
+ default List selectList(BusinessUserRelationalExportReqVO reqVO) {
+ return selectList(new LambdaQueryWrapperX()
+ .eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId())
+ .eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId())
+ .betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(BusinessUserRelationalDO::getId));
+ }
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java
index bfe4435..12b7d9d 100644
--- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java
@@ -2,12 +2,19 @@ package com.yunxi.scm.module.system.dal.mysql.businesswarehouse;
import java.util.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
import com.yunxi.scm.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
+import com.yunxi.scm.module.system.dal.dataobject.businessuserrelational.BusinessUserRelationalDO;
import com.yunxi.scm.module.system.dal.dataobject.businesswarehouse.BusinessWarehouseDO;
import com.yunxi.scm.module.system.dal.dataobject.dept.DeptDO;
+import com.yunxi.scm.module.system.dal.dataobject.dept.PostDO;
+import com.yunxi.scm.module.system.dal.dataobject.dept.UserPostDO;
+import com.yunxi.scm.module.system.dal.dataobject.user.AdminUserDO;
import org.apache.ibatis.annotations.Mapper;
import com.yunxi.scm.module.system.controller.admin.businesswarehouse.vo.*;
@@ -75,5 +82,50 @@ public interface BusinessWarehouseMapper extends BaseMapperX getBusinessWarehouseListByUserId(Long id);
+
+ default PageResult selectBusinessPage(BusinessWarehousePageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(BusinessWarehouseDO::getBusinessCode, reqVO.getBusinessCode())
+ .likeIfPresent(BusinessWarehouseDO::getName, reqVO.getName())
+ .eqIfPresent(BusinessWarehouseDO::getBusinessSimple, reqVO.getBusinessSimple())
+ .eqIfPresent(BusinessWarehouseDO::getBusinessLogo, reqVO.getBusinessLogo())
+ .eqIfPresent(BusinessWarehouseDO::getParentId, reqVO.getParentId())
+ .eqIfPresent(BusinessWarehouseDO::getType, reqVO.getType())
+ .eqIfPresent(BusinessWarehouseDO::getStatus, reqVO.getStatus())
+ .eqIfPresent(BusinessWarehouseDO::getInstitutionNum, reqVO.getInstitutionNum())
+ .eqIfPresent(BusinessWarehouseDO::getEmployeeNum, reqVO.getEmployeeNum())
+ .eqIfPresent(BusinessWarehouseDO::getIndustry, reqVO.getIndustry())
+ .eqIfPresent(BusinessWarehouseDO::getCity, reqVO.getCity())
+ .betweenIfPresent(BusinessWarehouseDO::getEstablishDate, reqVO.getEstablishDate())
+ .eqIfPresent(BusinessWarehouseDO::getBelongUserId, reqVO.getBelongUserId())
+ .likeIfPresent(BusinessWarehouseDO::getBrandName, reqVO.getBrandName())
+ .eqIfPresent(BusinessWarehouseDO::getPhone, reqVO.getPhone())
+ .eqIfPresent(BusinessWarehouseDO::getDiffFlag, "0")
+ .eqIfPresent(BusinessWarehouseDO::getFax, reqVO.getFax())
+ .eqIfPresent(BusinessWarehouseDO::getUrl, reqVO.getUrl())
+ .eqIfPresent(BusinessWarehouseDO::getDescription, reqVO.getDescription())
+ .betweenIfPresent(BusinessWarehouseDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(BusinessWarehouseDO::getId));
+ }
+
+ default IPage selectBusinessUserPage(Page page,BusinessUserVO reqVO) {
+ return selectJoinPage(page,BusinessUserVO.class, new MPJLambdaWrapper()
+ .selectAll(AdminUserDO.class)
+ .selectAs(AdminUserDO::getStatus, BusinessUserVO::getAccountStatus)
+ .selectAs(DeptDO::getName, BusinessUserVO::getDeptName)
+ .selectAs(PostDO::getName, BusinessUserVO::getPostName)
+ .selectAs(BusinessWarehouseDO::getName, BusinessUserVO::getBusinessName)
+ .leftJoin(BusinessUserRelationalDO.class, BusinessUserRelationalDO::getBusinessId, BusinessWarehouseDO::getId)
+ .eq(reqVO.getBusinessId() != null,BusinessWarehouseDO::getId,reqVO.getBusinessId())
+ .leftJoin(AdminUserDO.class, AdminUserDO::getId, BusinessUserRelationalDO::getUserId)
+ .like(reqVO.getNickname() != null,AdminUserDO::getNickname,reqVO.getNickname())
+ .leftJoin(DeptDO.class,DeptDO::getId,AdminUserDO::getDeptId)
+ .leftJoin(UserPostDO.class,UserPostDO::getUserId,AdminUserDO::getId)
+ .leftJoin(PostDO.class,PostDO::getId,UserPostDO::getPostId)
+ );
+ }
+
+
}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessenterpriserelational/BusinessEnterpriseRelationalService.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessenterpriserelational/BusinessEnterpriseRelationalService.java
new file mode 100644
index 0000000..6f2f964
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessenterpriserelational/BusinessEnterpriseRelationalService.java
@@ -0,0 +1,70 @@
+package com.yunxi.scm.module.system.service.businessenterpriserelational;
+
+import java.util.*;
+import javax.validation.*;
+import com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO;
+import com.yunxi.scm.framework.common.pojo.PageResult;
+
+/**
+ * 业务线和机构关联 Service 接口
+ *
+ * @author 长江云息
+ */
+public interface BusinessEnterpriseRelationalService {
+
+ /**
+ * 创建业务线和机构关联
+ *
+ * @param createReqVO 创建信息
+ * @return 编号
+ */
+ Long createBusinessEnterpriseRelational(@Valid BusinessEnterpriseRelationalCreateReqVO createReqVO);
+
+ /**
+ * 更新业务线和机构关联
+ *
+ * @param updateReqVO 更新信息
+ */
+ void updateBusinessEnterpriseRelational(@Valid BusinessEnterpriseRelationalUpdateReqVO updateReqVO);
+
+ /**
+ * 删除业务线和机构关联
+ *
+ * @param id 编号
+ */
+ void deleteBusinessEnterpriseRelational(Long id);
+
+ /**
+ * 获得业务线和机构关联
+ *
+ * @param id 编号
+ * @return 业务线和机构关联
+ */
+ BusinessEnterpriseRelationalDO getBusinessEnterpriseRelational(Long id);
+
+ /**
+ * 获得业务线和机构关联列表
+ *
+ * @param ids 编号
+ * @return 业务线和机构关联列表
+ */
+ List getBusinessEnterpriseRelationalList(Collection ids);
+
+ /**
+ * 获得业务线和机构关联分页
+ *
+ * @param pageReqVO 分页查询
+ * @return 业务线和机构关联分页
+ */
+ PageResult getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO);
+
+ /**
+ * 获得业务线和机构关联列表, 用于 Excel 导出
+ *
+ * @param exportReqVO 查询条件
+ * @return 业务线和机构关联列表
+ */
+ List getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO);
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImpl.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImpl.java
new file mode 100644
index 0000000..bad62dd
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImpl.java
@@ -0,0 +1,82 @@
+package com.yunxi.scm.module.system.service.businessenterpriserelational;
+
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.*;
+import com.yunxi.scm.module.system.controller.admin.businessenterpriserelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO;
+import com.yunxi.scm.framework.common.pojo.PageResult;
+
+import com.yunxi.scm.module.system.convert.businessenterpriserelational.BusinessEnterpriseRelationalConvert;
+import com.yunxi.scm.module.system.dal.mysql.businessenterpriserelational.BusinessEnterpriseRelationalMapper;
+
+import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.yunxi.scm.module.system.enums.ErrorCodeConstants.*;
+
+/**
+ * 业务线和机构关联 Service 实现类
+ *
+ * @author 长江云息
+ */
+@Service
+@Validated
+public class BusinessEnterpriseRelationalServiceImpl implements BusinessEnterpriseRelationalService {
+
+ @Resource
+ private BusinessEnterpriseRelationalMapper businessEnterpriseRelationalMapper;
+
+ @Override
+ public Long createBusinessEnterpriseRelational(BusinessEnterpriseRelationalCreateReqVO createReqVO) {
+ // 插入
+ BusinessEnterpriseRelationalDO businessEnterpriseRelational = BusinessEnterpriseRelationalConvert.INSTANCE.convert(createReqVO);
+ businessEnterpriseRelationalMapper.insert(businessEnterpriseRelational);
+ // 返回
+ return businessEnterpriseRelational.getId();
+ }
+
+ @Override
+ public void updateBusinessEnterpriseRelational(BusinessEnterpriseRelationalUpdateReqVO updateReqVO) {
+ // 校验存在
+ validateBusinessEnterpriseRelationalExists(updateReqVO.getId());
+ // 更新
+ BusinessEnterpriseRelationalDO updateObj = BusinessEnterpriseRelationalConvert.INSTANCE.convert(updateReqVO);
+ businessEnterpriseRelationalMapper.updateById(updateObj);
+ }
+
+ @Override
+ public void deleteBusinessEnterpriseRelational(Long id) {
+ // 校验存在
+ validateBusinessEnterpriseRelationalExists(id);
+ // 删除
+ businessEnterpriseRelationalMapper.deleteById(id);
+ }
+
+ private void validateBusinessEnterpriseRelationalExists(Long id) {
+ if (businessEnterpriseRelationalMapper.selectById(id) == null) {
+ throw exception(BUSINESS_ENTERPRISE_RELATIONAL_NOT_EXISTS);
+ }
+ }
+
+ @Override
+ public BusinessEnterpriseRelationalDO getBusinessEnterpriseRelational(Long id) {
+ return businessEnterpriseRelationalMapper.selectById(id);
+ }
+
+ @Override
+ public List getBusinessEnterpriseRelationalList(Collection ids) {
+ return businessEnterpriseRelationalMapper.selectBatchIds(ids);
+ }
+
+ @Override
+ public PageResult getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO) {
+ return businessEnterpriseRelationalMapper.selectPage(pageReqVO);
+ }
+
+ @Override
+ public List getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO) {
+ return businessEnterpriseRelationalMapper.selectList(exportReqVO);
+ }
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessuserrelational/BusinessUserRelationalService.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessuserrelational/BusinessUserRelationalService.java
new file mode 100644
index 0000000..cf10e5c
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessuserrelational/BusinessUserRelationalService.java
@@ -0,0 +1,70 @@
+package com.yunxi.scm.module.system.service.businessuserrelational;
+
+import java.util.*;
+import javax.validation.*;
+import com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessuserrelational.BusinessUserRelationalDO;
+import com.yunxi.scm.framework.common.pojo.PageResult;
+
+/**
+ * 业务线和用户关联 Service 接口
+ *
+ * @author 长江云息
+ */
+public interface BusinessUserRelationalService {
+
+ /**
+ * 创建业务线和用户关联
+ *
+ * @param createReqVO 创建信息
+ * @return 编号
+ */
+ Long createBusinessUserRelational(@Valid BusinessUserRelationalCreateReqVO createReqVO);
+
+ /**
+ * 更新业务线和用户关联
+ *
+ * @param updateReqVO 更新信息
+ */
+ void updateBusinessUserRelational(@Valid BusinessUserRelationalUpdateReqVO updateReqVO);
+
+ /**
+ * 删除业务线和用户关联
+ *
+ * @param id 编号
+ */
+ void deleteBusinessUserRelational(Long id);
+
+ /**
+ * 获得业务线和用户关联
+ *
+ * @param id 编号
+ * @return 业务线和用户关联
+ */
+ BusinessUserRelationalDO getBusinessUserRelational(Long id);
+
+ /**
+ * 获得业务线和用户关联列表
+ *
+ * @param ids 编号
+ * @return 业务线和用户关联列表
+ */
+ List getBusinessUserRelationalList(Collection ids);
+
+ /**
+ * 获得业务线和用户关联分页
+ *
+ * @param pageReqVO 分页查询
+ * @return 业务线和用户关联分页
+ */
+ PageResult getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO);
+
+ /**
+ * 获得业务线和用户关联列表, 用于 Excel 导出
+ *
+ * @param exportReqVO 查询条件
+ * @return 业务线和用户关联列表
+ */
+ List getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO);
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessuserrelational/BusinessUserRelationalServiceImpl.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessuserrelational/BusinessUserRelationalServiceImpl.java
new file mode 100644
index 0000000..15db19a
--- /dev/null
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businessuserrelational/BusinessUserRelationalServiceImpl.java
@@ -0,0 +1,82 @@
+package com.yunxi.scm.module.system.service.businessuserrelational;
+
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.*;
+import com.yunxi.scm.module.system.controller.admin.businessuserrelational.vo.*;
+import com.yunxi.scm.module.system.dal.dataobject.businessuserrelational.BusinessUserRelationalDO;
+import com.yunxi.scm.framework.common.pojo.PageResult;
+
+import com.yunxi.scm.module.system.convert.businessuserrelational.BusinessUserRelationalConvert;
+import com.yunxi.scm.module.system.dal.mysql.businessuserrelational.BusinessUserRelationalMapper;
+
+import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.yunxi.scm.module.system.enums.ErrorCodeConstants.*;
+
+/**
+ * 业务线和用户关联 Service 实现类
+ *
+ * @author 长江云息
+ */
+@Service
+@Validated
+public class BusinessUserRelationalServiceImpl implements BusinessUserRelationalService {
+
+ @Resource
+ private BusinessUserRelationalMapper businessUserRelationalMapper;
+
+ @Override
+ public Long createBusinessUserRelational(BusinessUserRelationalCreateReqVO createReqVO) {
+ // 插入
+ BusinessUserRelationalDO businessUserRelational = BusinessUserRelationalConvert.INSTANCE.convert(createReqVO);
+ businessUserRelationalMapper.insert(businessUserRelational);
+ // 返回
+ return businessUserRelational.getId();
+ }
+
+ @Override
+ public void updateBusinessUserRelational(BusinessUserRelationalUpdateReqVO updateReqVO) {
+ // 校验存在
+ validateBusinessUserRelationalExists(updateReqVO.getId());
+ // 更新
+ BusinessUserRelationalDO updateObj = BusinessUserRelationalConvert.INSTANCE.convert(updateReqVO);
+ businessUserRelationalMapper.updateById(updateObj);
+ }
+
+ @Override
+ public void deleteBusinessUserRelational(Long id) {
+ // 校验存在
+ validateBusinessUserRelationalExists(id);
+ // 删除
+ businessUserRelationalMapper.deleteById(id);
+ }
+
+ private void validateBusinessUserRelationalExists(Long id) {
+ if (businessUserRelationalMapper.selectById(id) == null) {
+ throw exception(BUSINESS_USER_RELATIONAL_NOT_EXISTS);
+ }
+ }
+
+ @Override
+ public BusinessUserRelationalDO getBusinessUserRelational(Long id) {
+ return businessUserRelationalMapper.selectById(id);
+ }
+
+ @Override
+ public List getBusinessUserRelationalList(Collection ids) {
+ return businessUserRelationalMapper.selectBatchIds(ids);
+ }
+
+ @Override
+ public PageResult getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO) {
+ return businessUserRelationalMapper.selectPage(pageReqVO);
+ }
+
+ @Override
+ public List getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO) {
+ return businessUserRelationalMapper.selectList(exportReqVO);
+ }
+
+}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseService.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseService.java
index 1850fad..80272b3 100644
--- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseService.java
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseService.java
@@ -59,6 +59,14 @@ public interface BusinessWarehouseService {
*/
PageResult getBusinessWarehousePage(BusinessWarehousePageReqVO pageReqVO);
+ /**
+ * 获得业务线分页
+ *
+ * @param pageReqVO 分页查询
+ * @return 业务线表分页
+ */
+ PageResult getBusinessPage(BusinessWarehousePageReqVO pageReqVO);
+
/**
* 获得业务线表列表, 用于 Excel 导出
*
@@ -72,6 +80,7 @@ public interface BusinessWarehouseService {
* */
List getBusinessSimpleList(BusinessWarehousePageReqVO pageReqVO);
+
/**
* 根据用户id获得业务线表列表
*
@@ -79,4 +88,8 @@ public interface BusinessWarehouseService {
* @return 业务线表列表
*/
List getBusinessWarehouseListByUserId(Long id);
+
+ PageResult getBusinessUserList(BusinessUserVO reqVO);
+
+
}
diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseServiceImpl.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseServiceImpl.java
index 6784da6..22684ce 100644
--- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseServiceImpl.java
+++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseServiceImpl.java
@@ -1,5 +1,7 @@
package com.yunxi.scm.module.system.service.businesswarehouse;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -74,6 +76,11 @@ public class BusinessWarehouseServiceImpl implements BusinessWarehouseService {
return businessWarehouseMapper.selectPage(pageReqVO);
}
+ @Override
+ public PageResult getBusinessPage(BusinessWarehousePageReqVO pageReqVO) {
+ return businessWarehouseMapper.selectBusinessPage(pageReqVO);
+ }
+
@Override
public List getBusinessWarehouseList(BusinessWarehouseExportReqVO exportReqVO) {
return businessWarehouseMapper.selectList(exportReqVO);
@@ -88,4 +95,11 @@ public class BusinessWarehouseServiceImpl implements BusinessWarehouseService {
public List getBusinessWarehouseListByUserId(Long id) {
return businessWarehouseMapper.getBusinessWarehouseListByUserId(id);
}
+ @Override
+ public PageResult getBusinessUserList(BusinessUserVO reqVO) {
+ Page page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize());
+ IPage result = businessWarehouseMapper.selectBusinessUserPage(page,reqVO);
+ return new PageResult<>(result.getRecords(), result.getTotal());
+ }
+
}