PipeLineLems/pipelinelems_web/.build
PipeLineLems/pipelinelems_web/.build.prod
PipeLineLems/pipelinelems_web/.env
PipeLineLems/pipelinelems_web/.env.development
ÎļþÃû´Ó PipeLineLems/web/.env.development ÐÞ¸Ä @@ -12,5 +12,5 @@ VITE_API_URL = 'http://localhost:18000' VITE_STATIC_URL = 'http://192.168.2.206:18000' VITE_STATIC_URL = 'http://localhost:18000' # VITE_APP_PROJECT_ID = 2 PipeLineLems/pipelinelems_web/.env.production
PipeLineLems/pipelinelems_web/.eslintrc.cjs
PipeLineLems/pipelinelems_web/.gitignore
PipeLineLems/pipelinelems_web/.prettierrc.json
PipeLineLems/pipelinelems_web/.vscode/extensions.json
PipeLineLems/pipelinelems_web/README.md
PipeLineLems/pipelinelems_web/app/build.sh
PipeLineLems/pipelinelems_web/app/build/.npmrc
PipeLineLems/pipelinelems_web/app/build/package.json
PipeLineLems/pipelinelems_web/app/controllers/home.go
PipeLineLems/pipelinelems_web/app/dto/config.go
PipeLineLems/pipelinelems_web/app/go.mod
PipeLineLems/pipelinelems_web/app/go.sum
PipeLineLems/pipelinelems_web/app/main.go
PipeLineLems/pipelinelems_web/app/routes/routes.go
PipeLineLems/pipelinelems_web/app/service/home_service.go
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Controllers/File.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Controllers/MyEntityName.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Controllers/MyEntityNameDrawer.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Models/MyEntityName.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Models/MyEntityNameDrawer.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Models/Service/MyEntityName.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Models/Service/MyEntityNameDrawer.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/MyPluginName.module.scss
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/MyPluginName.tsx
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/Pages/Dialog/MyEntityNameDrawer/MyEntityNameDrawer.module.scss
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/Pages/Dialog/MyEntityNameDrawer/MyEntityNameDrawer.tsx
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/Pages/MyEntityName/Config.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/Pages/MyEntityName/MyEntityName.module.scss
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/Pages/MyEntityName/MyEntityName.tsx
PipeLineLems/pipelinelems_web/app/template/MyPluginName/Views/config/MyEntityName.json
PipeLineLems/pipelinelems_web/app/template/MyPluginName/enum.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/index.ts
PipeLineLems/pipelinelems_web/app/template/MyPluginName/type/Type.d.ts
PipeLineLems/pipelinelems_web/app/utils/index.go
PipeLineLems/pipelinelems_web/checkout.sh
PipeLineLems/pipelinelems_web/docs/.env
PipeLineLems/pipelinelems_web/docs/.env.development
PipeLineLems/pipelinelems_web/docs/.vitepress/config.mts
PipeLineLems/pipelinelems_web/docs/.vitepress/theme/index.ts
PipeLineLems/pipelinelems_web/docs/.vitepress/theme/style.css
PipeLineLems/pipelinelems_web/docs/Layout/Layout.scss
PipeLineLems/pipelinelems_web/docs/Layout/Layout.tsx
PipeLineLems/pipelinelems_web/docs/api-examples.md
PipeLineLems/pipelinelems_web/docs/assets/image/table.pngPipeLineLems/pipelinelems_web/docs/components/BaseContent.md
PipeLineLems/pipelinelems_web/docs/components/BaseDialog.md
PipeLineLems/pipelinelems_web/docs/components/BaseDrawer.md
PipeLineLems/pipelinelems_web/docs/components/BaseInput.md
PipeLineLems/pipelinelems_web/docs/components/ConfirmBox.md
PipeLineLems/pipelinelems_web/docs/components/Container.md
PipeLineLems/pipelinelems_web/docs/components/Content.md
PipeLineLems/pipelinelems_web/docs/components/DialogPreView.md
PipeLineLems/pipelinelems_web/docs/components/Dyform.md
PipeLineLems/pipelinelems_web/docs/components/Empty.md
PipeLineLems/pipelinelems_web/docs/components/Flow.md
PipeLineLems/pipelinelems_web/docs/components/Icon.md
PipeLineLems/pipelinelems_web/docs/components/IconButton.md
PipeLineLems/pipelinelems_web/docs/components/Pdf.md
PipeLineLems/pipelinelems_web/docs/components/PreviewDialog.md
PipeLineLems/pipelinelems_web/docs/components/Search.md
PipeLineLems/pipelinelems_web/docs/components/SearchInput.md
PipeLineLems/pipelinelems_web/docs/components/Tab.md
PipeLineLems/pipelinelems_web/docs/components/Table.md
PipeLineLems/pipelinelems_web/docs/components/TableFilter.md
PipeLineLems/pipelinelems_web/docs/components/Tag.md
PipeLineLems/pipelinelems_web/docs/components/TdButton.md
PipeLineLems/pipelinelems_web/docs/components/Text.md
PipeLineLems/pipelinelems_web/docs/components/Title.md
PipeLineLems/pipelinelems_web/docs/components/TouchScale.md
PipeLineLems/pipelinelems_web/docs/components/Upload.md
PipeLineLems/pipelinelems_web/docs/components/Variable.md
PipeLineLems/pipelinelems_web/docs/components/index.md
PipeLineLems/pipelinelems_web/docs/index.md
PipeLineLems/pipelinelems_web/docs/markdown-examples.md
PipeLineLems/pipelinelems_web/docs/postcss.confg.mts
PipeLineLems/pipelinelems_web/docs/public/lems.pngPipeLineLems/pipelinelems_web/docs/public/tt.pngPipeLineLems/pipelinelems_web/docs/quick-start.md
PipeLineLems/pipelinelems_web/docs/vite.config.js
PipeLineLems/pipelinelems_web/env.d.ts
PipeLineLems/pipelinelems_web/index.html
PipeLineLems/pipelinelems_web/main.ts
PipeLineLems/pipelinelems_web/package-lock.json
PipeLineLems/pipelinelems_web/package.json
PipeLineLems/pipelinelems_web/public/config.json
PipeLineLems/pipelinelems_web/public/defaulttheme.css
PipeLineLems/pipelinelems_web/public/favicon.icoPipeLineLems/pipelinelems_web/public/language/Common.en-US.json
PipeLineLems/pipelinelems_web/public/language/MesSuite.en-US.json
PipeLineLems/pipelinelems_web/public/language/ProcessManagement.en-US.json
PipeLineLems/pipelinelems_web/public/language/ProductManagement.en-US.json
PipeLineLems/pipelinelems_web/public/language/language.en-US.json
PipeLineLems/pipelinelems_web/public/language/language.zh-CN.json
PipeLineLems/pipelinelems_web/public/language/lmes.en-US.json
PipeLineLems/pipelinelems_web/public/mitm/mitm.html
PipeLineLems/pipelinelems_web/public/mitm/sw.js
PipeLineLems/pipelinelems_web/public/svgpngbacktheme.json
PipeLineLems/pipelinelems_web/public/svgpngwhitetheme.json
PipeLineLems/pipelinelems_web/public/theme.css
PipeLineLems/pipelinelems_web/public/widgets/mock.json
PipeLineLems/pipelinelems_web/public/widgets/mock/index.js
PipeLineLems/pipelinelems_web/public/¶Ôtheme.cssµÄ˵Ã÷
PipeLineLems/pipelinelems_web/pull.sh
PipeLineLems/pipelinelems_web/release.sh
PipeLineLems/pipelinelems_web/script/ZipAFolder.js
PipeLineLems/pipelinelems_web/script/autoMenu.js
PipeLineLems/pipelinelems_web/script/build.js
PipeLineLems/pipelinelems_web/script/filterExternal.ts
PipeLineLems/pipelinelems_web/script/generateMenu.js
PipeLineLems/pipelinelems_web/script/plugins/vite-plugin-cs-module-filter.ts
PipeLineLems/pipelinelems_web/script/plugins/vite-plugin-development-filter.ts
PipeLineLems/pipelinelems_web/script/plugins/vite-plugin-image-filter.ts
PipeLineLems/pipelinelems_web/script/plugins/vite-plugin-widget-provider.ts
PipeLineLems/pipelinelems_web/script/replace.ts
PipeLineLems/pipelinelems_web/script/tag.js
PipeLineLems/pipelinelems_web/src/App.vue
PipeLineLems/pipelinelems_web/src/api/common-enum.ts
PipeLineLems/pipelinelems_web/src/api/file.ts
PipeLineLems/pipelinelems_web/src/api/index.ts
PipeLineLems/pipelinelems_web/src/api/logic-flow.ts
PipeLineLems/pipelinelems_web/src/api/period-setting.ts
PipeLineLems/pipelinelems_web/src/api/period-setting.type.ts
PipeLineLems/pipelinelems_web/src/api/project-api.ts
PipeLineLems/pipelinelems_web/src/cms/index.css
PipeLineLems/pipelinelems_web/src/cms/sdk.es.js
PipeLineLems/pipelinelems_web/src/cms/sdk.es.ssr.js
PipeLineLems/pipelinelems_web/src/components/.npmrc
PipeLineLems/pipelinelems_web/src/components/BarcodeAnalysisDialog/BarcodeAnalysisDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/BarcodeAnalysisDialog/BarcodeAnalysisDialog.tsx
PipeLineLems/pipelinelems_web/src/components/BarcodeGenerateDialog/BarcodeGenerateDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/BarcodeGenerateDialog/BarcodeGenerateDialog.tsx
PipeLineLems/pipelinelems_web/src/components/BaseConfigProvider/BaseConfigProvider.tsx
PipeLineLems/pipelinelems_web/src/components/BaseConfigSelect/BaseConfigSelect.module.scss
PipeLineLems/pipelinelems_web/src/components/BaseConfigSelect/BaseConfigSelect.tsx
PipeLineLems/pipelinelems_web/src/components/BaseContent/BaseContent.module.scss
PipeLineLems/pipelinelems_web/src/components/BaseContent/BaseContent.tsx
PipeLineLems/pipelinelems_web/src/components/BaseDialog/BaseDialog.scss
PipeLineLems/pipelinelems_web/src/components/BaseDialog/BaseDialog.tsx
PipeLineLems/pipelinelems_web/src/components/BaseDialog/index.vue
PipeLineLems/pipelinelems_web/src/components/BaseDrawer/BaseDrawer.module.scss
PipeLineLems/pipelinelems_web/src/components/BaseDrawer/BaseDrawer.tsx
PipeLineLems/pipelinelems_web/src/components/BaseInput/BaseInput.module.scss
PipeLineLems/pipelinelems_web/src/components/BaseInput/BaseInput.tsx
PipeLineLems/pipelinelems_web/src/components/BaseQueryDrawer/BaseQueryDrawer.module.scsscopy from PipeLineLems/web/src/components/BaseDrawer/BaseDrawer.module.scss copy to PipeLineLems/pipelinelems_web/src/components/BaseQueryDrawer/BaseQueryDrawer.module.scss
PipeLineLems/pipelinelems_web/src/components/BaseQueryDrawer/BaseQueryDrawer.tsx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ import { computed, defineComponent, onMounted, ref } from 'vue' import styles from './BaseQueryDrawer.module.scss' import Icon from '../Icon/Icon' //@ts-ignore export default defineComponent<{ [key: string]: any }>({ // @ts-ignore name: 'BaseDrawer', props: { // é®ç½©æ¯å¦å¯ç¹å» clickable: { type: Boolean, default: false, }, title: { type: String, default: '', }, width: { type: String, default: '', }, // modelValue: { // type: Boolean, // default: false, // }, }, emits: ['close','reset', 'confirmQueryForBase', 'update:modelValue', 'open', 'beforeClose'], setup(props: any, { emit, slots, attrs }: any) { // const size = computed(() => { // if (attrs.size.includes('px')) { // return attrs.size // } // }) // const model = computed(() => { // if (attrs.model.includes('')) { // return attrs.model // } // }) return () => { return ( <div class={styles.drawContent} //@ts-ignore // style={props.clickable ? { '--drawer-width': size.value } : {}} > <el-drawer // modal-class={props.clickable ? styles.modal : ''} class={{ [styles.informationDrawer]: true, // [styles.informationDrawerPosition]: props.clickable, }} onOpen={() => emit('open')} onClose={() => emit('close')} v-slots={{ footer() { return ( <div class={styles.csDialogFooter}> <el-button onClick={() => emit('close')} type="info" plain class={{ [styles.dialogBtn]: true, [styles.csBaseBtn]: true, }} > å ³é </el-button> <el-button onClick={() => emit('reset')} type="info" plain class={{ [styles.dialogBtn]: true, [styles.csBaseBtn]: true, }} > éç½® </el-button> <el-button onClick={() => emit('confirmQueryForBase')} type="primary" class={{ [styles.csBaseBtn]: true, }} > æ¥è¯¢ </el-button> </div> ) }, }} {...attrs} title={props.title} size={props.width || attrs.size} > <Icon width={167} height={54} class={styles.iconPosition} icon="drawer_bg" /> {slots.default?.()} </el-drawer> </div> ) } }, }) PipeLineLems/pipelinelems_web/src/components/BaseTable/AutoTooltip.tsx
PipeLineLems/pipelinelems_web/src/components/BaseTable/BaseTable.d.ts
PipeLineLems/pipelinelems_web/src/components/BaseTable/BaseTable.module.scss
PipeLineLems/pipelinelems_web/src/components/BaseTable/BaseTable.tsx
PipeLineLems/pipelinelems_web/src/components/BaseTable/Props.ts
PipeLineLems/pipelinelems_web/src/components/BaseTable/useColumns.tsx
PipeLineLems/pipelinelems_web/src/components/BaseTable/useEvent.ts
PipeLineLems/pipelinelems_web/src/components/BaseTable/useHook.ts
PipeLineLems/pipelinelems_web/src/components/BaseTable/useState.ts
PipeLineLems/pipelinelems_web/src/components/BaseTable/useUtils.ts
PipeLineLems/pipelinelems_web/src/components/Button/index.vue
PipeLineLems/pipelinelems_web/src/components/CanvasTableS2/CanvasTableS2.scss
PipeLineLems/pipelinelems_web/src/components/CanvasTableS2/CanvasTableS2.tsx
PipeLineLems/pipelinelems_web/src/components/CommonTable/CommonTable.module.scss
PipeLineLems/pipelinelems_web/src/components/CommonTable/CommonTable.tsx
PipeLineLems/pipelinelems_web/src/components/ConfirmBox/ConfirmBox.module.scss
PipeLineLems/pipelinelems_web/src/components/ConfirmBox/ConfirmBox.tsx
PipeLineLems/pipelinelems_web/src/components/Container/Container.module.scss
PipeLineLems/pipelinelems_web/src/components/Container/Container.tsx
PipeLineLems/pipelinelems_web/src/components/Content/Content.module.scss
PipeLineLems/pipelinelems_web/src/components/Content/Content.tsx
PipeLineLems/pipelinelems_web/src/components/CsTree/CsTree.scss
PipeLineLems/pipelinelems_web/src/components/CsTree/CsTree.tsx
PipeLineLems/pipelinelems_web/src/components/DatePicker/PrefixIcon.vue
PipeLineLems/pipelinelems_web/src/components/DatePicker/index.vue
PipeLineLems/pipelinelems_web/src/components/DateTimePickRange/DateTimePickRange.module.scss
PipeLineLems/pipelinelems_web/src/components/DateTimePickRange/DateTimePickRange.tsx
PipeLineLems/pipelinelems_web/src/components/Dialog/index.vue
PipeLineLems/pipelinelems_web/src/components/DialogPreView/Chart.tsx
PipeLineLems/pipelinelems_web/src/components/DialogPreView/DialogPreView.module.scss
PipeLineLems/pipelinelems_web/src/components/DialogPreView/DialogPreView.tsx
PipeLineLems/pipelinelems_web/src/components/DialogPreView/Picture.tsx
PipeLineLems/pipelinelems_web/src/components/DyDatePicker/DyDatePicker.tsx
PipeLineLems/pipelinelems_web/src/components/DyForm/DyForm.d.ts
PipeLineLems/pipelinelems_web/src/components/DyForm/DyForm.module.scss
PipeLineLems/pipelinelems_web/src/components/DyForm/DyForm.tsx
PipeLineLems/pipelinelems_web/src/components/ElSelect/ElOption.tsx
PipeLineLems/pipelinelems_web/src/components/ElSelect/ElSelect.tsx
PipeLineLems/pipelinelems_web/src/components/ElSelect/index.scss
PipeLineLems/pipelinelems_web/src/components/EllipsisTooltip/EllipsisTooltip.vue
PipeLineLems/pipelinelems_web/src/components/Empty/Empty.module.scss
PipeLineLems/pipelinelems_web/src/components/Empty/Empty.tsx
PipeLineLems/pipelinelems_web/src/components/Flow/Flow.module.scss
PipeLineLems/pipelinelems_web/src/components/Flow/Flow.tsx
PipeLineLems/pipelinelems_web/src/components/FlowContextDialog/FlowContextDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/FlowContextDialog/FlowContextDialog.tsx
PipeLineLems/pipelinelems_web/src/components/FlowContextDialog/config.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/G6Flow.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/G6Flow.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Canvas/Canvas.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Canvas/Canvas.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/ConditionDialog/ConditionDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/ConditionDialog/ConditionDialog.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/EdgeDrawer/EdgeDrawer.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/EdgeDrawer/EdgeDrawer.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Menu/Menu.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Menu/Menu.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Menu/index.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Models/CreateFormItem.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Models/WidgetTypeByEnum.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/NodeDialog/NodeDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/NodeDialog/NodeDialog.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/NodeDrawer/NodeDrawer.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/NodeDrawer/NodeDrawer.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Nodes/EndNode.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Nodes/Node.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Nodes/OrdinaryNode.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Nodes/StartNode.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Nodes/index.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Nodes/index.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Renderer/Renderer.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Renderer/Renderer.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/ToolBar/ToolBar.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/ToolBar/ToolBar.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/ToolBar/ToolBarDefine.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Tools/Tools.module.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Tools/Tools.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Tooltip/Tooltip.scss
PipeLineLems/pipelinelems_web/src/components/G6Flow/components/Tooltip/Tooltip.tsx
PipeLineLems/pipelinelems_web/src/components/G6Flow/core/Core.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/core/GraphEvent.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/core/behavior.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/core/enum.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/core/store.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/core/transformHelp.ts
PipeLineLems/pipelinelems_web/src/components/G6Flow/type/index.d.ts
PipeLineLems/pipelinelems_web/src/components/Icon/Icon.tsx
PipeLineLems/pipelinelems_web/src/components/IconButton/IconButton.module.scss
PipeLineLems/pipelinelems_web/src/components/IconButton/IconButton.tsx
PipeLineLems/pipelinelems_web/src/components/Image/Image.tsx
PipeLineLems/pipelinelems_web/src/components/ImportProcessDialog/ImportProcessDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/ImportProcessDialog/ImportProcessDialog.tsx
PipeLineLems/pipelinelems_web/src/components/Input/Input.tsx
PipeLineLems/pipelinelems_web/src/components/LabelDialog/LabelDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/LabelDialog/LabelDialog.tsx
PipeLineLems/pipelinelems_web/src/components/LabelDialog/hook.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/LogicFlow.module.scss
PipeLineLems/pipelinelems_web/src/components/LogicFlow/LogicFlow.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Canvas/Canvas.module.scss
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Canvas/Canvas.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/EdgeDrawer/EdgeDrawer.module.scss
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/EdgeDrawer/EdgeDrawer.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Edges/Curve.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/NodeDrawer/NodeDrawer.module.scss
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/NodeDrawer/NodeDrawer.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/BaseNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/EndNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/FlowNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/Node.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/OrdinaryNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/StartNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/BusinessNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/DetermineProcessNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/DuplicateCodeDetectionNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/InboundInitializeNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/LocalQualificationJudgmentNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/MaterialAssociationNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/MissingProcessDetectionNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/OutboundInitializeNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/PLCQualificationJudgmentNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/ParameterCollectNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/ParameterSaveNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/ProductStateDetectionNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/TrayAssociationNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/VariableMonitorNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/VariableReadNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/cache/VariableWriteNode.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/index.module.scss
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Nodes/index.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Renderer/Renderer.module.scss
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Renderer/Renderer.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/components/Theme/Theme.tsx
PipeLineLems/pipelinelems_web/src/components/LogicFlow/core/bak.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/core/dagre.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/core/enum.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/core/event.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/core/layout.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/core/store.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/core/transformHelp.ts
PipeLineLems/pipelinelems_web/src/components/LogicFlow/type/index.d.ts
PipeLineLems/pipelinelems_web/src/components/Menu/index.vue
PipeLineLems/pipelinelems_web/src/components/MyPages/index.vue
PipeLineLems/pipelinelems_web/src/components/Pdf/index.vue
PipeLineLems/pipelinelems_web/src/components/PreviewDialog/index.vue
PipeLineLems/pipelinelems_web/src/components/PrintDialog/PrintDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/PrintDialog/PrintDialog.tsx
PipeLineLems/pipelinelems_web/src/components/ProcessRouterDialog/ProcessRouterDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/ProcessRouterDialog/ProcessRouterDialog.tsx
PipeLineLems/pipelinelems_web/src/components/ProcessRouterDialog/api.ts
PipeLineLems/pipelinelems_web/src/components/ProcessRouterDialog/hook.ts
PipeLineLems/pipelinelems_web/src/components/ProcessRoutes/ProcessRoutes.module.scss
PipeLineLems/pipelinelems_web/src/components/ProcessRoutes/ProcessRoutes.tsx
PipeLineLems/pipelinelems_web/src/components/ProductSelectDialog/ProductSelectDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/ProductSelectDialog/ProductSelectDialog.tsx
PipeLineLems/pipelinelems_web/src/components/ProductSelectDialog/hook.ts
PipeLineLems/pipelinelems_web/src/components/ProjectConfig/ProjectConfig.module.scss
PipeLineLems/pipelinelems_web/src/components/ProjectConfig/ProjectConfig.tsx
PipeLineLems/pipelinelems_web/src/components/Radio/Radio.module.scss
PipeLineLems/pipelinelems_web/src/components/Radio/Radio.tsx
PipeLineLems/pipelinelems_web/src/components/RelationFlowDialog/RelationFlowDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/RelationFlowDialog/RelationFlowDialog.tsx
PipeLineLems/pipelinelems_web/src/components/RelationFlowDialog/app.ts
PipeLineLems/pipelinelems_web/src/components/RelationFlowDialog/enum.ts
PipeLineLems/pipelinelems_web/src/components/Search/Search.module.scss
PipeLineLems/pipelinelems_web/src/components/Search/Search.tsx
PipeLineLems/pipelinelems_web/src/components/SearchInput/SearchInput.module.scss
PipeLineLems/pipelinelems_web/src/components/SearchInput/SearchInput.tsx
PipeLineLems/pipelinelems_web/src/components/SearchSelect/Option.tsx
PipeLineLems/pipelinelems_web/src/components/SearchSelect/SearchSelect.tsx
PipeLineLems/pipelinelems_web/src/components/SearchSelect/Select.module.scss
PipeLineLems/pipelinelems_web/src/components/Segment/segment.module.scss
PipeLineLems/pipelinelems_web/src/components/Segment/segment.tsx
PipeLineLems/pipelinelems_web/src/components/Select/Option.tsx
PipeLineLems/pipelinelems_web/src/components/Select/Select.module.scss
PipeLineLems/pipelinelems_web/src/components/Select/Select.tsx
PipeLineLems/pipelinelems_web/src/components/Select/Select1.tsx
PipeLineLems/pipelinelems_web/src/components/SelectInput/SelectInput.module.scss
PipeLineLems/pipelinelems_web/src/components/SelectInput/SelectInput.tsx
PipeLineLems/pipelinelems_web/src/components/Setting/Setting.tsx
PipeLineLems/pipelinelems_web/src/components/SettingItem/SettingItem.vue
PipeLineLems/pipelinelems_web/src/components/SettingItem/state.ts
PipeLineLems/pipelinelems_web/src/components/SvgIcon/SvgIcon.module.scss
PipeLineLems/pipelinelems_web/src/components/SvgIcon/SvgIcon.tsx
PipeLineLems/pipelinelems_web/src/components/Tab/Tab.module.scss
PipeLineLems/pipelinelems_web/src/components/Tab/Tab.tsx
PipeLineLems/pipelinelems_web/src/components/Tab/TabPane.tsx
PipeLineLems/pipelinelems_web/src/components/Table/Readme.md
PipeLineLems/pipelinelems_web/src/components/Table/Table.tsx
PipeLineLems/pipelinelems_web/src/components/Table/api.ts
PipeLineLems/pipelinelems_web/src/components/Table/components/custom-vxe-column.vue
PipeLineLems/pipelinelems_web/src/components/Table/components/pagination.vue
PipeLineLems/pipelinelems_web/src/components/Table/index.d.ts
PipeLineLems/pipelinelems_web/src/components/Table/index.module.scss
PipeLineLems/pipelinelems_web/src/components/Table/index.scss
PipeLineLems/pipelinelems_web/src/components/Table/index.vue
PipeLineLems/pipelinelems_web/src/components/Table/state.ts
PipeLineLems/pipelinelems_web/src/components/TableArray/TableArray.module.scss
PipeLineLems/pipelinelems_web/src/components/TableArray/TableArray.tsx
PipeLineLems/pipelinelems_web/src/components/TableFilter/TableFilter.module.scss
PipeLineLems/pipelinelems_web/src/components/TableFilter/TableFilter.tsx
PipeLineLems/pipelinelems_web/src/components/Tag/Tag.module.scss
PipeLineLems/pipelinelems_web/src/components/Tag/Tag.tsx
PipeLineLems/pipelinelems_web/src/components/TdButton/TdButton.module.scss
PipeLineLems/pipelinelems_web/src/components/TdButton/TdButton.tsx
PipeLineLems/pipelinelems_web/src/components/Text/Text.module.scss
PipeLineLems/pipelinelems_web/src/components/Text/Text.tsx
PipeLineLems/pipelinelems_web/src/components/Title/Title.module.scss
PipeLineLems/pipelinelems_web/src/components/Title/Title.tsx
PipeLineLems/pipelinelems_web/src/components/TouchScale/index.vue
PipeLineLems/pipelinelems_web/src/components/Upload/index.vue
PipeLineLems/pipelinelems_web/src/components/Variable/Variable.module.scss
PipeLineLems/pipelinelems_web/src/components/Variable/Variable.tsx
PipeLineLems/pipelinelems_web/src/components/WorkSectionDialog/WorkSectionDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/WorkSectionDialog/WorkSectionDialog.tsx
PipeLineLems/pipelinelems_web/src/components/WorkSectionDialog/hook.ts
PipeLineLems/pipelinelems_web/src/components/WorkSectionParams/WorkSectionParams.module.scss
PipeLineLems/pipelinelems_web/src/components/WorkSectionParams/WorkSectionParams.tsx
PipeLineLems/pipelinelems_web/src/components/WorkSectionParams/api.ts
PipeLineLems/pipelinelems_web/src/components/WorkStationDialog/WorkStationDialog.module.scss
PipeLineLems/pipelinelems_web/src/components/WorkStationDialog/WorkStationDialog.tsx
PipeLineLems/pipelinelems_web/src/components/WorkStationDialog/hook.ts
PipeLineLems/pipelinelems_web/src/components/index.d.ts
PipeLineLems/pipelinelems_web/src/components/index.ts
PipeLineLems/pipelinelems_web/src/components/package.json
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenu.scss
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenu.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuDefine.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuGroup.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuIconCheck.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuIconRight.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuInstance.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuItem.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuMutex.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuSeparator.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextMenuUtils.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextSubMenu.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/ContextSubMenuWrapper.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/MenuBar.scss
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/MenuBar.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/MenuBar.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/MenuBarIconMenu.vue
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/env.d.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/index.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/shims-vue.d.ts
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/tsconfig.json
PipeLineLems/pipelinelems_web/src/components/vue3-context-menu/vite.config.ts
PipeLineLems/pipelinelems_web/src/env.d.ts
PipeLineLems/pipelinelems_web/src/home.vue
PipeLineLems/pipelinelems_web/src/hooks/Dialog.ts
PipeLineLems/pipelinelems_web/src/hooks/File.ts
PipeLineLems/pipelinelems_web/src/hooks/drawer.ts
PipeLineLems/pipelinelems_web/src/hooks/hook.ts
PipeLineLems/pipelinelems_web/src/index.d.ts
PipeLineLems/pipelinelems_web/src/libs/Base/Base.ts
PipeLineLems/pipelinelems_web/src/libs/Create/Create.ts
PipeLineLems/pipelinelems_web/src/libs/DownloadFile/DownLoadFile.ts
PipeLineLems/pipelinelems_web/src/libs/Hook/Hook.ts
PipeLineLems/pipelinelems_web/src/libs/Language/Language.ts
PipeLineLems/pipelinelems_web/src/libs/Language/i18n/langEN.ts
PipeLineLems/pipelinelems_web/src/libs/Language/i18n/langTH.ts
PipeLineLems/pipelinelems_web/src/libs/Language/i18n/langZH.ts
PipeLineLems/pipelinelems_web/src/libs/Permission/Permission.d.ts
PipeLineLems/pipelinelems_web/src/libs/Permission/Permission.ts
PipeLineLems/pipelinelems_web/src/libs/Provider/Provider.ts
PipeLineLems/pipelinelems_web/src/libs/Provider/app.ts
PipeLineLems/pipelinelems_web/src/libs/Socket/Socket.ts
PipeLineLems/pipelinelems_web/src/libs/Socket/index.ts
PipeLineLems/pipelinelems_web/src/libs/Socket/toast.ts
PipeLineLems/pipelinelems_web/src/libs/Store/State.ts
PipeLineLems/pipelinelems_web/src/libs/Store/Store.d.ts
PipeLineLems/pipelinelems_web/src/libs/Store/Store.ts
PipeLineLems/pipelinelems_web/src/libs/Store/globalState.ts
PipeLineLems/pipelinelems_web/src/libs/enum.ts
PipeLineLems/pipelinelems_web/src/libs/system-enum.ts
PipeLineLems/pipelinelems_web/src/main.ts
PipeLineLems/pipelinelems_web/src/plugins/vxe-table.ts
PipeLineLems/pipelinelems_web/src/provider/index.ts
PipeLineLems/pipelinelems_web/src/provider/index.vue
PipeLineLems/pipelinelems_web/src/router.ts
PipeLineLems/pipelinelems_web/src/utils/ElMessage.ts
PipeLineLems/pipelinelems_web/src/utils/client.ts
PipeLineLems/pipelinelems_web/src/utils/columnConfig.ts
PipeLineLems/pipelinelems_web/src/utils/enum/index.ts
PipeLineLems/pipelinelems_web/src/utils/index.ts
PipeLineLems/pipelinelems_web/src/utils/permission.js
PipeLineLems/pipelinelems_web/src/utils/request.ts
PipeLineLems/pipelinelems_web/src/utils/storage.ts
PipeLineLems/pipelinelems_web/src/utils/util.ts
PipeLineLems/pipelinelems_web/tsconfig.json
PipeLineLems/pipelinelems_web/vite.build.config.ts
PipeLineLems/pipelinelems_web/vite.config.ts
PipeLineLems/pipelinelems_web/vite.lib.config.ts
PipeLineLems/pipelinelems_web/yarn.lock
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/CMS.Plugin.PipeLineLems.Application.Contracts.csproj
@@ -1,4 +1,4 @@ <Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk"> <Import Project="../../common.props" /> <Import Project="../../configureawait.props" /> @@ -18,4 +18,10 @@ <ProjectReference Include="..\CMS.Plugin.PipeLineLems.Domain.Shared\CMS.Plugin.PipeLineLems.Domain.Shared.csproj" /> </ItemGroup> <ItemGroup> <Reference Include="CmsQueryExtensions"> <HintPath>..\..\..\..\CommonDLL\CmsQueryExtensions.dll</HintPath> </Reference> </ItemGroup> </Project> PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/GetWorkPlanInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,607 @@ using CmsQueryExtensions.Extension; using Volo.Abp.Application.Dtos; namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; /// <summary> /// ä½ä¸è®¡å表æ¥è¯¢åæ° /// </summary> public class GetWorkPlanInput : 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 TaskCode { get; set; } /// <summary> /// ä»»å¡ç¼ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum TaskCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// åæç¼å· /// </summary> public string OrgMaterialCode { get; set; } /// <summary> /// åæç¼å·-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum OrgMaterialCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å·¥å代ç /// </summary> public string FactoryCode { get; set; } /// <summary> /// å·¥å代ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum FactoryCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 产å代ç /// </summary> public string ProductCode { get; set; } /// <summary> /// 产å代ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum ProductCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å·¥ä½ä»£ç /// </summary> public string WorkstationCode { get; set; } /// <summary> /// å·¥ä½ä»£ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum WorkstationCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 设å¤ä»£ç /// </summary> public string EquipmentCode { get; set; } /// <summary> /// 设å¤ä»£ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum EquipmentCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 工件åç§° /// </summary> public string WorkpieceName { get; set; } /// <summary> /// 工件åç§°-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum WorkpieceName_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å·¥åºåç§° /// </summary> public string ProcessName { get; set; } /// <summary> /// å·¥åºåç§°-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum ProcessName_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 管件ç¼ç /// </summary> public string PipeFittingCode { get; set; } /// <summary> /// 管件ç¼ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum PipeFittingCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 顺åºå· /// </summary> public string PreSerialNumber { get; set; } /// <summary> /// 顺åºå·-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum PreSerialNumber_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// åææ è¯ /// </summary> public string DataIdentifier { get; set; } /// <summary> /// åææ è¯-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum DataIdentifier_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// ç®¡è§æ ¼ç /// </summary> public string PipeSpecCode { get; set; } /// <summary> /// ç®¡è§æ ¼ç -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum PipeSpecCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 管段åç§° /// </summary> public string PipeSectionName { get; set; } /// <summary> /// 管段åç§°-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum PipeSectionName_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å¤å¾ /// </summary> public string OuterDiameter { get; set; } /// <summary> /// å¤å¾-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum OuterDiameter_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å¡å£ /// </summary> public string Bevel { get; set; } /// <summary> /// å¡å£-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum Bevel_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æè´¨ /// </summary> public string Material { get; set; } /// <summary> /// æè´¨-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum Material_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// é¿åº¦ /// </summary> public string Length { get; set; } /// <summary> /// é¿åº¦-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum Length_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æåä½ /// </summary> public string DrillingPosition { get; set; } /// <summary> /// æåä½-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum DrillingPosition_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// ç¸è´¯ /// </summary> public string Intersecting { get; set; } /// <summary> /// ç¸è´¯-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum Intersecting_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¥å£è¦æ± /// </summary> public string InterfaceRequirement { get; set; } /// <summary> /// æ¥å£è¦æ±-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum InterfaceRequirement_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯å¦æä¸»ç¾ /// </summary> public bool? HasMainSignature { get; set; } /// <summary> /// æ¯å¦æä¸»ç¾-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum HasMainSignature_FilterMode { get; set; }= SearchFilterModeEnum.ç²¾åæ¥è¯¢; /// <summary> /// å æ¬æ°é /// </summary> public int? Quantity { get; set; } /// <summary> /// å æ¬æ°é-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum Quantity_FilterMode { get; set; }= SearchFilterModeEnum.ç²¾åæ¥è¯¢; /// <summary> /// æç å 容 /// </summary> public string MarkingContent { get; set; } /// <summary> /// æç å 容-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum MarkingContent_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å岿件 /// </summary> public string CuttingFile { get; set; } /// <summary> /// å岿件-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum CuttingFile_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯å¤å¾ /// </summary> public string BranchOuterDiameter { get; set; } /// <summary> /// æ¯å¤å¾-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum BranchOuterDiameter_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯ç®¡å£å /// </summary> public string BranchWallThickness { get; set; } /// <summary> /// æ¯ç®¡å£å-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum BranchWallThickness_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯ç®¡æè´¨ /// </summary> public string BranchMaterial { get; set; } /// <summary> /// æ¯ç®¡æè´¨-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum BranchMaterial_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯ç®¡ç«¯å£æ²çåå¾ /// </summary> public string BranchPortRadius { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£æ²çåå¾-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum BranchPortRadius_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯ç®¡ç«¯å£è§åº¦ /// </summary> public string BranchPortAngle { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è§åº¦-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum BranchPortAngle_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ¯ç®¡ç«¯å£è¦æ± /// </summary> public string BranchPortRequirement { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è¦æ±-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum BranchPortRequirement_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// ç¸è´¯çº¿ç±»å /// </summary> public string IntersectingLineType { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum IntersectingLineType_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// ç¸è´¯çº¿ç±»å« /// </summary> public string IntersectingLineCategory { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å«-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum IntersectingLineCategory_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æåå¾å¹ /// </summary> public string FinishedProductScale { get; set; } /// <summary> /// æåå¾å¹ -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum FinishedProductScale_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ³å °å度 /// </summary> public string FlangeThickness { get; set; } /// <summary> /// æ³å °å度-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum FlangeThickness_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// æ³å °å å¾ /// </summary> public string FlangeInnerDiameter { get; set; } /// <summary> /// æ³å °å å¾-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum FlangeInnerDiameter_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// çæ¥çè¾å ¥ /// </summary> public string WeldingHeatInput { get; set; } /// <summary> /// çæ¥çè¾å ¥-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum WeldingHeatInput_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 管éå 许åºå /// </summary> public string PipeAllowableStress { get; set; } /// <summary> /// 管éå 许åºå-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum PipeAllowableStress_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// ç®¡å¾ /// </summary> public string PipeDiameter { get; set; } /// <summary> /// 管å¾-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum PipeDiameter_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 管éå£å /// </summary> public string PipeWallThickness { get; set; } /// <summary> /// 管éå£å-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum PipeWallThickness_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// VRæ°æ® /// </summary> public string VRData { get; set; } /// <summary> /// VRæ°æ®-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum VRData_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// å·¥èºè·¯çº¿ç¼å· /// </summary> public string ProcessRouteNumber { get; set; } /// <summary> /// å·¥èºè·¯çº¿ç¼å·-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum ProcessRouteNumber_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// 计åå¼å§æ¶é´ /// </summary> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public List<string> PlannedStartTime { get; set; } /// <summary> /// 计å宿æ¶é´ /// </summary> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public List<string> PlannedEndTime { get; set; } /// <summary> /// æ¶é´ä¿¡æ¯ /// </summary> public string TimeInfo { get; set; } /// <summary> /// æ¶é´ä¿¡æ¯-æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum TimeInfo_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string RedundantField1 { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum RedundantField1_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string RedundantField2 { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum RedundantField2_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> public string RedundantField3 { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum RedundantField3_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> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public List<string> CreationTime { get; set; } /// <summary> /// /// </summary> public string CreatorId { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public List<string> LastModificationTime { get; set; } /// <summary> /// /// </summary> public string LastModifierId { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </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> /// /// </summary> public string DeleterId { get; set; } /// <summary> /// -æ¥è¯¢å ³ç³»è¿ç®ç¬¦ /// </summary> public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; /// <summary> /// /// </summary> //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§ [HighSearchRangeAttribute] public List<string> DeletionTime { get; set; } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/WorkPlanCreateDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; /// <summary> /// ä½ä¸è®¡å表åå»ºåæ°å¯¹è±¡ /// </summary> public class WorkPlanCreateDto : WorkPlanCreateOrUpdateDtoBase { /// <summary> /// æåº /// </summary> public virtual int? Sort { get; set; } /// <summary> /// æ¯å¦ç¦ç¨ /// </summary> public bool? IsDisabled { get; set; } = false; } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/WorkPlanCreateOrUpdateDtoBase.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,280 @@ using CMS.Plugin.PipeLineLems.Domain.Shared.Enums; using System; using Volo.Abp.Application.Dtos; namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; /// <summary> /// ä½ä¸è®¡å表åå»ºææ´æ°åºç±» /// </summary> public abstract class WorkPlanCreateOrUpdateDtoBase : ExtensibleEntityDto { /// <summary> /// ä»»å¡ç¼ç /// </summary> public string TaskCode { get; set; } /// <summary> /// åæç¼å· /// </summary> public string OrgMaterialCode { get; set; } /// <summary> /// å·¥å代ç /// </summary> public string? FactoryCode { get; set; } /// <summary> /// 产å代ç /// </summary> public string? ProductCode { get; set; } /// <summary> /// å·¥ä½ä»£ç /// </summary> public string? WorkstationCode { get; set; } /// <summary> /// 设å¤ä»£ç /// </summary> public string? EquipmentCode { get; set; } /// <summary> /// 工件åç§° /// </summary> public string? WorkpieceName { get; set; } /// <summary> /// å·¥åºåç§° /// </summary> public string? ProcessName { get; set; } /// <summary> /// 管件ç¼ç /// </summary> public string? PipeFittingCode { get; set; } /// <summary> /// 顺åºå· /// </summary> public string? PreSerialNumber { get; set; } /// <summary> /// åææ è¯ /// </summary> public string? DataIdentifier { get; set; } /// <summary> /// ç®¡è§æ ¼ç /// </summary> public string? PipeSpecCode { get; set; } /// <summary> /// 管段åç§° /// </summary> public string? PipeSectionName { get; set; } /// <summary> /// å¤å¾ /// </summary> public string? OuterDiameter { get; set; } /// <summary> /// å¡å£ /// </summary> public string? Bevel { get; set; } /// <summary> /// æè´¨ /// </summary> public string? Material { get; set; } /// <summary> /// é¿åº¦ /// </summary> public string? Length { get; set; } /// <summary> /// æåä½ /// </summary> public string? DrillingPosition { get; set; } /// <summary> /// ç¸è´¯ /// </summary> public string? Intersecting { get; set; } /// <summary> /// æ¥å£è¦æ± /// </summary> public string? InterfaceRequirement { get; set; } /// <summary> /// æ¯å¦æä¸»ç¾ /// </summary> public bool HasMainSignature { get; set; } /// <summary> /// å æ¬æ°é /// </summary> public int Quantity { get; set; } /// <summary> /// æç å 容 /// </summary> public string? MarkingContent { get; set; } /// <summary> /// å岿件 /// </summary> public string? CuttingFile { get; set; } /// <summary> /// æ¯å¤å¾ /// </summary> public string? BranchOuterDiameter { get; set; } /// <summary> /// æ¯ç®¡å£å /// </summary> public string? BranchWallThickness { get; set; } /// <summary> /// æ¯ç®¡æè´¨ /// </summary> public string? BranchMaterial { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£æ²çåå¾ /// </summary> public string? BranchPortRadius { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è§åº¦ /// </summary> public string? BranchPortAngle { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è¦æ± /// </summary> public string? BranchPortRequirement { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å /// </summary> public string? IntersectingLineType { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å« /// </summary> public string? IntersectingLineCategory { get; set; } /// <summary> /// æåå¾å¹ /// </summary> public string? FinishedProductScale { get; set; } /// <summary> /// æ³å °å度 /// </summary> public string? FlangeThickness { get; set; } /// <summary> /// æ³å °å å¾ /// </summary> public string? FlangeInnerDiameter { get; set; } /// <summary> /// çæ¥çè¾å ¥ /// </summary> public string? WeldingHeatInput { get; set; } /// <summary> /// 管éå 许åºå /// </summary> public string? PipeAllowableStress { get; set; } /// <summary> /// ç®¡å¾ /// </summary> public string? PipeDiameter { get; set; } /// <summary> /// 管éå£å /// </summary> public string? PipeWallThickness { get; set; } /// <summary> /// VRæ°æ® /// </summary> public string? VRData { get; set; } /// <summary> /// å·¥èºè·¯çº¿ç¼å· /// </summary> public string? ProcessRouteNumber { get; set; } /// <summary> /// 计åå¼å§æ¶é´ /// </summary> public DateTime? PlannedStartTime { get; set; } /// <summary> /// 计å宿æ¶é´ /// </summary> public DateTime? PlannedEndTime { get; set; } /// <summary> /// æ¶é´ä¿¡æ¯ /// </summary> public string? TimeInfo { get; set; } /// <summary> /// /// </summary> public string? RedundantField1 { get; set; } /// <summary> /// /// </summary> public string? RedundantField2 { get; set; } /// <summary> /// /// </summary> public string? RedundantField3 { 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? CreatorId { get; set; } /// <summary> /// /// </summary> public string? LastModifierId { get; set; } /// <summary> /// Initializes a new instance of the <see cref="WorkPlanCreateOrUpdateDtoBase"/> class. /// </summary> public WorkPlanCreateOrUpdateDtoBase() : base(false) { } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/WorkPlanDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,326 @@ using CMS.Plugin.PipeLineLems.Domain.Shared.Enums; using CmsQueryExtensions; using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.Domain.Entities; namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; /// <summary> /// ä½ä¸è®¡åè¡¨æ°æ®åæ°å¯¹è±¡ /// </summary> public class WorkPlanDto: ExtensibleEntityDto<Guid>, IHasConcurrencyStamp { /// <summary> /// ä»»å¡ç¼ç /// </summary> public string TaskCode { get; set; } /// <summary> /// åæç¼å· /// </summary> public string OrgMaterialCode { get; set; } /// <summary> /// å·¥å代ç /// </summary> public string? FactoryCode { get; set; } /// <summary> /// 产å代ç /// </summary> public string? ProductCode { get; set; } /// <summary> /// å·¥ä½ä»£ç /// </summary> public string? WorkstationCode { get; set; } /// <summary> /// 设å¤ä»£ç /// </summary> public string? EquipmentCode { get; set; } /// <summary> /// 工件åç§° /// </summary> public string? WorkpieceName { get; set; } /// <summary> /// å·¥åºåç§° /// </summary> public string? ProcessName { get; set; } /// <summary> /// 管件ç¼ç /// </summary> public string? PipeFittingCode { get; set; } /// <summary> /// 顺åºå· /// </summary> public string? PreSerialNumber { get; set; } /// <summary> /// åææ è¯ /// </summary> public string? DataIdentifier { get; set; } /// <summary> /// ç®¡è§æ ¼ç /// </summary> public string? PipeSpecCode { get; set; } /// <summary> /// 管段åç§° /// </summary> public string? PipeSectionName { get; set; } /// <summary> /// å¤å¾ /// </summary> public string? OuterDiameter { get; set; } /// <summary> /// å¡å£ /// </summary> public string? Bevel { get; set; } /// <summary> /// æè´¨ /// </summary> public string? Material { get; set; } /// <summary> /// é¿åº¦ /// </summary> public string? Length { get; set; } /// <summary> /// æåä½ /// </summary> public string? DrillingPosition { get; set; } /// <summary> /// ç¸è´¯ /// </summary> public string? Intersecting { get; set; } /// <summary> /// æ¥å£è¦æ± /// </summary> public string? InterfaceRequirement { get; set; } /// <summary> /// æ¯å¦æä¸»ç¾ /// </summary> public bool HasMainSignature { get; set; } /// <summary> /// å æ¬æ°é /// </summary> public int Quantity { get; set; } /// <summary> /// æç å 容 /// </summary> public string? MarkingContent { get; set; } /// <summary> /// å岿件 /// </summary> public string? CuttingFile { get; set; } /// <summary> /// æ¯å¤å¾ /// </summary> public string? BranchOuterDiameter { get; set; } /// <summary> /// æ¯ç®¡å£å /// </summary> public string? BranchWallThickness { get; set; } /// <summary> /// æ¯ç®¡æè´¨ /// </summary> public string? BranchMaterial { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£æ²çåå¾ /// </summary> public string? BranchPortRadius { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è§åº¦ /// </summary> public string? BranchPortAngle { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è¦æ± /// </summary> public string? BranchPortRequirement { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å /// </summary> public string? IntersectingLineType { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å« /// </summary> public string? IntersectingLineCategory { get; set; } /// <summary> /// æåå¾å¹ /// </summary> public string? FinishedProductScale { get; set; } /// <summary> /// æ³å °å度 /// </summary> public string? FlangeThickness { get; set; } /// <summary> /// æ³å °å å¾ /// </summary> public string? FlangeInnerDiameter { get; set; } /// <summary> /// çæ¥çè¾å ¥ /// </summary> public string? WeldingHeatInput { get; set; } /// <summary> /// 管éå 许åºå /// </summary> public string? PipeAllowableStress { get; set; } /// <summary> /// ç®¡å¾ /// </summary> public string? PipeDiameter { get; set; } /// <summary> /// 管éå£å /// </summary> public string? PipeWallThickness { get; set; } /// <summary> /// VRæ°æ® /// </summary> public string? VRData { get; set; } /// <summary> /// å·¥èºè·¯çº¿ç¼å· /// </summary> public string? ProcessRouteNumber { get; set; } /// <summary> /// 计åå¼å§æ¶é´ /// </summary> public DateTime? PlannedStartTime { get; set; } /// <summary> /// 计å宿æ¶é´ /// </summary> public DateTime? PlannedEndTime { get; set; } /// <summary> /// æ¶é´ä¿¡æ¯ /// </summary> public string? TimeInfo { get; set; } /// <summary> /// /// </summary> public string? RedundantField1 { get; set; } /// <summary> /// /// </summary> public string? RedundantField2 { get; set; } /// <summary> /// /// </summary> public string? RedundantField3 { 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 ExtraPropertyDictionary? ExtraProperties { get; set; } /// <summary> /// /// </summary> public string? ConcurrencyStamp { get; set; } /// <summary> /// /// </summary> public DateTime CreationTime { get; set; } /// <summary> /// /// </summary> public string? CreatorId { get; set; } /// <summary> /// /// </summary> public DateTime? LastModificationTime { get; set; } /// <summary> /// /// </summary> public string? LastModifierId { get; set; } /// <summary> /// /// </summary> public bool IsDeleted { get; set; } /// <summary> /// /// </summary> public string? DeleterId { get; set; } /// <summary> /// /// </summary> public DateTime? DeletionTime { 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; } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/WorkPlanExportModel.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,325 @@ using MiniExcelLibs.Attributes; using System.ComponentModel.DataAnnotations; using System; using System.ComponentModel; using CMS.Plugin.PipeLineLems.Domain.Shared.Enums; namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; /// <summary> /// ä½ä¸è®¡åè¡¨å¯¼åºæ¨¡å /// </summary> public class WorkPlanExportModel { /// <summary> /// ä»»å¡ç¼ç /// </summary> [ExcelColumn(Name = "ä»»å¡ç¼ç ", Width = 25)] public string TaskCode { get; set; } /// <summary> /// åæç¼å· /// </summary> [ExcelColumn(Name = "åæç¼å·", Width = 25)] public string OrgMaterialCode { get; set; } /// <summary> /// å·¥å代ç /// </summary> [ExcelColumn(Name = "å·¥å代ç ", Width = 25)] public string FactoryCode { get; set; } /// <summary> /// 产å代ç /// </summary> [ExcelColumn(Name = "产å代ç ", Width = 25)] public string ProductCode { get; set; } /// <summary> /// å·¥ä½ä»£ç /// </summary> [ExcelColumn(Name = "å·¥ä½ä»£ç ", Width = 25)] public string WorkstationCode { get; set; } /// <summary> /// 设å¤ä»£ç /// </summary> [ExcelColumn(Name = "设å¤ä»£ç ", Width = 25)] public string EquipmentCode { get; set; } /// <summary> /// 工件åç§° /// </summary> [ExcelColumn(Name = "工件åç§°", Width = 25)] public string WorkpieceName { get; set; } /// <summary> /// å·¥åºåç§° /// </summary> [ExcelColumn(Name = "å·¥åºåç§°", Width = 25)] public string ProcessName { get; set; } /// <summary> /// 管件ç¼ç /// </summary> [ExcelColumn(Name = "管件ç¼ç ", Width = 25)] public string PipeFittingCode { get; set; } /// <summary> /// 顺åºå· /// </summary> [ExcelColumn(Name = "顺åºå·", Width = 25)] public string PreSerialNumber { get; set; } /// <summary> /// åææ è¯ /// </summary> [ExcelColumn(Name = "åææ è¯", Width = 25)] public string DataIdentifier { get; set; } /// <summary> /// ç®¡è§æ ¼ç /// </summary> [ExcelColumn(Name = "ç®¡è§æ ¼ç ", Width = 25)] public string PipeSpecCode { get; set; } /// <summary> /// 管段åç§° /// </summary> [ExcelColumn(Name = "管段åç§°", Width = 25)] public string PipeSectionName { get; set; } /// <summary> /// å¤å¾ /// </summary> [ExcelColumn(Name = "å¤å¾", Width = 25)] public string OuterDiameter { get; set; } /// <summary> /// å¡å£ /// </summary> [ExcelColumn(Name = "å¡å£", Width = 25)] public string Bevel { get; set; } /// <summary> /// æè´¨ /// </summary> [ExcelColumn(Name = "æè´¨", Width = 25)] public string Material { get; set; } /// <summary> /// é¿åº¦ /// </summary> [ExcelColumn(Name = "é¿åº¦", Width = 25)] public string Length { get; set; } /// <summary> /// æåä½ /// </summary> [ExcelColumn(Name = "æåä½", Width = 25)] public string DrillingPosition { get; set; } /// <summary> /// ç¸è´¯ /// </summary> [ExcelColumn(Name = "ç¸è´¯", Width = 25)] public string Intersecting { get; set; } /// <summary> /// æ¥å£è¦æ± /// </summary> [ExcelColumn(Name = "æ¥å£è¦æ±", Width = 25)] public string InterfaceRequirement { get; set; } /// <summary> /// æ¯å¦æä¸»ç¾ /// </summary> [ExcelColumn(Name = "æ¯å¦æä¸»ç¾", Width = 25)] public bool HasMainSignature { get; set; } /// <summary> /// å æ¬æ°é /// </summary> [ExcelColumn(Name = "å æ¬æ°é", Width = 25)] public int Quantity { get; set; } /// <summary> /// æç å 容 /// </summary> [ExcelColumn(Name = "æç å 容", Width = 25)] public string MarkingContent { get; set; } /// <summary> /// å岿件 /// </summary> [ExcelColumn(Name = "å岿件", Width = 25)] public string CuttingFile { get; set; } /// <summary> /// æ¯å¤å¾ /// </summary> [ExcelColumn(Name = "æ¯å¤å¾", Width = 25)] public string BranchOuterDiameter { get; set; } /// <summary> /// æ¯ç®¡å£å /// </summary> [ExcelColumn(Name = "æ¯ç®¡å£å", Width = 25)] public string BranchWallThickness { get; set; } /// <summary> /// æ¯ç®¡æè´¨ /// </summary> [ExcelColumn(Name = "æ¯ç®¡æè´¨", Width = 25)] public string BranchMaterial { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£æ²çåå¾ /// </summary> [ExcelColumn(Name = "æ¯ç®¡ç«¯å£æ²çåå¾", Width = 25)] public string BranchPortRadius { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è§åº¦ /// </summary> [ExcelColumn(Name = "æ¯ç®¡ç«¯å£è§åº¦", Width = 25)] public string BranchPortAngle { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è¦æ± /// </summary> [ExcelColumn(Name = "æ¯ç®¡ç«¯å£è¦æ±", Width = 25)] public string BranchPortRequirement { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å /// </summary> [ExcelColumn(Name = "ç¸è´¯çº¿ç±»å", Width = 25)] public string IntersectingLineType { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å« /// </summary> [ExcelColumn(Name = "ç¸è´¯çº¿ç±»å«", Width = 25)] public string IntersectingLineCategory { get; set; } /// <summary> /// æåå¾å¹ /// </summary> [ExcelColumn(Name = "æåå¾å¹ ", Width = 25)] public string FinishedProductScale { get; set; } /// <summary> /// æ³å °å度 /// </summary> [ExcelColumn(Name = "æ³å °å度", Width = 25)] public string FlangeThickness { get; set; } /// <summary> /// æ³å °å å¾ /// </summary> [ExcelColumn(Name = "æ³å °å å¾", Width = 25)] public string FlangeInnerDiameter { get; set; } /// <summary> /// çæ¥çè¾å ¥ /// </summary> [ExcelColumn(Name = "çæ¥çè¾å ¥", Width = 25)] public string WeldingHeatInput { get; set; } /// <summary> /// 管éå 许åºå /// </summary> [ExcelColumn(Name = "管éå 许åºå", Width = 25)] public string PipeAllowableStress { get; set; } /// <summary> /// ç®¡å¾ /// </summary> [ExcelColumn(Name = "管å¾", Width = 25)] public string PipeDiameter { get; set; } /// <summary> /// 管éå£å /// </summary> [ExcelColumn(Name = "管éå£å", Width = 25)] public string PipeWallThickness { get; set; } /// <summary> /// VRæ°æ® /// </summary> [ExcelColumn(Name = "VRæ°æ®", Width = 25)] public string VRData { get; set; } /// <summary> /// å·¥èºè·¯çº¿ç¼å· /// </summary> [ExcelColumn(Name = "å·¥èºè·¯çº¿ç¼å·", Width = 25)] public string ProcessRouteNumber { get; set; } /// <summary> /// 计åå¼å§æ¶é´ /// </summary> [ExcelColumn(Name = "计åå¼å§æ¶é´", Width = 25)] public DateTime PlannedStartTime { get; set; } /// <summary> /// 计å宿æ¶é´ /// </summary> [ExcelColumn(Name = "计å宿æ¶é´", Width = 25)] public DateTime PlannedEndTime { get; set; } /// <summary> /// æ¶é´ä¿¡æ¯ /// </summary> [ExcelColumn(Name = "æ¶é´ä¿¡æ¯", Width = 25)] public string TimeInfo { get; set; } /// <summary> /// /// </summary> [ExcelColumn(Name = "", Width = 25)] public string RedundantField1 { get; set; } /// <summary> /// /// </summary> [ExcelColumn(Name = "", Width = 25)] public string RedundantField2 { get; set; } /// <summary> /// /// </summary> [ExcelColumn(Name = "", Width = 25)] public string RedundantField3 { get; set; } /// <summary> /// æåº /// </summary> [ExcelColumn(Name = "æåº", Width = 25)] public int Sort { get; set; } /// <summary> /// 夿³¨ /// </summary> [ExcelColumn(Name = "夿³¨", Width = 25)] public string Remark { get; set; } /// <summary> /// æ¯å¦ç¦ç¨ /// </summary> [ExcelColumn(Name = "æ¯å¦ç¦ç¨", Width = 25)] public bool? IsDisabled { 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; } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/WorkPlanInput.cs
@@ -12,7 +12,7 @@ public class WorkPlanInput { /// <summary> /// ä»»å¡ç¼ç ï¼å¯ä¸æ è¯ä»»å¡ï¼ /// ä»»å¡ç¼ç /// </summary> public string TaskCode { get; set; } @@ -21,215 +21,214 @@ /// </summary> public string OrgMaterialCode { get; set; } /// <summary> /// å·¥å代ç ï¼çäº§å·¥åæ è¯ï¼ /// å·¥å代ç /// </summary> public string FactoryCode { get; set; } /// <summary> /// 产å代ç ï¼çäº§äº§åæ è¯ï¼ /// 产å代ç /// </summary> public string ProductCode { get; set; } /// <summary> /// å·¥ä½ä»£ç ï¼çäº§å·¥ä½æ è¯ï¼ /// å·¥ä½ä»£ç /// </summary> public string WorkstationCode { get; set; } /// <summary> /// 设å¤ä»£ç ï¼çäº§è®¾å¤æ è¯ï¼ /// 设å¤ä»£ç /// </summary> public string EquipmentCode { get; set; } /// <summary> /// 工件åç§°ï¼å 工工件åç§°ï¼ /// 工件åç§° /// </summary> public string WorkpieceName { get; set; } /// <summary> /// å·¥åºåç§°ï¼å½åå·¥åºåç§°ï¼ /// å·¥åºåç§° /// </summary> public string ProcessName { get; set; } /// <summary> /// 管件ç¼ç ï¼ç®¡éé¨ä»¶ç¼ç ï¼ /// 管件ç¼ç /// </summary> public string PipeFittingCode { get; set; } /// <summary> /// 顺åºå·ï¼é¢å¤çåºåå·ï¼ /// 顺åºå· /// </summary> public string PreSerialNumber { get; set; } /// <summary> /// åææ è¯ï¼æ°æ®åºåæ è¯ï¼ /// åææ è¯ /// </summary> public string DataIdentifier { get; set; } /// <summary> /// ç®¡è§æ ¼ç ï¼ç®¡æè§æ ¼ç¼ç ï¼ /// ç®¡è§æ ¼ç /// </summary> public string PipeSpecCode { get; set; } /// <summary> /// 管段åç§°ï¼ç®¡éåæ®µåç§°ï¼ /// 管段åç§° /// </summary> public string PipeSectionName { get; set; } /// <summary> /// å¤å¾ï¼ç®¡æå¤å¾å°ºå¯¸ï¼ /// å¤å¾ /// </summary> public string OuterDiameter { get; set; } /// <summary> /// å¡å£ï¼å¡å£å å·¥è¦æ±ï¼ /// å¡å£ /// </summary> public string Bevel { get; set; } /// <summary> /// æè´¨ï¼ææç±»åæ è¯ï¼ /// æè´¨ /// </summary> public string Material { get; set; } /// <summary> /// é¿åº¦ï¼å·¥ä»¶é¿åº¦å°ºå¯¸ï¼ /// é¿åº¦ /// </summary> public string Length { get; set; } /// <summary> /// æåä½ï¼é»åä½ç½®æ è¯ï¼ /// æåä½ /// </summary> public string DrillingPosition { get; set; } /// <summary> /// ç¸è´¯ï¼ç¸è´¯çº¿å å·¥è¦æ±ï¼ /// ç¸è´¯ /// </summary> public string Intersecting { get; set; } /// <summary> /// æ¥å£è¦æ±ï¼è¿æ¥æ¥å£æ åï¼ /// æ¥å£è¦æ± /// </summary> public string InterfaceRequirement { get; set; } /// <summary> /// æ¯å¦æä¸»ç¾ï¼æ¯å¦éè¦ä¸»ç¾åï¼ /// æ¯å¦æä¸»ç¾ /// </summary> public bool HasMainSignature { get; set; } /// <summary> /// å æ¬æ°éï¼å 嫿°éæ è¯ï¼ /// å æ¬æ°é /// </summary> public int Quantity { get; set; } /// <summary> /// æç å å®¹ï¼æ è®°å å®¹è¦æ±ï¼ /// æç å 容 /// </summary> public string MarkingContent { get; set; } /// <summary> /// å岿件ï¼åå²ç¨åºæä»¶ï¼ /// å岿件 /// </summary> public string CuttingFile { get; set; } /// <summary> /// æ¯å¤å¾ï¼æ¯ç®¡å¤å¾å°ºå¯¸ï¼ /// æ¯å¤å¾ /// </summary> public string BranchOuterDiameter { get; set; } /// <summary> /// æ¯ç®¡å£åï¼æ¯ç®¡å£åå°ºå¯¸ï¼ /// æ¯ç®¡å£å /// </summary> public string BranchWallThickness { get; set; } /// <summary> /// æ¯ç®¡æè´¨ï¼æ¯ç®¡ææç±»åï¼ /// æ¯ç®¡æè´¨ /// </summary> public string BranchMaterial { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£æ²çåå¾ï¼æ¯ç®¡ç«¯å£å¼§åº¦ï¼ /// æ¯ç®¡ç«¯å£æ²çåå¾ /// </summary> public string BranchPortRadius { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è§åº¦ï¼æ¯ç®¡ç«¯å£è§åº¦ï¼ /// æ¯ç®¡ç«¯å£è§åº¦ /// </summary> public string BranchPortAngle { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è¦æ±ï¼æ¯ç®¡ç«¯å£æ åï¼ /// æ¯ç®¡ç«¯å£è¦æ± /// </summary> public string BranchPortRequirement { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»åï¼ç¸è´¯çº¿å 工类åï¼ /// ç¸è´¯çº¿ç±»å /// </summary> public string IntersectingLineType { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å«ï¼ç¸è´¯çº¿åç±»ï¼ /// ç¸è´¯çº¿ç±»å« /// </summary> public string IntersectingLineCategory { get; set; } /// <summary> /// æåå¾å¹ ï¼æåå¾çº¸æ¯ä¾ï¼ /// æåå¾å¹ /// </summary> public string FinishedProductScale { get; set; } /// <summary> /// æ³å °ååº¦ï¼æ³å °çååº¦ï¼ /// æ³å °å度 /// </summary> public string FlangeThickness { get; set; } /// <summary> /// æ³å °å å¾ï¼æ³å °å åç´å¾ï¼ /// æ³å °å å¾ /// </summary> public string FlangeInnerDiameter { get; set; } /// <summary> /// çæ¥çè¾å ¥ï¼çæ¥çéåæ°ï¼ /// çæ¥çè¾å ¥ /// </summary> public string WeldingHeatInput { get; set; } /// <summary> /// 管éå 许åºåï¼ç®¡éæ¿åæ åï¼ /// 管éå 许åºå /// </summary> public string PipeAllowableStress { get; set; } /// <summary> /// 管å¾ï¼ç®¡éç´å¾å°ºå¯¸ï¼ /// ç®¡å¾ /// </summary> public string PipeDiameter { get; set; } /// <summary> /// 管éå£åï¼ç®¡éå£åå°ºå¯¸ï¼ /// 管éå£å /// </summary> public string PipeWallThickness { get; set; } /// <summary> /// VRæ°æ®ï¼èæç°å®æ°æ®ï¼ /// VRæ°æ® /// </summary> public string VRData { get; set; } /// <summary> /// å·¥èºè·¯çº¿ç¼å·ï¼å·¥èºæµç¨ç¼å·ï¼ /// å·¥èºè·¯çº¿ç¼å· /// </summary> public string ProcessRouteNumber { get; set; } /// <summary> /// 计åå¼å§æ¶é´ï¼è®¡åå¯å¨æ¶é´ï¼ /// 计åå¼å§æ¶é´ /// </summary> public DateTime? PlannedStartTime { get; set; } /// <summary> /// 计å宿æ¶é´ï¼è®¡åç»ææ¶é´ï¼ /// 计å宿æ¶é´ /// </summary> public DateTime? PlannedEndTime { get; set; } /// <summary> /// æ¶é´ä¿¡æ¯ï¼æ¶é´ç¸å ³åæ°ï¼ /// æ¶é´ä¿¡æ¯ /// </summary> public string TimeInfo { get; set; } } } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/WorkPlanUpdateDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ using Volo.Abp.Domain.Entities; namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; /// <summary> /// ä½ä¸è®¡åè¡¨æ´æ°åæ°å¯¹è±¡ /// </summary> public class WorkPlanUpdateDto : WorkPlanCreateOrUpdateDtoBase, IHasConcurrencyStamp { /// <summary> /// å¹¶åæ³ /// </summary> public string ConcurrencyStamp { get; set; } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/WorkPlansImportModel.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan { /// <summary> /// ä½ä¸è®¡åè¡¨å¯¼å ¥æ¨¡å /// </summary> public class WorkPlansImportModel { private List<WorkPlanImportModel> _WorkPlans = new(); public List<WorkPlanImportModel> WorkPlans { get => _WorkPlans; set { _WorkPlans = value; var rowIndex = 2; _WorkPlans?.ForEach(x => x.RowIndex = rowIndex++); } } /// <summary> /// ä½ä¸è®¡åè¡¨å¯¼å ¥æ¨¡å /// </summary> public class WorkPlanImportModel : WorkPlanExportModel { /// <summary> /// è¡å· /// </summary> public int RowIndex { get; set; } } } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/IWorkPlanAppService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; using Volo.Abp.Application.Services; namespace CMS.Plugin.PipeLineLems.Application.Contracts.Services; /// <summary> /// ä½ä¸è®¡å表åºç¨æå¡æ¥å£ /// </summary> public interface IWorkPlanAppService : ICrudAppService<WorkPlanDto, Guid, GetWorkPlanInput, WorkPlanCreateDto, WorkPlanUpdateDto> { /// <summary> /// å éä½ä¸è®¡å表 /// </summary> /// <param name="ids"></param> /// <returns></returns> Task<List<WorkPlanDto>> CloneAsync(IEnumerable<Guid> ids); /// <summary> /// å é¤ä½ä¸è®¡å表 /// </summary> /// <param name="ids"></param> /// <returns></returns> Task DeleteManyAsync(IEnumerable<Guid> ids); /// <summary> /// è°æ´æåºä½ä¸è®¡å表 /// </summary> /// <param name="id"></param> /// <param name="sort"></param> /// <returns></returns> Task AdjustSortAsync(Guid id, int sort); /// <summary> /// å¯¼å ¥ä½ä¸è®¡å表 /// </summary> /// <param name="input"></param> /// <returns></returns> Task ImportAsync(WorkPlansImportModel input); /// <summary> /// 导åºä½ä¸è®¡å表 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWorkPlanInput input); } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/CMS.Plugin.PipeLineLems.Application.csproj
@@ -18,4 +18,10 @@ <ProjectReference Include="..\CMS.Plugin.PipeLineLems.Domain\CMS.Plugin.PipeLineLems.Domain.csproj" /> </ItemGroup> <ItemGroup> <Reference Include="CmsQueryExtensions"> <HintPath>..\..\..\..\CommonDLL\CmsQueryExtensions.dll</HintPath> </Reference> </ItemGroup> </Project> PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,543 @@ using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; using CMS.Plugin.PipeLineLems.Application.Contracts.Services; using CMS.Plugin.PipeLineLems.Domain.Shared; using CmsQueryExtensions; using CMS.Plugin.PipeLineLems.Domain.WorkPlan; 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; namespace CMS.Plugin.PipeLineLems.Application.Implements; /// <summary> /// ä½ä¸è®¡å表åºç¨æå¡ /// </summary> public class WorkPlanAppService : CMSPluginAppService, IWorkPlanAppService { private readonly IWorkPlanRepository workPlanRepository; /// <summary> /// Initializes a new instance of the <see cref="WorkPlanAppService"/> class. /// </summary> /// <param name="WorkPlanRepository">The task job repository.</param> public WorkPlanAppService(IWorkPlanRepository _WorkPlanRepository) { workPlanRepository = _WorkPlanRepository; } /// <summary> /// è·åæå®ä½ä¸è®¡å表 /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual async Task<WorkPlanDto> GetAsync(Guid id) { return ObjectMapper.Map<WorkPlan, WorkPlanDto>(await workPlanRepository.GetAsync(id)); } /// <summary> /// å页è·åä½ä¸è®¡å表 /// </summary> /// <param name="input"></param> /// <returns></returns> public virtual async Task<PagedResultDto<WorkPlanDto>> GetListAsync(GetWorkPlanInput input) { Check.NotNull(input, nameof(input)); if (input.Sorting.IsNullOrWhiteSpace()) { input.Sorting = nameof(WorkPlan.Sort); } #region 卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = DynamicGetQueryParams(input); #endregion var count = await workPlanRepository.GetCountAsync(whereConditions); var list = await workPlanRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WorkPlanDto>(count, ObjectMapper.Map<List<WorkPlan>, List<WorkPlanDto>>(list)); } /// <summary> /// 卿æé æ¥è¯¢æ¡ä»¶ /// </summary> /// <param name="input">è¾å ¥åæ°</param> /// <returns></returns> private FunReturnResultModel<Expression<Func<WorkPlan, bool>>> DynamicGetQueryParams(GetWorkPlanInput input) { //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = WhereConditionsExtensions.GetWhereConditions<WorkPlan, GetWorkPlanInput>(input); if (!whereConditions.IsSuccess) { throw new Exception("卿æé æ¥è¯¢æ¡ä»¶å¤±è´¥:" + whereConditions.ErrMsg); } //ä¹å¯å次èªå®ä¹æå»ºæ¥è¯¢æ¡ä»¶ Expression<Func<WorkPlan, bool>> extendExpression = a => a.IsDeleted == false; // ä½¿ç¨ System.Linq.PredicateBuilder ç And var pres = (System.Linq.Expressions.Expression<Func<WorkPlan, bool>>)(whereConditions.data); whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); return whereConditions; } /// <summary> /// æ°å»ºä½ä¸è®¡å表 /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public virtual async Task<WorkPlanDto> CreateAsync(WorkPlanCreateDto input) { await CheckCreateOrUpdateDtoAsync(input); var exist = await workPlanRepository.NameExistAsync(input.TaskCode); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskCode]); } var maxSort = await workPlanRepository.GetMaxSortAsync(); var sort = input.Sort ?? maxSort; var insertObj = ObjectMapper.Map<WorkPlanCreateDto, WorkPlan>(input); insertObj.Sort = sort; input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); await workPlanRepository.InsertAsync(insertObj); if (input.Sort.HasValue && insertObj.Sort != maxSort) { await AdjustSortAsync(insertObj.Id, insertObj.Sort); } return ObjectMapper.Map<WorkPlan, WorkPlanDto>(insertObj); } /// <summary> /// æ´æ°ä½ä¸è®¡å表 /// </summary> /// <param name="id"></param> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public virtual async Task<WorkPlanDto> UpdateAsync(Guid id, WorkPlanUpdateDto input) { await CheckCreateOrUpdateDtoAsync(input); var updateObj = await workPlanRepository.GetAsync(id); var exist = await workPlanRepository.NameExistAsync(input.TaskCode, updateObj.Id); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskCode]); } updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); updateObj.TaskCode = input.TaskCode; updateObj.OrgMaterialCode = input.OrgMaterialCode; updateObj.FactoryCode = input.FactoryCode; updateObj.ProductCode = input.ProductCode; updateObj.WorkstationCode = input.WorkstationCode; updateObj.EquipmentCode = input.EquipmentCode; updateObj.WorkpieceName = input.WorkpieceName; updateObj.ProcessName = input.ProcessName; updateObj.PipeFittingCode = input.PipeFittingCode; updateObj.PreSerialNumber = input.PreSerialNumber; updateObj.DataIdentifier = input.DataIdentifier; updateObj.PipeSpecCode = input.PipeSpecCode; updateObj.PipeSectionName = input.PipeSectionName; updateObj.OuterDiameter = input.OuterDiameter; updateObj.Bevel = input.Bevel; updateObj.Material = input.Material; updateObj.Length = input.Length; updateObj.DrillingPosition = input.DrillingPosition; updateObj.Intersecting = input.Intersecting; updateObj.InterfaceRequirement = input.InterfaceRequirement; updateObj.HasMainSignature = input.HasMainSignature; updateObj.Quantity = input.Quantity; updateObj.MarkingContent = input.MarkingContent; updateObj.CuttingFile = input.CuttingFile; updateObj.BranchOuterDiameter = input.BranchOuterDiameter; updateObj.BranchWallThickness = input.BranchWallThickness; updateObj.BranchMaterial = input.BranchMaterial; updateObj.BranchPortRadius = input.BranchPortRadius; updateObj.BranchPortAngle = input.BranchPortAngle; updateObj.BranchPortRequirement = input.BranchPortRequirement; updateObj.IntersectingLineType = input.IntersectingLineType; updateObj.IntersectingLineCategory = input.IntersectingLineCategory; updateObj.FinishedProductScale = input.FinishedProductScale; updateObj.FlangeThickness = input.FlangeThickness; updateObj.FlangeInnerDiameter = input.FlangeInnerDiameter; updateObj.WeldingHeatInput = input.WeldingHeatInput; updateObj.PipeAllowableStress = input.PipeAllowableStress; updateObj.PipeDiameter = input.PipeDiameter; updateObj.PipeWallThickness = input.PipeWallThickness; updateObj.VRData = input.VRData; updateObj.ProcessRouteNumber = input.ProcessRouteNumber; updateObj.PlannedStartTime = input.PlannedStartTime; updateObj.PlannedEndTime = input.PlannedEndTime; updateObj.TimeInfo = input.TimeInfo; updateObj.RedundantField1 = input.RedundantField1; updateObj.RedundantField2 = input.RedundantField2; updateObj.RedundantField3 = input.RedundantField3; updateObj.Remark = input.Remark; updateObj.IsDisabled = input.IsDisabled; await workPlanRepository.UpdateAsync(updateObj); return ObjectMapper.Map<WorkPlan, WorkPlanDto>(updateObj); } /// <summary> /// å éä½ä¸è®¡å表 /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task<List<WorkPlanDto>> CloneAsync(IEnumerable<Guid> ids) { //var workPlans = new List<WorkPlan>(); //if (ids != null) //{ // var sort = await workPlanRepository.GetMaxSortAsync(); // foreach (var id in ids) // { // var WorkPlan = await workPlanRepository.FindAsync(id); // if (WorkPlan != null) // { // var name = WorkPlan.Name + WorkPlanConsts.CloneTag; // var notExist = false; // while (!notExist) // { // var exist = await workPlanRepository.NameExistAsync(name); // if (exist || workPlans.Any(x => x.Name == name)) // { // name += WorkPlanConsts.CloneTag; // continue; // } // notExist = true; // } // //WorkPlan = await workPlanRepository.InsertAsync(WorkPlan.Clone(GuidGenerator.Create(), name, sort++)); // workPlans.Add(WorkPlan); // } // } //} //return ObjectMapper.Map<List<WorkPlan>, List<WorkPlanDto>>(workPlans); return new List<WorkPlanDto>(); } /// <summary> /// å é¤å个ä½ä¸è®¡å表 /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual Task DeleteAsync(Guid id) { return workPlanRepository.DeleteAsync(id); } /// <summary> /// å é¤å¤ä¸ªä½ä¸è®¡å表 /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task DeleteManyAsync(IEnumerable<Guid> ids) { foreach (var id in ids) { await DeleteAsync(id); } } /// <summary> /// è°æ´æåºä½ä¸è®¡å表 /// </summary> /// <param name="id"></param> /// <param name="sort"></param> /// <returns></returns> public virtual async Task AdjustSortAsync(Guid id, int sort) { var list = await workPlanRepository.GetListAsync(null, nameof(WorkPlan.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 workPlanRepository.UpdateManyAsync(list); } /// <summary> /// å¯¼å ¥ä½ä¸è®¡å表 /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task ImportAsync(WorkPlansImportModel input) { Check.NotNull(input, nameof(input)); var workPlanCreateDtos = new List<(int RowIndex, WorkPlanCreateDto Item)>(); var workPlanUpdateDtos = new List<(int RowIndex, Guid Id, WorkPlanUpdateDto Item)>(); var importItems = input.WorkPlans; if (importItems != null && importItems.Any()) { #region å¯¼å ¥æ ¡éª // 夿åç§°æ¯å¦éå¤ï¼å¹¶è¾åºç¬¬å è¡éå¤ var duplicateWorkPlans = importItems.GroupBy(x => x.TaskCode).Where(x => x.Count() > 1).ToList(); if (duplicateWorkPlans?.Any() == true) { var duplicateWorkPlanMsgs = duplicateWorkPlans.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} è¡ï¼{x.Key} åç§°éå¤"); var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ {string.Join(",", duplicateWorkPlanMsgs)}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } #endregion foreach (var impItem in importItems) { if (impItem.TaskCode.IsNullOrWhiteSpace()) { continue; } if (impItem.TaskCode.IsNullOrWhiteSpace()) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{impItem.RowIndex}è¡ï¼WorkPlanåç§°ä¸è½ä¸ºç©º"; throw new UserFriendlyException(errorMsg); } var oldWorkPlan = await workPlanRepository.FindByNameAsync(impItem.TaskCode); if (oldWorkPlan != null) { var workPlanUpdateDto = new WorkPlanUpdateDto { TaskCode = impItem.TaskCode, OrgMaterialCode = impItem.OrgMaterialCode, FactoryCode = impItem.FactoryCode, ProductCode = impItem.ProductCode, WorkstationCode = impItem.WorkstationCode, EquipmentCode = impItem.EquipmentCode, WorkpieceName = impItem.WorkpieceName, ProcessName = impItem.ProcessName, PipeFittingCode = impItem.PipeFittingCode, PreSerialNumber = impItem.PreSerialNumber, DataIdentifier = impItem.DataIdentifier, PipeSpecCode = impItem.PipeSpecCode, PipeSectionName = impItem.PipeSectionName, OuterDiameter = impItem.OuterDiameter, Bevel = impItem.Bevel, Material = impItem.Material, Length = impItem.Length, DrillingPosition = impItem.DrillingPosition, Intersecting = impItem.Intersecting, InterfaceRequirement = impItem.InterfaceRequirement, HasMainSignature = impItem.HasMainSignature, Quantity = impItem.Quantity, MarkingContent = impItem.MarkingContent, CuttingFile = impItem.CuttingFile, BranchOuterDiameter = impItem.BranchOuterDiameter, BranchWallThickness = impItem.BranchWallThickness, BranchMaterial = impItem.BranchMaterial, BranchPortRadius = impItem.BranchPortRadius, BranchPortAngle = impItem.BranchPortAngle, BranchPortRequirement = impItem.BranchPortRequirement, IntersectingLineType = impItem.IntersectingLineType, IntersectingLineCategory = impItem.IntersectingLineCategory, FinishedProductScale = impItem.FinishedProductScale, FlangeThickness = impItem.FlangeThickness, FlangeInnerDiameter = impItem.FlangeInnerDiameter, WeldingHeatInput = impItem.WeldingHeatInput, PipeAllowableStress = impItem.PipeAllowableStress, PipeDiameter = impItem.PipeDiameter, PipeWallThickness = impItem.PipeWallThickness, VRData = impItem.VRData, ProcessRouteNumber = impItem.ProcessRouteNumber, PlannedStartTime = impItem.PlannedStartTime, PlannedEndTime = impItem.PlannedEndTime, TimeInfo = impItem.TimeInfo, RedundantField1 = impItem.RedundantField1, RedundantField2 = impItem.RedundantField2, RedundantField3 = impItem.RedundantField3, Remark = impItem.Remark, IsDisabled = impItem.IsDisabled, }; workPlanUpdateDtos.Add((impItem.RowIndex, oldWorkPlan.Id, workPlanUpdateDto)); } else { var workPlanCreateDto = new WorkPlanCreateDto { TaskCode = impItem.TaskCode, OrgMaterialCode = impItem.OrgMaterialCode, FactoryCode = impItem.FactoryCode, ProductCode = impItem.ProductCode, WorkstationCode = impItem.WorkstationCode, EquipmentCode = impItem.EquipmentCode, WorkpieceName = impItem.WorkpieceName, ProcessName = impItem.ProcessName, PipeFittingCode = impItem.PipeFittingCode, PreSerialNumber = impItem.PreSerialNumber, DataIdentifier = impItem.DataIdentifier, PipeSpecCode = impItem.PipeSpecCode, PipeSectionName = impItem.PipeSectionName, OuterDiameter = impItem.OuterDiameter, Bevel = impItem.Bevel, Material = impItem.Material, Length = impItem.Length, DrillingPosition = impItem.DrillingPosition, Intersecting = impItem.Intersecting, InterfaceRequirement = impItem.InterfaceRequirement, HasMainSignature = impItem.HasMainSignature, Quantity = impItem.Quantity, MarkingContent = impItem.MarkingContent, CuttingFile = impItem.CuttingFile, BranchOuterDiameter = impItem.BranchOuterDiameter, BranchWallThickness = impItem.BranchWallThickness, BranchMaterial = impItem.BranchMaterial, BranchPortRadius = impItem.BranchPortRadius, BranchPortAngle = impItem.BranchPortAngle, BranchPortRequirement = impItem.BranchPortRequirement, IntersectingLineType = impItem.IntersectingLineType, IntersectingLineCategory = impItem.IntersectingLineCategory, FinishedProductScale = impItem.FinishedProductScale, FlangeThickness = impItem.FlangeThickness, FlangeInnerDiameter = impItem.FlangeInnerDiameter, WeldingHeatInput = impItem.WeldingHeatInput, PipeAllowableStress = impItem.PipeAllowableStress, PipeDiameter = impItem.PipeDiameter, PipeWallThickness = impItem.PipeWallThickness, VRData = impItem.VRData, ProcessRouteNumber = impItem.ProcessRouteNumber, PlannedStartTime = impItem.PlannedStartTime, PlannedEndTime = impItem.PlannedEndTime, TimeInfo = impItem.TimeInfo, RedundantField1 = impItem.RedundantField1, RedundantField2 = impItem.RedundantField2, RedundantField3 = impItem.RedundantField3, Remark = impItem.Remark, IsDisabled = impItem.IsDisabled, }; workPlanCreateDtos.Add((impItem.RowIndex, workPlanCreateDto)); } } } // æ°å¢ foreach (var workPlanDto in workPlanCreateDtos) { try { await CreateAsync(workPlanDto.Item); } catch (Exception e) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{workPlanDto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } } // æ´æ° foreach (var workPlanDto in workPlanUpdateDtos) { try { await UpdateAsync(workPlanDto.Id, workPlanDto.Item); } catch (Exception e) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{workPlanDto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } } } /// <summary> /// 导åºä½ä¸è®¡å表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWorkPlanInput input) { Check.NotNull(input, nameof(input)); if (input.Sorting.IsNullOrWhiteSpace()) { input.Sorting = nameof(WorkPlan.Sort); } #region 卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = DynamicGetQueryParams(input); #endregion var list = await workPlanRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WorkPlan>, List<WorkPlanDto>>(list); var sheets = new Dictionary<string, object> { ["é ç½®"] = ExportHelper.ConvertListToExportData(result), }; var fileName = result.Count > 1 ? "ä½ä¸è®¡å表å表" : result.Count == 1 ? result[0]?.TaskCode : "WorkPlan模ç"; return (sheets, fileName); } /// <summary> /// æ ¡éªä½ä¸è®¡å表ï¼å½æ°å»ºææ´æ°æ¶ /// </summary> /// <param name="input"></param> /// <returns></returns> protected Task CheckCreateOrUpdateDtoAsync(WorkPlanCreateOrUpdateDtoBase input) { Check.NotNull(input, nameof(input)); Check.NotNullOrWhiteSpace(input.TaskCode, "ä»»å¡ç¼ç ", 64); Check.NotNullOrWhiteSpace(input.OrgMaterialCode, "åæç¼å·", 64); Check.NotNull(input.HasMainSignature, "æ¯å¦æä¸»ç¾"); Check.NotNull(input.Quantity, "å æ¬æ°é"); return Task.CompletedTask; } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/MapperProfiles/WorkPlanAutoMapperProfile.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ using AutoMapper; using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; using CMS.Plugin.PipeLineLems.Domain.WorkPlan; using Volo.Abp.ObjectExtending; namespace CMS.Plugin.PipeLineLems.Application.MapperProfiles; /// <summary> /// ä½ä¸è®¡å表AutoMapperé ç½® /// </summary> /// <seealso cref="AutoMapper.Profile" /> public class WorkPlanAutoMapperProfile : Profile { /// <summary> /// Initializes a new instance of the <see cref="WorkPlanAutoMapperProfile"/> class. /// </summary> public WorkPlanAutoMapperProfile() { /* You can configure your AutoMapper mapping configuration here. * Alternatively, you can split your mapping configurations * into multiple profile classes for a better organization. */ CreateMap<WorkPlan, WorkPlanDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap<WorkPlanCreateDto, WorkPlan>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap<GetWorkPlanInput, WorkPlan>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CMS.Plugin.PipeLineLems.Domain.csproj
@@ -18,4 +18,10 @@ <ProjectReference Include="..\CMS.Plugin.PipeLineLems.Domain.Shared\CMS.Plugin.PipeLineLems.Domain.Shared.csproj" /> </ItemGroup> <ItemGroup> <Reference Include="CmsQueryExtensions"> <HintPath>..\..\..\..\CommonDLL\CmsQueryExtensions.dll</HintPath> </Reference> </ItemGroup> </Project> PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/WorkPlan/IWorkPlanRepository.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; namespace CMS.Plugin.PipeLineLems.Domain.WorkPlan; /// <summary> /// ä½ä¸è®¡å表ä»å¨ /// </summary> public interface IWorkPlanRepository : IBasicRepository<WorkPlan, Guid> { /// <summary> /// æç §åç§°æ¥æ¾ä½ä¸è®¡å表 /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<WorkPlan> FindByNameAsync(string name, CancellationToken cancellationToken = default); /// <summary> /// éªè¯åç§°æ¯å¦åå¨ä½ä¸è®¡å表 /// </summary> /// <param name="name"></param> /// <param name="id"></param> /// <returns></returns> Task<bool> NameExistAsync(string name, Guid? id = null); /// <summary> /// è·åæå¤§æåºä½ä¸è®¡å表 /// </summary> /// <returns></returns> Task<int> GetMaxSortAsync(); /// <summary> /// è·åå页å表ä½ä¸è®¡å表 /// </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<WorkPlan>> GetListAsync(FunReturnResultModel<Expression<Func<WorkPlan, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// è·åæ»æ°ä½ä¸è®¡å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WorkPlan, bool>>> whereConditions, CancellationToken cancellationToken = default); } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/WorkPlan/WorkPlan.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,276 @@ using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations.Schema; using Volo.Abp.Domain.Entities.Auditing; namespace CMS.Plugin.PipeLineLems.Domain.WorkPlan { /// <summary> /// ä½ä¸è®¡å表 /// </summary> public class WorkPlan : FullAuditedAggregateRoot<Guid> { /// <summary> /// ä»»å¡ç¼ç /// </summary> public string TaskCode { get; set; } /// <summary> /// åæç¼å· /// </summary> public string OrgMaterialCode { get; set; } /// <summary> /// å·¥å代ç /// </summary> public string FactoryCode { get; set; } /// <summary> /// 产å代ç /// </summary> public string ProductCode { get; set; } /// <summary> /// å·¥ä½ä»£ç /// </summary> public string WorkstationCode { get; set; } /// <summary> /// 设å¤ä»£ç /// </summary> public string EquipmentCode { get; set; } /// <summary> /// 工件åç§° /// </summary> public string WorkpieceName { get; set; } /// <summary> /// å·¥åºåç§° /// </summary> public string ProcessName { get; set; } /// <summary> /// 管件ç¼ç /// </summary> public string PipeFittingCode { get; set; } /// <summary> /// 顺åºå· /// </summary> public string PreSerialNumber { get; set; } /// <summary> /// åææ è¯ /// </summary> public string DataIdentifier { get; set; } /// <summary> /// ç®¡è§æ ¼ç /// </summary> public string PipeSpecCode { get; set; } /// <summary> /// 管段åç§° /// </summary> public string PipeSectionName { get; set; } /// <summary> /// å¤å¾ /// </summary> public string OuterDiameter { get; set; } /// <summary> /// å¡å£ /// </summary> public string Bevel { get; set; } /// <summary> /// æè´¨ /// </summary> public string Material { get; set; } /// <summary> /// é¿åº¦ /// </summary> public string Length { get; set; } /// <summary> /// æåä½ /// </summary> public string DrillingPosition { get; set; } /// <summary> /// ç¸è´¯ /// </summary> public string Intersecting { get; set; } /// <summary> /// æ¥å£è¦æ± /// </summary> public string InterfaceRequirement { get; set; } /// <summary> /// æ¯å¦æä¸»ç¾ /// </summary> public bool HasMainSignature { get; set; } /// <summary> /// å æ¬æ°é /// </summary> public int Quantity { get; set; } /// <summary> /// æç å 容 /// </summary> public string MarkingContent { get; set; } /// <summary> /// å岿件 /// </summary> public string CuttingFile { get; set; } /// <summary> /// æ¯å¤å¾ /// </summary> public string BranchOuterDiameter { get; set; } /// <summary> /// æ¯ç®¡å£å /// </summary> public string BranchWallThickness { get; set; } /// <summary> /// æ¯ç®¡æè´¨ /// </summary> public string BranchMaterial { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£æ²çåå¾ /// </summary> public string BranchPortRadius { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è§åº¦ /// </summary> public string BranchPortAngle { get; set; } /// <summary> /// æ¯ç®¡ç«¯å£è¦æ± /// </summary> public string BranchPortRequirement { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å /// </summary> public string IntersectingLineType { get; set; } /// <summary> /// ç¸è´¯çº¿ç±»å« /// </summary> public string IntersectingLineCategory { get; set; } /// <summary> /// æåå¾å¹ /// </summary> public string FinishedProductScale { get; set; } /// <summary> /// æ³å °å度 /// </summary> public string FlangeThickness { get; set; } /// <summary> /// æ³å °å å¾ /// </summary> public string FlangeInnerDiameter { get; set; } /// <summary> /// çæ¥çè¾å ¥ /// </summary> public string WeldingHeatInput { get; set; } /// <summary> /// 管éå 许åºå /// </summary> public string PipeAllowableStress { get; set; } /// <summary> /// ç®¡å¾ /// </summary> public string PipeDiameter { get; set; } /// <summary> /// 管éå£å /// </summary> public string PipeWallThickness { get; set; } /// <summary> /// VRæ°æ® /// </summary> public string VRData { get; set; } /// <summary> /// å·¥èºè·¯çº¿ç¼å· /// </summary> public string ProcessRouteNumber { get; set; } /// <summary> /// 计åå¼å§æ¶é´ /// </summary> public DateTime? PlannedStartTime { get; set; } /// <summary> /// 计å宿æ¶é´ /// </summary> public DateTime? PlannedEndTime { get; set; } /// <summary> /// æ¶é´ä¿¡æ¯ /// </summary> public string TimeInfo { get; set; } /// <summary> /// åä½å段1 - é¢çæ©å±ç¨é /// </summary> public string RedundantField1 { get; set; } /// <summary> /// åä½å段2 - é¢çæ©å±ç¨é /// </summary> public string RedundantField2 { get; set; } /// <summary> /// åä½å段3 - é¢çæ©å±ç¨é /// </summary> public string RedundantField3 { get; set; } /// <summary> /// æåº /// </summary> public virtual int Sort { get; set; } /// <summary> /// 夿³¨ /// </summary> public virtual string Remark { get; set; } /// <summary> /// æ¯å¦ç¦ç¨ /// </summary> public virtual bool? IsDisabled { get; set; } /// <summary> /// Adjusts the sort. /// </summary> /// <param name="sort">The sort.</param> public void AdjustSort(int sort) { Sort = sort; } } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/CMS.Plugin.PipeLineLems.EntityFrameworkCore.csproj
@@ -1,4 +1,4 @@ <Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk"> <Import Project="../../common.props" /> <Import Project="../../configureawait.props" /> @@ -16,4 +16,10 @@ <ProjectReference Include="..\CMS.Plugin.PipeLineLems.Domain\CMS.Plugin.PipeLineLems.Domain.csproj" /> </ItemGroup> <ItemGroup> <Reference Include="CmsQueryExtensions"> <HintPath>..\..\..\..\CommonDLL\CmsQueryExtensions.dll</HintPath> </Reference> </ItemGroup> </Project> PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WorkPlan.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,101 @@ using CMS.Plugin.PipeLineLems.Domain; using CMS.Plugin.PipeLineLems.Domain.WorkPlan; using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.EntityFrameworkCore.Modeling; namespace CMS.Plugin.PipeLineLems.EntityFrameworkCore.Extensions; /// <summary> /// EfCoreæ©å± /// </summary> 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<WorkPlan> IncludeDetails(this IQueryable<WorkPlan> queryable, bool include = true) { if (!include) { return queryable; } return queryable; } /// <summary> /// Configures the mytestentityname. /// </summary> /// <param name="builder">The builder.</param> public static void ConfigureWorkPlan(this ModelBuilder builder) { Check.NotNull(builder, nameof(builder)); builder.Entity<WorkPlan>(b => { //Configure table & schema name b.ToTable((CMSPluginDbProperties.DbTablePrefix + "_WorkPlans").ToLower(), CMSPluginDbProperties.DbSchema).HasComment("WorkPlan"); b.ConfigureByConvention(); //Properties b.Property(x => x.TaskCode).HasMaxLength(64).IsRequired().HasComment("ä»»å¡ç¼ç "); b.Property(x => x.OrgMaterialCode).HasMaxLength(64).IsRequired().HasComment("åæç¼å·"); b.Property(x => x.Sort).HasComment("æåº"); b.Property(x => x.IsDisabled).IsRequired(false).HasComment("æ¯å¦ç¦ç¨"); b.Property(x => x.Remark).HasMaxLength(256).IsRequired(false).HasComment("夿³¨"); b.Property(x => x.OrgMaterialCode).HasMaxLength(64).HasComment("åæç¼å·"); b.Property(x => x.FactoryCode).HasMaxLength(64).HasComment("å·¥å代ç "); b.Property(x => x.ProductCode).HasMaxLength(64).HasComment("产å代ç "); b.Property(x => x.WorkstationCode).HasMaxLength(64).HasComment("å·¥ä½ä»£ç "); b.Property(x => x.EquipmentCode).HasMaxLength(64).HasComment("设å¤ä»£ç "); b.Property(x => x.WorkpieceName).HasMaxLength(64).HasComment("工件åç§°"); b.Property(x => x.ProcessName).HasMaxLength(64).HasComment("å·¥åºåç§°"); b.Property(x => x.PipeFittingCode).HasMaxLength(64).HasComment("管件ç¼ç "); b.Property(x => x.PreSerialNumber).HasMaxLength(64).HasComment("顺åºå·"); b.Property(x => x.DataIdentifier).HasMaxLength(64).HasComment("åææ è¯"); b.Property(x => x.PipeSpecCode).HasMaxLength(64).HasComment("ç®¡è§æ ¼ç "); b.Property(x => x.PipeSectionName).HasMaxLength(64).HasComment("管段åç§°"); b.Property(x => x.OuterDiameter).HasMaxLength(64).HasComment("å¤å¾"); b.Property(x => x.Bevel).HasMaxLength(64).HasComment("å¡å£"); b.Property(x => x.Material).HasMaxLength(64).HasComment("æè´¨"); b.Property(x => x.Length).HasMaxLength(64).HasComment("é¿åº¦"); b.Property(x => x.DrillingPosition).HasMaxLength(64).HasComment("æåä½"); b.Property(x => x.Intersecting).HasMaxLength(64).HasComment("ç¸è´¯"); b.Property(x => x.InterfaceRequirement).HasMaxLength(64).HasComment("æ¥å£è¦æ±"); b.Property(x => x.HasMainSignature).HasComment("æ¯å¦æä¸»ç¾"); b.Property(x => x.Quantity).HasComment("å æ¬æ°é"); b.Property(x => x.MarkingContent).HasMaxLength(64).HasComment("æç å 容"); b.Property(x => x.CuttingFile).HasMaxLength(64).HasComment("å岿件"); b.Property(x => x.BranchOuterDiameter).HasMaxLength(64).HasComment("æ¯å¤å¾"); b.Property(x => x.BranchWallThickness).HasMaxLength(64).HasComment("æ¯ç®¡å£å"); b.Property(x => x.BranchMaterial).HasMaxLength(64).HasComment("æ¯ç®¡æè´¨"); b.Property(x => x.BranchPortRadius).HasMaxLength(64).HasComment("æ¯ç®¡ç«¯å£æ²çåå¾"); b.Property(x => x.BranchPortAngle).HasMaxLength(64).HasComment("æ¯ç®¡ç«¯å£è§åº¦"); b.Property(x => x.BranchPortRequirement).HasMaxLength(64).HasComment("æ¯ç®¡ç«¯å£è¦æ±"); b.Property(x => x.IntersectingLineType).HasMaxLength(64).HasComment("ç¸è´¯çº¿ç±»å"); b.Property(x => x.IntersectingLineCategory).HasMaxLength(64).HasComment("ç¸è´¯çº¿ç±»å«"); b.Property(x => x.FinishedProductScale).HasMaxLength(64).HasComment("æåå¾å¹ "); b.Property(x => x.FlangeThickness).HasMaxLength(64).HasComment("æ³å °å度"); b.Property(x => x.FlangeInnerDiameter).HasMaxLength(64).HasComment("æ³å °å å¾"); b.Property(x => x.WeldingHeatInput).HasMaxLength(64).HasComment("çæ¥çè¾å ¥"); b.Property(x => x.PipeAllowableStress).HasMaxLength(64).HasComment("管éå 许åºå"); b.Property(x => x.PipeDiameter).HasMaxLength(64).HasComment("管å¾"); b.Property(x => x.PipeWallThickness).HasMaxLength(64).HasComment("管éå£å"); b.Property(x => x.VRData).HasMaxLength(64).HasComment("VRæ°æ®"); b.Property(x => x.ProcessRouteNumber).HasMaxLength(64).HasComment("å·¥èºè·¯çº¿ç¼å·"); b.Property(x => x.PlannedStartTime).HasComment("计åå¼å§æ¶é´"); b.Property(x => x.PlannedEndTime).HasComment("计å宿æ¶é´"); b.Property(x => x.TimeInfo).HasMaxLength(64).HasComment("æ¶é´ä¿¡æ¯"); b.HasIndex(u => u.TaskCode); b.ApplyObjectExtensionMappings(); }); } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreWorkPlanRepository.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ using CMS.Plugin.PipeLineLems.Domain.WorkPlan; using CMS.Plugin.PipeLineLems.EntityFrameworkCore.Extensions; using CmsQueryExtensions.Extension; using Microsoft.EntityFrameworkCore; using System.Linq.Dynamic.Core; using System.Linq.Expressions; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; namespace CMS.Plugin.PipeLineLems.EntityFrameworkCore.Repositories; /// <summary> /// ä½ä¸è®¡å表ä»å¨å®ç° /// </summary> public class EfCoreWorkPlanRepository : EfCoreRepository<ICMSPluginDbContext, WorkPlan, Guid>, IWorkPlanRepository { /// <summary> /// Initializes a new instance of the <see cref="EfCoreWorkPlanRepository"/> class. /// </summary> /// <param name="dbContextProvider">The database context provider.</param> public EfCoreWorkPlanRepository(IDbContextProvider<ICMSPluginDbContext> dbContextProvider) : base(dbContextProvider) { } /// <summary> /// æç §åç§°æ¥æ¾ä½ä¸è®¡å表 /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task<WorkPlan> FindByNameAsync(string name, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails() .Where(x => !x.IsDeleted) .OrderBy(t => t.Sort) .FirstOrDefaultAsync(t => t.TaskCode == name, GetCancellationToken(cancellationToken)); } /// <summary> /// éªè¯åç§°æ¯å¦åå¨ä½ä¸è®¡å表 /// </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.TaskCode == name); } /// <summary> /// è·åæå¤§æåºä½ä¸è®¡å表 /// </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> /// è·åå页å表ä½ä¸è®¡å表 /// </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<WorkPlan>> GetListAsync(FunReturnResultModel<Expression<Func<WorkPlan, 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) .OrderBy(sorting.IsNullOrEmpty() ? nameof(WorkPlan.Sort) : sorting) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } /// <summary> /// è·åæ»æ°ä½ä¸è®¡å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WorkPlan, 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<WorkPlan>> WithDetailsAsync() { return (await GetQueryableAsync()) .Where(x => !x.IsDeleted).IncludeDetails(); } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/appsettings.json
@@ -1,5 +1,5 @@ { "ConnectionStrings": { "Default": "Server=127.0.0.1;Database=CMS.Plugin.PipeLineLems;User ID=root;Password=123456" "Default": "Server=127.0.0.1;Database=CMS.Plugin.PipeLineLems;User ID=root;Password=123abc.com" } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/CMSPluginDbContext.cs
@@ -33,6 +33,7 @@ /* Include modules to your migration db context */ builder.ConfigureMyTestEntityName(); builder.ConfigureWorkPlan(); /* Configure your own tables/entities inside here */ PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250507025649_Update1.Designer.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,403 @@ // <auto-generated /> using System; using CMS.Plugin.PipeLineLems.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.PipeLineLems.MySQL.Migrations { [DbContext(typeof(CMSPluginDbContext))] [Migration("20250507025649_Update1")] partial class Update1 { 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.PipeLineLems.Domain.MyTestEntityNames.MyTestEntityName", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("Code") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .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>("Name") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åç§°"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.HasKey("Id"); b.HasIndex("Name"); b.ToTable("scms_mytestentitynames", (string)null); b.HasComment("MyTestEntityName"); }); modelBuilder.Entity("CMS.Plugin.PipeLineLems.Domain.WmsAreas.WorkPlan", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("Bevel") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å¡å£"); b.Property<string>("BranchMaterial") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡æè´¨"); b.Property<string>("BranchOuterDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯å¤å¾"); b.Property<string>("BranchPortAngle") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡ç«¯å£è§åº¦"); b.Property<string>("BranchPortRadius") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡ç«¯å£æ²çåå¾"); b.Property<string>("BranchPortRequirement") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡ç«¯å£è¦æ±"); b.Property<string>("BranchWallThickness") .HasMaxLength(64) .HasColumnType("varchar(64)") .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<string>("CuttingFile") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å岿件"); b.Property<string>("DataIdentifier") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åææ è¯"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("DrillingPosition") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æåä½"); b.Property<string>("EquipmentCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("设å¤ä»£ç "); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<string>("FactoryCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥å代ç "); b.Property<string>("FinishedProductScale") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æåå¾å¹ "); b.Property<string>("FlangeInnerDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ³å °å å¾"); b.Property<string>("FlangeThickness") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ³å °å度"); b.Property<bool>("HasMainSignature") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦æä¸»ç¾"); b.Property<string>("InterfaceRequirement") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¥å£è¦æ±"); b.Property<string>("Intersecting") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç¸è´¯"); b.Property<string>("IntersectingLineCategory") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç¸è´¯çº¿ç±»å«"); b.Property<string>("IntersectingLineType") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç¸è´¯çº¿ç±»å"); 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>("Length") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("é¿åº¦"); b.Property<string>("MarkingContent") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æç å 容"); b.Property<string>("Material") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æè´¨"); b.Property<string>("OrgMaterialCode") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åæç¼å·"); b.Property<string>("OuterDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å¤å¾"); b.Property<string>("PipeAllowableStress") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管éå 许åºå"); b.Property<string>("PipeDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管å¾"); b.Property<string>("PipeFittingCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管件ç¼ç "); b.Property<string>("PipeSectionName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管段åç§°"); b.Property<string>("PipeSpecCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç®¡è§æ ¼ç "); b.Property<string>("PipeWallThickness") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管éå£å"); b.Property<DateTime?>("PlannedEndTime") .HasColumnType("datetime(6)") .HasComment("计å宿æ¶é´"); b.Property<DateTime?>("PlannedStartTime") .HasColumnType("datetime(6)") .HasComment("计åå¼å§æ¶é´"); b.Property<string>("PreSerialNumber") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("顺åºå·"); b.Property<string>("ProcessName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥åºåç§°"); b.Property<string>("ProcessRouteNumber") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥èºè·¯çº¿ç¼å·"); b.Property<string>("ProductCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("产å代ç "); b.Property<int>("Quantity") .HasColumnType("int") .HasComment("å æ¬æ°é"); b.Property<string>("RedundantField1") .HasColumnType("longtext"); b.Property<string>("RedundantField2") .HasColumnType("longtext"); b.Property<string>("RedundantField3") .HasColumnType("longtext"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<string>("TaskCode") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ä»»å¡ç¼ç "); b.Property<string>("TimeInfo") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¶é´ä¿¡æ¯"); b.Property<string>("VRData") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("VRæ°æ®"); b.Property<string>("WeldingHeatInput") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("çæ¥çè¾å ¥"); b.Property<string>("WorkpieceName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("工件åç§°"); b.Property<string>("WorkstationCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥ä½ä»£ç "); b.HasKey("Id"); b.HasIndex("TaskCode"); b.ToTable("scms_workplans", (string)null); b.HasComment("WorkPlan"); }); #pragma warning restore 612, 618 } } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250507025649_Update1.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,142 @@ using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace CMS.Plugin.PipeLineLems.MySQL.Migrations { public partial class Update1 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "scms_workplans", columns: table => new { Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"), TaskCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false, comment: "ä»»å¡ç¼ç ") .Annotation("MySql:CharSet", "utf8mb4"), OrgMaterialCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false, comment: "åæç¼å·") .Annotation("MySql:CharSet", "utf8mb4"), FactoryCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "å·¥å代ç ") .Annotation("MySql:CharSet", "utf8mb4"), ProductCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "产å代ç ") .Annotation("MySql:CharSet", "utf8mb4"), WorkstationCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "å·¥ä½ä»£ç ") .Annotation("MySql:CharSet", "utf8mb4"), EquipmentCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "设å¤ä»£ç ") .Annotation("MySql:CharSet", "utf8mb4"), WorkpieceName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "工件åç§°") .Annotation("MySql:CharSet", "utf8mb4"), ProcessName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "å·¥åºåç§°") .Annotation("MySql:CharSet", "utf8mb4"), PipeFittingCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "管件ç¼ç ") .Annotation("MySql:CharSet", "utf8mb4"), PreSerialNumber = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "顺åºå·") .Annotation("MySql:CharSet", "utf8mb4"), DataIdentifier = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "åææ è¯") .Annotation("MySql:CharSet", "utf8mb4"), PipeSpecCode = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "ç®¡è§æ ¼ç ") .Annotation("MySql:CharSet", "utf8mb4"), PipeSectionName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "管段åç§°") .Annotation("MySql:CharSet", "utf8mb4"), OuterDiameter = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "å¤å¾") .Annotation("MySql:CharSet", "utf8mb4"), Bevel = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "å¡å£") .Annotation("MySql:CharSet", "utf8mb4"), Material = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æè´¨") .Annotation("MySql:CharSet", "utf8mb4"), Length = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "é¿åº¦") .Annotation("MySql:CharSet", "utf8mb4"), DrillingPosition = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æåä½") .Annotation("MySql:CharSet", "utf8mb4"), Intersecting = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "ç¸è´¯") .Annotation("MySql:CharSet", "utf8mb4"), InterfaceRequirement = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¥å£è¦æ±") .Annotation("MySql:CharSet", "utf8mb4"), HasMainSignature = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "æ¯å¦æä¸»ç¾"), Quantity = table.Column<int>(type: "int", nullable: false, comment: "å æ¬æ°é"), MarkingContent = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æç å 容") .Annotation("MySql:CharSet", "utf8mb4"), CuttingFile = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "å岿件") .Annotation("MySql:CharSet", "utf8mb4"), BranchOuterDiameter = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¯å¤å¾") .Annotation("MySql:CharSet", "utf8mb4"), BranchWallThickness = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¯ç®¡å£å") .Annotation("MySql:CharSet", "utf8mb4"), BranchMaterial = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¯ç®¡æè´¨") .Annotation("MySql:CharSet", "utf8mb4"), BranchPortRadius = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¯ç®¡ç«¯å£æ²çåå¾") .Annotation("MySql:CharSet", "utf8mb4"), BranchPortAngle = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¯ç®¡ç«¯å£è§åº¦") .Annotation("MySql:CharSet", "utf8mb4"), BranchPortRequirement = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¯ç®¡ç«¯å£è¦æ±") .Annotation("MySql:CharSet", "utf8mb4"), IntersectingLineType = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "ç¸è´¯çº¿ç±»å") .Annotation("MySql:CharSet", "utf8mb4"), IntersectingLineCategory = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "ç¸è´¯çº¿ç±»å«") .Annotation("MySql:CharSet", "utf8mb4"), FinishedProductScale = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æåå¾å¹ ") .Annotation("MySql:CharSet", "utf8mb4"), FlangeThickness = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ³å °å度") .Annotation("MySql:CharSet", "utf8mb4"), FlangeInnerDiameter = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ³å °å å¾") .Annotation("MySql:CharSet", "utf8mb4"), WeldingHeatInput = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "çæ¥çè¾å ¥") .Annotation("MySql:CharSet", "utf8mb4"), PipeAllowableStress = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "管éå 许åºå") .Annotation("MySql:CharSet", "utf8mb4"), PipeDiameter = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "管å¾") .Annotation("MySql:CharSet", "utf8mb4"), PipeWallThickness = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "管éå£å") .Annotation("MySql:CharSet", "utf8mb4"), VRData = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "VRæ°æ®") .Annotation("MySql:CharSet", "utf8mb4"), ProcessRouteNumber = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "å·¥èºè·¯çº¿ç¼å·") .Annotation("MySql:CharSet", "utf8mb4"), PlannedStartTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "计åå¼å§æ¶é´"), PlannedEndTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "计å宿æ¶é´"), TimeInfo = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "æ¶é´ä¿¡æ¯") .Annotation("MySql:CharSet", "utf8mb4"), RedundantField1 = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), RedundantField2 = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), RedundantField3 = table.Column<string>(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Sort = table.Column<int>(type: "int", nullable: false, comment: "æåº"), Remark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "夿³¨") .Annotation("MySql:CharSet", "utf8mb4"), IsDisabled = table.Column<bool>(type: "tinyint(1)", nullable: true, comment: "æ¯å¦ç¦ç¨"), 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), CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"), LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true), LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"), IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false), DeleterId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"), DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_scms_workplans", x => x.Id); }, comment: "WorkPlan") .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateIndex( name: "IX_scms_workplans_TaskCode", table: "scms_workplans", column: "TaskCode"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "scms_workplans"); } } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -100,6 +100,301 @@ b.HasComment("MyTestEntityName"); }); modelBuilder.Entity("CMS.Plugin.PipeLineLems.Domain.WmsAreas.WorkPlan", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property<string>("Bevel") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å¡å£"); b.Property<string>("BranchMaterial") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡æè´¨"); b.Property<string>("BranchOuterDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯å¤å¾"); b.Property<string>("BranchPortAngle") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡ç«¯å£è§åº¦"); b.Property<string>("BranchPortRadius") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡ç«¯å£æ²çåå¾"); b.Property<string>("BranchPortRequirement") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¯ç®¡ç«¯å£è¦æ±"); b.Property<string>("BranchWallThickness") .HasMaxLength(64) .HasColumnType("varchar(64)") .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<string>("CuttingFile") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å岿件"); b.Property<string>("DataIdentifier") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åææ è¯"); b.Property<Guid?>("DeleterId") .HasColumnType("char(36)") .HasColumnName("DeleterId"); b.Property<DateTime?>("DeletionTime") .HasColumnType("datetime(6)") .HasColumnName("DeletionTime"); b.Property<string>("DrillingPosition") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æåä½"); b.Property<string>("EquipmentCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("设å¤ä»£ç "); b.Property<string>("ExtraProperties") .HasColumnType("longtext") .HasColumnName("ExtraProperties"); b.Property<string>("FactoryCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥å代ç "); b.Property<string>("FinishedProductScale") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æåå¾å¹ "); b.Property<string>("FlangeInnerDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ³å °å å¾"); b.Property<string>("FlangeThickness") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ³å °å度"); b.Property<bool>("HasMainSignature") .HasColumnType("tinyint(1)") .HasComment("æ¯å¦æä¸»ç¾"); b.Property<string>("InterfaceRequirement") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¥å£è¦æ±"); b.Property<string>("Intersecting") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç¸è´¯"); b.Property<string>("IntersectingLineCategory") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç¸è´¯çº¿ç±»å«"); b.Property<string>("IntersectingLineType") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç¸è´¯çº¿ç±»å"); 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>("Length") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("é¿åº¦"); b.Property<string>("MarkingContent") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æç å 容"); b.Property<string>("Material") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æè´¨"); b.Property<string>("OrgMaterialCode") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("åæç¼å·"); b.Property<string>("OuterDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å¤å¾"); b.Property<string>("PipeAllowableStress") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管éå 许åºå"); b.Property<string>("PipeDiameter") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管å¾"); b.Property<string>("PipeFittingCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管件ç¼ç "); b.Property<string>("PipeSectionName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管段åç§°"); b.Property<string>("PipeSpecCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ç®¡è§æ ¼ç "); b.Property<string>("PipeWallThickness") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("管éå£å"); b.Property<DateTime?>("PlannedEndTime") .HasColumnType("datetime(6)") .HasComment("计å宿æ¶é´"); b.Property<DateTime?>("PlannedStartTime") .HasColumnType("datetime(6)") .HasComment("计åå¼å§æ¶é´"); b.Property<string>("PreSerialNumber") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("顺åºå·"); b.Property<string>("ProcessName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥åºåç§°"); b.Property<string>("ProcessRouteNumber") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥èºè·¯çº¿ç¼å·"); b.Property<string>("ProductCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("产å代ç "); b.Property<int>("Quantity") .HasColumnType("int") .HasComment("å æ¬æ°é"); b.Property<string>("RedundantField1") .HasColumnType("longtext"); b.Property<string>("RedundantField2") .HasColumnType("longtext"); b.Property<string>("RedundantField3") .HasColumnType("longtext"); b.Property<string>("Remark") .HasMaxLength(256) .HasColumnType("varchar(256)") .HasComment("夿³¨"); b.Property<int>("Sort") .HasColumnType("int") .HasComment("æåº"); b.Property<string>("TaskCode") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("ä»»å¡ç¼ç "); b.Property<string>("TimeInfo") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("æ¶é´ä¿¡æ¯"); b.Property<string>("VRData") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("VRæ°æ®"); b.Property<string>("WeldingHeatInput") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("çæ¥çè¾å ¥"); b.Property<string>("WorkpieceName") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("工件åç§°"); b.Property<string>("WorkstationCode") .HasMaxLength(64) .HasColumnType("varchar(64)") .HasComment("å·¥ä½ä»£ç "); b.HasKey("Id"); b.HasIndex("TaskCode"); b.ToTable("scms_workplans", (string)null); b.HasComment("WorkPlan"); }); #pragma warning restore 612, 618 } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Scripts/UpdateMigrations.bat
@@ -1,6 +1,6 @@ cd ../ dotnet ef migrations add InitialCreate -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add InitialCreate -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 cmd PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanController.cs
@@ -1,44 +1,188 @@ using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; using CMS.Plugin.PipeLineLems.Application.Contracts.Services; using Microsoft.AspNetCore.Mvc; using System.Reflection; namespace CMS.Plugin.PipeLineLems.Controller { /// <summary> /// ä½ä¸è®¡åæå¡ /// </summary> [ApiController] [TypeFilter(typeof(CMSLanguageFilter))] [TypeFilter(typeof(CMSUowActionFilter))] [TypeFilter(typeof(CMSAuditActionFilter))] [TypeFilter(typeof(CMSExceptionFilter))] [Route("api/v{version:apiVersion}/PipeLineLems/[controller]")] public class WorkPlanController : ControllerBase { private readonly IMesAppService _mesAppService; /// <summary> /// Initializes a new instance of the <see cref="TestEntityNameController"/> class. /// </summary> /// <param name="testentitynameAppService">The testentityname application service.</param> public WorkPlanController(IMesAppService mesAppService) { _mesAppService = mesAppService; } /// <summary> /// è·åç产计å. /// </summary> /// <param name="input">æ è¯ç¬¦.</param> /// <returns></returns> [HttpPost] public virtual async Task<MesOrderResponse> GetWorkPlanAsync([FromBody] List<WorkPlanInput> input) { return await _mesAppService.CreateAsync(input); } } } using Ao.Lang; using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; using CMS.Plugin.PipeLineLems.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; namespace CMS.Plugin.PipeLineLems.Controller { /// <summary> /// ä½ä¸è®¡å表æå¡ /// </summary> [ApiController] [TypeFilter(typeof(CMSLanguageFilter))] [TypeFilter(typeof(CMSUowActionFilter))] [TypeFilter(typeof(CMSAuditActionFilter))] [TypeFilter(typeof(CMSExceptionFilter))] [Route("api/v{version:apiVersion}/PipeLineLems/[controller]")] public class WorkPlanController : ControllerBase { private readonly IWorkPlanAppService _workPlanAppService; /// <summary> /// Initializes a new instance of the <see cref="WorkPlanController"/> class. /// </summary> /// <param name="workPlanAppService">The workPlan application service.</param> public WorkPlanController(IWorkPlanAppService workPlanAppService) { _workPlanAppService = workPlanAppService; } /// <summary> /// è·åä½ä¸è®¡å表 /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <returns></returns> [HttpGet] [Route("{id}")] public virtual Task<WorkPlanDto> GetAsync(Guid id) { return _workPlanAppService.GetAsync(id); } /// <summary> /// å页è·åä½ä¸è®¡å表çå表. /// </summary> /// <param name="input">è¾å ¥.</param> /// <returns></returns> [HttpGet] [Route("Page")] public virtual Task<PagedResultDto<WorkPlanDto>> GetListAsync([FromQuery] GetWorkPlanInput input) { return _workPlanAppService.GetListAsync(input); } /// <summary> /// å建ä½ä¸è®¡å表 /// </summary> /// <param name="input">è¾å ¥.</param> /// <returns></returns> //[Authorize] [HttpPost] public virtual Task<WorkPlanDto> CreateAsync(WorkPlanCreateDto input) { return _workPlanAppService.CreateAsync(input); } /// <summary> /// æ´æ°ä½ä¸è®¡å表 /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="input">è¾å ¥.</param> /// <returns></returns> //[Authorize] [HttpPut] [Route("{id}")] public virtual Task<WorkPlanDto> UpdateAsync(Guid id, WorkPlanUpdateDto input) { return _workPlanAppService.UpdateAsync(id, input); } /// <summary> /// å éä½ä¸è®¡å表 /// </summary> /// <param name="ids">Idéå.</param> /// <returns></returns> //[Authorize] [HttpPost] [Route("Clone")] public virtual Task<List<WorkPlanDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) { return _workPlanAppService.CloneAsync(ids); } /// <summary> /// å é¤ä½ä¸è®¡å表 /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <returns></returns> //[Authorize] [HttpDelete] [Route("{id}")] public virtual Task DeleteAsync(Guid id) { return _workPlanAppService.DeleteAsync(id); } /// <summary> /// æ¹éå é¤ä½ä¸è®¡å表 /// </summary> /// <param name="ids">The ids.</param> /// <returns></returns> //[Authorize] [HttpDelete] public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) { return _workPlanAppService.DeleteManyAsync(ids); } /// <summary> /// è°æ´æåºä½ä¸è®¡å表 /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <returns></returns> [HttpPut] [Route("{id}/AdjustSort/{sort}")] public virtual Task AdjustSortAsync(Guid id, int sort) { return _workPlanAppService.AdjustSortAsync(id, sort); } /// <summary> /// å¯¼å ¥ä½ä¸è®¡å表 /// </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 workPlanRows = sheetNames.Contains("é ç½®") ? MiniExcel.Query<WorkPlansImportModel.WorkPlanImportModel>(stream, sheetName: "é ç½®").ToList() : new(); if (!workPlanRows.Any()) { throw new UserFriendlyException("è¯·æ£æ¥å¯¼å ¥çè¡¨æ ¼"); } await _workPlanAppService.ImportAsync(new WorkPlansImportModel { WorkPlans = workPlanRows, }); return Ok(); } /// <summary> /// 导åºä½ä¸è®¡å表 /// </summary> /// <returns></returns> [HttpGet] [Route("Export")] public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWorkPlanInput input) { input.MaxResultCount = int.MaxValue; var exportData = await _workPlanAppService.ExportAsync(input); var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WorkPlanå¯¼åºæ¨¡æ¿.xlsx"); if (!System.IO.File.Exists(templatePath)) { templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WorkPlanå¯¼åºæ¨¡æ¿.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" }; } } } PipeLineLems/web/src/assets/iconfont/demo.css
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/iconfont/demo_index.html
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/iconfont/iconfont.css
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/iconfont/iconfont.eotBinary files differ
PipeLineLems/web/src/assets/iconfont/iconfont.js
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/iconfont/iconfont.json
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/iconfont/iconfont.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/iconfont/iconfont.ttfBinary files differ
PipeLineLems/web/src/assets/iconfont/iconfont.woffBinary files differ
PipeLineLems/web/src/assets/iconfont/iconfont.woff2Binary files differ
PipeLineLems/web/src/assets/images/+.pngBinary files differ
PipeLineLems/web/src/assets/images/X.pngBinary files differ
PipeLineLems/web/src/assets/images/add-annex.pngBinary files differ
PipeLineLems/web/src/assets/images/add-p.pngBinary files differ
PipeLineLems/web/src/assets/images/banben.pngBinary files differ
PipeLineLems/web/src/assets/images/batch-b.pngBinary files differ
PipeLineLems/web/src/assets/images/batch-list.pngBinary files differ
PipeLineLems/web/src/assets/images/chart.pngBinary files differ
PipeLineLems/web/src/assets/images/close.pngBinary files differ
PipeLineLems/web/src/assets/images/closeDark.pngBinary files differ
PipeLineLems/web/src/assets/images/close_x.pngBinary files differ
PipeLineLems/web/src/assets/images/copy.pngBinary files differ
PipeLineLems/web/src/assets/images/d.pngBinary files differ
PipeLineLems/web/src/assets/images/del.pngBinary files differ
PipeLineLems/web/src/assets/images/delete.pngBinary files differ
PipeLineLems/web/src/assets/images/down.pngBinary files differ
PipeLineLems/web/src/assets/images/drawer_bg.pngBinary files differ
PipeLineLems/web/src/assets/images/edit.pngBinary files differ
PipeLineLems/web/src/assets/images/export.pngBinary files differ
PipeLineLems/web/src/assets/images/f.pngBinary files differ
PipeLineLems/web/src/assets/images/fb.pngBinary files differ
PipeLineLems/web/src/assets/images/fj.pngBinary files differ
PipeLineLems/web/src/assets/images/fnV.pngBinary files differ
PipeLineLems/web/src/assets/images/g.pngBinary files differ
PipeLineLems/web/src/assets/images/gongyiduan.pngBinary files differ
PipeLineLems/web/src/assets/images/icon-module.pngBinary files differ
PipeLineLems/web/src/assets/images/icon.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_add.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_add2.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_del.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_exclamation.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_move.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_next.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_nodata.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_pre.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_process.pngBinary files differ
PipeLineLems/web/src/assets/images/icon_search.pngBinary files differ
PipeLineLems/web/src/assets/images/import.pngBinary files differ
PipeLineLems/web/src/assets/images/in.pngBinary files differ
PipeLineLems/web/src/assets/images/left-arrow.pngBinary files differ
PipeLineLems/web/src/assets/images/lightsetting.pngBinary files differ
PipeLineLems/web/src/assets/images/o.pngBinary files differ
PipeLineLems/web/src/assets/images/out.pngBinary files differ
PipeLineLems/web/src/assets/images/pdf.pngBinary files differ
PipeLineLems/web/src/assets/images/pre_icon.pngBinary files differ
PipeLineLems/web/src/assets/images/procedure-direction.pngBinary files differ
PipeLineLems/web/src/assets/images/process.pngBinary files differ
PipeLineLems/web/src/assets/images/processStep1.pngBinary files differ
PipeLineLems/web/src/assets/images/processStep2.pngBinary files differ
PipeLineLems/web/src/assets/images/processStep3.pngBinary files differ
PipeLineLems/web/src/assets/images/processStep4.pngBinary files differ
PipeLineLems/web/src/assets/images/refresh.pngBinary files differ
PipeLineLems/web/src/assets/images/right-arrow.pngBinary files differ
PipeLineLems/web/src/assets/images/s.pngBinary files differ
PipeLineLems/web/src/assets/images/s_input.pngBinary files differ
PipeLineLems/web/src/assets/images/scale-menu.pngBinary files differ
PipeLineLems/web/src/assets/images/scale.pngBinary files differ
PipeLineLems/web/src/assets/images/search.pngBinary files differ
PipeLineLems/web/src/assets/images/setting.pngBinary files differ
PipeLineLems/web/src/assets/images/settings.pngBinary files differ
PipeLineLems/web/src/assets/images/sop.pngBinary files differ
PipeLineLems/web/src/assets/images/sys.pngBinary files differ
PipeLineLems/web/src/assets/images/tag_close.pngBinary files differ
PipeLineLems/web/src/assets/images/tip.pngBinary files differ
PipeLineLems/web/src/assets/images/up.pngBinary files differ
PipeLineLems/web/src/assets/images/variable.pngBinary files differ
PipeLineLems/web/src/assets/images/view.pngBinary files differ
PipeLineLems/web/src/assets/images/white_search.pngBinary files differ
PipeLineLems/web/src/assets/styles/common.scss
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/styles/element.scss
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/styles/index.scss
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/add.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/add1.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/barcode.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/bianji.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/bom.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/del.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/del1.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/f.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/field.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/flow.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/materialManagement.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/more.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/move.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/order.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/p.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/peifangguanli.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/processConfiguration.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/prod.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/q.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/system.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/t.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/tip.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/assets/svg/title.svg
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/Http/Http.vue
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/Http/Settings/Http.settings.vue
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/Http/components/InputCode.vue
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/Http/components/OptionConfigDialog.vue
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/Http/index.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Controllers/File.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Controllers/MyEntityName.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Controllers/MyEntityNameDrawer.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Models/MyEntityName.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Models/MyEntityNameDrawer.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Models/Service/MyEntityName.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Models/Service/MyEntityNameDrawer.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/MyPluginName.module.scss
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/MyPluginName.tsx
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/Pages/Dialog/MyEntityNameDrawer/MyEntityNameDrawer.module.scss
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/Pages/Dialog/MyEntityNameDrawer/MyEntityNameDrawer.tsx
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/Pages/MyEntityName/Config.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/Pages/MyEntityName/MyEntityName.module.scss
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/Pages/MyEntityName/MyEntityName.tsx
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/Views/config/MyEntityName.json
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/enum.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/index.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/MyPluginName/type/Type.d.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/hook.ts
ÎļþÒÑɾ³ý PipeLineLems/web/src/widgets/index.ts
ÎļþÒÑɾ³ý