HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialType.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,275 @@ import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' import { injectModel } from '@/libs/Provider/Provider' import { WmsMaterialType } from '../Models/WmsMaterialType' import { ElMessage } from 'element-plus' import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' import { useFile } from './File' interface CurrentType { row: any index: number } export const useWmsMaterialType = (props: any, ctx?: any) => { const wmsMaterialType = injectModel<WmsMaterialType>('wmsMaterialType') const { exportFile } = useFile() /** * 头é¨é ç½® */ const headers = ref({}) /** * 卿åé ç½® */ const wmsMaterialTypeColumns = ref<Record<string, any>>([]) /** * æç´¢å¼ */ const search = ref('') /** * æåº */ const sort = ref(0) /** * 鿩项 */ const selection = ref([]) /** * å½åéä¸çè¡ */ const current = ref<any>(null) /** * æ°æ®æº */ const dataSource: Ref<any[]> = ref([]) /** * è¡¨æ ¼ */ const tableRef = ref() const dialogConfig = reactive({ visible: false, title: '', isAdd: false, }) const dialogConfigForQuery = reactive({ visible: false, title: '', isAdd: false, }) const dialogSettingConfig = reactive({ visible: false, title: '', }) /** * åé¡µæ°æ® */ const paginationParams = ref({}) /** * æå¼è¯¦æ * @param row */ const openDetail = (row: any) => { current.value = row dialogConfig.visible = true dialogConfig.title = row.name dialogConfig.isAdd = false sort.value = row.sort } const contextMenu = [ { label: 'å±å¼è¯¦æ ', fn: (c: CurrentType) => { current.value = null sort.value = c.row.sort nextTick(() => openDetail(c.row)) }, divided: true, icon: 'o', }, // { // label: 'å䏿·»å ', // fn: (c: CurrentType, pageNum: number) => { // current.value = null // sort.value = c.index + 1 + (pageNum - 1) * 50 // dialogConfig.visible = true // dialogConfig.title = 'æ·»å ' // dialogConfig.isAdd = false // }, // divided: true, // icon: 'up', // }, // { // label: 'å䏿·»å ', // fn: (c: CurrentType, pageNum: number) => { // current.value = null // sort.value = c.index + 2 + (pageNum - 1) * 50 // dialogConfig.visible = true // dialogConfig.title = 'æ·»å ' // dialogConfig.isAdd = false // }, // divided: true, // icon: 'down', // }, // { // label: 'åå»ºå¯æ¬', // fn: async ({ row }: CurrentType) => { // await wmsMaterialType.cloneData([row.id]) // ElMessage.success('åå»ºå¯æ¬æå') // tableRef.value?.getList() // }, // divided: true, // icon: 'copy', // }, { label: 'å é¤', fn: async (c: CurrentType) => { const names = selection.value.map((item: { materialTypeCode: string }) => item.materialTypeCode) ConfirmBox( `æ¯å¦å é¤${names.length ? names.join(',') : c.row.materialTypeCode}` ).then(async () => { const ids = selection.value.map((item: { id: string }) => item.id) await wmsMaterialType.deleteWmsMaterialTypes(ids.length ? ids : [c.row.id]) ElMessage.success('å 餿å') tableRef.value.getList() }) }, icon: 'close', }, ] const onCheck = (records: any) => { selection.value = records } const onAddWmsMaterialType = () => { const params = tableRef.value?.getPaginationParams() current.value = null dialogConfig.visible = true dialogConfig.isAdd = true dialogConfig.title = 'æ·»å ' sort.value = params.totalCount + 1 } //ç¹å»æé®ãé«çº§æ¥è¯¢ã const onAdvancedQuery = () => { const params = tableRef.value?.getPaginationParams() current.value = null dialogConfigForQuery.visible = true dialogConfigForQuery.isAdd = true dialogConfigForQuery.title = 'é«çº§æ¥è¯¢' } const onConfirmWmsMaterialType = async () => { dialogConfig.visible = false if (dialogConfig.isAdd) { tableRef.value?.scrollToRow({ skip: true, }) } else { await tableRef.value?.getList() } } /** * è¡ç¹å»æ¶æ´æ°current */ const onRowClick = ({ row }: any) => { if (dialogConfig.visible && current.value) { current.value = row } } /** * å¯¼åº */ const onExport = (data={}) => { //const params = tableRef.value?.getParams() exportFile('/api/v1/HIAWms/wmsMaterialType/export', data, 'ç©æç±»å') } /** * å ³é®åæç´¢ */ const onSearch = () => { tableRef.value?.getList({ Filter: search.value, }) } /** * éç½®è¡¨æ ¼æ°æ® */ const reloadList = () => { tableRef.value?.getList() } /** * ä¸ä¼ æå */ const onSuccess = () => { tableRef.value?.getList() ElMessage.success('å¯¼å ¥æå') } /** * 失败 * @param err */ const onError = (err: any) => { try { const message = JSON.parse(err.message) ElMessage.error(message.msg) } catch (error) { ElMessage.error('å¯¼å ¥å¤±è´¥') } } /** * ä¸ä¼ é©å */ const onBeforeUpload = (file: File) => { const format = ['xlsx', 'xls', 'csv'] if (!format.includes(file.name.split('.')[1])) { ElMessage.error('å¯¼å ¥æä»¶æ ¼å¼ä¸æ£ç¡®ï¼è¯·å¯¼å ¥.xlsx/.xlsä¸.csvæ ¼å¼çæä»¶') return false } return true } onMounted(() => { headers.value = { Authorization: `Bearer ${sessionStorage.getItem('Token')}`, 'X-Project': sessionStorage.getItem('X-Project'), } }) ctx.expose({ reloadList, }) return { dataSource, contextMenu, dialogConfig, dialogConfigForQuery, dialogSettingConfig, tableRef, current, search, sort, wmsMaterialTypeColumns, paginationParams, headers, onBeforeUpload, onError, onSuccess, openDetail, onSearch, onExport, onRowClick, onConfirmWmsMaterialType, onCheck, onAddWmsMaterialType, onAdvancedQuery } } HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialTypeDrawer.tsx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,212 @@ import { ref, onMounted, reactive, computed, Ref, watch, SetupContext, h, } from 'vue' import { injectModel } from '@/libs/Provider/Provider' import { WmsMaterialTypeDrawer } from '../Models/WmsMaterialTypeDrawer' import { ElMessage } from 'element-plus' import isEqual from 'lodash/isEqual' import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' import { cloneDeep } from 'lodash' // å¼å ¥å ¬å ±é项é ç½® import { BOOLEAN_OPTIONS_AddEdit } from '@/utils/commonOptionConstants'; export const useWmsMaterialTypeDrawer = (props: any, ctx?: any) => { const wmsMaterialTypeDrawer = injectModel<WmsMaterialTypeDrawer>('wmsMaterialTypeDrawer') /** * ç¨æ¥å¯¹æ¯çåå§åæ°æ® */ const initiateData: Ref<Record<string, any>> = ref({}) const formData = ref<Record<string, any>>({}) // ref const formRef = ref() const disabled = ref(false) const current = computed(() => { return props.row || null }) const datePicker = (attrs) => { return ( <el-date-picker type="date" format="YYYY-MM-DD HH:mm:ss" formatValue="YYYY-MM-DD HH:mm:ss" {...attrs} ></el-date-picker> ) } const inputNumber = (attrs) => { return ( <el-input-number min="1" step="1" precision="0" {...attrs} ></el-input-number> ) } const dateTimePicker = (attrs) => { return ( <el-date-picker type="datetime" format="YYYY-MM-DD HH:mm:ss" formatValue="YYYY-MM-DD HH:mm:ss" {...attrs} ></el-date-picker> ) } const visible = computed({ get() { return props.modelValue }, set(val) { ctx.emit('update:modelValue', val) }, }) /** * æ·»å çformåæ®µ */ const formItems = reactive([ { label: 'ç±»åæè¿°', prop: 'materialTypeDesc', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥ç±»åæè¿°', rules: [{required: true, message: 'ç±»åæè¿°ä¸è½ä¸ºç©º', trigger: 'blur' }], }, { label: 'ç±»åç¼ç ', prop: 'materialTypeCode', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥ç±»åç¼ç ', rules: [{required: true, message: 'ç±»åç¼ç ä¸è½ä¸ºç©º', trigger: 'blur' }], }, { label: '夿³¨', prop: 'remark', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥å¤æ³¨', }, ]) /** * æ ¡éªæ¯å¦ææ°æ®åå */ const checkIsEqualObject = () => { const data = { formData: formData.value, } const check = isEqual(initiateData.value, data) return check } const onClose = (done: () => void) => { if (visible.value) { if (checkIsEqualObject()) { visible.value = false done && done() } else { ConfirmBox('æ¯å¦ä¿å设置ï¼') .then(() => { onConfirm() }) .catch(() => { visible.value = false done && done() }) } } } /** * ä¿å */ const onConfirm = async () => { await formRef.value?.validate() const data = { materialTypeDesc: formData.value.materialTypeDesc, materialTypeCode: formData.value.materialTypeCode, remark: formData.value.remark, } if (!current.value) { await wmsMaterialTypeDrawer.addWmsMaterialType(data) } else { const id = current.value.id await wmsMaterialTypeDrawer.updateWmsMaterialType(id, data) } ElMessage.success('ä¿åæå') ctx.emit('confirm') } const updateCheckData = () => { initiateData.value = { formData: { ...formData.value, }, } } const updateFormItemOptions = (propName: string, enumData: any[]) => { const item = formItems.find((item) => item.prop === propName) if (item && enumData) { item.options = enumData.map((item) => ({ label: item.description, value: item.value, })) } } /** * éç¨æ¥è¯¢æä¸¾ */ const commonQueryEnumForFrom = async () => { } commonQueryEnumForFrom() /** * å¼¹çªæå¼è·å详æ */ const onOpen = async () => { if (current.value) { const res = await wmsMaterialTypeDrawer.getWmsMaterialTypeDetail(current.value) formData.value = { materialTypeDesc: res.materialTypeDesc, materialTypeCode: res.materialTypeCode, remark: res.remark, id: res.id, } disabled.value = true updateCheckData() } else { formData.value = {} disabled.value = false updateCheckData() } } watch(() => current.value, onOpen) return { formItems, formData, visible, formRef, onOpen, onClose, onConfirm, } } HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialTypeQueryDrawer.tsx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,298 @@ import { ref, onMounted, reactive, computed, Ref, watch, SetupContext, h, } from 'vue' import { injectModel } from '@/libs/Provider/Provider' import { WmsMaterialTypeDrawer } from '../Models/WmsMaterialTypeDrawer' import { ElMessage } from 'element-plus' import isEqual from 'lodash/isEqual' import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' import { cloneDeep } from 'lodash' // å¼å ¥å ¬å ±é项é ç½® import { FILTER_MODE_OPTIONS_STRING, FILTER_MODE_OPTIONS_NUM, FILTER_MODE_OPTIONS_BOOL } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'; import { BOOLEAN_OPTIONS } from '@/utils/commonOptionConstants'; export const useWmsMaterialTypeQueryDrawer = (props: any, ctx?: any) => { const wmsMaterialTypeDrawer = injectModel<WmsMaterialTypeDrawer>('WmsMaterialTypeDrawer') /** * ç¨æ¥å¯¹æ¯çåå§åæ°æ® */ const initiateData: Ref<Record<string, any>> = ref({}) const formData = ref<Record<string, any>>({}) // ref const formRef = ref() const disabled = ref(false) const current = computed(() => { return props.row || null }) const inputNumber = (attrs) => { return ( <el-input-number min="1" step="1" precision="0" {...attrs} ></el-input-number> ) } const datePickerRange = (attrs) => { return ( <el-date-picker type="daterange" value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ" {...attrs} ></el-date-picker> ) } const dateTimePickerRange = (attrs) => { return ( <el-date-picker type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ" {...attrs} ></el-date-picker> ) } const visible = computed({ get() { return props.modelValue }, set(val) { ctx.emit('update:modelValue', val) }, }) /** * é«çº§æ¥è¯¢çformåæ®µ */ const formItems = reactive([ { label: 'ç±»åæè¿°', prop: 'materialTypeDesc', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥ç±»åæè¿°', highSelectAttrs:{ prop: 'materialTypeDesc_FilterMode', el: 'select', placeholder: 'è¯·éæ©', options:FILTER_MODE_OPTIONS_STRING } }, { label: 'ç±»åç¼ç ', prop: 'materialTypeCode', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥ç±»åç¼ç ', highSelectAttrs:{ prop: 'materialTypeCode_FilterMode', el: 'select', placeholder: 'è¯·éæ©', options:FILTER_MODE_OPTIONS_STRING } }, { label: 'å建æ¶é´', prop: 'creationTime', el: (props: any, { attrs }: SetupContext) => { return h(dateTimePickerRange, { ...props, clearable: true, ...attrs, }) }, width: '100%', //disabled: disabled, placeholder: '请è¾å ¥å建æ¶é´', isDateControl: true, // æ¾å¼æ è®°ä¸ºæ¥ææ§ä»¶ }, { label: 'æåä¿®æ¹æ¶é´', prop: 'lastModificationTime', el: (props: any, { attrs }: SetupContext) => { return h(dateTimePickerRange, { ...props, clearable: true, ...attrs, }) }, width: '100%', //disabled: disabled, placeholder: '请è¾å ¥æåä¿®æ¹æ¶é´', isDateControl: true, // æ¾å¼æ è®°ä¸ºæ¥ææ§ä»¶ }, { label: '', prop: 'creatorName', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥', highSelectAttrs:{ prop: 'creatorName_FilterMode', el: 'select', placeholder: 'è¯·éæ©', options:FILTER_MODE_OPTIONS_STRING } }, { label: '', prop: 'lastModifierName', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥', highSelectAttrs:{ prop: 'lastModifierName_FilterMode', el: 'select', placeholder: 'è¯·éæ©', options:FILTER_MODE_OPTIONS_STRING } }, { label: '夿³¨', prop: 'remark', el: 'input', //disabled: disabled, placeholder: '请è¾å ¥å¤æ³¨', highSelectAttrs:{ prop: 'remark_FilterMode', el: 'select', placeholder: 'è¯·éæ©', options:FILTER_MODE_OPTIONS_STRING } }, ]) /** * æ ¡éªæ¯å¦ææ°æ®åå */ const checkIsEqualObject = () => { const data = { formData: formData.value, } const check = isEqual(initiateData.value, data) return check } const commonGetFormData=()=>{ const data = { materialTypeDesc: formData.value.materialTypeDesc || '', materialTypeDesc_FilterMode: formData.value.materialTypeDesc_FilterMode || '', materialTypeCode: formData.value.materialTypeCode || '', materialTypeCode_FilterMode: formData.value.materialTypeCode_FilterMode || '', creationTime: formData.value.creationTime || '', lastModificationTime: formData.value.lastModificationTime || '', creatorName: formData.value.creatorName || '', creatorName_FilterMode: formData.value.creatorName_FilterMode || '', lastModifierName: formData.value.lastModifierName || '', lastModifierName_FilterMode: formData.value.lastModifierName_FilterMode || '', remark: formData.value.remark || '', remark_FilterMode: formData.value.remark_FilterMode || '', } return data; } const onClose = (done: () => void) => { if (visible.value) { visible.value = false const data =commonGetFormData(); ctx.emit('close', data) } } /** * 确认æ¥è¯¢ */ const onConfirmQuery = async () => { const data =commonGetFormData(); ctx.emit('confirmQuery', data) } /** * éç½®å ¬å ±selectæ¥è¯¢ */ const onResetForHighSelect = async () => { formData.value.materialTypeDesc_FilterMode = 1 formData.value.materialTypeCode_FilterMode = 1 formData.value.creatorName_FilterMode = 1 formData.value.lastModifierName_FilterMode = 1 formData.value.remark_FilterMode = 1 } /** * éç½®æ¥è¯¢ */ const onReset = async () => { formData.value = {} onResetForHighSelect();//éç½®å ¬å ±selectæ¥è¯¢ formData.value.materialTypeDesc = '' formData.value.materialTypeCode = '' formData.value.creationTime = '' formData.value.lastModificationTime = '' formData.value.creatorName = '' formData.value.lastModifierName = '' formData.value.remark = '' //åç¶ç»ä»¶åéèªå®ä¹äºä»¶ ctx.emit('restQuery'); } const updateCheckData = () => { initiateData.value = { formData: { ...formData.value, }, } } const updateFormItemOptions = (propName: string, enumData: any[]) => { const item = formItems.find((item) => item.prop === propName) if (item && enumData) { item.options = enumData.map((item) => ({ label: item.description, value: item.value, })) } } /** * éç¨æ¥è¯¢æä¸¾ */ const commonQueryEnumForFrom = async () => { } commonQueryEnumForFrom() onResetForHighSelect();//éç½®å ¬å ±selectæ¥è¯¢ /** * å¼¹çªæå¼è·å详æ */ const onOpen = async () => { disabled.value = false updateCheckData() } watch(() => current.value, onOpen) return { formItems, formData, visible, formRef, onOpen, onClose, onConfirmQuery, onReset, } } HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialType.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ import { Base } from '@/libs/Base/Base' const request = Base.request /** * æ·»å * @returns */ export const addWmsMaterialType = (data: any) => { return request.post('/api/v1/HIAWms/wmsMaterialType', data) } /** * æ¹éå é¤ * @returns */ export const deleteWmsMaterialTypes = (ids: string[]) => { return request({ data: ids, url: '/api/v1/HIAWms/wmsMaterialType', method: 'delete', }) } /** * å é * @returns */ export const cloneData = (data: any) => { return request.post('/api/v1/HIAWms/wmsMaterialType/clone', data) } HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialTypeDrawer.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ import { Base } from '@/libs/Base/Base' const request = Base.request /** * æ·»å * @returns */ export const addWmsMaterialType = (data: any) => { return request.post('/api/v1/HIAWms/wmsMaterialType', data) } /** * è·å详æ * @returns */ export const getWmsMaterialType = (id: string) => { return request.get(`/api/v1/HIAWms/wmsMaterialType/${id}`) } /** * æ´æ° * @returns */ export const updateWmsMaterialType = (id: string, data: Record<string, any>) => { return request.put(`/api/v1/HIAWms/wmsMaterialType/${id}`, data) } /** * è·åæä¸¾ * @returns */ export const getWmsEnumData = (data: any) => { return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) } HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialTypeQueryDrawer.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ import { Base } from '@/libs/Base/Base' const request = Base.request /** * æ·»å * @returns */ export const addWmsMaterialType = (data: any) => { return request.post('/api/v1/HIAWms/wmsMaterialType', data) } /** * è·å详æ * @returns */ export const getWmsMaterialType = (id: string) => { return request.get(`/api/v1/HIAWms/wmsMaterialType/${id}`) } /** * æ´æ° * @returns */ export const updateWmsMaterialType = (id: string, data: Record<string, any>) => { return request.put(`/api/v1/HIAWms/wmsMaterialType/${id}`, data) } /** * è·åæä¸¾ * @returns */ export const getWmsEnumData = (data: any) => { return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) } HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialType.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ import { Base } from '@/libs/Base/Base' import { deleteWmsMaterialTypes, addWmsMaterialType, cloneData, } from './Service/WmsMaterialType' export class WmsMaterialType extends Base<{ [key: string]: any }> { constructor() { super({ data: [], }) } onMounted() {} /** * å é¤ * @param id * @returns */ async deleteWmsMaterialTypes(ids: string[]) { return deleteWmsMaterialTypes(ids) } /** * æ·»å æ°æ® * @param data * @returns */ addWmsMaterialType(data: Record<string, any>) { return addWmsMaterialType(data) } /** * å é * @param ids * @returns */ cloneData(ids: string[]) { return cloneData(ids) } } HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialTypeDrawer.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ import { Base } from '@/libs/Base/Base' import { addWmsMaterialType, getWmsMaterialType, updateWmsMaterialType, getWmsEnumData, } from './Service/WmsMaterialTypeDrawer' import { useGlobalState } from '@/libs/Store/Store' export class WmsMaterialTypeDrawer extends Base<{ [key: string]: any }> { constructor() { super({ data: [], wmsMaterialType: {}, }) } /** * æ·»å * @param data */ async addWmsMaterialType(data: Record<string, any>) { return addWmsMaterialType(data) } /** * æ´æ° * @param data */ async updateWmsMaterialType(id: string, data: Record<string, any>) { return updateWmsMaterialType(id, data) } /** * è·å详æ */ async getWmsMaterialTypeDetail(current: any, id?: string) { return getWmsMaterialType(id || current?.id) } // è·åæä¸¾å¼ async getWmsEnumData(data: Record<string, any>) { return getWmsEnumData(data) } } HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialTypeQueryDrawer.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ import { Base } from '@/libs/Base/Base' import { addWmsMaterialType, getWmsMaterialType, updateWmsMaterialType, getWmsEnumData, } from './Service/WmsMaterialTypeQueryDrawer' import { useGlobalState } from '@/libs/Store/Store' export class WmsMaterialTypeQueryDrawer extends Base<{ [key: string]: any }> { constructor() { super({ data: [], wmsMaterialType: {}, }) } /** * æ·»å * @param data */ async addWmsMaterialType(data: Record<string, any>) { return addWmsMaterialType(data) } /** * æ´æ° * @param data */ async updateWmsMaterialType(id: string, data: Record<string, any>) { return updateWmsMaterialType(id, data) } /** * è·å详æ */ async getWmsMaterialTypeDetail(current: any, id?: string) { return getWmsMaterialType(id || current?.id) } // è·åæä¸¾å¼ async getWmsEnumData(data: Record<string, any>) { return getWmsEnumData(data) } } HIAWms/hiawms_web/src/widgets/HIAWms/Views/HIAWms.tsx
@@ -23,7 +23,10 @@ const entityNames = getEntityNames(Models) const nameToLabelMap = [{ name: 'WmsMaterial', label: 'ç©æåºç¡' }] const nameToLabelMap = [ { name: 'WmsMaterial', label: 'ç©æåºç¡' }, { name: 'WmsMaterialType', label: 'ç©æç±»å' }, ] export default defineComponent({ name: 'HIAWms', HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialTypeDrawer/WmsMaterialTypeDrawer.module.scss
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ .drawer { width: 800px; } HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialTypeDrawer/WmsMaterialTypeDrawer.tsx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ import { SetupContext, defineComponent } from 'vue' import BaseDrawer from '@/components/BaseDrawer/BaseDrawer' import styles from './WmsMaterialTypeDrawer.module.scss' import { useWmsMaterialTypeDrawer } from '../../../../Controllers/WmsMaterialTypeDrawer.tsx' import DyForm from '@/components/DyForm/DyForm' // @ts-ignore export default defineComponent<{ [key: string]: any }>({ name: 'å¼¹çª', props: { modelValue: { type: Boolean, default: false, }, title: { type: String, default: '', }, row: { type: Object, }, sort: { type: Number, default: 0, }, }, emits: ['update:modelValue', 'close', 'submit', 'confirm'], setup(props: Record<string, any>, ctx: SetupContext) { const { onClose, onConfirm, onOpen, formRef, visible, formItems, formData, } = useWmsMaterialTypeDrawer(props, ctx) return () => ( <BaseDrawer class={styles.drawer} size="800px" title={props.title || 'æ·»å '} v-model={visible.value} close-on-click-modal={true} onConfirm={onConfirm} onOpen={onOpen} before-close={onClose} onClose={onClose} > <DyForm ref={formRef} formData={formData.value} labelWidth="106px" formItemProps={formItems} ></DyForm> </BaseDrawer> ) }, }) HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialTypeQueryDrawer/WmsMaterialTypeQueryDrawer.module.scss
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ .drawer { width: 800px; } HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialTypeQueryDrawer/WmsMaterialTypeQueryDrawer.tsx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@ /* * ç©æåºç¡ä¿¡æ¯æ¥è¯¢å¼¹åºæ¡ */ import { SetupContext, defineComponent } from 'vue' import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' import styles from './WmsMaterialTypeQueryDrawer.module.scss' import { useWmsMaterialTypeQueryDrawer } from '../../../../Controllers/WmsMaterialTypeQueryDrawer.tsx' import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery' // @ts-ignore export default defineComponent<{ [key: string]: any }>({ name: 'å¼¹çª', props: { //æä¸¾ç±»ååå ¸ enumListDict:{ type: Array as () => Array<{ key: string; value: object }>, // å®ä¹æ°ç»å ç´ ç±»å default: () => [] // é»è®¤å¼ }, modelValue: { type: Boolean, default: false, }, title: { type: String, default: '', }, row: { type: Object, }, sort: { type: Number, default: 0, }, }, emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'], setup(props: Record<string, any>, ctx: SetupContext) { const { onClose, onConfirmQuery, onOpen, onReset, formRef, visible, formItems, formData, } = useWmsMaterialTypeQueryDrawer(props, ctx) return () => ( <BaseQueryDrawer class={styles.drawer} size="800px" title={props.title || 'é«çº§æ¥è¯¢'} v-model={visible.value} close-on-click-modal={true} onReset={onReset} onConfirmQueryForBase={onConfirmQuery} onOpen={onOpen} before-close={onClose} onClose={onClose} > <DyFormForHighQuery ref={formRef} formData={formData.value} labelWidth="106px" formItemProps={formItems} ></DyFormForHighQuery> </BaseQueryDrawer> ) }, }) HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterialType/Config.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ export const columns = [ { type: 'seq', width: 60, title: 'åºå·', }, { field: 'materialTypeDesc', title: 'ç±»åæè¿°', width:160, }, { field: 'materialTypeCode', title: 'ç±»åç¼ç ', width:160, }, { field: 'creationTime', title: 'å建æ¶é´', width:180, }, { field: 'lastModificationTime', title: 'æåä¿®æ¹æ¶é´', width:180, }, { field: 'creatorName', title: '', width:160, }, { field: 'lastModifierName', title: '', width:160, }, { field: 'remark', title: '夿³¨', width:160, }, ] HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterialType/WmsMaterialType.module.scss
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ .wmsMaterialTypeContent { width: 100%; height: 100%; .wmsMaterialTypeList { width: 100%; height: calc(100% - 70px); } .headerContent { display: flex; justify-content: space-between; align-items: center; height: 43px; } .header { margin-bottom: 12px; display: flex; justify-content: flex-end; align-items: center; } } .tagBox { width: auto; min-width: 80px; height: 24px; background: #ffffff; border-radius: 19px 19px 19px 19px; opacity: 1; border: 1px dashed #bcc4cc; width: 50px; height: 20px; font-size: 14px; font-family: PingFang SC, PingFang SC; font-weight: 400; color: #5a84ff; display: flex; justify-content: center; align-items: center; // cursor: pointer; } .group { display: flex; justify-content: space-between; align-items: center; } .groupTable { width: 100%; } .overBox { width: 100%; height: calc(100% - 20px); overflow: auto; :global(.cs-collapse-item__header) { background-color: #f1f1f1; padding: 0 20px; height: 35px; font-size: 16px; font-family: PingFang SC, PingFang SC; font-weight: 500; } :global(.cs-collapse-item__content) { padding-bottom: 0px; } } .groupHeader { width: 100%; height: 30px; background: #ccc; } .hideBlock { display: none; } .queryForm { padding: 10px; background: #f5f7fa; margin-bottom: 0px; border-radius: 4px; .el-form-item { margin-right: 20px; margin-bottom: 0; // ç»ä¸è¾å ¥æ¡åéæ©æ¡ç宽度 .el-input, .el-select { width: 200px; // 设置ç»ä¸ç宽度 } // éæ©æ¡å é¨è¾å ¥æ¡æ ·å¼ .el-select .el-input__wrapper { height: 32px; // ä¸è¾å ¥æ¡é«åº¦ä¸è´ padding: 1px 11px; // ä¸è¾å ¥æ¡å è¾¹è·ä¸è´ } // æ¥æéæ©å¨å®½åº¦ .el-date-editor { width: 220px; } } } // 妿éè¦æ´ç²¾ç¡®çæ§å¶ï¼å¯ä»¥åç¬è®¾ç½® .formItem { width: 200px; &.el-input, &.el-select { width: 100%; } } HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterialType/WmsMaterialType.tsx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,376 @@ import { computed, defineComponent, onMounted, reactive, ref } from 'vue' import type { Ref } from 'vue' import BaseTable from '@/components/Table/Table' import styles from './WmsMaterialType.module.scss' import { useWmsMaterialType } from '../../../Controllers/WmsMaterialType' import IconButton from '@/components/IconButton/IconButton' import WmsMaterialTypeDrawer from '../Dialog/WmsMaterialTypeDrawer/WmsMaterialTypeDrawer' import WmsMaterialTypeQueryDrawer from '../Dialog/WmsMaterialTypeQueryDrawer/WmsMaterialTypeQueryDrawer' import Search from '@/components/Search/Search' import { columns } from './Config' import TdButton from '@/components/TdButton/TdButton' import { vPermission } from '@/libs/Permission/Permission' import dayjs from 'dayjs' import { getWmsEnumData } from '@/widgets/WmsMaterialType/Models/Service/WmsMaterialTypeDrawer' import { ElInput, ElSelect, ElOption, ElDatePicker, ElForm, ElFormItem, } from 'element-plus' import { injectModel } from '@/libs/Provider/Provider' // å¼å ¥å ¬å ±é项é ç½® import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'; interface RenderTableType { url?: string dataSource: Ref<any[]> isDrag?: boolean isChecked?: boolean isHidePagination?: boolean params?: Record<string, any> autoHeight?: boolean } export default defineComponent({ name: 'WmsMaterialType', directives: { permission: vPermission, }, setup(props, ctx) { const { dataSource, contextMenu, dialogConfig, dialogConfigForQuery, tableRef, current, search, sort, headers, onError, onSearch, onRowClick, onConfirmWmsMaterialType, onCheck, onAddWmsMaterialType, onAdvancedQuery, onExport, openDetail, onSuccess, onBeforeUpload, } = useWmsMaterialType(props, ctx) //å®ä¹é«çº§æ¥è¯¢å¼ç¨ const wmsMaterialTypeQueryDrawerRef=ref(null); // æ°å¢çæ¥è¯¢æ¡ä»¶ const queryForm = ref({ searchVal: '', str_searchFormInputAttrs:[], searchVal_FilterMode:'' }) //å®ä¹æ´ä½æ¨¡ç³æ¥è¯¢çåæ°ç»(注æï¼å¿ 须大å°åè·å端çå®ä½ç±»å±æ§åä¸è´ï¼å¦åä¼å¯¼è´å¹é ä¸å¯¹çé®é¢) const _searchFormInputAttrs = ref([ 'MaterialTypeCode', 'MaterialTypeDesc', ]); const searchFormInputAttrs_Placeholder = ref('请è¾å ¥ç©æç±»åç¼å·/ç©æç±»ååç§°'); // 卿æä¸¾é项 const enumOptions = reactive({ }) // è·åæä¸¾æ°æ® const fetchEnumData = async () => { try { } catch (error) { console.error('è·åæä¸¾æ°æ®å¤±è´¥:', error) } } // å®ä¹ååºå¼æ¥è¯¢æ°æ® const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[],searchVal_FilterMode:'' }); // ç»ä»¶æè½½æ¶è·åæä¸¾æ°æ® onMounted(() => { fetchEnumData() queryForm.value.searchVal_FilterMode = FILTER_MODE_OPTIONS_STRING[0]?.value || ''; _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode; _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value; }) // æ°ççæ¥è¯¢æ¹æ³ï¼ä¸»é¡µé¢ä¸çæé®ãæ¥è¯¢ãï¼ const handleQueryForMain = async () => { _curHighQueryData.value.searchVal = queryForm.value.searchVal; _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode; _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value; tableRef.value.getList(_curHighQueryData.value) } // æ°ççæ¥è¯¢æ¹æ³ï¼é«çº§æ¥è¯¢ä¸çæé®ãæ¥è¯¢ãï¼ const handleQuery = async (extraParams = {}) => { let filteredData = commonGetHighQueryForm(extraParams); commonSaveCurHighQueryData(filteredData); tableRef.value.getList(filteredData) } // æ°ççæ¥è¯¢éç½® const resetQuery = () => { queryForm.value.searchVal = '' queryForm.value.searchVal_FilterMode = FILTER_MODE_OPTIONS_STRING[0]?.value || ''; queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value; } //æ°ççå¯¼åºæ¹æ³ const handleExport=()=>{ onExport(_curHighQueryData.value); } // æ°ççæ¥è¯¢å¼¹åºæ¡å ³éæ¹æ³ const closeQuery = (extraParams={}) => { let filteredData = commonGetHighQueryForm(extraParams); console.log("closeQueryæ¹æ³"); console.log(filteredData); commonSaveCurHighQueryData(filteredData); } //ä¿åæ¥è¯¢å¼ const commonSaveCurHighQueryData=(filteredData={})=>{ _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }; _curHighQueryData.value.searchVal = queryForm.value.searchVal _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value; } //è·åé«çº§æ¥è¯¢å¼¹åºæ¡çæ¥è¯¢å¼ const commonGetHighQueryForm=(extraParams={})=>{ // è¿æ»¤æ undefined çå¼ let filteredData = Object.assign( {}, ...Object.entries(extraParams).map(([key, value]) => value !== undefined ? { [key]: value } : {} ) ) //ç»åæ¨¡ç³æ¥è¯¢ filteredData.searchVal = queryForm.value.searchVal filteredData.searchVal_FilterMode = queryForm.value.searchVal_FilterMode filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value; return filteredData; } /** * @returns è¡¨æ ¼ */ const RenderBaseTable = (props: RenderTableType) => { const { url, dataSource, isDrag, isChecked, isHidePagination, params, autoHeight, } = props return ( <div class={{ [styles.wmsMaterialTypeList]: true, }} > <BaseTable ref={tableRef} url={url} sortUrlTpl="/api/v1/HIAWms/wmsMaterialType/{id}/adjustsort/{sort}" v-model:dataSource={dataSource.value} columns={columns} contextMenu={contextMenu} params={params} isDrag={isDrag} isChecked={isChecked} autoHeight={autoHeight} onCheck={onCheck} onRowClick={onRowClick} isHidePagination={isHidePagination} pageSize={20} v-slots={{ creationTime: ({ row }: any) => { return ( <div> {row.creationTime != null ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss') : '-'} </div> ) }, lastModificationTime: ({ row }: any) => { return ( <div> {row.lastModificationTime != null ? dayjs(row.lastModificationTime).format('YYYY-MM-DD HH:mm:ss') : '-'} </div> ) }, isDeleted: ({ row }: any) => { return ( <div> {row.isDeleted != null ? (row.isDeleted ? 'æ¯' : 'å¦') : '-'} </div> ) }, deletionTime: ({ row }: any) => { return ( <div> {row.deletionTime != null ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss') : '-'} </div> ) }, isDisabled: ({ row }: any) => { return ( <div> {row.isDisabled != null ? (row.isDisabled ? 'æ¯' : 'å¦') : '-'} </div> ) }, name: ({ row }: any) => { return row?.name ? ( <TdButton onClick={() => openDetail(row)} text={<span style="color:#5a84ff">详æ </span>} icon="scale" tip={row?.name} hover > {row?.name} </TdButton> ) : ( '-' ) }, }} ></BaseTable> </div> ) } return () => { return ( <div class={styles.wmsMaterialTypeContent}> {/* æ·»å /ç¼è¾ */} <WmsMaterialTypeDrawer v-model={dialogConfig.visible} title={dialogConfig.title} row={current.value} sort={sort.value} onConfirm={onConfirmWmsMaterialType} /> {/* é«çº§æ¥è¯¢ */} <WmsMaterialTypeQueryDrawer ref="wmsMaterialTypeQueryDrawerRef" v-model={dialogConfigForQuery.visible} title={dialogConfigForQuery.title} row={current.value} sort={sort.value} onConfirmQuery={handleQuery} onRestQuery={resetQuery} onClose={closeQuery} /> <div class={styles.headerContent}> <div class={styles.header}> <IconButton v-permission="wmsMaterialType-add" icon="add-p" onClick={onAddWmsMaterialType} type="primary" > æ·»å </IconButton> <el-divider direction="vertical" /> <el-upload v-permission="wmsMaterialType-import" name="file" accept=".xlsx,.xls,.csv" show-file-list={false} onError={onError} onSuccess={onSuccess} before-upload={onBeforeUpload} headers={headers.value} action="/api/v1/HIAWms/wmsMaterialType/import" > <IconButton icon="in">å¯¼å ¥</IconButton> </el-upload> <IconButton v-permission="wmsMaterialType-output" icon="out" onClick={handleExport} > å¯¼åº </IconButton> </div> <ElFormItem style={{ marginTop: '15px' }}> <ElFormItem label="å ³é®å"> <el-tooltip class="box-item" effect="dark" content={searchFormInputAttrs_Placeholder.value} placement="top-start" > <ElInput v-model={queryForm.value.searchVal} placeholder={searchFormInputAttrs_Placeholder.value} clearable class={styles.formItem} /> </el-tooltip> </ElFormItem> <ElFormItem label="" style="width:100px;"> <ElSelect v-model={queryForm.value.searchVal_FilterMode} placeholder="è¯·éæ©" class={styles.formItem} > {FILTER_MODE_OPTIONS_STRING.map((option) => ( <ElOption key={option.value} label={option.label} value={option.value} /> ))} </ElSelect> </ElFormItem> <IconButton type="primary" icon="search" onClick={handleQueryForMain}> æ¥è¯¢ </IconButton> {/* <IconButton style="" icon="refresh" onClick={resetQuery}> éç½® </IconButton> */} <IconButton v-permission="wmsMaterialType-add" icon="search" onClick={onAdvancedQuery} type="primary" > é«çº§æ¥è¯¢ </IconButton> </ElFormItem> </div> <RenderBaseTable url="/api/v1/HIAWms/wmsMaterialType/page" dataSource={dataSource} isChecked={true} isDrag={true} /> </div> ) } }, }) HIAWms/hiawms_web/src/widgets/HIAWms/Views/config/WmsMaterialType.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ { "name": "WmsMaterialType" } HIAWms/hiawms_web/src/widgets/HIAWms/enum.ts
@@ -12,4 +12,9 @@ 'wmsMaterial-add': 'å表-æ·»å ', 'wmsMaterial-import': 'å表-å¯¼å ¥', 'wmsMaterial-output': 'å表-è¾åº', 'wmsMaterialType-list': 'å表-å表', 'wmsMaterialType-add': 'å表-æ·»å ', 'wmsMaterialType-import': 'å表-å¯¼å ¥', 'wmsMaterialType-output': 'å表-è¾åº', } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/ExportWmsMaterialModel.cs
ÎļþÒÑɾ³ý HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs
@@ -87,17 +87,27 @@ /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> public MaterialTypeEnum? MaterialType { get; set; } public string? MaterialTypeCode { get; set; } /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum MaterialType_FilterMode { get; set; }= SearchFilterModeEnum.ç²¾åæ¥è¯¢; public SearchFilterModeEnum MaterialType_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ /// </summary> public string PrimaryUnit { get; set; } /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> public string? MaterialTypeDesc { get; set; } /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum MaterialTypeDesc_FilterMode { get; set; } = SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ /// </summary> public string PrimaryUnit { get; set; } /// <summary> /// 主åä½ï¼å¦ï¼kgãmã个ï¼-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs
@@ -32,7 +32,7 @@ /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> public MaterialTypeEnum MaterialType { get; set; } public string MaterialTypeCode { get; set; } /// <summary> /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs
@@ -45,18 +45,13 @@ /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> public MaterialTypeEnum MaterialType { get; set; } public string MaterialTypeCode { get; set; } /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> public string MaterialTypeDesc { get { return GetEnumDescriptionUtil.GetEnumDescription(MaterialType); } } public string MaterialTypeDesc { get; set; } /// <summary> /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ /// </summary> HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs
@@ -37,8 +37,14 @@ /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> [ExcelColumn(Name = "ç©æç±»åï¼æä¸¾å¼ï¼", Width = 25)] public MaterialTypeEnum MaterialType { get; set; } [ExcelColumn(Name = "ç©æç±»å", Width = 25)] public string MaterialTypeCode { get; set; } /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> [ExcelColumn(Name = "ç©æç±»å", Width = 25)] public string MaterialTypeDesc { get; set; } /// <summary> /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialType/GetWmsMaterialTypeInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,232 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; using CmsQueryExtensions.Extension; using Volo.Abp.Application.Dtos; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; /// <summary> /// ç©ælç±»åä¿¡æ¯æ¥è¯¢åæ° /// </summary> public class GetWmsMaterialTypeInput : ExtensiblePagedAndSortedResultRequestDto { #region å ³é®åæ¥è¯¢ /// <summary> /// å ³é®åæ¨¡ç³æ¥è¯¢ï¼æ³¨ææ¯å°åï¼ï¼ /// </summary> public string searchVal { get; set; } /// <summary> /// éç¨æ¥è¯¢é ç½® (1:æ¨¡ç³æ¥è¯¢ , 2:ç²¾åæ¥è¯¢)ï¼æ³¨ææ¯å°åï¼ï¼ /// </summary> public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// åæç´¢ç»ä»¶ä¼ éçéç¨æ¥è¯¢é ç½®ç屿§åï¼æ³¨ææ¯å°åï¼ï¼ /// </summary> [NoAutoQuery] public string str_searchFormInputAttrs { get; set; } /// <summary> /// åæç´¢ç»ä»¶ä¼ éçéç¨æ¥è¯¢é ç½®ç屿§åï¼æ³¨ææ¯å°åï¼ï¼ /// </summary> public List<string> searchFormInputAttrs { get { if (!string.IsNullOrEmpty(str_searchFormInputAttrs)) { return str_searchFormInputAttrs.Split(',').ToList(); } return new List<string>(); } } #endregion /// <summary> /// ç±»åæè¿° /// </summary> public string MaterialTypeDesc { get; set; } /// <summary> /// ç±»åæè¿°-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum MaterialTypeDesc_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// ç±»åç¼ç /// </summary> public string MaterialTypeCode { get; set; } /// <summary> /// ç±»åç¼ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum MaterialTypeCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å建æ¶é´ /// </summary> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public string CreationTime { get; set; } /// <summary> /// å建人ID /// </summary> public string CreatorId { get; set; } /// <summary> /// å建人ID-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æåä¿®æ¹æ¶é´ /// </summary> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public string LastModificationTime { get; set; } /// <summary> /// æåä¿®æ¹äººID /// </summary> public string LastModifierId { get; set; } /// <summary> /// æåä¿®æ¹äººID-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯å¦å·²å é¤ /// </summary> public bool? IsDeleted { get; set; } /// <summary> /// æ¯å¦å·²å é¤-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.ç²¾åæ¥è¯¢; /// <summary> /// å é¤äººID /// </summary> public string DeleterId { get; set; } /// <summary> /// å é¤äººID-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å 餿¶é´ /// </summary> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public string DeletionTime { get; set; } /// <summary> /// /// </summary> public string CreatorName { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum CreatorName_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string LastModifierName { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum LastModifierName_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string OperationRemark { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum OperationRemark_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string DeleteRemark { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum DeleteRemark_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public int? Sort { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum Sort_FilterMode { get; set; }= SearchFilterModeEnum.ç²¾åæ¥è¯¢; /// <summary> /// 夿³¨ /// </summary> public string Remark { get; set; } /// <summary> /// 夿³¨-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum Remark_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public bool? IsDisabled { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum IsDisabled_FilterMode { get; set; }= SearchFilterModeEnum.ç²¾åæ¥è¯¢; /// <summary> /// /// </summary> public string ExtraField1 { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum ExtraField1_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string ExtraField2 { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum ExtraField2_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string ExtraField3 { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum ExtraField3_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialType/WmsMaterialTypeCreateDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; /// <summary> /// ç©ælç±»åä¿¡æ¯åå»ºåæ°å¯¹è±¡ /// </summary> public class WmsMaterialTypeCreateDto : WmsMaterialTypeCreateOrUpdateDtoBase { /// <summary> /// æåº /// </summary> public virtual int? Sort { get; set; } /// <summary> /// æ¯å¦ç¦ç¨ /// </summary> public bool? IsDisabled { get; set; } = false; /// <summary> /// å建人 /// </summary> public string CreatorName { get; set; } } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialType/WmsMaterialTypeCreateOrUpdateDtoBase.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,85 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; using System; using Volo.Abp.Application.Dtos; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; /// <summary> /// ç©ælç±»åä¿¡æ¯åå»ºææ´æ°åºç±» /// </summary> public abstract class WmsMaterialTypeCreateOrUpdateDtoBase : ExtensibleEntityDto { /// <summary> /// ç±»åæè¿° /// </summary> public string MaterialTypeDesc { get; set; } /// <summary> /// ç±»åç¼ç /// </summary> public string MaterialTypeCode { get; set; } /// <summary> /// å建人ID /// </summary> public string? CreatorId { get; set; } /// <summary> /// æåä¿®æ¹äººID /// </summary> public string? LastModifierId { get; set; } /// <summary> /// å 餿¶é´ /// </summary> public DateTime? DeletionTime { get; set; } /// <summary> /// /// </summary> public string? OperationRemark { get; set; } /// <summary> /// /// </summary> public string? DeleteRemark { get; set; } /// <summary> /// /// </summary> public int Sort { get; set; } /// <summary> /// 夿³¨ /// </summary> public string? Remark { get; set; } /// <summary> /// /// </summary> public bool? IsDisabled { get; set; } /// <summary> /// /// </summary> public string? ExtraField1 { get; set; } /// <summary> /// /// </summary> public string? ExtraField2 { get; set; } /// <summary> /// /// </summary> public string? ExtraField3 { get; set; } /// <summary> /// Initializes a new instance of the <see cref="WmsMaterialTypeCreateOrUpdateDtoBase"/> class. /// </summary> public WmsMaterialTypeCreateOrUpdateDtoBase() : base(false) { } } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialType/WmsMaterialTypeDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,136 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; using CmsQueryExtensions; using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.Domain.Entities; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; /// <summary> /// ç©ælç±»åä¿¡æ¯æ°æ®åæ°å¯¹è±¡ /// </summary> public class WmsMaterialTypeDto: ExtensibleEntityDto<Guid>, IHasConcurrencyStamp { /// <summary> /// ç±»åæè¿° /// </summary> public string MaterialTypeDesc { get; set; } /// <summary> /// ç±»åç¼ç /// </summary> public string MaterialTypeCode { get; set; } /// <summary> /// /// </summary> public ExtraPropertyDictionary? ExtraProperties { get; set; } /// <summary> /// /// </summary> public string? ConcurrencyStamp { get; set; } /// <summary> /// å建æ¶é´ /// </summary> public DateTime CreationTime { get; set; } /// <summary> /// å建人ID /// </summary> public string? CreatorId { get; set; } /// <summary> /// æåä¿®æ¹æ¶é´ /// </summary> public DateTime? LastModificationTime { get; set; } /// <summary> /// æåä¿®æ¹äººID /// </summary> public string? LastModifierId { get; set; } /// <summary> /// æ¯å¦å·²å é¤ /// </summary> public bool IsDeleted { get; set; } /// <summary> /// å é¤äººID /// </summary> public string? DeleterId { get; set; } /// <summary> /// å 餿¶é´ /// </summary> public DateTime? DeletionTime { get; set; } /// <summary> /// /// </summary> public string? CreatorName { get; set; } /// <summary> /// /// </summary> public string? LastModifierName { get; set; } /// <summary> /// /// </summary> public string? OperationRemark { get; set; } /// <summary> /// /// </summary> public string? DeleteRemark { get; set; } /// <summary> /// /// </summary> public int Sort { get; set; } /// <summary> /// 夿³¨ /// </summary> public string? Remark { get; set; } /// <summary> /// /// </summary> public bool? IsDisabled { get; set; } /// <summary> /// /// </summary> public string? ExtraField1 { get; set; } /// <summary> /// /// </summary> public string? ExtraField2 { get; set; } /// <summary> /// /// </summary> public string? ExtraField3 { get; set; } /// <summary> /// Gets the export data. /// </summary> /// <returns></returns> public Dictionary<string, object> GetExportData() { var exportData = new Dictionary<string, object>(); foreach (var property in this.GetType().GetProperties()) { exportData.Add(property.Name, property.GetValue(this)); } return exportData; } } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialType/WmsMaterialTypeExportModel.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ using MiniExcelLibs.Attributes; using System.ComponentModel.DataAnnotations; using System; using System.ComponentModel; using CMS.Plugin.HIAWms.Domain.Shared.Enums; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; /// <summary> /// ç©ælç±»åä¿¡æ¯å¯¼åºæ¨¡å /// </summary> public class WmsMaterialTypeExportModel { /// <summary> /// ç±»åæè¿° /// </summary> [ExcelColumn(Name = "ç±»åæè¿°", Width = 25)] public string MaterialTypeDesc { get; set; } /// <summary> /// ç±»åç¼ç /// </summary> [ExcelColumn(Name = "ç±»åç¼ç ", Width = 25)] public string MaterialTypeCode { get; set; } /// <summary> /// å建æ¶é´ /// </summary> [ExcelColumn(Name = "å建æ¶é´", Width = 25)] public DateTime CreationTime { get; set; } /// <summary> /// æåä¿®æ¹æ¶é´ /// </summary> [ExcelColumn(Name = "æåä¿®æ¹æ¶é´", Width = 25)] public DateTime LastModificationTime { get; set; } /// <summary> /// /// </summary> [ExcelColumn(Name = "", Width = 25)] public string CreatorName { get; set; } /// <summary> /// /// </summary> [ExcelColumn(Name = "", Width = 25)] public string LastModifierName { get; set; } /// <summary> /// 夿³¨ /// </summary> [ExcelColumn(Name = "夿³¨", Width = 25)] public string Remark { get; set; } public Dictionary<string, object> GetExportData() { var exportData = new Dictionary<string, object>(); foreach (var property in this.GetType().GetProperties()) { exportData.Add(property.Name, property.GetValue(this)); } return exportData; } } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialType/WmsMaterialTypeUpdateDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ using Volo.Abp.Domain.Entities; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; /// <summary> /// ç©ælç±»åä¿¡æ¯æ´æ°åæ°å¯¹è±¡ /// </summary> public class WmsMaterialTypeUpdateDto : WmsMaterialTypeCreateOrUpdateDtoBase, IHasConcurrencyStamp { /// <summary> /// å¹¶åæ³ /// </summary> public string ConcurrencyStamp { get; set; } /// <summary> /// ä¿®æ¹äºº /// </summary> public string LastModifierName { get; set; } } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialType/WmsMaterialTypesImportModel.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType { /// <summary> /// ç©ælç±»åä¿¡æ¯å¯¼å ¥æ¨¡å /// </summary> public class WmsMaterialTypesImportModel { private List<WmsMaterialTypeImportModel> _WmsMaterialTypes = new(); public List<WmsMaterialTypeImportModel> WmsMaterialTypes { get => _WmsMaterialTypes; set { _WmsMaterialTypes = value; var rowIndex = 2; _WmsMaterialTypes?.ForEach(x => x.RowIndex = rowIndex++); } } /// <summary> /// ç©ælç±»åä¿¡æ¯å¯¼å ¥æ¨¡å /// </summary> public class WmsMaterialTypeImportModel : WmsMaterialTypeExportModel { /// <summary> /// è¡å· /// </summary> public int RowIndex { get; set; } } } } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/QueryTaskTypeInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask { /// <summary> /// æ¥è¯¢ä»»å¡å ¥å /// </summary> public class QueryTaskTypeInput { public TaskTypeEnum TaskType { get; set; } } } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialTypeAppService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,85 @@ using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; using Volo.Abp.Application.Services; using CmsQueryExtensions.Entitys; using System.Linq.Expressions; using CMS.Plugin.HIAWms.Domain.WmsMaterialType; namespace CMS.Plugin.HIAWms.Application.Contracts.Services; /// <summary> /// ç©ælç±»åä¿¡æ¯åºç¨æå¡æ¥å£ /// </summary> public interface IWmsMaterialTypeAppService : ICrudAppService<WmsMaterialTypeDto, Guid, GetWmsMaterialTypeInput, WmsMaterialTypeCreateDto, WmsMaterialTypeUpdateDto> { /// <summary> /// å éç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="ids"></param> /// <returns></returns> Task<List<WmsMaterialTypeDto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser); /// <summary> /// å é¤ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="ids"></param> /// <returns></returns> Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser); /// <summary> /// ç©çå é¤ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default); /// <summary> /// æ¹éç©çå é¤ç©ælç±»åä¿¡æ¯ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default); /// <summary> /// è°æ´æåºç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id"></param> /// <param name="sort"></param> /// <returns></returns> Task AdjustSortAsync(Guid id, int sort); /// <summary> /// å¯¼å ¥ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> Task ImportAsync(WmsMaterialTypesImportModel input, MyCurrentUser myCurrentUser); /// <summary> /// 导åºç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialTypeInput input); /// <summary> /// æ ¹æ®æ¡ä»¶è·åç©ælç±»åä¿¡æ¯å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
@@ -64,4 +64,11 @@ /// <param name="input"></param> /// <returns></returns> Task ChangeTaskToPlaceAsync(ChangeTaskToPlaceInput input); /// <summary> /// è·åéè¦æ§è¡çå åæºä»»å¡ /// </summary> /// <param name="input"></param> /// <returns></returns> Task<WmsTaskDto> GetToExecuteTaskAsync(QueryTaskTypeInput input); } HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
@@ -100,7 +100,7 @@ public async Task<List<MaterialModelOutput>> GetMaterialModeListAsync() { var materialList = await _wmsMaterialRepository.GetMaterialListAsync(new WmsMaterial()); if (materialList == null || materialList.Count <= 0) return new List<MaterialModelOutput>(); ; if (materialList == null || materialList.Count <= 0) return new List<MaterialModelOutput>(); return materialList.Select(material => new MaterialModelOutput { HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
@@ -125,7 +125,7 @@ wmsmaterial.MaterialName = input.MaterialName; wmsmaterial.PurchaseType = input.PurchaseType; wmsmaterial.MaterialType = input.MaterialType; wmsmaterial.MaterialTypeCode = input.MaterialTypeCode; wmsmaterial.PrimaryUnit = input.PrimaryUnit; wmsmaterial.Standard = input.Standard; wmsmaterial.OuterDiameter = input.OuterDiameter; @@ -271,7 +271,7 @@ MaterialNo = wmsmaterial.MaterialNo, MaterialName = wmsmaterial.MaterialName, PurchaseType = wmsmaterial.PurchaseType, MaterialType = wmsmaterial.MaterialType, MaterialTypeCode = wmsmaterial.MaterialTypeCode, PrimaryUnit = wmsmaterial.PrimaryUnit, Standard = wmsmaterial.Standard, OuterDiameter = wmsmaterial.OuterDiameter, @@ -293,7 +293,7 @@ MaterialNo = wmsmaterial.MaterialNo, MaterialName = wmsmaterial.MaterialName, PurchaseType = wmsmaterial.PurchaseType, MaterialType = wmsmaterial.MaterialType, MaterialTypeCode = wmsmaterial.MaterialTypeCode, PrimaryUnit = wmsmaterial.PrimaryUnit, Standard = wmsmaterial.Standard, OuterDiameter = wmsmaterial.OuterDiameter, HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialTypeAppService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,455 @@ using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; using CMS.Plugin.HIAWms.Application.Contracts.Services; using CMS.Plugin.HIAWms.Domain.Shared; using CmsQueryExtensions; using CMS.Plugin.HIAWms.Domain.WmsMaterialType; using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectMapping; using CmsQueryExtensions.Entitys; namespace CMS.Plugin.HIAWms.Application.Implements; /// <summary> /// ç©ælç±»åä¿¡æ¯åºç¨æå¡ /// </summary> public class WmsMaterialTypeAppService : CMSPluginAppService, IWmsMaterialTypeAppService { private readonly IWmsMaterialTypeRepository _WmsMaterialTypeRepository; /// <summary> /// Initializes a new instance of the <see cref="WmsMaterialTypeAppService"/> class. /// </summary> /// <param name="WmsMaterialTypeRepository">The task job repository.</param> public WmsMaterialTypeAppService(IWmsMaterialTypeRepository WmsMaterialTypeRepository) { _WmsMaterialTypeRepository = WmsMaterialTypeRepository; } /// <summary> /// è·åæå®ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual async Task<WmsMaterialTypeDto> GetAsync(Guid id) { return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(await _WmsMaterialTypeRepository.GetAsync(id)); } /// <summary> /// å页è·åç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> public virtual async Task<PagedResultDto<WmsMaterialTypeDto>> GetListAsync(GetWmsMaterialTypeInput input) { Check.NotNull(input, nameof(input)); if (input.Sorting.IsNullOrWhiteSpace()) { input.Sorting = nameof(WmsMaterialType.Sort); } #region 卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = DynamicGetQueryParams(input); #endregion var count = await _WmsMaterialTypeRepository.GetCountAsync(whereConditions); var list = await _WmsMaterialTypeRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WmsMaterialTypeDto>(count, ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(list)); } /// <summary> /// 卿æé æ¥è¯¢æ¡ä»¶ /// </summary> /// <param name="input">è¾å ¥åæ°</param> /// <returns></returns> private FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> DynamicGetQueryParams(GetWmsMaterialTypeInput input) { //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterialType, GetWmsMaterialTypeInput>(input); if (!whereConditions.IsSuccess) { throw new Exception("卿æé æ¥è¯¢æ¡ä»¶å¤±è´¥:" + whereConditions.ErrMsg); } //ä¹å¯å次èªå®ä¹æå»ºæ¥è¯¢æ¡ä»¶ Expression<Func<WmsMaterialType, bool>> extendExpression = a => a.IsDeleted == false; // ä½¿ç¨ System.Linq.PredicateBuilder ç And var pres = (System.Linq.Expressions.Expression<Func<WmsMaterialType, bool>>)(whereConditions.data); whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); return whereConditions; } /// <summary> /// æ°å»ºç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public virtual async Task<WmsMaterialTypeDto> CreateAsync(WmsMaterialTypeCreateDto input) { await CheckCreateOrUpdateDtoAsync(input); var exist = await _WmsMaterialTypeRepository.NameExistAsync(input.MaterialTypeCode); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialTypeCode]); } var maxSort = await _WmsMaterialTypeRepository.GetMaxSortAsync(); var sort = input.Sort ?? maxSort; var insertObj = ObjectMapper.Map<WmsMaterialTypeCreateDto, WmsMaterialType>(input); insertObj.Sort = sort; input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); insertObj.CreatorName = input.CreatorName;//å建人 await _WmsMaterialTypeRepository.InsertAsync(insertObj); //if (input.Sort.HasValue && insertObj.Sort != maxSort) //{ // await AdjustSortAsync(insertObj.Id, insertObj.Sort); //} return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(insertObj); } /// <summary> /// æ´æ°ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id"></param> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public virtual async Task<WmsMaterialTypeDto> UpdateAsync(Guid id, WmsMaterialTypeUpdateDto input) { await CheckCreateOrUpdateDtoAsync(input); var updateObj = await _WmsMaterialTypeRepository.GetAsync(id); var exist = await _WmsMaterialTypeRepository.NameExistAsync(input.MaterialTypeCode, updateObj.Id); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialTypeCode]); } updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); updateObj.MaterialTypeDesc = input.MaterialTypeDesc; updateObj.MaterialTypeCode = input.MaterialTypeCode; updateObj.Remark = input.Remark; updateObj.LastModifierName = input.LastModifierName;//ä¿®æ¹äºº await _WmsMaterialTypeRepository.UpdateAsync(updateObj); return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(updateObj); } /// <summary> /// å éç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task<List<WmsMaterialTypeDto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser) { //var WmsMaterialTypes = new List<WmsMaterialType>(); //if (ids != null) //{ // var sort = await _WmsMaterialTypeRepository.GetMaxSortAsync(); // foreach (var id in ids) // { // var WmsMaterialType = await _WmsMaterialTypeRepository.FindAsync(id); // if (WmsMaterialType != null) // { // var name = WmsMaterialType.Name + WmsMaterialTypeConsts.CloneTag; // var notExist = false; // while (!notExist) // { // var exist = await _WmsMaterialTypeRepository.NameExistAsync(name); // if (exist || WmsMaterialTypes.Any(x => x.Name == name)) // { // name += WmsMaterialTypeConsts.CloneTag; // continue; // } // notExist = true; // } // //WmsMaterialType = await _WmsMaterialTypeRepository.InsertAsync(WmsMaterialType.Clone(GuidGenerator.Create(), name, sort++)); // WmsMaterialTypes.Add(WmsMaterialType); // } // } //} //return ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(WmsMaterialTypes); return new List<WmsMaterialTypeDto>(); } /// <summary> /// å é¤åä¸ªç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual Task DeleteAsync(Guid id) { return _WmsMaterialTypeRepository.DeleteAsync(id); } /// <summary> /// å é¤å¤ä¸ªç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser) { foreach (var id in ids) { await DeleteAsync(id); } } /// <summary> /// ç©çå é¤ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) { _WmsMaterialTypeRepository.DeletePermanentlyAsync(id); } /// <summary> /// æ¹éç©çå é¤ç©ælç±»åä¿¡æ¯ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) { _WmsMaterialTypeRepository.BatchDeletePermanentlyAsync(ids); } /// <summary> /// è°æ´æåºç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id"></param> /// <param name="sort"></param> /// <returns></returns> public virtual async Task AdjustSortAsync(Guid id, int sort) { var list = await _WmsMaterialTypeRepository.GetListAsync(null, nameof(WmsMaterialType.Sort)); if (list != null && list.Any()) { var initSort = 1; list.ForEach(x => x.AdjustSort(initSort++)); var entity = list.FirstOrDefault(x => x.Id == id); if (entity != null) { if (sort == 1) { list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); } else if (entity.Sort > sort) { list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); } else if (entity.Sort < sort) { list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); } entity.AdjustSort(sort); } } await _WmsMaterialTypeRepository.UpdateManyAsync(list); } /// <summary> /// å¯¼å ¥ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task ImportAsync(WmsMaterialTypesImportModel input, MyCurrentUser myCurrentUser) { Check.NotNull(input, nameof(input)); var WmsMaterialTypeCreateDtos = new List<(int RowIndex, WmsMaterialTypeCreateDto Item)>(); var WmsMaterialTypeUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialTypeUpdateDto Item)>(); var importItems = input.WmsMaterialTypes; if (importItems != null && importItems.Any()) { #region å¯¼å ¥æ ¡éª // 夿åç§°æ¯å¦éå¤ï¼å¹¶è¾åºç¬¬å è¡éå¤ var duplicateWmsMaterialTypes = importItems.GroupBy(x => x.MaterialTypeCode).Where(x => x.Count() > 1).ToList(); if (duplicateWmsMaterialTypes?.Any() == true) { var duplicateWmsMaterialTypeMsgs = duplicateWmsMaterialTypes.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} è¡ï¼{x.Key} åç§°éå¤"); var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ {string.Join(",", duplicateWmsMaterialTypeMsgs)}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } #endregion foreach (var impItem in importItems) { if (impItem.MaterialTypeCode.IsNullOrWhiteSpace()) { continue; } if (impItem.MaterialTypeCode.IsNullOrWhiteSpace()) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{impItem.RowIndex}è¡ï¼WmsMaterialTypeåç§°ä¸è½ä¸ºç©º"; throw new UserFriendlyException(errorMsg); } var oldWmsMaterialType = await _WmsMaterialTypeRepository.FindByNameAsync(impItem.MaterialTypeCode); if (oldWmsMaterialType != null) { var WmsMaterialTypeUpdateDto = new WmsMaterialTypeUpdateDto { MaterialTypeDesc = impItem.MaterialTypeDesc, MaterialTypeCode = impItem.MaterialTypeCode, Remark = impItem.Remark, }; WmsMaterialTypeUpdateDtos.Add((impItem.RowIndex, oldWmsMaterialType.Id, WmsMaterialTypeUpdateDto)); } else { var WmsMaterialTypeCreateDto = new WmsMaterialTypeCreateDto { MaterialTypeDesc = impItem.MaterialTypeDesc, MaterialTypeCode = impItem.MaterialTypeCode, Remark = impItem.Remark, }; WmsMaterialTypeCreateDtos.Add((impItem.RowIndex, WmsMaterialTypeCreateDto)); } } } // æ°å¢ foreach (var WmsMaterialTypeDto in WmsMaterialTypeCreateDtos) { try { WmsMaterialTypeDto.Item.CreatorName = myCurrentUser.UserAccount;//å建人 await CreateAsync(WmsMaterialTypeDto.Item); } catch (Exception e) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{WmsMaterialTypeDto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } } // æ´æ° foreach (var WmsMaterialTypeDto in WmsMaterialTypeUpdateDtos) { try { WmsMaterialTypeDto.Item.LastModifierName = myCurrentUser.UserAccount;//ä¿®æ¹äºº await UpdateAsync(WmsMaterialTypeDto.Id, WmsMaterialTypeDto.Item); } catch (Exception e) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{WmsMaterialTypeDto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } } } /// <summary> /// 导åºç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialTypeInput input) { Check.NotNull(input, nameof(input)); if (input.Sorting.IsNullOrWhiteSpace()) { input.Sorting = nameof(WmsMaterialType.Sort); } #region 卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = DynamicGetQueryParams(input); #endregion var list = await _WmsMaterialTypeRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(list); var sheets = new Dictionary<string, object> { ["é ç½®"] = ExportHelper.ConvertListToExportData(result), }; var fileName = "ç©æç±»å"; return (sheets, fileName); } /// <summary> /// æ ¡éªç©ælç±»åä¿¡æ¯ï¼å½æ°å»ºææ´æ°æ¶ /// </summary> /// <param name="input"></param> /// <returns></returns> protected Task CheckCreateOrUpdateDtoAsync(WmsMaterialTypeCreateOrUpdateDtoBase input) { Check.NotNull(input, nameof(input)); Check.NotNullOrWhiteSpace(input.MaterialTypeDesc, "ç±»åæè¿°", 128); Check.NotNullOrWhiteSpace(input.MaterialTypeCode, "ç±»åç¼ç ", 64); return Task.CompletedTask; } /// <summary> /// æ ¹æ®æ¡ä»¶è·åç©ælç±»åä¿¡æ¯å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default) { return await _WmsMaterialTypeRepository.GetListByFilterAsync(whereConditions); } /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) { return await _WmsMaterialTypeRepository.GetSingleByFilterAsync(whereConditions, isâMultipleThrowException); } } HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -20,6 +20,8 @@ using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; using Volo.Abp.Uow; using Microsoft.Extensions.DependencyInjection; using NPOI.SS.Formula.Functions; using System.Collections.Generic; namespace CMS.Plugin.HIAWms.Application.Implements; @@ -738,4 +740,29 @@ await wmsTaskRepository.UpdateAsync(task); } /// <summary> /// è·åéè¦æ§è¡çä»»å¡ /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task<WmsTaskDto> GetToExecuteTaskAsync(QueryTaskTypeInput input) { var queryInput = new GetWmsTaskInput { TaskStatus = WmsTaskStatus.WEIZHIXING, }; var whereConditions = DynamicGetQueryParams(queryInput); var NoStartTaskList = await wmsTaskRepository.GetTaskListAsync(whereConditions); if(NoStartTaskList.Count<=0) return null; var executeTask = NoStartTaskList.FirstOrDefault(x=>x.TaskType == input.TaskType); if(executeTask == null) { return ObjectMapper.Map<WmsTask, WmsTaskDto>(NoStartTaskList.FirstOrDefault()); } return ObjectMapper.Map<WmsTask, WmsTaskDto>(executeTask); } } HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialTypeAutoMapperProfile.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ using AutoMapper; using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; using CMS.Plugin.HIAWms.Domain.WmsMaterialType; using Volo.Abp.ObjectExtending; namespace CMS.Plugin.HIAWms.Application.MapperProfiles; /// <summary> /// ç©ælç±»åä¿¡æ¯AutoMapperé ç½® /// </summary> /// <seealso cref="AutoMapper.Profile" /> public class WmsMaterialTypeAutoMapperProfile : Profile { /// <summary> /// Initializes a new instance of the <see cref="WmsMaterialTypeAutoMapperProfile"/> class. /// </summary> public WmsMaterialTypeAutoMapperProfile() { /* You can configure your AutoMapper mapping configuration here. * Alternatively, you can split your mapping configurations * into multiple profile classes for a better organization. */ CreateMap<WmsMaterialType, WmsMaterialTypeDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap<WmsMaterialTypeCreateDto, WmsMaterialType>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap<GetWmsMaterialTypeInput, WmsMaterialType>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); } } HIAWms/server/src/CMS.Plugin.HIAWms.Domain/MaterialType/WmsMaterialType.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ using CMS.Plugin.MyExtension.Domain; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CMS.Plugin.HIAWms.Domain.MaterialType { public class WmsMaterialType : MyFullAuditedAggregateRoot<Guid> { /// <summary> /// ç±»åæè¿° /// </summary> public string MaterialTypeDesc { get; set; } /// <summary> /// ç±»åç¼ç /// </summary> public string MaterialTypeCode { get; set; } } } HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialType/IWmsMaterialTypeRepository.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; namespace CMS.Plugin.HIAWms.Domain.WmsMaterialType; /// <summary> /// ç©ælç±»åä¿¡æ¯ä»å¨ /// </summary> public interface IWmsMaterialTypeRepository : IBasicRepository<WmsMaterialType, Guid> { /// <summary> /// æç §åç§°æ¥æ¾ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<WmsMaterialType> FindByNameAsync(string name, CancellationToken cancellationToken = default); /// <summary> /// éªè¯åç§°æ¯å¦åå¨ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="name"></param> /// <param name="id"></param> /// <returns></returns> Task<bool> NameExistAsync(string name, Guid? id = null); /// <summary> /// è·åæå¤§æåºç©ælç±»åä¿¡æ¯ /// </summary> /// <returns></returns> Task<int> GetMaxSortAsync(); /// <summary> /// è·åå页åè¡¨ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> /// <param name="maxResultCount"></param> /// <param name="skipCount"></param> /// <param name="includeDetails"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<WmsMaterialType>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// è·åæ»æ°ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// ç©çå é¤ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default); /// <summary> /// æ¹éç©çå é¤ç©ælç±»åä¿¡æ¯ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·åç©ælç±»åä¿¡æ¯å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs
@@ -35,7 +35,12 @@ /// <summary> /// ç©æç±»åï¼æä¸¾å¼ï¼ /// </summary> public MaterialTypeEnum MaterialType { get; set; } public string MaterialTypeCode { get; set; } /// <summary> /// ç©æç±»å /// </summary> public string MaterialTypeDesc { get; set; } /// <summary> /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
@@ -58,4 +58,14 @@ /// <param name="cancellationToken"></param> /// <returns></returns> Task<WmsTask> QueryWmsTaskByDataIdentifierAasync(string dataIdentifier, CancellationToken cancellationToken = default); /// <summary> /// è·åä»»å¡å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> /// <param name="includeDetails"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<WmsTask>> GetTaskListAsync(FunReturnResultModel<Expression<Func<WmsTask, bool>>> whereConditions, string sorting = null, bool includeDetails = false, CancellationToken cancellationToken = default); } HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs
@@ -63,8 +63,13 @@ b.Property(x => x.PurchaseType) .HasComment("éè´ç±»åï¼æä¸¾å¼ï¼"); b.Property(x => x.MaterialType) .HasComment("ç©æç±»åï¼æä¸¾å¼ï¼"); b.Property(x => x.MaterialTypeCode) .HasMaxLength(20) .HasComment("ç©æç±»åç¼ç "); b.Property(x => x.MaterialTypeDesc) .HasMaxLength(20) .HasComment("ç©æç±»å"); b.Property(x => x.PrimaryUnit) .HasMaxLength(20) @@ -140,7 +145,7 @@ b.HasIndex(x => x.MaterialNo).IsUnique(); // ç©æç¼ç å¯ä¸ç´¢å¼ b.HasIndex(x => x.MaterialName); // ç©æåç§°æ®éç´¢å¼ b.HasIndex(x => x.PurchaseType); // éè´ç±»åç´¢å¼ï¼å¦éæ¥è¯¢è¿æ»¤ï¼ b.HasIndex(x => x.MaterialType); // ç©æç±»åç´¢å¼ï¼å¦éæ¥è¯¢è¿æ»¤ï¼ b.HasIndex(x => x.MaterialTypeCode); // ç©æç±»åç´¢å¼ï¼å¦éæ¥è¯¢è¿æ»¤ï¼ b.ApplyObjectExtensionMappings(); }); HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterialType.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,100 @@ using CMS.Plugin.HIAWms.Domain; using CMS.Plugin.HIAWms.Domain.MaterialType; using CMS.Plugin.HIAWms.Domain.WmsMaterials; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.EntityFrameworkCore.Modeling; namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions { public static partial class CMSPluginEfCoreExtensions { /// <summary> /// Includes the details. /// </summary> /// <param name="queryable">The queryable.</param> /// <param name="include">if set to <c>true</c> [include].</param> /// <returns></returns> public static IQueryable<WmsMaterialType> IncludeDetails(this IQueryable<WmsMaterialType> queryable, bool include = true) { if (!include) { return queryable; } return queryable; } /// <summary> /// ConfigureWmsMaterialType /// </summary> /// <param name="builder"></param> public static void ConfigureWmsMaterialType(this ModelBuilder builder) { Check.NotNull(builder, nameof(builder)); builder.Entity<WmsMaterialType>(b => { // é 置表ååæ³¨é b.ToTable((CMSPluginDbProperties.DbTablePrefix + "_WmsMaterialType").ToLower(), CMSPluginDbProperties.DbSchema) .HasComment("ç©æç±»å表"); b.ConfigureByConvention(); // 主é®é ç½®ï¼MyFullAuditedAggregateRoot<Guid> å·²é»è®¤å å« Idï¼ b.HasKey(x => x.Id); // åæ®µé ç½® b.Property(x => x.MaterialTypeCode) .HasMaxLength(64) .IsRequired() .HasComment("ç±»åç¼ç "); b.Property(x => x.MaterialTypeDesc) .HasMaxLength(128) .IsRequired() .HasComment("ç±»åæè¿°"); // å ¶ä»éç¨å段ï¼ç»§æ¿èªMyFullAuditedAggregateRoot<Guid>ï¼ b.Property(x => x.Remark) .HasMaxLength(50) .HasComment("夿³¨"); b.Property(x => x.CreationTime) .HasComment("å建æ¶é´"); b.Property(x => x.CreatorId) .HasComment("å建人ID"); b.Property(x => x.LastModificationTime) .HasComment("æåä¿®æ¹æ¶é´"); b.Property(x => x.LastModifierId) .HasComment("æåä¿®æ¹äººID"); b.Property(x => x.IsDeleted) .HasDefaultValue(false) .HasComment("æ¯å¦å·²å é¤"); b.Property(x => x.DeleterId) .HasComment("å é¤äººID"); b.Property(x => x.DeletionTime) .HasComment("å 餿¶é´"); // ç´¢å¼é ç½® b.HasIndex(x => x.MaterialTypeCode).IsUnique(); // ç±»åç¼ç å¯ä¸ç´¢å¼ b.HasIndex(x => x.MaterialTypeDesc); // ç±»åæè¿°æ®éç´¢å¼ b.ApplyObjectExtensionMappings(); }); } } } HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
@@ -104,7 +104,7 @@ return await (await GetDbSetAsync()) .WhereIf(!string.IsNullOrEmpty(material.MaterialName), u => u.MaterialName.Contains(material.MaterialName)) .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialNo.Contains(material.MaterialNo)) .WhereIf(material.MaterialType > 0, u => u.MaterialType == material.MaterialType) .WhereIf(!string.IsNullOrEmpty(material.MaterialTypeCode), u => u.MaterialTypeCode == material.MaterialTypeCode) .WhereIf(material.PurchaseType > 0, u => u.PurchaseType == material.PurchaseType) .Where(x => !x.IsDeleted) .ToListAsync(GetCancellationToken(cancellationToken)); HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialTypeRepository.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,218 @@ using CMS.Plugin.HIAWms.Domain.WmsMaterialType; using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; using CmsQueryExtensions.Extension; using Microsoft.EntityFrameworkCore; using System.Linq.Dynamic.Core; using System.Linq.Expressions; using Volo.Abp; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories; /// <summary> /// ç©ælç±»åä¿¡æ¯ä»å¨å®ç° /// </summary> public class EfCoreWmsMaterialTypeRepository : EfCoreRepository<ICMSPluginDbContext, WmsMaterialType, Guid>, IWmsMaterialTypeRepository { /// <summary> /// Initializes a new instance of the <see cref="EfCoreWmsMaterialTypeRepository"/> class. /// </summary> /// <param name="dbContextProvider">The database context provider.</param> public EfCoreWmsMaterialTypeRepository(IDbContextProvider<ICMSPluginDbContext> dbContextProvider) : base(dbContextProvider) { } /// <summary> /// æç §åç§°æ¥æ¾ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task<WmsMaterialType> FindByNameAsync(string name, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails() .Where(x => !x.IsDeleted) .OrderByDescending(x=>x.CreationTime) .FirstOrDefaultAsync(t => t.MaterialTypeCode == name, GetCancellationToken(cancellationToken)); } /// <summary> /// éªè¯åç§°æ¯å¦åå¨ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="name">æ ¡éªå¼</param> /// <param name="id"></param> /// <returns></returns> public async Task<bool> NameExistAsync(string name, Guid? id = null) { return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialTypeCode == name); } /// <summary> /// è·åæå¤§æåºç©ælç±»åä¿¡æ¯ /// </summary> /// <returns></returns> public async Task<int> GetMaxSortAsync() { var hasAny = await (await GetQueryableAsync()) .Where(x => !x.IsDeleted).AnyAsync(); if (!hasAny) { return 1; } var sort = await (await GetQueryableAsync()) .Where(x => !x.IsDeleted).MaxAsync(x => x.Sort); return sort + 1; } /// <summary> /// è·åå页åè¡¨ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> /// <param name="maxResultCount"></param> /// <param name="skipCount"></param> /// <param name="includeDetails"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<WmsMaterialType>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) .OrderByDescending(x=>x.CreationTime) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } /// <summary> /// è·åæ»æ°ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> whereConditions, CancellationToken cancellationToken = default) { return await (await GetQueryableAsync()) .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); } /// <inheritdoc /> public override async Task<IQueryable<WmsMaterialType>> WithDetailsAsync() { return (await GetQueryableAsync()) .Where(x => !x.IsDeleted).IncludeDetails(); } /// <summary> /// ç©çå é¤ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default) { var entity = await (await GetDbSetAsync()) .FirstOrDefaultAsync(x => x.Id == id && !x.IsDeleted, GetCancellationToken(cancellationToken)); if (entity == null) { throw new Volo.Abp.Domain.Entities.EntityNotFoundException(typeof(WmsMaterialType), id); } // 2. è·å DbContext å¹¶æ§è¡å é¤ var dbContext = await GetDbContextAsync(); // ç´æ¥æ§è¡ SQL å é¤ var sql = $"DELETE FROM scms_wmsmaterialtype WHERE Id ='{entity.Id.ToString()}'"; await dbContext.Database.ExecuteSqlRawAsync(sql, cancellationToken); } /// <summary> /// æ¹éç©çå é¤ç©ælç±»åä¿¡æ¯ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default) { // 1. æ¥è¯¢ç¬¦åæ¡ä»¶çå®ä½ï¼æªè½¯å é¤çè®°å½ï¼ var entities = await (await GetDbSetAsync()) .Where(x => ids.Contains(x.Id) && !x.IsDeleted) .ToListAsync(GetCancellationToken(cancellationToken)); if (!entities.Any()) { // å¦ææ²¡æéè¦å é¤çè®°å½ï¼ç´æ¥è¿åï¼é¿å ä¸å¿ è¦çæ°æ®åºæä½ï¼ return; } // 2. è·å DbContext å¹¶æ§è¡æ¹éå é¤ var dbContext = await GetDbContextAsync(); var idsToDelete = entities.Select(e => e.Id).ToList(); // ç´æ¥æ§è¡ SQL å é¤ var sql = $"DELETE FROM scms_wmsmaterialtype WHERE Id IN ({string.Join(",", idsToDelete.Select(id => $"'{id}'"))})"; await dbContext.Database.ExecuteSqlRawAsync(sql, cancellationToken); } /// <summary> /// æ ¹æ®æ¡ä»¶è·åç©ælç±»åä¿¡æ¯å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails() .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.CreationTime) .ToListAsync(GetCancellationToken(cancellationToken)); } /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) { if (isâMultipleThrowException) { var entitys = await (await GetDbSetAsync()) .IncludeDetails() .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.CreationTime) .ToListAsync(GetCancellationToken(cancellationToken)); if (entitys?.Count > 1) { throw new UserFriendlyException("æ¥è¯¢å°å¤æ¡è®°å½"); } return entitys?.FirstOrDefault(); } else { return await (await GetDbSetAsync()) .IncludeDetails() .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.CreationTime) .FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); } } } HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
@@ -125,4 +125,23 @@ .OrderByDescending(x=>x.CreationTime) .FirstOrDefaultAsync(t => t.MutableParam2 == dataIdentifier, GetCancellationToken(cancellationToken)); } /// <summary> /// è·åä»»å¡å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> /// <param name="includeDetails"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<WmsTask>> GetTaskListAsync(FunReturnResultModel<Expression<Func<WmsTask, bool>>> whereConditions, string sorting = null, bool includeDetails = false, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) .OrderBy(x => x.TaskType) .ThenBy(x=>x.TaskLevel) .ToListAsync(GetCancellationToken(cancellationToken)); } } HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/CMSPluginDbContext.cs
@@ -45,6 +45,7 @@ builder.ConfigureWmsMaterialContainer(); builder.ConfigureWmsInOutStockOrder(); builder.ConfigureWmsInOutStockOrderDetail(); builder.ConfigureWmsMaterialType(); /* Configure your own tables/entities inside here */ HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250515034921_InitialCreate17.Designer.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1909 @@ // <auto-generated /> using System; using CMS.Plugin.HIAWms.MySQL; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Volo.Abp.EntityFrameworkCore; #nullable disable namespace CMS.Plugin.HIAWms.MySQL.Migrations { [DbContext(typeof(CMSPluginDbContext))] [Migration("20250515034921_InitialCreate17")] partial class InitialCreate17 { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) .HasAnnotation("ProductVersion", "6.0.16") .HasAnnotation("Relational:MaxIdentifierLength", 64); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.MaterialType.WmsMaterialType", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime") .HasComment("å建æ¶é´"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId") .HasComment("å建人ID"); b.Property<string>("CreatorName") .HasColumnType("longtext"); b.Property<string>("DeleteRemark") .HasColumnType("longtext"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId") .HasComment("å é¤äººID"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime") .HasComment("å 餿¶é´"); b.Property<string>("ExtraField1") .HasColumnType("longtext"); b.Property<string>("ExtraField2") .HasColumnType("longtext"); b.Property<string>("ExtraField3") .HasColumnType("longtext"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted") .HasComment("æ¯å¦å·²å é¤"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime") .HasComment("æåä¿®æ¹æ¶é´"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId") .HasComment("æåä¿®æ¹äººID"); b.Property<string>("LastModifierName") .HasColumnType("longtext"); b.Property<string>("MaterialTypeCode") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç±»åç¼ç "); b.Property<string>("MaterialTypeDesc") .IsRequired() .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("ç±»åæè¿°"); b.Property<string>("OperationRemark") .HasColumnType("longtext"); b.Property<string>("Remark") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("MaterialTypeCode") .IsUnique(); b.HasIndex("MaterialTypeDesc"); b.ToTable("scms_wmsmaterialtype", (string)null); b.HasComment("ç©æç±»å表"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("AreaDesc") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasComment("æè¿°"); b.Property<string>("AreaName") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åºåºåç§°"); b.Property<string>("AreaNo") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åºåºç¼å·"); b.Property<int>("AreaStatus") .HasColumnType("int") .HasComment("åºåºç¶æ"); b.Property<int>("AreaType") .HasColumnType("int") .HasComment("åºåºç±»å"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("RedundantField1") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段1 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField2") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段2 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField3") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段3 - é¢çæ©å±ç¨é"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<string>("StoreCode") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ä»åºä»£ç "); b.Property<string>("StoreName") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("ä»åºåç§°"); b.HasKey("Id"); b.HasIndex("AreaName"); b.ToTable("scms_wmsareas", (string)null); b.HasComment("åºåºè¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b => { b.Property<string>("PlaceNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("åºä½ç¼ç "); b.Property<string>("ContainerNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æçç¼å·"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp") .HasComment("å¹¶åæ³"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime") .HasComment("å建æ¶é´"); b.Property<Guid?>("CreatorId") .HasMaxLength(36) .HasColumnType("char(36)") .HasColumnName("CreatorId") .HasComment("å建人ID"); b.Property<string>("CreatorName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å建人"); b.Property<string>("DeleteRemark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("å é¤å¤æ³¨"); b.Property<Guid?>("DeleterId") .HasMaxLength(36) .HasColumnType("char(36)") .HasColumnName("DeleterId") .HasComment("å é¤äººID"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime") .HasComment("å 餿¶é´"); b.Property<string>("ExtraField1") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("æ©å±å段1"); b.Property<string>("ExtraField2") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("æ©å±å段2"); b.Property<string>("ExtraField3") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("æ©å±å段3"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties") .HasComment("æ©å±å±æ§"); b.Property<Guid>("Id") .HasColumnType("char(36)"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted") .HasComment("æ¯å¦å é¤"); b.Property<bool?>("IsDisabled") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime") .HasComment("ä¿®æ¹æ¶é´"); b.Property<Guid?>("LastModifierId") .HasMaxLength(36) .HasColumnType("char(36)") .HasColumnName("LastModifierId") .HasComment("ä¿®æ¹äººID"); b.Property<string>("LastModifierName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ä¿®æ¹äºº"); b.Property<string>("OperationRemark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("æä½å¤æ³¨"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("Sort") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("æåº"); b.HasKey("PlaceNo", "ContainerNo"); b.HasIndex("ContainerNo"); b.HasIndex("PlaceNo"); b.ToTable("scms_wmscontainerplaces", (string)null); b.HasComment("容å¨åºä½å ³ç³»è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<string>("ContainerNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æçç¼å·"); b.Property<int>("ContainerStatus") .HasColumnType("int") .HasComment("æçç¶æ"); b.Property<int>("ContainerType") .HasColumnType("int") .HasComment("æçç±»å"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<int?>("ExceptionNumber") .HasColumnType("int") .HasComment("å¼å¸¸æ°é"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<decimal?>("LimitHeight") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)") .HasComment("éé«"); b.Property<decimal?>("LimitLength") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)") .HasComment("éé¿"); b.Property<decimal?>("LimitWidth") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)") .HasComment("é宽"); b.Property<int?>("MaterialNumber") .HasColumnType("int") .HasComment("ç©ææ°é"); b.Property<decimal?>("MaxWeight") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)") .HasComment("è½½éä¸é"); b.Property<string>("RedundantField1") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasComment("åä½å段1 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField2") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasComment("åä½å段2 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField3") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasComment("åä½å段3 - é¢çæ©å±ç¨é"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<decimal?>("SpecHeight") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)") .HasComment("é«åº¦"); b.Property<decimal?>("SpecLength") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)") .HasComment("é¿åº¦"); b.Property<decimal?>("SpecWidth") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)") .HasComment("宽度"); b.HasKey("Id"); b.HasIndex("ContainerNo") .IsUnique(); b.HasIndex("ContainerStatus"); b.HasIndex("ContainerType"); b.ToTable("scms_wmscontainers", (string)null); b.HasComment("æçä¿¡æ¯è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder.WmsInOutStockOrder", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<int>("CompleteNumber") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("宿æ°é"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<int>("DistributeNumber") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("ä¸åæ°é"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("MaterialBatch") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æ¹æ¬¡å·"); b.Property<string>("MaterialModel") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("åå·"); b.Property<string>("MaterialName") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("ç©æåç§°"); b.Property<string>("MaterialNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç©æä»¶å·"); b.Property<int>("MaterialNumber") .HasColumnType("int") .HasComment("åæ®æ°é"); b.Property<DateTime?>("OperateTime") .HasColumnType("datetime(6)") .HasComment("æä½æ¶é´"); b.Property<string>("OrderNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("åæ®ç¼å·"); b.Property<int>("OrderStatus") .HasColumnType("int") .HasComment("åæ®ç¶æ"); b.Property<int>("OrderType") .HasColumnType("int") .HasComment("åæ®ç±»å"); b.Property<string>("PlanNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("å ³è计åç¼å·"); b.Property<int>("Priority") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasComment("ä¼å 级"); b.Property<string>("Remark") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasComment("夿³¨"); b.Property<int>("Sort") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("æåº"); b.Property<int>("StockType") .HasColumnType("int") .HasComment("æä½ç±»åï¼æä¸¾å¼ï¼"); b.HasKey("Id"); b.HasIndex("MaterialBatch"); b.HasIndex("MaterialNo"); b.HasIndex("OperateTime"); b.HasIndex("OrderNo") .IsUnique(); b.HasIndex("PlanNo"); b.ToTable("scms_wmsinoutstockorder", (string)null); b.HasComment("åºå ¥åºåæ®è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail.WmsInOutStockOrderDetail", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<string>("ContainerNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("容å¨ç¼å·"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("MaterialBatch") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç©ææ¹æ¬¡"); b.Property<string>("MaterialId") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©æå¯ä¸ç "); b.Property<string>("MaterialModel") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æºå"); b.Property<string>("MaterialName") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("ç©æåç§°"); b.Property<string>("MaterialNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç©æä»¶å·"); b.Property<string>("OrderNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("åæ®ç¼å·"); b.Property<int>("OrderType") .HasColumnType("int") .HasComment("åæ®ç±»åï¼æä¸¾å¼ï¼"); b.Property<string>("Remark") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasComment("夿³¨"); b.Property<int>("Sort") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("æåº"); b.HasKey("Id"); b.HasIndex("ContainerNo"); b.HasIndex("MaterialId"); b.HasIndex("MaterialNo"); b.HasIndex("OrderNo"); b.HasIndex("OrderNo", "OrderType"); b.ToTable("scms_wmsinoutstockorderdetail", (string)null); b.HasComment("åºå ¥åºåæ®æç»è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord.WmsInOutStockRecord", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<string>("ContainerNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("容å¨ç¼å·"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("MaterialBatch") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©ææ¹æ¬¡"); b.Property<string>("MaterialId") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç©æID"); b.Property<string>("MaterialModel") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æºå"); b.Property<string>("MaterialName") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("ç©æåç§°"); b.Property<string>("MaterialNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç©æä»¶å·"); b.Property<DateTime?>("OperateTime") .HasColumnType("datetime(6)") .HasComment("æä½æ¶é´"); b.Property<string>("OrderNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("åæ®ç¼å·"); b.Property<string>("Remark") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<string>("SourcePlace") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("èµ·å§åºä½"); b.Property<int>("StockType") .HasColumnType("int") .HasComment("æä½ç±»å"); b.Property<string>("TaskNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ä»»å¡å·"); b.Property<string>("ToPlace") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç®æ åºä½"); b.HasKey("Id"); b.HasIndex("ContainerNo"); b.HasIndex("MaterialId"); b.HasIndex("MaterialNo"); b.HasIndex("OperateTime"); b.HasIndex("OrderNo"); b.HasIndex("StockType"); b.HasIndex("TaskNo"); b.ToTable("scms_wmsinoutstockrecords", (string)null); b.HasComment("åºå ¥åºè®°å½è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialContainer.WmsMaterialContainer", b => { b.Property<string>("MaterialId") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©æID"); b.Property<string>("ContainerNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æçç¼å·"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<Guid>("Id") .HasColumnType("char(36)"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<int>("Sort") .HasColumnType("int"); b.HasKey("MaterialId", "ContainerNo"); b.HasIndex("ContainerNo"); b.HasIndex("MaterialId"); b.ToTable("scms_wmsmaterialcontainer", (string)null); b.HasComment("ç©æå®¹å¨å ³ç³»è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialInfos.WmsMaterialInfo", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<int?>("CheckStatus") .HasColumnType("int") .HasComment("æ£éªç¶æ(0:æªæ£éª,1:æ£éªéè¿,2:æ£éªä¸éè¿)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("MaterialBatch") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç©ææ¹å·"); b.Property<string>("MaterialId") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©æå¯ä¸ç "); b.Property<string>("MaterialModel") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æºå/è§æ ¼"); b.Property<string>("MaterialName") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("ç©æåç§°"); b.Property<string>("MaterialNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç©æä»£å·"); b.Property<string>("RedundantField1") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("åä½å段1"); b.Property<string>("RedundantField2") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("åä½å段2"); b.Property<string>("RedundantField3") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("åä½å段3"); b.Property<string>("Remark") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasComment("夿³¨"); b.Property<int>("Sort") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("æåº"); b.Property<int?>("StockNumber") .HasColumnType("int") .HasComment("åºåæ°é"); b.Property<string>("SupplierCode") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ä¾åºåç¼å·"); b.HasKey("Id"); b.HasIndex("CheckStatus"); b.HasIndex("MaterialBatch"); b.HasIndex("MaterialId") .IsUnique(); b.HasIndex("MaterialName"); b.HasIndex("MaterialNo") .IsUnique(); b.HasIndex("SupplierCode"); b.ToTable("scms_wmsmaterialinfos", (string)null); b.HasComment("WMSç©æä¿¡æ¯è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("Certification") .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("è¯ä¹¦ç¼å·"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<string>("Factory") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç产工å"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasComment("æ¯å¦ç¦ç¨"); b.Property<int>("IsMainBranch") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("æ¯å¦ä¸ºä¸»æ¯ç®¡"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<decimal>("Length") .HasColumnType("decimal(18,2)") .HasComment("é¿åº¦ï¼åä½ï¼mï¼"); b.Property<string>("MaterialModel") .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("åå·"); b.Property<string>("MaterialName") .IsRequired() .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("ç©æåç§°"); b.Property<string>("MaterialNo") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©æç¼ç ï¼å¯ä¸æ è¯ï¼"); b.Property<string>("MaterialQuality") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æè´¨ï¼å¦ï¼304ä¸éé¢ï¼"); b.Property<string>("MaterialTypeCode") .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("ç©æç±»åç¼ç "); b.Property<string>("MaterialTypeDesc") .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("ç©æç±»å"); b.Property<decimal>("OuterDiameter") .HasColumnType("decimal(18,2)") .HasComment("å¤å¾ï¼åä½ï¼mmï¼"); b.Property<string>("PrimaryUnit") .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("主åä½ï¼å¦ï¼kgãmã个ï¼"); b.Property<int>("PurchaseType") .HasColumnType("int") .HasComment("éè´ç±»åï¼æä¸¾å¼ï¼"); b.Property<string>("RedundantField1") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("åä½å段1 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField2") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("åä½å段2 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField3") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("åä½å段3 - é¢çæ©å±ç¨é"); b.Property<string>("Remark") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasComment("夿³¨"); b.Property<int>("Sort") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("æåº"); b.Property<string>("Standard") .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("è§æ ¼/æ åï¼å¦ï¼GB/T 8163-2018ï¼"); b.Property<decimal>("WallThickness") .HasColumnType("decimal(18,2)") .HasComment("å£åï¼åä½ï¼mmï¼"); b.HasKey("Id"); b.HasIndex("MaterialName"); b.HasIndex("MaterialNo") .IsUnique(); b.HasIndex("MaterialTypeCode"); b.HasIndex("PurchaseType"); b.ToTable("scms_wmsmaterials", (string)null); b.HasComment("ç©æåºç¡ä¿¡æ¯è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialStocks.WmsMaterialStock", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("AreaCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åºåç¼å·"); b.Property<string>("AreaName") .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("åºåºåç§°"); b.Property<int?>("CheckStatus") .HasColumnType("int") .HasComment("æ£éªç¶æ(1:æªæ£éª,2:æ£éªéè¿,3:æ£éªä¸éè¿)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<string>("ContainerNo") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("容å¨ç¼å·"); b.Property<int>("ContainerStatus") .HasColumnType("int") .HasComment("容å¨ç¶æ"); b.Property<int>("ContainerType") .HasColumnType("int") .HasComment("容å¨ç±»å"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<int>("EmptyContainer") .HasColumnType("int") .HasComment("æ¯å¦ç©ºæ(2:å¦,1:æ¯)"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<DateTime?>("InStockTime") .HasColumnType("datetime(6)") .HasComment("å ¥åºæ¶é´"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦ç¦ç¨"); b.Property<int>("IsLock") .HasColumnType("int") .HasComment("æ¯å¦éå®(2:æªéå®,1:å·²éå®)"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("MaterialBatch") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©ææ¹æ¬¡"); b.Property<string>("MaterialId") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©æID"); b.Property<string>("MaterialModel") .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("æºå/è§æ ¼"); b.Property<string>("MaterialName") .IsRequired() .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("ç©æåç§°"); b.Property<string>("MaterialNo") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç©æç¼å·"); b.Property<string>("PlaceNo") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åºä½ç¼å·"); b.Property<int>("PlaceStatus") .HasColumnType("int") .HasComment("åºä½ç¶æ;"); b.Property<string>("RedundantField1") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("åä½å段1 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField2") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("åä½å段2 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField3") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("åä½å段3 - é¢çæ©å±ç¨é"); b.Property<string>("Remark") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasComment("夿³¨"); b.Property<int>("Sort") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("æåº"); b.Property<int>("StockNumber") .HasColumnType("int") .HasComment("åºåæ°é"); b.Property<int>("StorageTypeNo") .HasColumnType("int") .HasComment("åºä½ç±»å"); b.Property<string>("SupplierCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ä¾åºåç¼å·"); b.HasKey("Id"); b.HasIndex("AreaCode"); b.HasIndex("ContainerNo"); b.HasIndex("MaterialName"); b.HasIndex("MaterialNo"); b.HasIndex("PlaceNo"); b.HasIndex("MaterialBatch", "SupplierCode"); b.ToTable("scms_wmsmaterialstocks", (string)null); b.HasComment("WMSç©æåºå表"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<int>("Aisle") .HasColumnType("int") .HasComment("å··é"); b.Property<string>("AreaCode") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æå¨åºåº"); b.Property<int>("ColumnNo") .HasColumnType("int") .HasComment("å"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<int>("EmptyContainer") .HasColumnType("int") .HasComment("æ¯å¦ç©ºæ"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool>("IsDisabled") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasComment("æ¯å¦ç¦ç¨"); b.Property<int>("Islock") .HasColumnType("int") .HasComment("æ¯å¦éå®"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<int>("LayerNo") .HasColumnType("int") .HasComment("å±"); b.Property<int>("MaxStockNumber") .HasColumnType("int") .HasComment("æå¤§åºåé"); b.Property<string>("PlaceNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç¼å·"); b.Property<int>("PlaceStatus") .HasColumnType("int") .HasComment("è´§ä½ç¶æ"); b.Property<string>("RedundantField1") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段1 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField2") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段2 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField3") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段3 - é¢çæ©å±ç¨é"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("RowNo") .HasColumnType("int") .HasComment("æ"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<int>("StorageTypeNo") .HasColumnType("int") .HasComment("è´§ä½ç±»å"); b.HasKey("Id"); b.HasIndex("AreaCode"); b.HasIndex("PlaceNo") .IsUnique(); b.HasIndex("PlaceStatus"); b.HasIndex("StorageTypeNo"); b.ToTable("scms_wmsplaces", (string)null); b.HasComment("åºä½è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦ç¦ç¨"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("RedundantField1") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段1 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField2") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段2 - é¢çæ©å±ç¨é"); b.Property<string>("RedundantField3") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("åä½å段3 - é¢çæ©å±ç¨é"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<string>("StoreCode") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ä»åºä»£ç "); b.Property<string>("StoreName") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasComment("ä»åºåç§°"); b.HasKey("Id"); b.HasIndex("StoreName"); b.ToTable("scms_wmsstores", (string)null); b.HasComment("ä»åºä¿¡æ¯è¡¨"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsTask.WmsTask", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<int?>("Aisle") .HasColumnType("int") .HasComment("å··é"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<string>("ContainerNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æçç¼å·"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<int?>("DodeviceId") .HasColumnType("int") .HasComment("å åæºID"); b.Property<int>("Dodevicetype") .HasColumnType("int") .HasComment("设å¤ç±»å"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦ç¦ç¨"); b.Property<int?>("IsNextTask") .HasColumnType("int") .HasComment("ä¸ä¸ªä»»å¡æ¯å¦çææå"); b.Property<bool>("IsRead") .HasColumnType("tinyint(1)") .HasComment("WCSæ¯å¦å¯ä»¥è¯»å"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); b.Property<string>("MutableParam1") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasComment("å¯ååé1"); b.Property<string>("MutableParam2") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasComment("å¯ååé2"); b.Property<string>("MutableParam3") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasComment("å¯ååé3"); b.Property<int>("PlcTaskId") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0) .HasComment("ä»»å¡ç¶æ"); b.Property<int?>("SonTaskType") .HasColumnType("int") .HasComment("åä»»å¡ç±»å"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<string>("SourceOrderNo") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("æ¥æºåæ®å·"); b.Property<string>("SourcePlace") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("èµ·å§åºä½"); b.Property<int>("TaskDodeviceStatus") .HasColumnType("int") .HasComment("设å¤ä»»å¡ç¶æ"); b.Property<int>("TaskLevel") .HasColumnType("int") .HasComment("ä»»å¡ç级"); b.Property<string>("TaskNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ä»»å¡å·"); b.Property<int>("TaskStatus") .HasColumnType("int") .HasComment("ä»»å¡ç¶æ"); b.Property<int>("TaskType") .HasColumnType("int") .HasComment("ä»»å¡ç±»å"); b.Property<string>("ToPlace") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("ç®æ åºä½"); b.HasKey("Id"); b.HasIndex("ContainerNo"); b.HasIndex("DodeviceId"); b.HasIndex("IsRead"); b.HasIndex("Sort"); b.HasIndex("SourceOrderNo"); b.HasIndex("SourcePlace"); b.HasIndex("TaskNo") .IsUnique(); b.HasIndex("TaskStatus"); b.HasIndex("TaskType"); b.HasIndex("ToPlace"); b.ToTable("scms_wmstasks", (string)null); b.HasComment("ä»»å¡è¡¨"); }); #pragma warning restore 612, 618 } } } HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250515034921_InitialCreate17.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,132 @@ using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace CMS.Plugin.HIAWms.MySQL.Migrations { public partial class InitialCreate17 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropIndex( name: "IX_scms_wmsmaterials_MaterialType", table: "scms_wmsmaterials"); migrationBuilder.DropColumn( name: "MaterialType", table: "scms_wmsmaterials"); migrationBuilder.AddColumn<string>( name: "MaterialTypeCode", table: "scms_wmsmaterials", type: "varchar(20)", maxLength: 20, nullable: true, comment: "ç©æç±»åç¼ç ") .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.AddColumn<string>( name: "MaterialTypeDesc", table: "scms_wmsmaterials", type: "varchar(20)", maxLength: 20, nullable: true, comment: "ç©æç±»å") .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateTable( name: "scms_wmsmaterialtype", columns: table => new { Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"), MaterialTypeDesc = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false, comment: "ç±»åæè¿°") .Annotation("MySql:CharSet", "utf8mb4"), MaterialTypeCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false, comment: "ç±»åç¼ç ") .Annotation("MySql:CharSet", "utf8mb4"), ExtraProperties = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "å建æ¶é´"), CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, comment: "å建人ID", collation: "ascii_general_ci"), LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "æåä¿®æ¹æ¶é´"), LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, comment: "æåä¿®æ¹äººID", collation: "ascii_general_ci"), IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false, comment: "æ¯å¦å·²å é¤"), DeleterId = table.Column<Guid>(type: "char(36)", nullable: true, comment: "å é¤äººID", collation: "ascii_general_ci"), DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "å 餿¶é´"), CreatorName = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), LastModifierName = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), OperationRemark = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), DeleteRemark = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Sort = table.Column<int>(type: "int", nullable: false), Remark = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: true, comment: "夿³¨") .Annotation("MySql:CharSet", "utf8mb4"), IsDisabled = table.Column<bool>(type: "tinyint(1)", nullable: true), ExtraField1 = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), ExtraField2 = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), ExtraField3 = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4") }, constraints: table => { table.PrimaryKey("PK_scms_wmsmaterialtype", x => x.Id); }, comment: "ç©æç±»å表") .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateIndex( name: "IX_scms_wmsmaterials_MaterialTypeCode", table: "scms_wmsmaterials", column: "MaterialTypeCode"); migrationBuilder.CreateIndex( name: "IX_scms_wmsmaterialtype_MaterialTypeCode", table: "scms_wmsmaterialtype", column: "MaterialTypeCode", unique: true); migrationBuilder.CreateIndex( name: "IX_scms_wmsmaterialtype_MaterialTypeDesc", table: "scms_wmsmaterialtype", column: "MaterialTypeDesc"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "scms_wmsmaterialtype"); migrationBuilder.DropIndex( name: "IX_scms_wmsmaterials_MaterialTypeCode", table: "scms_wmsmaterials"); migrationBuilder.DropColumn( name: "MaterialTypeCode", table: "scms_wmsmaterials"); migrationBuilder.DropColumn( name: "MaterialTypeDesc", table: "scms_wmsmaterials"); migrationBuilder.AddColumn<int>( name: "MaterialType", table: "scms_wmsmaterials", type: "int", nullable: false, defaultValue: 0, comment: "ç©æç±»åï¼æä¸¾å¼ï¼"); migrationBuilder.CreateIndex( name: "IX_scms_wmsmaterials_MaterialType", table: "scms_wmsmaterials", column: "MaterialType"); } } } HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -21,6 +21,115 @@ .HasAnnotation("ProductVersion", "6.0.16") .HasAnnotation("Relational:MaxIdentifierLength", 64); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.MaterialType.WmsMaterialType", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasColumnName("ConcurrencyStamp"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime(6)") .HasColumnName("CreationTime") .HasComment("å建æ¶é´"); b.Property<Guid?>("CreatorId") .HasColumnType("char(36)") .HasColumnName("CreatorId") .HasComment("å建人ID"); b.Property<string>("CreatorName") .HasColumnType("longtext"); b.Property<string>("DeleteRemark") .HasColumnType("longtext"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId") .HasComment("å é¤äººID"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime") .HasComment("å 餿¶é´"); b.Property<string>("ExtraField1") .HasColumnType("longtext"); b.Property<string>("ExtraField2") .HasColumnType("longtext"); b.Property<string>("ExtraField3") .HasColumnType("longtext"); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<bool>("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("IsDeleted") .HasComment("æ¯å¦å·²å é¤"); b.Property<bool?>("IsDisabled") .HasColumnType("tinyint(1)"); b.Property<DateTime?>("LastModificationTime") .HasColumnType("datetime(6)") .HasColumnName("LastModificationTime") .HasComment("æåä¿®æ¹æ¶é´"); b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId") .HasComment("æåä¿®æ¹äººID"); b.Property<string>("LastModifierName") .HasColumnType("longtext"); b.Property<string>("MaterialTypeCode") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç±»åç¼ç "); b.Property<string>("MaterialTypeDesc") .IsRequired() .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("ç±»åæè¿°"); b.Property<string>("OperationRemark") .HasColumnType("longtext"); b.Property<string>("Remark") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("MaterialTypeCode") .IsUnique(); b.HasIndex("MaterialTypeDesc"); b.ToTable("scms_wmsmaterialtype", (string)null); b.HasComment("ç©æç±»å表"); }); modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b => { b.Property<Guid>("Id") @@ -1133,9 +1242,15 @@ .HasColumnType("varchar(64)") .HasComment("æè´¨ï¼å¦ï¼304ä¸éé¢ï¼"); b.Property<int>("MaterialType") .HasColumnType("int") .HasComment("ç©æç±»åï¼æä¸¾å¼ï¼"); b.Property<string>("MaterialTypeCode") .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("ç©æç±»åç¼ç "); b.Property<string>("MaterialTypeDesc") .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("ç©æç±»å"); b.Property<decimal>("OuterDiameter") .HasColumnType("decimal(18,2)") @@ -1192,7 +1307,7 @@ b.HasIndex("MaterialNo") .IsUnique(); b.HasIndex("MaterialType"); b.HasIndex("MaterialTypeCode"); b.HasIndex("PurchaseType"); HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
@@ -1,5 +1,5 @@ cd ../ dotnet ef migrations add InitialCreate16 -c CMSPluginDbContext -o Migrations dotnet ef migrations add InitialCreate17 -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add Update3 -c CMSPluginDbContext -o Migrations HIAWms/server/src/CMS.Plugin.HIAWms.PostgreSql/CMSPluginDbContext.cs
@@ -45,6 +45,7 @@ builder.ConfigureWmsMaterialContainer(); builder.ConfigureWmsInOutStockOrder(); builder.ConfigureWmsInOutStockOrderDetail(); builder.ConfigureWmsMaterialType(); /* Configure your own tables/entities inside here */ HIAWms/server/src/CMS.Plugin.HIAWms.SqlServer/CMSPluginDbContext.cs
@@ -45,6 +45,7 @@ builder.ConfigureWmsMaterialContainer(); builder.ConfigureWmsInOutStockOrder(); builder.ConfigureWmsInOutStockOrderDetail(); builder.ConfigureWmsMaterialType(); /* Configure your own tables/entities inside here */ HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialTypeController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,216 @@ using Ao.Lang; using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; using CMS.Framework.AspNetCore.Users; using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; using CMS.Plugin.HIAWms.Application.Contracts.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MiniExcelLibs; using System.Reflection; using Volo.Abp; using Volo.Abp.Application.Dtos; using CmsQueryExtensions.Entitys; namespace CMS.Plugin.HIAWms.Controller { /// <summary> /// ç©ælç±»åä¿¡æ¯æå¡ /// </summary> [ApiController] [TypeFilter(typeof(CMSLanguageFilter))] [TypeFilter(typeof(CMSUowActionFilter))] [TypeFilter(typeof(CMSAuditActionFilter))] [TypeFilter(typeof(CMSExceptionFilter))] [Route("api/v{version:apiVersion}/HIAWms/[controller]")] public class WmsMaterialTypeController : ControllerBase { private readonly IWmsMaterialTypeAppService _WmsMaterialTypeAppService; private readonly ICurrentUser _currentUser; /// <summary> /// Initializes a new instance of the <see cref="WmsMaterialTypeController"/> class. /// </summary> /// <param name="WmsMaterialTypeAppService">The WmsMaterialType application service.</param> public WmsMaterialTypeController(IWmsMaterialTypeAppService WmsMaterialTypeAppService, ICurrentUser currentUser) { _WmsMaterialTypeAppService = WmsMaterialTypeAppService; _currentUser = currentUser; } /// <summary> /// è·åç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <returns></returns> [HttpGet] [Route("{id}")] public virtual Task<WmsMaterialTypeDto> GetAsync(Guid id) { return _WmsMaterialTypeAppService.GetAsync(id); } /// <summary> /// å页è·åç©ælç±»åä¿¡æ¯çå表. /// </summary> /// <param name="input">æ¥è¯¢åæ°</param> /// <returns></returns> [HttpGet] [Route("Page")] public virtual Task<PagedResultDto<WmsMaterialTypeDto>> GetListAsync([FromQuery] GetWmsMaterialTypeInput input) { return _WmsMaterialTypeAppService.GetListAsync(input); } /// <summary> /// åå»ºç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="input">åå»ºåæ°</param> /// <returns></returns> //[Authorize] [HttpPost] public virtual Task<WmsMaterialTypeDto> CreateAsync(WmsMaterialTypeCreateDto input) { input.CreatorName = _currentUser.UserAccount;//å建人 return _WmsMaterialTypeAppService.CreateAsync(input); } /// <summary> /// æ´æ°ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <param name="input">æ´æ°åæ°</param> /// <returns></returns> //[Authorize] [HttpPut] [Route("{id}")] public virtual Task<WmsMaterialTypeDto> UpdateAsync(Guid id, WmsMaterialTypeUpdateDto input) { input.LastModifierName = _currentUser.UserAccount;//ä¿®æ¹äºº return _WmsMaterialTypeAppService.UpdateAsync(id, input); } /// <summary> /// å éç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="ids">Idéå</param> /// <returns></returns> //[Authorize] [HttpPost] [Route("Clone")] public virtual Task<List<WmsMaterialTypeDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) { MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; return _WmsMaterialTypeAppService.CloneAsync(ids, myCurrentUser); } /// <summary> /// å é¤ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <returns></returns> //[Authorize] [HttpDelete] [Route("{id}")] public virtual Task DeleteAsync(Guid id) { MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//é»è¾å é¤ return _wmsMaterialAppService.DeletePermanentlyAsync(id, myCurrentUser);//ç©çå é¤ } /// <summary> /// æ¹éå é¤ç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="ids">主é®IDéå</param> /// <returns></returns> //[Authorize] [HttpDelete] public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) { MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//é»è¾å é¤ return _wmsMaterialAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//ç©çå é¤ } /// <summary> /// è°æ´æåºç©ælç±»åä¿¡æ¯ /// </summary> /// <param name="id">主é®ID</param> /// <returns></returns> [HttpPut] [Route("{id}/AdjustSort/{sort}")] public virtual Task AdjustSortAsync(Guid id, int sort) { return _WmsMaterialTypeAppService.AdjustSortAsync(id, sort); } /// <summary> /// å¯¼å ¥ç©ælç±»åä¿¡æ¯ /// </summary> /// <returns></returns> [Authorize] [HttpPost] [Route("Import")] public virtual async Task<IActionResult> ImportAsync(IFormFile file) { using var stream = new MemoryStream(); await file.CopyToAsync(stream); stream.Seek(0L, SeekOrigin.Begin); var sheetNames = stream.GetSheetNames(); var WmsMaterialTypeRows = sheetNames.Contains("é ç½®") ? MiniExcel.Query<WmsMaterialTypesImportModel.WmsMaterialTypeImportModel>(stream, sheetName: "é ç½®").ToList() : new(); if (!WmsMaterialTypeRows.Any()) { throw new UserFriendlyException("è¯·æ£æ¥å¯¼å ¥çè¡¨æ ¼"); } MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; await _WmsMaterialTypeAppService.ImportAsync(new WmsMaterialTypesImportModel { WmsMaterialTypes = WmsMaterialTypeRows, },myCurrentUser); return Ok(); } /// <summary> /// 导åºç©ælç±»åä¿¡æ¯ /// </summary> /// <returns></returns> [HttpGet] [Route("Export")] public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialTypeInput input) { input.MaxResultCount = int.MaxValue; var exportData = await _WmsMaterialTypeAppService.ExportAsync(input); var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterialTypeå¯¼åºæ¨¡æ¿.xlsx"); if (!System.IO.File.Exists(templatePath)) { templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WmsMaterialTypeå¯¼åºæ¨¡æ¿.xlsx"); } var memoryStream = new MemoryStream(); await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets); memoryStream.Seek(0L, SeekOrigin.Begin); return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" }; } } } HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
@@ -220,5 +220,17 @@ { await _wmsTaskAppService.ChangeTaskToPlaceAsync(input); } /// <summary> /// è·åéè¦æ§è¡çå åæºä»»å¡ /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [Route("ToExecuteTask")] public async Task<WmsTaskDto> GetToExecuteTaskAsync(QueryTaskTypeInput input) { return await _wmsTaskAppService.GetToExecuteTaskAsync(input); } } } HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterialTypeµ¼³öÄ£°å.xlsxBinary files differ
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/File/GenerateCodeConfigParamFiles/ÎïÁÏÀàÐÍÅäÖÃ.txt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ [表å]:scms_wmsmaterialtype [å®ä½ç±»å]:WmsMaterialType [å®ä½ç±»å¯¹è±¡å]:WmsMaterialType [页é¢èåå]:ç©æç±»å [页é¢èå对象缩å]:wmsMaterialType [表çä¸ææ³¨è§£]:ç©ælç±»åä¿¡æ¯ [é夿§æ ¡éªå段]:MaterialTypeCode [å é¤æç¤ºåæ®µ]:MaterialTypeCode [æ¨¡ç³æ¥è¯¢å段]:'MaterialTypeCode', 'MaterialTypeDesc', [æ¨¡ç³æ¥è¯¢å段å]:请è¾å ¥ç©æç±»åç¼å·/ç©æç±»ååç§° [项ç®å½å空é´]:HIAWms [æä¸¾ç±»ååæ®µéå]: [åç«¯æ ¹æä»¶å¤¹åç§°]:web [æåº]:CreationTime