This commit is contained in:
佘春生 2024-05-13 09:09:50 +08:00
parent acff7f22d4
commit 40e6df7f32
13 changed files with 299 additions and 6 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,271 +1,228 @@
管道焊接管理操作说明
诺必达管道焊接管理操作说明
目录
一、登录软件 2
二、综合平台 2
三、进入项目 3
1基础设置 3
2系统设置 4
3项目设置 6
四、公共信息: 8
1.基础信息 8
2.文档控制 8
五、现场管道焊接管理 9
1.焊接管理 9
2. NDE管理 13
3热处理/硬度管理 17
4PMI检测管理 20
5试压包 20
6 通用导入 21
7焊接报表 22
总体框架(综合平台):
首页呈现:包括项目图片,焊工名次(查看明细),焊工工作量,拍片工作量,过期焊工提醒,承包商报表(查看明细)。
在综合平台的上方:公共信息,现场管道安装可自由切换,快捷菜单为预留功能以后可扩展。进入现场管道安装要先选择项目(选择好以后就默认),皮肤为本软件的呈现风格,动画为软件运行时加载大量数据时等待动画,
最右边中英文切换的下拉选择。
一、登录软件
1、访问地址http://47.104.145.164:8899/
二、综合平台
1、首页包括项目图片焊工名次查看明细焊工工作量拍片工作量过期焊工提醒承包商报表查看明细
2、在综合平台的上方公共信息现场管道安装可自由切换快捷菜单为预留功能以后可扩展。进入现场管道安装要先选择项目选择好以后就默认皮肤为本软件的呈现风格动画为软件运行时加载大量数据时等待动画最右边中英文切换的下拉选择。
三、进入项目
进入现场管道安装首次要选择项目
选择项目
如后面有多个项目则可从这里切换
说明:一个新项目开始,要按下面顺序进行操作。
包括:基础设置:项目类型,项目信息,单位信息,焊工信息,首页定制等
包括:基础设置:项目信息,单位信息,焊工信息等
系统设置:角色管理,用户管理,修改密码,角色授权,日志管理等
项目设置:项目的参与单位、参与用户,参与焊工,项目装置,系统环境变量,项目图片等。
项目设置:项目的参与单位,参与用户,参与焊工,项目装置,系统环境变量,项目图片等。
1基础设置
项目类型:主要是区分项目是大项目还是小项目,和焊工业绩统计施工进度和质量统计有关,有增加、删除、修改等功能
项目信息:维护所有项目信息,有增加、删除、修改,查询等功能
项目信息:维护所有项目信息,有增加、删除、修改,查询等功能,可按项目编号,项目名称,是否完工来查询,点增加,右键可编辑,删除(没有业务才可删除),查看
单位信息:所有和项目有关的单位库,有增加、删除、修改、查询等功能,后面项目的参与单位就从这里选择。
焊工信息:项目上所有焊工信息库,包括焊工焊接资质,焊工在所有项目上业
绩,有增加、删除、修改、查询、导入等,说明:焊工资质和上交焊接记录有逻辑关系。后面项目上参与焊工就从这个焊工库中选择,"焊工号"自动生成。规则小项目字母A~J开头后跟3位流水数字大项目字母K~Z开头后跟3位流水数字
焊工资质
焊工信息项目上所有焊工信息库包括焊工焊接资质焊工在所有项目上业绩有增加、删除、修改、查询、导入导出等说明焊工资质和上交焊接记录有逻辑关系。后面项目上参与焊工就从这个焊工库中选择WPS中可焊焊工也是从中选择。
焊工资质:录入合格项目代号后,点击资质分析,可判断这个焊工能焊接的材质类型,焊接方法,焊接位置,外径和壁厚范围等,从而可判断这个焊工有没有焊接某焊缝的资质。
2系统设置
角色管理:操作系统的用户角色,每种角色权限也不一样,有增加、删除、修改、查询等功能。
角色授权:用户根据角色设置权限,用来操作具有权限的模块(设置到按钮权限)
用户管理和密码修改:所有登陆系统的用户的管理包括增加、删除、修改、查询等功能,
可根据姓名、单位、是否在岗联合查询新用户的初始密码为abc.1234如果密码输入错误10次则账户锁定8小时后可自动解锁管理员有权限解锁。后面项目上参与用户就从中选择。说明用户可具有多种角色。
用户管理和密码修改:所有登陆系统的用户的管理包括增加、删除、修改、查询等功能,用户能修改自己的密码,管理员能重置所有用户的密码。后面项目上参与用户就从中选择。
说明:用户可具有多种角色。
用户能修改自己的密码管理员能重置所有用户的密码。说明安全要求密码为不小于8位的由字母数字和特殊字符组成
日志管理:记录用户对软件进行的操作,不能删除。
3项目设置
项目的参与单位,参与用户,参与焊工都属于项目上的信息设置,设置参与该项目的单位、用户、焊工。如下图:参与单位:先从单位库选择参与单位,再双击可编辑参与单位的组织机构和班组信息,用户和焊工与单位设置一样,不再说明。
选择单位:
双击编辑单位信息和班组
项目的参与单位,参与用户,参与焊工都属于项目上的信息设置,设置参与该项目的单位、用户、焊工。如下图:参与单位:先从单位库选择参与单位,设置单位类型,点击确定。再从列表页面双击可编辑参与单位的组织机构和班组信息,用户和焊工与单位设置一样,不再说明。
双击编辑单位信息和班组,焊工资质是否启用如勾选,录入焊接日报是会验证焊工资质
项目上参与用户的选择并在这里分配角色,用户根据自己的角色来操作分配给他的任务。
项目焊工:根据参与项目的单位来选择参与的焊工。同时选择焊工所在班组。
项目装置:先进行装置的设置,再点击区域设置进行工作区的设置。项目装置和区域设置都具有增加、删除、修改、查询等功能,区域里设置该区域的施工单位和监理单位。
项目焊工:根据参与项目的单位来选择参与的焊工。
项目装置:先进行装置的设置,再点击区域设置进行工作区的设置。项目装置和区域设置都具有增加、删除、修改、查询等功能
环境变量设置:对一些项目可能有一些有别与其它项目的特殊要求,可在这里设置,我们暂未用到,不再说明
环境变量设置对一些项目可能有一些有别与其它项目的特殊要求检测周期是批批次里比例未达到要求而时间已达到设定的周期这时会触发自动点口点口待办提醒周期是指批次里待办的口超过设定的周期就提醒点口待办提醒比例是指批次里待办口的比例达到设定的提醒比例里会在点口提醒中显示。如如点口待办提醒比例设置为50%5%比例检测那就是20个口的50%为10个口就提醒。
项目图片设置上传和项目相关的图片首页滚动显示设置为显示的最近的5张图片。
项目图片设置具有增加、删除、修改、等功能。
公共信息:主要包括通用的基础信息,焊接工艺评定查询,文件控制,过程控制资料。
1基础信息焊接耗材探伤类型探伤比例焊缝类型管道等级安装组件焊接方法坡口类型材质定义介质定义直径寸径对照表缺陷性质等。
四、公共信息:
主要包括通用的基础信息,文件控制。
1.基础信息
包括:焊接耗材,探伤类型,探伤比例,焊缝类型,管道等级,压力管道分级,安装组件,焊接方法,坡口类型,材质定义,介质定义,直径寸径对照表,缺陷性质等,试压类型。
举例说明其中之一,其它不再说明。如下图探伤类型的维护操作:点击增加,录入数据点提交即可完成。选中记录项点击即可删除,如提交即完成修改。如后面管理焊口信息中业务用到则删除不了。
说明:基础信息都是后面焊接现场管理的一些统一标准,在进行管线设置、焊口信息设置等会大量用到,所以要事先进行维护。
说明:基础信息都是后面焊接现场管理的一些统一标准,在进行管线设置、焊口信息设置等会大量用到,所以要事先进行维护。
这里重点说下直径寸径对照表:在焊口信息中系统会根据对照表中的寸径和美标壁厚自动得出外径,壁厚,规格等。对非美标的也做相应的设置。
2.文档控制
包括:可维护和上传国内外焊接管理的一些法律法规和标准规范,便于项目上参考和查看,有增加、删除、修改、查询等功能,这里不再说明。
五、现场管道焊接管理
进入现场管道焊接:首页也分为六个部分(都是所选项目的数据):焊接工作量、拍片工作量、点口待处理提醒,点口未委托焊口,委托未检测的焊口、返修未委托的焊口。
包括模块焊接管理热处理硬度管理PMI检测管理NDE 管理,试压管理,焊接报表,通用导入。
这里重点说下管道等级的设置,管道等级录入好后要进行条件设置,在进行管线信息的设置时选择管道等级,则相应的组批条件会带出来。
管道等级的条件设置
1.焊接管理
包括:焊接工艺规程,管线信息管理,焊口信息管理,焊接日报
焊接工艺规程有增加、删除、修改导入、查询等功能。焊口中的信息要和选定的WPS里信息一至其中注意可焊焊工的选择在提交日报时需验证该焊工是否具有焊接该工艺的资质
2焊接工艺评定根据焊口的参数而采用什么焊接工艺评定提供相应的参考有增加、删除、修改、查询导入导出等功能。
1管线信息有增加、删除、修改查询等功能也可导入在通用导入模块根据用户需要设置要显示的列。这里要特别注意的属性是探伤比例我们的自动点口分段点口数量和些属性有关
3文档控制可维护和上传国内外焊接管理的一些法律法规和标准规范便于项目上参考和查看有增加、删除、修改、查询等功能这里不再说明。
2焊口信息设置有增加、批量增加删除、修改导出、查询等功能用户可根据需求选择要显示的列也可导入在通用导入模块根据用户需要显示用户关心的信息打印焊接工作记录根据条件查询所需信息。说明批量增加的焊口信息一至如有不一至可到编辑页面修改。注意WPS选择焊口信息会比较WPS信息只有一至才能显示可能探伤类型为多选比如选择RT和PT则提交日报时会分别进入RT的批和PT的批进行RT和PT检测。根据寸径和美标壁厚自动带出外径壁厚规格
4过程控制资料包括焊接数据统计日、周、月施工单位焊接统计焊接质量月统计报表焊工名次项目焊接质量状态最终存档数据。
焊接数据统计(日、周、月):根据起始时间进行分项目进行统计,并可导出统计结果。
施工单位焊接统计:根据项目类型和起始时间分单位进行统计,并可导出统计结果。
焊接质量月统计报表:根据项目和年份分月进行统计,并可导出统计结果。
焊工名次:根据项目类型和年份分焊工进行统计,并可导出统计结果。
项目焊接质量状态:根据起始时间(周)进行分总的和周来进行统计,并可导出统计结果。
最终存档数据:对选择的项目的焊接情况和检测结果进行统计,并可导出统计结果。
现场管道焊接管理
进入现场管道焊接:首页也分为六个部分(都是所选项目的数据):焊接工作量、拍片工作量、点口未委托焊口,委托未检测的焊口、检测未审核的焊口、返修未委托的焊口。
焊接管理:
管线信息,有增加、删除、修改,查询等功能,也可导入(在通用导入模块),根据用户需要设置要显示的列。
列表页面
编辑页面:这里根据管道等级可设置组批条件(默认根据管道等级条件设置带出)
焊口信息设置:有增加、批量增加,删除、修改,导出、查询等功能,用户可根据需求选择要显示的列,也可导入(在通用导入模块),根据用户需要显示用户关心的信息,打印焊接工作记录,根据条件查询所需信息。说明:批量增加的焊口信息一至,如有不一至可到编辑页面修改。
编辑页面:
选择要显示的列
焊接记录上交:显示当前月份的焊接日报,也可查询所有月份的日报,有增加、删除、修改功能,根据焊工资质系统自动判断有没有焊接资质并给于提示,根据单位加载日报信息,展开显示日报明细信息 注意:日报的焊口如已检测则不能删除。
日报提交会根据设置的组批条件自动组批。
录入日报时根据选择的单位装置查找所有未焊的焊口(范围逐渐缩小),提交时要录入日报编号。列表里信息可进行编辑。提交后对应焊口信息也改变。
选择所焊的口并选择焊工后提交。
日报编辑页面:
3焊接记录上交显示当前月份的焊接日报也可查询所有月份的日报有增加、删除、修改功能焊工资质双验证根据焊工资质系统自动判断有没有焊接资质并给于提示根据WPS验证焊工有没有资质并给于提示根据单位加载日报信息展开显示日报明细信息注意日报的焊口如已检测则不能删除。
日报提交会根据设置的组批条件自动组批和点口。
说明:本系统是按管线来组批。点口根据焊线的检测比例和焊口设置的检测类型进行点口
a、RT探伤的规则
1、焊工首三件焊工进入这个单元所焊的首三口必点
2、外径大于等于500的焊口必点
3、黄金焊口黄金焊口必点
4、分段随机点口规则如管线的探伤比例为20% 的 按焊工也就是5个焊口为一段系统会在这个焊工焊的第1-56-10....)随机点一个口,如比例10%系统会在这个焊工焊的第1-1011-2021-30....)随机点一个口。
5、时间段系统设置时间如未设置按15天来算如焊工在所设置的时间段焊接没有达到比例的数量比如10%在设置的时间段焊接数量没有达到10个口如只焊接5个口系统会在这5个口中随机点一个口并关闭这个段这个规则会造成检测比例大于管线设置的检测比例
6、固定口比例系统在随机点口时会优先点固定口以确保固定口检测比例大于或等于40%。
b、非RT探伤的规则
1、分段随机点口规则同RT
2、时间段同RT
c、手动点口
根据特殊需要或因检测条件受限需要换口检测时可手动进行点口,有权限控制。
日报显示页面如下:
手动录入日报时根据选择的单位装置查找所有未焊的焊口(范围逐渐缩小),提交时要录入日报编号(目前为自动生成)。列表里信息可进行编辑。如焊口属性,焊接位置等提交后对应焊口信息也改变。
选择所焊的口并选择焊工后提交。
日报也有导入功能,按下载的模板进入录入后并导入,并和基础数据相互验证,不一至不能提交
2. NDE管理
点口管理:也是焊接记录上交时即生成检验批:根据单位、装置、焊缝类型、探伤类型、探伤比例、介质、材质、焊工等条件组批,包括批手动点口关闭(当批超过一定时间,如半个月,还未关闭,这时可手动点口关闭),打开重新点口(当批中自动点的口不能满足检测要求时可打开重新点口),手动结束批(当批点口关闭后这是批如还没结束时可手动结束批),重新选择扩口(当批中扩透口不能满足检测要求时可打开重新择扩口),生成(根据要求生成委托单),打印(委托单打印),点口单查询(可根据批的状态,委托的状态,焊工,月份等查询)等功能。
颜色标记说明:批没有关闭:粉色,没有委托:深黄色,存在返修: 蓝色,当天批:红包
包括:点口管理,点口等审核,无损委托单,无损委托单打印,无损检测报警,无损委托单查询,检测单录入,返修/扩透
1点口管理也是焊接记录上交时即生成检验批功能包括:
a.生成委托单(根据要求自动分组(按装置,区域,焊接方法,坡口类型,是否首焊,探伤类型等分组)生成委托单。
b.手动生成委托单:勾选点口并已通过审核的焊口生成委托单,所选焊口生成一张委托,不分组,单勾选的焊口必须是焊接方法,坡口类型,是否首焊保持一至
c.打开重新点口(当批中自动点的口不能满足检测要求时可打开重新点口)
d.手动点口关闭(当批超过一定时间,如半个月,还未关闭,这时可手动点口关闭)
e.右键功能:右键点击要操作的焊口可取消点口,取消扩透,修改首焊,切除焊口等。
2点口待审核列出所有点口待审核的焊口可按要审核的主体检测方法点口日期进行查询直接勾选需要审核的焊口一键审核
无损委托单:即点口时生成委托单(按项目、单位、装置、区域、检测方法、管线来生成。委托单号生成规则:项目号-->单位号-->检测方法-->区域编号WBS号-->流水号-->扩口或返修口标记(正常的不用标记)),有查看、打印等功能,左边树可按月份、委托单号来查询。
3无损委托单即点口时生成委托单委托单号生成规则检测方法-->单位编号-->区域编号-->PI-->流水号-->扩口或返修口标记(正常的不用标记)),有查看、委托单打印等功能,左边树可按月份、管线号、委托单号来查询。如下图:
列表页面如下图:
4无损委托单打印根据条件查出无损委托单勾选需要打印的委托单一键打印
5无损委托单报警根据条件查询未检测的委托单大于5天还未检测的委托单红色报警大于3天小于等于5天还未检测的委托单黄色预警
6无损委托单查询根据条件查询无损委托单并导出
7检测单录入包括: 新增、导入、编辑、审核、删除等功能。左边树可按月份、检测单号来查询。
点击新增:可按单位、装置、探伤类型、管线号来查询还未检测的委托单。再点击要检测的委托单,则会加载委托单的明细,录入数据(探伤单号自动带出即委托单号)和必填字段探伤单号、探伤日期、检测单位等勾选检测的焊口后保存。
检测单导入导入:先下载模板,录入检测结果,浏览选择文件后先审核数据,再导入。
模板中红色标记的字段必填。注意:必须和无损委托单及其明细对应。
点编辑:如委托单有的明细还未选择录入,或者录入后未审核,则可进行编辑修改。
点击审核:对录入的数据进行审核(系统默认检测单录入或导入后是已审核状态)。审核后的数据做不能修改,删除等操作。审核后的数据也可取消审核。
点生成返修通知单:只有检测不合格的并已审核的焊口才能下返修通知单,选中不合格的焊口点击生成返修能和在弹出页面提交后即生成
检测单录入包括: 新增、导入、编辑、审核、删除等功能。左边树可按月份、检测单号来查询。
返修通知单
8生成返修通知单后自动加载到返修/扩透菜单,点击单号根据勾选条件自动加载需扩透的焊口(一返为两个扩透口),可选择返修焊工(默认为初始焊接的焊工),点击保存-->生成,这时会生成一个返修单委托单和一个扩透委托单。
点击新增:可按单位、装置、探伤类型、管线号来查询还未检测的委托单。再点击要检测的委托单,则会加载委托单的明细,录入数据(探伤单号自动带出即委托单号)和必填字段探伤单号、探伤日期、检测单位等后保存。
检测单导入导入:先下载模板,录入检测结果,浏览选择文件后先审核数据,再导入。
模板中红色标记的字段必填。注意:必须和无损委托单及其明细对应。
点编辑页面:如委托单有的明细还未选择录入,或者录入后未审核,则可进行编辑修改。
点击审核:对录入的数据进行审核。审核后的数据做不能修改,删除等操作。审核后的数据也可取消审核。
如有返修则在其对应的批中自动点扩透口这时返修口后加R1一次返修扩透口加K1
也可重新选择扩透口。
在无损委托单处理一个返修单委托单和一个扩透委托单。
3热处理/硬度管理
1热处理委托及数据录入:有新增、编辑、删除等功能。
(1热处理委托及数据录入:有新增、编辑、删除等功能。
右键可录入热处理报告。可上传报告。
热处理报告
热处理报告
点击新增:根据装置、单位查找需要热处理但还没有进行热处理的焊口,填写委托单号和日期保存即可。查找页面左边树可按管线号查询,列表页面分全部、已焊、未焊查找。如还没有进行硬度委托,则可对这个热处理委托单进行编辑和删除操作。
(2热处理反馈及硬度委托勾选是否完成再保存热处理委托完成可进行硬度委托。
点击新增:根据装置、单位查找需要热处理但还没有进行热处理的焊口,填写委托单号和日期保存即可。查找页面左边树可按管线号查询,列表页面分全部、已焊、未焊查找。如还没有进行硬度委托,则可对这个热处理委托单进行编辑和删除操作。
2热处理反馈及硬度委托勾选是否完成再保存热处理委托完成可进行硬度委托。
3硬度委托及数据录入: 有新增、编辑、删除等功能。
(3硬度委托及数据录入: 有新增、编辑、删除等功能。
点击硬度报告可录入报告内容和上传报告
硬度报告录入
硬度报告录入
点击新增:根据装置、单位查找热处理已完成的焊口,填写委托单号和委托日期等必填字段后保存即可。查找页面左边树可按管线号查询。
4硬度检验结果反馈勾选合格或不合格结果反馈再保存。
4PMI检测管理
(1PMI委托:有新增、编辑、删除等功能。
点击新增按钮:弹出新增窗口,在窗口中录入委托单号、检测日期、装置名称、单位名称、检测标准、制表人、备注等信息,弹出窗的下部分点击查找可以选择管线信息弹出。
明细可编辑质量证明文件和制造/验收标准等。
先选择要修改的PMI委托然后点击修改按钮弹出修改界面将页面信息修改完成之后点击保存按钮保存数据
(2PMI检测录入此功能是查看PMI委托信息在委托明细中可编辑检测日期报告日期报告编号是否合格等信息
点击新增:根据装置、单位查找热处理已完成的焊口,填写委托单号和委托日期等必填字段后保存即可。查找页面左边树可按管线号查询。
5试压包
包括试压包录入试压前尾项A检测试压包审核试压后尾项B检测试压包完成
试压包录入可导入和增加,选择管线组成试压包
录入试压包各管线的尾项A检查
试压包审核:审核试压包内管线是否完成焊接,检测比例是否达到,检测是否合格,焊工是否覆盖等信息,并可打印该试压包交工资料。
最后进行试压后尾项B检测试压包完成。
6 通用导入
包括:主要是管线、焊口信息的导入,有审核提交,删除临时表数据,模板下载,导入说明等功能。
1下载模板按模板字段录入内容红色为必填项。
4硬度检验结果反馈勾选合格或不合格结果反馈再保存。
浏览数据-上传保存到临时表中
审核提交:数据审核后没问题的数据提交成功,有问题的数据将鼠标移到焊口片提示原因。
可在焊口处点击修改,修改后再进行审核提交操作,注意:这里有个是否批量修改,如勾选则临时表数据中所有记录都修改,否则只修改当前记录。
说明:如导入信息有误,点击更新导入会覆盖之前数据,如已焊接则原则上只能覆盖部分信息
7焊接报表
包括根据一定的条件分组统计用户所需要的用列表或图形的形式呈现。数据可导出到Excel。包括单位工区进度分析单位工区质量分析焊接日报导出焊工业绩分析周焊工焊接量统计焊工返修记录焊工RT统计表管线综合分析探伤综合报告焊口综合信息NDE积压汇总表NDE积压焊口一览表未焊焊口清单焊接信息焊口业务未处理清单。
如单位工区进度分析:按单位、装置、区域、钢材类型、日期为条件,按单位、装置、区域分组统计。以列表的形式呈现,
焊接日报导出
焊工业绩分析
4 通用导入:主要是管线、焊口信息的导入,有审核提交,删除临时表数据,模板下载,导入说明等功能。
1下载模板按模板字段录入内容红色为必填项。
浏览数据-上传保存到临时表中
审核提交:数据审核后没问题的数据提交成功,有问题的数据将鼠标移到焊口片提示原因。
可在焊口处点击修改,修改后再进行审核提交操作,注意:这里有个是否批量修改,如勾选则临时表数据中所有记录都修改,否则只修改当前记录。
更新导入是一样的,这里不再说明
5焊接报表根据一定的条件分组统计用户所需要的用列表或图形的形式呈现。数据可导出到Excel。
如单位工区进度分析:按单位、装置、区域、钢材类型、日期为条件,按单位、装置、区域分组统计。以列表的形式呈现,
如积压焊口:按单位、时间段、检测方法为条件来统计一段时间里的积压焊口,以列表和图表的形式呈现。
所有焊接报表统计都是一样的操作,这里就不再一一说明了。
所有焊接报表统计都是一样的操作,这里就不再一一说明了。

View File

@ -2,7 +2,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />

View File

@ -51,7 +51,7 @@
<add path="ChartImg.axd" verb="GET,POST,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" validate="false"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.8">
<compilation debug="false" targetFramework="4.8">
<assemblies>
<!--<add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />-->
<add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

View File

@ -74,8 +74,8 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
Grid1.DataBind();
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineCode")).Select(group => group.First());
var backingWelder = tb.AsEnumerable().GroupBy(row => row.Field<string>("BackingWelderCode")).Select(group => group.First());
var coverWelder = tb.AsEnumerable().GroupBy(row => row.Field<string>("CoverWelderCode")).Select(group => group.First());
var backingWelder = tb.AsEnumerable().Where(row => row.Field<string>("BackingWelderCode")!=null).GroupBy(row => row.Field<string>("BackingWelderCode")).Select(group => group.First());
var coverWelder = tb.AsEnumerable().Where(row => row.Field<string>("CoverWelderCode")!= null).GroupBy(row => row.Field<string>("CoverWelderCode")).Select(group => group.First());
var jotNum = from x in tb.AsEnumerable()
group x by new { pipe = x.Field<string>("PipelineCode"), jot = x.Field<string>("WeldJointCode"), Size = x.Field<string>("JOT_Size") }
into g

View File

@ -344,7 +344,7 @@
// 点击标题栏工具图标 - 查看源代码
function onToolSourceCodeClick(event) {
window.open('Doc/操作说明书.rar', '_blank');
window.open('Doc/操作说明书.docx', '_blank');
}
// 点击标题栏工具图标 - 刷新

View File

@ -29,6 +29,10 @@ namespace Model
#region
partial void OnCreated();
partial void OnCreated()
{
this.CommandTimeout = 600;
}
partial void InsertAttachFile(AttachFile instance);
partial void UpdateAttachFile(AttachFile instance);
partial void DeleteAttachFile(AttachFile instance);

View File

@ -8,7 +8,7 @@
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
</PropertyGroup>
<ProjectExtensions>

View File

@ -0,0 +1,289 @@
-- 管线焊工 增加是否 PMI处理
alter table Pipeline_WeldJoint add isPMI bit NULL
GO
update Pipeline_WeldJoint set isPMI=0
GO
ALTER VIEW [dbo].[View_Pipeline_WeldJoint]
AS
/************焊口信息视图*****************/
SELECT WeldJoint.WeldJointId,
WeldJoint.ProjectId,
WeldJoint.PipelineId,
WeldJoint.WeldJointCode,
dbo.Fun_GetParseInt(WeldJoint.WeldJointCode) AS ConvertWeldJoint,
WeldJoint.WeldTypeId,
WeldJoint.Material1Id,
WeldJoint.Material2Id,
WeldJoint.ANSISCH,
WeldJoint.Thickness,
WeldJoint.Dia,
WeldJoint.Size,
WeldJoint.JointAttribute,
WeldJoint.JointArea,
WeldJoint.WeldingMethodId,
WeldJoint.IsHotProess,
WeldJoint.WeldingLocationId,
WeldJoint.WeldMatId,
WeldJoint.WeldSilkId,
WeldJoint.GrooveTypeId,
WeldJoint.PipeSegment,
WeldJoint.PipeAssembly1Id,
WeldJoint.PipeAssembly2Id,
WeldJoint.PipeAssemblyCount,
WeldJoint.HeartNo1,
WeldJoint.HeartNo2,
WeldJoint.LastTemp,
WeldJoint.CellTemp,
WeldJoint.PrepareTemp,
WeldJoint.Electricity,
WeldJoint.SystemNumber,
WeldJoint.Remark,
WeldJoint.DoneDin,
WeldJoint.Voltage,
WeldJoint.TestPackageNo,
WeldJoint.WeldingDailyCode,
WeldJoint.WeldingDailyId,
WeldJoint.BackingWelderId,
WeldJoint.CoverWelderId,
WeldJoint.PipingClassId,
WeldJoint.Specification,
WeldJoint.CancelResult,
Project.ProjectCode,
Project.ProjectName,
Pipeline.PipelineCode,
Pipeline.InstallationId,
Pipeline.UnitId,
Pipeline.SingleNumber,
Pipeline.WorkAreaId,
WeldType.WeldTypeCode,
Material1.MaterialCode AS Material1Code,
Material2.MaterialCode AS Material2Code,
WeldingMethod.WeldingMethodCode,
WeldingLocation.WeldingLocationCode,
WeldMat.ConsumablesCode AS WeldMatCode,
--WeldSilk.ConsumablesCode AS WeldSilkCode,
'' AS WeldSilkCode,
GrooveType.GrooveTypeCode,
CASE WHEN WeldJoint.WeldingDailyId IS NULL THEN '' ELSE '' END AS Is_hjName,
CASE WHEN WeldJoint.IsHotProess=1 THEN '' ELSE '' END AS IsHotProessStr,
Components1.ComponentsCode AS ComponentsCode1,
Components2.ComponentsCode AS ComponentsCode2,
BackingWelder.WelderCode AS BackingWelderCode,
BackingWelder.WelderName AS BackingWelderName,
CoverWelder.WelderCode AS CoverWelderCode,
CoverWelder.WelderName AS CoverWelderName,
(CASE WHEN CoverWelder.WelderCode IS NOT NULL AND BackingWelder.WelderCode IS NOT NULL
THEN CoverWelder.WelderCode + '/' + BackingWelder.WelderCode
ELSE (ISNULL(CoverWelder.WelderCode,'') + ISNULL(BackingWelder.WelderCode,'')) END) AS WelderCode, --
(CASE WHEN Material1.MaterialCode IS NOT NULL AND Material2.MaterialCode IS NOT NULL
THEN Material1.MaterialCode + '/' + Material2.MaterialCode
ELSE (ISNULL(Material1.MaterialCode,'') + ISNULL(Material2.MaterialCode,'')) END) AS MaterialCode, --
pipingClass.PipingClassCode,pip.PIPClassCode,
CONVERT(VARCHAR(100), WeldingDaily.WeldingDate, 23) AS WeldingDate,
WeldJoint.IsCancel,
WeldJoint.IsPMI,
WeldJoint.IsGoldJoint,
WeldJoint.WPQId,wps.WPQCode,
WeldJoint.DetectionType,
WeldJoint.PageNum
FROM Pipeline_WeldJoint AS WeldJoint
LEFT JOIN Base_Project AS Project ON Project.ProjectId=WeldJoint.ProjectId
LEFT JOIN Pipeline_Pipeline AS Pipeline ON Pipeline.PipelineId = WeldJoint.PipelineId
LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=WeldJoint.WeldTypeId
LEFT JOIN Base_Material AS Material1 ON Material1.MaterialId = WeldJoint.Material1Id
LEFT JOIN Base_Material AS Material2 ON Material2.MaterialId = WeldJoint.Material2Id
LEFT JOIN Base_WeldingMethod AS WeldingMethod ON WeldingMethod.WeldingMethodId=WeldJoint.WeldingMethodId
LEFT JOIN Base_WeldingLocation AS WeldingLocation ON WeldingLocation.WeldingLocationId=WeldJoint.WeldingLocationId
LEFT JOIN Base_Consumables AS WeldMat ON WeldMat.ConsumablesId=WeldJoint.WeldMatId
--LEFT JOIN Base_Consumables AS WeldSilk ON WeldSilk.ConsumablesId=WeldJoint.WeldSilkId
LEFT JOIN Base_GrooveType AS GrooveType ON GrooveType.GrooveTypeId=WeldJoint.GrooveTypeId
LEFT JOIN Base_Components AS Components1 ON Components1.ComponentsId = WeldJoint.PipeAssembly1Id
LEFT JOIN Base_Components AS Components2 ON Components2.ComponentsId = WeldJoint.PipeAssembly2Id
LEFT JOIN Welder_Welder AS BackingWelder ON BackingWelder.WelderId=WeldJoint.BackingWelderId
LEFT JOIN Welder_Welder AS CoverWelder ON CoverWelder.WelderId=WeldJoint.CoverWelderId
LEFT JOIN Pipeline_WeldingDaily AS WeldingDaily ON WeldingDaily.WeldingDailyId=WeldJoint.WeldingDailyId
LEFT JOIN Base_PipingClass AS pipingClass ON pipingClass.PipingClassId=WeldJoint.PipingClassId
LEFT JOIN dbo.Base_PIPClass pip ON pip.PIPClassId = Pipeline.PIPClassId
LEFT JOIN dbo.WPQ_WPQList wps ON wps.WPQId=WeldJoint.WPQId
GO
ALTER PROC [dbo].[sp_rpt_JointComprehensive]
@projectId NVARCHAR(50),
@workAreaId NVARCHAR(50)=NULL,
@pipelineIds NVARCHAR(MAX) = NULL
AS
/**********焊口综合信息**********/
SELECT
weldJoint.WeldJointId,
weldJoint.ProjectId,
WorkArea.WorkAreaId,
WorkArea.WorkAreaCode,
weldJoint.SystemNumber,
weldJoint.TestPackageNo,
pipeline.SingleNumber,
pipeline.PipelineCode,
pipeline.DrawingsNum,
pipingClass.PipingClassCode,pip.PIPClassCode,
weldJoint.PageNum,
weldJoint.PipeSegment,--
weldJoint.WeldJointCode,
weldType.WeldTypeCode,
weldJoint.JointAttribute,
wl.WeldingLocationCode,
weldJoint.Dia,
weldJoint.Thickness,--
weldJoint.HeartNo1,
weldJoint.HeartNo2,
com1.ComponentsName AS PipeAssembly1,
com2.ComponentsName AS PipeAssembly2,
--material.MaterialCode,
mat1.MaterialCode AS MaterialCode1,
mat2.MaterialCode AS MaterialCode2,
cw.WelderCode AS CoverWelderCode,
fw.WelderCode AS BackingWelderCode,
WeldMethod.WeldingMethodName,
medium.MediumName,
weldingDaily.WeldingDate,
weldingDaily.WeldingDailyCode,
trust.TrustBatchCode,
--TrustBatchCode.DetectionRateCode,
--TrustBatchCode.AcceptLevel,
(CASE WHEN weldJoint.IsHotProess=1 THEN '' ELSE '' END) AS IsHotProess,
null as TrustBatchCode,
null as DetectionRateCode,
null as AcceptLevel,
nde.NDEDate AS CHT_CHECKDATE,
ndeItem.NDEReportNo,
CAST(CAST(ISNULL(weldJoint.Size,0) AS REAL) AS NVARCHAR(8)) AS JOT_Size,
WeldMaterialMat.ConsumablesCode AS WMT_MatCode,
WeldMaterialMat.ConsumablesName AS WMT_Matname,
weldJoint.WeldSilkId,
--WeldMaterialSilk.ConsumablesCode AS hsCode,
--WeldMaterialSilk.ConsumablesName AS hsname,
--WeldMaterialSilk.UserFlux,
weldJoint.Specification,
wps.WPQCode,ndttype.DetectionTypeCode,NULL AS HotReportCode,
(CASE WHEN (PointBatchItem.PointState='1' OR PointBatchItem.PointState='2')
THEN (CASE WHEN PointBatchItem.IsWelderFirst=1 THEN '是首三口' ELSE '' END) ELSE '' END) AS if_dk
FROM Pipeline_WeldJoint AS weldJoint
LEFT JOIN Pipeline_Pipeline AS pipeline ON pipeline.PipelineId = weldJoint.PipelineId
LEFT JOIN Project_WorkArea AS WorkArea ON WorkArea.WorkAreaId = pipeline.WorkAreaId
LEFT JOIN Base_Material AS mat1 ON mat1.MaterialId = weldJoint.Material1Id
LEFT JOIN Base_Material AS mat2 ON mat2.MaterialId = weldJoint.Material2Id
LEFT JOIN Base_WeldingMethod AS WeldMethod ON WeldMethod.WeldingMethodId = weldJoint.WeldingMethodId
LEFT JOIN dbo.Base_WeldType weldType ON weldType.WeldTypeId = weldJoint.WeldTypeId
LEFT JOIN dbo.Base_WeldingLocation wl ON wl.WeldingLocationId = weldJoint.WeldingLocationId
LEFT JOIN Base_Medium AS medium ON medium.MediumId = pipeline.MediumId
LEFT JOIN Base_Components com1 ON com1.ComponentsId=weldJoint.PipeAssembly1Id
LEFT JOIN Base_Components com2 ON com2.ComponentsId=weldJoint.PipeAssembly2Id
LEFT JOIN Base_PipingClass AS pipingClass ON pipingClass.PipingClassId=WeldJoint.PipingClassId
LEFT JOIN dbo.Base_PIPClass pip ON pip.PIPClassId = Pipeline.PIPClassId
LEFT JOIN Pipeline_WeldingDaily AS weldingDaily ON weldingDaily.WeldingDailyId = weldJoint.WeldingDailyId
LEFT JOIN dbo.WPQ_WPQList wps ON wps.WPQId = weldJoint.WPQId
left join Welder_Welder AS fw on weldJoint.BackingWelderId = fw.WelderId
left join Welder_Welder AS cw on weldJoint.CoverWelderId = cw.WelderId
LEFT JOIN Base_Consumables AS WeldMaterialMat ON WeldMaterialMat.ConsumablesId =weldJoint.WeldMatId
--LEFT JOIN Base_Consumables AS WeldMaterialSilk ON WeldMaterialSilk.ConsumablesId =weldJoint.WeldSilkId
LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.WeldJointId =weldJoint.WeldJointId
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = PointBatchItem.PointBatchId
LEFT JOIN dbo.Base_DetectionType ndttype ON ndttype.DetectionTypeId = point.DetectionTypeId
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId = PointBatchItem.PointBatchItemId
LEFT JOIN dbo.Batch_BatchTrust trust ON trust.TrustBatchId = trustItem.TrustBatchId
LEFT JOIN dbo.Batch_NDEItem ndeItem ON ndeItem.TrustBatchItemId = trustItem.TrustBatchItemId
LEFT JOIN dbo.Batch_NDE nde ON nde.NDEID = ndeItem.NDEID
WHERE weldJoint.ProjectId=@projectId
AND(pipeline.WorkAreaId=@workAreaId OR @workAreaId IS NULL)
AND (CHARINDEX(weldJoint.PipelineId,@pipelineIds)>0 or @pipelineIds IS NULl)
--AND(pipeline.PipelineCode=@pipelineCode OR @pipelineCode IS NULl)
GO
UPDATE dbo.Template_Files SET title=REPLACE(title,cast(sortindex as nvarchar(50))+'-','')
GO
UPDATE dbo.Template_Files SET SortIndex=SortIndex+1 where SortIndex>24
GO
INSERT INTO [dbo].[Template_Files]([id],[title],[filePath],[SortIndex])
VALUES('95125974-3DD4-4E16-B4F0-A9D9C9A1406D','管道焊接接头PMI检测比例确认表','',25)
GO
-- PMI处理委托
create table PMI_Delegation
(
Id nvarchar(50) not null primary key,
DelegationNo nvarchar(50) not null,
DelegationDate datetime,
ProjectId nvarchar(50) not null,
InstallationId nvarchar(50),
UnitId nvarchar(50),
DetectionStandard nvarchar(50),
Tabler nvarchar(50),
Remark nvarchar(255),
CreatedTime datetime default getdate()
)
go
---- PMI处理委托 明细
create table PMI_DelegationDetails
(
Id nvarchar(50) not null primary key,
PMIId nvarchar(50) not null,
JointId nvarchar(50) not null,
QualityNo nvarchar(255),
Acceptance nvarchar(255),
Status int not null,
CreatedTime datetime default getdate()
)
go
-- 插入PMI委托菜单
insert into Sys_Menu values('A6FB44C3-0920-4F77-862F-D814FD5E5D23','PMI检测管理','PMI detection management','',21,0,3,NUll,1)
insert into Sys_Menu values(NEWID(),'PMI委托','PMI delegation','/WeldingProcess/PMI/PMIDelegation.aspx',1,'A6FB44C3-0920-4F77-862F-D814FD5E5D23',3,NULL,1)
insert into Sys_Menu values(NEWID(),'PMI检测录入','PMI detection entry','/WeldingProcess/PMI/PMIDetectionEntry.aspx',2,'A6FB44C3-0920-4F77-862F-D814FD5E5D23',3,NULL,1)
GO
/*******PMI委托明细视图***********/
ALTER VIEW [dbo].[View_PMI_DelegationDetails]
AS
/********热处理明细********/
SELECT
TrustItem.Id,
TrustItem.Acceptance,
TrustItem.CreatedTime,
TrustItem.JointId as WeldJointId,
TrustItem.status,
TrustItem.QualityNo,
TrustItem.PMIId,
Trust.ProjectId,
Trust.DelegationNo,
Trust.DelegationDate,
WeldJoint.WeldJointCode,
Pipeline.PipelineCode,
WeldJoint.Specification,
Material.MaterialCode,
Pipeline.WorkAreaId
FROM PMI_DelegationDetails AS TrustItem
LEFT JOIN PMI_Delegation AS Trust ON Trust.Id=TrustItem.PMIId
LEFT JOIN Pipeline_WeldJoint AS WeldJoint ON WeldJoint.WeldJointId=TrustItem.JointId
LEFT JOIN Pipeline_Pipeline AS Pipeline ON Pipeline.PipelineId=WeldJoint.PipelineId
LEFT JOIN Base_Material AS Material ON Material.MaterialId=WeldJoint.Material1Id
GO

BIN
HJGLPackFile_2024.05.12.rar Normal file

Binary file not shown.