Merge branch 'ysq-dev-0811'

# Conflicts:
#	yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java
#	yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseService.java
#	yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/businesswarehouse/BusinessWarehouseServiceImpl.java
temp
杨世强 1 year ago
commit 78f052b3ac

@ -1,4 +1,5 @@
import { defHttp } from '@/utils/http/axios'
import { handleTree } from '@/utils/tree'
// 查询业务线/仓库列表
export function getBusinessWarehousePage(params) {
@ -34,3 +35,13 @@ export function exportBusinessWarehouse(params) {
export function listSimpleBusiness() {
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 })
}

@ -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')
}

@ -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)
},
},

@ -45,6 +45,7 @@ async function handleSubmit() {
if (unref(isUpdate)) {
await updateBusinessWarehouse(values)
} else {
values.diffFlag = 1
await createBusinessWarehouse(values)
}
closeModal()

@ -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')
// }
// },
]

@ -8,6 +8,12 @@
<a-button type="warning" v-auth="['system:business-warehouse:export']" :preIcon="IconEnum.EXPORT" @click="handleExport">
{{ t('action.export') }}
</a-button>
<a-button type="info" @click="expandAll">
{{ t('component.tree.expandAll') }}
</a-button>
<a-button type="info" @click="collapseAll">
{{ t('component.tree.unExpandAll') }}
</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
@ -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'),

@ -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',
component: 'ApiTransfer',
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'
// api: () => listSimpleBusiness(),
dataSource: users,
showSearch: true,
labelField: 'name',
valueField: 'id',
},
{
label: '区分标志',
field: 'diffFlag',
required: true,
component: 'Select',
componentProps: {
options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number')
}
},
]

@ -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<Recordable>({})
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()
}
</script>

@ -45,6 +45,7 @@ async function handleSubmit() {
if (unref(isUpdate)) {
await updateBusinessWarehouse(values)
} else {
values.diffFlag = 0
await createBusinessWarehouse(values)
}
closeModal()

@ -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')
// }
// },
]

@ -13,6 +13,9 @@
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{ icon: IconEnum.EDIT, label: t('action.edit'), auth: 'system:business-warehouse:update', onClick: handleEdit.bind(null, record) },
{ icon: IconEnum.EDIT, label: t('action.edit'), auth: 'system:business-warehouse:update', onClick: handleEdit.bind(null, record) },
{ icon: IconEnum.EDIT, label: t('action.edit'), auth: 'system:business-warehouse:update', onClick: handleEdit.bind(null, record) },
{ icon: IconEnum.EDIT, label: t('action.edit'), auth: 'system:business-warehouse:update', onClick: handleEdit.bind(null, record) },
{
icon: IconEnum.DELETE,
@ -40,7 +43,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, getBusinessPage} from '@/api/xxjj/businessWarehouse'
import { columns, searchFormSchema } from './businessWarehouse.data'
defineOptions({ name: 'BusinessWarehouse' })
@ -50,8 +53,8 @@ const { createConfirm, createMessage } = useMessage()
const [registerModal, { openModal }] = useModal()
const [registerTable, { getForm, reload }] = useTable({
title: '业务线/仓库列表',
api: getBusinessWarehousePage,
title: '业务线列表',
api: getBusinessPage,
columns,
formConfig: { labelWidth: 120, schemas: searchFormSchema },
useSearchForm: true,

@ -1,5 +1,6 @@
package com.yunxi.scm.framework.mybatis.core.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.yunxi.scm.framework.common.pojo.PageParam;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.mybatis.core.util.MyBatisUtils;
@ -18,7 +19,7 @@ import java.util.List;
/**
* MyBatis Plus BaseMapper
*/
public interface BaseMapperX<T> extends BaseMapper<T> {
public interface BaseMapperX<T> extends MPJBaseMapper<T> {
default PageResult<T> selectPage(PageParam pageParam, @Param("ew") Wrapper<T> queryWrapper) {
// MyBatis Plus 查询

@ -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, "业务线和机构关联不存在");
}

@ -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<Long> createBusinessEnterpriseRelational(@Valid @RequestBody BusinessEnterpriseRelationalCreateReqVO createReqVO) {
return success(businessEnterpriseRelationalService.createBusinessEnterpriseRelational(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新业务线和机构关联")
@PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:update')")
public CommonResult<Boolean> 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<Boolean> 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<BusinessEnterpriseRelationalRespVO> 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<List<BusinessEnterpriseRelationalRespVO>> getBusinessEnterpriseRelationalList(@RequestParam("ids") Collection<Long> ids) {
List<BusinessEnterpriseRelationalDO> list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(ids);
return success(BusinessEnterpriseRelationalConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得业务线和机构关联分页")
@PreAuthorize("@ss.hasPermission('system:business-enterprise-relational:query')")
public CommonResult<PageResult<BusinessEnterpriseRelationalRespVO>> getBusinessEnterpriseRelationalPage(@Valid BusinessEnterpriseRelationalPageReqVO pageVO) {
PageResult<BusinessEnterpriseRelationalDO> 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<BusinessEnterpriseRelationalDO> list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(exportReqVO);
// 导出 Excel
List<BusinessEnterpriseRelationalExcelVO> datas = BusinessEnterpriseRelationalConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "业务线和机构关联.xls", "数据", BusinessEnterpriseRelationalExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<Long> createBusinessUserRelational(@Valid @RequestBody BusinessUserRelationalCreateReqVO createReqVO) {
return success(businessUserRelationalService.createBusinessUserRelational(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新业务线和用户关联")
@PreAuthorize("@ss.hasPermission('system:business-user-relational:update')")
public CommonResult<Boolean> 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<Boolean> 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<BusinessUserRelationalRespVO> 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<List<BusinessUserRelationalRespVO>> getBusinessUserRelationalList(@RequestParam("ids") Collection<Long> ids) {
List<BusinessUserRelationalDO> list = businessUserRelationalService.getBusinessUserRelationalList(ids);
return success(BusinessUserRelationalConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得业务线和用户关联分页")
@PreAuthorize("@ss.hasPermission('system:business-user-relational:query')")
public CommonResult<PageResult<BusinessUserRelationalRespVO>> getBusinessUserRelationalPage(@Valid BusinessUserRelationalPageReqVO pageVO) {
PageResult<BusinessUserRelationalDO> 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<BusinessUserRelationalDO> list = businessUserRelationalService.getBusinessUserRelationalList(exportReqVO);
// 导出 Excel
List<BusinessUserRelationalExcelVO> datas = BusinessUserRelationalConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "业务线和用户关联.xls", "数据", BusinessUserRelationalExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<PageResult<BusinessWarehouseRespVO>> getBusinessPage(@Valid BusinessWarehousePageReqVO pageVO) {
PageResult<BusinessWarehouseDO> 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<PageResult<BusinessUserVO>> getBusinessUserPage(BusinessUserVO reqVO) {
PageResult<BusinessUserVO> pageResult = businessWarehouseService.getBusinessUserList(reqVO);
return success(pageResult);
}
}

@ -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;
}

@ -106,4 +106,16 @@ public class DeptController {
return success(DeptConvert.INSTANCE.convert(deptService.getDept(id)));
}
@GetMapping("/list-user-simple")
@Operation(summary = "获取部门用户精简信息列表", description = "只包含被开启的部门,主要用于前端的下拉选项")
public CommonResult<List<DeptSimpleRespVO>> getSimpleDeptUserList() {
// 获得部门列表,只要开启状态的
DeptListReqVO reqVO = new DeptListReqVO();
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
List<DeptDO> list = deptService.getDeptList(reqVO);
// 排序后,返回给前端
list.sort(Comparator.comparing(DeptDO::getSort));
return success(DeptConvert.INSTANCE.convertList02(list));
}
}

@ -23,4 +23,6 @@ public class DeptSimpleRespVO {
@Schema(description = "父部门 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long parentId;
}

@ -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<BusinessEnterpriseRelationalRespVO> convertList(List<BusinessEnterpriseRelationalDO> list);
PageResult<BusinessEnterpriseRelationalRespVO> convertPage(PageResult<BusinessEnterpriseRelationalDO> page);
List<BusinessEnterpriseRelationalExcelVO> convertList02(List<BusinessEnterpriseRelationalDO> list);
}

@ -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<BusinessUserRelationalRespVO> convertList(List<BusinessUserRelationalDO> list);
PageResult<BusinessUserRelationalRespVO> convertPage(PageResult<BusinessUserRelationalDO> page);
List<BusinessUserRelationalExcelVO> convertList02(List<BusinessUserRelationalDO> list);
}

@ -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;
}

@ -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;
}

@ -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<BusinessEnterpriseRelationalDO> {
default PageResult<BusinessEnterpriseRelationalDO> selectPage(BusinessEnterpriseRelationalPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessEnterpriseRelationalDO>()
.eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId())
.betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessEnterpriseRelationalDO::getId));
}
default List<BusinessEnterpriseRelationalDO> selectList(BusinessEnterpriseRelationalExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BusinessEnterpriseRelationalDO>()
.eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId())
.betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessEnterpriseRelationalDO::getId));
}
}

@ -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<BusinessUserRelationalDO> {
default PageResult<BusinessUserRelationalDO> selectPage(BusinessUserRelationalPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessUserRelationalDO>()
.eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId())
.betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessUserRelationalDO::getId));
}
default List<BusinessUserRelationalDO> selectList(BusinessUserRelationalExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BusinessUserRelationalDO>()
.eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId())
.betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessUserRelationalDO::getId));
}
}

@ -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<BusinessWarehouseDO
.eqIfPresent(BusinessWarehouseDO::getDiffFlag, reqVO.getDiffFlag()));
}
List<BusinessWarehouseDO> getBusinessWarehouseListByUserId(Long id);
default PageResult<BusinessWarehouseDO> selectBusinessPage(BusinessWarehousePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessWarehouseDO>()
.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<BusinessUserVO> selectBusinessUserPage(Page<BusinessUserVO> page,BusinessUserVO reqVO) {
return selectJoinPage(page,BusinessUserVO.class, new MPJLambdaWrapper<BusinessWarehouseDO>()
.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)
);
}
}

@ -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<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(Collection<Long> ids);
/**
* 线
*
* @param pageReqVO
* @return 线
*/
PageResult<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO);
/**
* 线, Excel
*
* @param exportReqVO
* @return 线
*/
List<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO);
}

@ -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<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(Collection<Long> ids) {
return businessEnterpriseRelationalMapper.selectBatchIds(ids);
}
@Override
public PageResult<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO) {
return businessEnterpriseRelationalMapper.selectPage(pageReqVO);
}
@Override
public List<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO) {
return businessEnterpriseRelationalMapper.selectList(exportReqVO);
}
}

@ -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<BusinessUserRelationalDO> getBusinessUserRelationalList(Collection<Long> ids);
/**
* 线
*
* @param pageReqVO
* @return 线
*/
PageResult<BusinessUserRelationalDO> getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO);
/**
* 线, Excel
*
* @param exportReqVO
* @return 线
*/
List<BusinessUserRelationalDO> getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO);
}

@ -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<BusinessUserRelationalDO> getBusinessUserRelationalList(Collection<Long> ids) {
return businessUserRelationalMapper.selectBatchIds(ids);
}
@Override
public PageResult<BusinessUserRelationalDO> getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO) {
return businessUserRelationalMapper.selectPage(pageReqVO);
}
@Override
public List<BusinessUserRelationalDO> getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO) {
return businessUserRelationalMapper.selectList(exportReqVO);
}
}

@ -59,6 +59,14 @@ public interface BusinessWarehouseService {
*/
PageResult<BusinessWarehouseDO> getBusinessWarehousePage(BusinessWarehousePageReqVO pageReqVO);
/**
* 线
*
* @param pageReqVO
* @return 线
*/
PageResult<BusinessWarehouseDO> getBusinessPage(BusinessWarehousePageReqVO pageReqVO);
/**
* 线, Excel
*
@ -72,6 +80,7 @@ public interface BusinessWarehouseService {
* */
List<BusinessWarehouseDO> getBusinessSimpleList(BusinessWarehousePageReqVO pageReqVO);
/**
* id线
*
@ -79,4 +88,8 @@ public interface BusinessWarehouseService {
* @return 线
*/
List<BusinessWarehouseDO> getBusinessWarehouseListByUserId(Long id);
PageResult<BusinessUserVO> getBusinessUserList(BusinessUserVO reqVO);
}

@ -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<BusinessWarehouseDO> getBusinessPage(BusinessWarehousePageReqVO pageReqVO) {
return businessWarehouseMapper.selectBusinessPage(pageReqVO);
}
@Override
public List<BusinessWarehouseDO> getBusinessWarehouseList(BusinessWarehouseExportReqVO exportReqVO) {
return businessWarehouseMapper.selectList(exportReqVO);
@ -88,4 +95,11 @@ public class BusinessWarehouseServiceImpl implements BusinessWarehouseService {
public List<BusinessWarehouseDO> getBusinessWarehouseListByUserId(Long id) {
return businessWarehouseMapper.getBusinessWarehouseListByUserId(id);
}
@Override
public PageResult<BusinessUserVO> getBusinessUserList(BusinessUserVO reqVO) {
Page<BusinessUserVO> page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize());
IPage<BusinessUserVO> result = businessWarehouseMapper.selectBusinessUserPage(page,reqVO);
return new PageResult<>(result.getRecords(), result.getTotal());
}
}

Loading…
Cancel
Save