模块结构
[id].vue 为表单组件
index.vue 为列表组件
item-dialog.vue 为表单对话框组件
list-comp.vue 为表单中 tab 中的带对话框修改的列表,引用 table-notop-dialog
常用组件
表格设计封装
table-base-index 常规表格显示,带新建,导出按钮。操作编辑条目时,新建一个页面。用在 index 中
table-dialog-index 加强表格,操作编辑时,直接在该页面操作对话框。
table-notop-dialog 不带表头对话框表格,用在 section 表单中的 tab 中
简单表格,即可显示表格,亦可直接编辑该条目。
对话框封装
select-list-dialog,选择列表对话框,由各 comp 调用。
select-list-comp,用在在表单中选择项目,标段等信息
select-company-contacter-comp,用于在表单中选择单位及联系人信息
编号设计:
项目编号为“XM”+年(后两位)+序号(3 位),22 年为 001-256,23 年为 257-
标段编号为"BD"+年(后两位)+序号(3 位),22 年为 001-445,23 年为 446,,,448,479,489
检查编号为"JC"+年(后两位)+序号(3 位)
隐患编号为"YH"+年(后两位)+序号(3 位)
项目管理
标段管理
功能:
导入功能,网页
单位合并、联系人重复合并
标段月信息导入:
日期,SectionSumAmountMonth SectionSumAmountAlreadyCurrent SectionSumAmountAlready SectionProgress SectionStatus WhiteListTotalNumber
标段导入:
已有标段导入更新月变化数据:通过 SectionNumber 确定标段,数据为:SectionSumAmountMonth SectionSumAmountAlreadyCurrent SectionSumAmountAlready SectionProgress SectionStatus WhiteListTotalNumber
根据标段状态变化,导入变化日期。
已有标段导入已验收数据:通过 SectionNumber 确定标段,数据为:
22 年截至本月累计完成支付投资金额 开工截至本月累计完成支付投资金额 截至本月工程形象进度 工程状态 正常人数 SectionSumAmountAlreadyCurrent SectionSumAmountAlready SectionProgress SectionStatus WhiteListTotalNumber
FileStorage
upload 上传文件,参数文件,FileStoring 文件的 id 为 BlobContainer 的 BlobName
byBlobName,返回 byte[]
downByBlobName,返回下载文件
GetListByIds,根据 listid,返回 list 的 id(blobName)及 byte[]-(blobContent)
nrp 算法
Hydrograph
河道警戒水位,st2.json,warw_lvl 字段
水库汛限水位,rsvr.json,fsltdz 字段
EngineeringService
前端
Components
Calculation
item-toolbar
选择组件
在 src/components 中配置公共组件 select-list-comp、select-list-dialog。
select-list-dialog 中 dialogInform 属性需要 headers,items,para。getSelectData 方法向父组件返回 state,其包含 para 及本地 search,进行查找,改变查找行数的功能建议删除。selectItem 方法向父组件返回选中行对象数据 selected。newItem 方法向父组件返回 moduleName?还是 state。initialize,父组件调用时,要再初始化。
其中 select-list-comp 作为孙组件,上级组件需传属性 dialogInform、icon(可为空),value,label,还有 dialog 组件需要的方法 getSelectData、newItem、selectItem。
在 view/***Service/components 中再进一步配置 select-list-comp 函数及常量,作为子组件。v-bind="$attrs",
在 view/***Service/里的具体.vue 文件中,以组件的名义进行引用,作为父组件。
组件间可采用透传技术传递参数及事件。
select-list-dialog 中
dialogInform 属性需要 headers,items,para。
getSelectData 方法向父组件返回 state,其包含 para 及本地 search,进行查找,改变查找行数的功能建议删除。
selectItem 方法向父组件返回选中行对象数据 selected
newItem 方法向父组件返回 moduleName?还是 state
initialize,父组件调用时,要再初始化
select-tree-comp
select-tree-dialog
table-base-index
table-dialog-index
stores
Dialog
全局变量,存储项目选择等对话框所需信息,方便管理对话框,解决无需再子组件调用父组件的问题。
Headers
utils
DialogFunction
TableFunction
initializeTableHeaders
getTableData----------------------------commonservice 增加 byTable api
getSelectData
handleClick
newItem
editItem
editItemDialog
linkItem
待完善
getTableData----------------------------commonservice 增加 byTable api
modelname
| ModelType | ModuleName | ModelName | ModelLabel |
|---|---|---|---|
| 9001 | EngineeringService | Calculation | 计算项目 |
| 9002 | EngineeringService | FloodRountingCondition | 流量边界条件 |
| 9003 | EngineeringService | WaterSurfaceCondition | 水位边界条件 |
| 9004 | EngineeringService | HorizontalSectionLayout | 横断面布置 |
| 9005 | EngineeringService | LongitudinalProfileDesign | 纵断面设计 |
| 9006 | EngineeringService | RiverSectionDesign | 河道横断面设计 |
| 9007 | EngineeringService | WaterSurfaceProfile | 水面线 |
| 9008 | EngineeringService | DesignFloodResult | 设计洪水成果 |
| 9009 | EngineeringService | WaterSurfaceCurveDataArray | 水面线过程数据 |
| 9010 | EngineeringService | DesignStormResult | 设计暴雨成果 |
| 9011 | EngineeringService | FloodRountingResult | 调洪成果 |
| 9012 | EngineeringService | FloodRountingDataArray | 调洪过程数据 |
| 9013 | EngineeringService | FloodRountingProcess | 单系列洪水过程 |
| 9014 | EngineeringService | FloodRountingHydrograph | 全系列洪水过程 |
| 9015 | EngineeringService | CurveZq | ZQ 关系 |
| 9016 | EngineeringService | CurveZav | ZAV 关系 |
| 9017 | EngineeringService | FloodRountingControl | 调洪控制文件 |
| 9018 | EngineeringService | StormDesignFlood | 暴雨推求洪水 |
| 9019 | EngineeringService | WaterSurfaceCurveResult | 水面线计算成果 |
| 9020 | EngineeringService | Project | 计算项目 |
| 9021 | EngineeringService | DischargeCapacity | 溢洪道泄流能力计算 |
| 9022 | EngineeringService | ProfitingRegulation | 径流年调节计算 |
| 9023 | EngineeringService | ProfitingRegulationResult | 径流年调节结果 |
| 9024 | EngineeringService | Wave | 波浪要素和爬高 |
| 9025 | EngineeringService | EarthRockDamCrestElevation | 土石坝坝顶高程计算 |
| 9026 | EngineeringService | ErDamCrestElevationResult | 土石坝坝顶高程结果 |
| 9027 | EngineeringService | PipeStructuralDesign | 管道结构计算 |
| 9028 | EngineeringService | PipeStructuralDesignResult | 管道结构计算结果 |
| 9029 | EngineeringService | HydraulicConcreteStructure | 水工砼结构计算 |
| 9030 | EngineeringService | ConcreteTemperatureSolution | 混凝土温控计算 |
| 9031 | EngineeringService | PumpWaterHammer | 停泵水锤计算 |
| 9032 | EngineeringService | TunnelSpecification | 隧洞结构计算-86 规范程序 |
| 9033 | EngineeringService | TunnelMultiCondition | 隧洞多工况结构计算 |
| 9034 | EngineeringService | TunnelRockCondition | 隧洞围岩条件 |
| 9035 | EngineeringService | TunnelResult | 隧洞结构计算结果 |
| 9036 | EngineeringService | ElasticFoundationBeam | 弹性地基梁计算 |
| 9037 | EngineeringService | Load | 荷载 |
| 9038 | EngineeringService | ElasticFoundationBeamResult | 弹性地基梁计算结果 |
| 9039 | EngineeringService | SideChannelSurface | 侧槽变流量水面线计算 |
| 9040 | EngineeringService | SideChannelSurfaceResult | 侧槽变流量水面线计算结果 |
| 9101 | Hydrograph | Station | 测站 |
| 9102 | Hydrograph | WaterLevelCurve | 水位 |
属性首字母全部改为大写,多的 ID 要删除
1、运行 Shuze.EngineeringService.AuthServer,以便将模型权限导入数据库,以便使用 8001 统一的权限系统。
2、附属类,abphelper 生成后,不需要 application 及 contract 层可删,另外把类的 protected 删除
项目
1、默认先生成验证项目及测试项目,验证项目不允许修改,但可另存为测试项目再在之上修改测试。
联结 CalculationID
1、一个项目,可以有多个计算,不同阶段,也有不同计算。必须先有项目后才能计算。
2、导入的对象,其 ProjectID 通过前端赋值,如为空则赋值为测试项目。
3、计算中所有的类均会生成一个 CalculationID,以便加载数据;可能多个对象对应一个 calculationID;主计算类及结果会被其它计算引用的类生成 calculation 对象;计算结果类如不在其它文件中被引用数据,可不建 calculation 对象。主类与附属类之间通过 model 中的***CalculationID 关联。
5、导入采用属性名的方式可一起导入多个 txt 文件进行转换。
6、打开和保存附属类,均放在 commonappservice 中共享。
7、导航属性, 加载关联实体,通过 WithDetailsAsync 加载
(await _repository.WithDetailsAsync(x => x.Car)).Where(x => x.Id == id).FirstOrDefault();
或
(await _repository.GetListAsync(true)).Where(x=>x.Id == id).FirstOrDefault();
或
await _repository.GetAsync(id, true);8、导航属性保存时,可能存在 id 多处调用并发,可把实体都引用出来,然后再 map 一下。
var book = await _repository.GetAsync(input.Id, true);
var car = await _carRepository.GetAsync(book.CarId);//要调用出来,这样才能自动保存
var tempbook = ObjectMapper.Map(input, book);
return ObjectMapper.Map<Book,BookDto>(tempbook);9、List 批量更新并发处理
foreach (var dto in dtos)
{
var change = query.FirstOrDefault(x => x.Id == dto.Id);
if (change != null)
{
ObjectMapper.Map(dto, change);
changeList.Add(change);
}
}
await _repository.UpdateManyAsync(changeList);导入 Shuze.Hydrograph
1、在 Shuze.EngineeringService.Application,安装 Shuze.Hydrograph.Application、Shuze.CommonService.EntityFrameworkCore 的 Nuget 包。
2、在 EngineeringServiceApplicationModule.cs 中,增加依赖[DependsOn( typeof(HydrographApplicationModule), typeof(HydrographEntityFrameworkCoreModule),
新安江
功能要求
新建,打开,导入,计算,保存,另存,生成,导出,返回
ProjectManagement
项目结算
结算项目,结算单位,单位员工,项目任务,
任务安排(SettleAssignmentStaff),
员工安排记录(SettleStaffWorkDiary)
SettleAssignmentStaff 结算任务安排中,WrokDaySum 为工作天数,LogAssignment 为当月任务日志,LogStaffMonth 为员工当月其它日志(由计算而得,方便确定当月安排空挡)。
SettleStaffWorkDiary-人员考勤汇总
1、先建立项目信息
2、导入员工信息
3、建立项目与成员关系
4、根据合同内容增加项目任务
5、给每个任务安排人员
6、碰撞分析
功能点:指定任务换人功能(任务对应安排不变,变人),
任务分解,多少高工,多少工程师
先统一采用职称排任务人员考勤,再进行配人
以组安排 考勤
导入格式有人员按月任务考勤,还有日期人员考勤。
动态显示还差多少高工人天数
生成任务时间考勤
权限:除 projectmanagement 模块权限外,还需要 commonservice 等常用权限
svg
<path d="M10 10 C 20 20, 40 20, 50 10" stroke="3" fill="blue" />
SVG 定义了六种路径命令类型,一共 20 条命令:
移动到:M、m
画线至:L、l、H、h、V、v
三次方贝塞尔曲线:C、c、S、s
----C (x1,y1, x2,y2, x,y)+在当前位置和终点 x,y 之间绘制一条三次贝塞尔曲线。起始控制点通过 x1,y1 指定,而终点控制点通过 x2,y2 指定。
----S (x2,y2, x,y)+
二次方贝塞尔曲线:Q、q、T、t
椭圆曲线:A、a
封闭路径:Z、z
备注: 命令是大小写敏感的。大写的命令指定绝对坐标,而小写命令指定相对(于当前位置的)坐标。
始终可以将负值作为命令的参数:
负的角度是逆时针的;
绝对坐标中,负的 x 和 y 将被解释为负坐标;
相对坐标中,负的 x 值为向左移动,负的 y 值为向上移动。