Compare commits

..

811 Commits

Author SHA1 Message Date
jinling.yang
f7e6be7925 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/产品的权限优化
# Conflicts:
#	sf_dlm_management/views/product_template_management_view.xml
#	sf_sale/models/quick_easy_order.py
#	sf_sale/models/sale_order.py
#	sf_sale/views/purchase_order_view.xml
2024-02-22 09:35:18 +08:00
禹翔辉
8695a66e3d Accept Merge Request #820: (feature/新增中控接口 -> develop)
Merge Request: 1、新增刀具组、机床刀具组接口,修改中控相关接口名称

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/820?initial=true
2024-02-21 16:28:39 +08:00
yuxianghui
410b384fd6 Merge branch 'feature/中控接口优化' into feature/新增中控接口 2024-02-21 16:26:27 +08:00
yuxianghui
51b7bcac8a 1、新增刀具组、机床刀具组接口,修改中控相关接口名称 2024-02-21 16:24:10 +08:00
马广威
36ce43cf8a Accept Merge Request #819: (feature/制造代码优化 -> develop)
Merge Request: 修复序列号问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/819?initial=true
2024-02-21 15:26:42 +08:00
mgw
b4538a3f9d 修复序列号问题 2024-02-21 15:25:55 +08:00
杨金灵
7d3a320893 Accept Merge Request #818: (feature/优化快速订单 -> develop)
Merge Request: 优化快速订单和工单

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/818?initial=true
2024-02-21 14:54:40 +08:00
jinling.yang
0354f6b136 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化快速订单 2024-02-21 14:52:36 +08:00
jinling.yang
1e006b0bd7 1.工单新增rfid字段
2.修改中控对接的工单接口
3.快速订单材料,型号,客户修改为可选择
2024-02-21 14:52:14 +08:00
马广威
50b0204cc6 Accept Merge Request #817: (feature/制造代码优化 -> develop)
Merge Request: 修复物流方式导致的分配工厂失败问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/817?initial=true
2024-02-21 11:33:18 +08:00
mgw
72df0aa640 修复物流方式导致的分配工厂失败问题 2024-02-21 11:32:06 +08:00
马广威
02bf6a6764 Accept Merge Request #816: (feature/制造代码优化 -> develop)
Merge Request: 货架货位拆分测试异常问题修复

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/816?initial=true
2024-02-20 20:17:50 +08:00
mgw
64581abeb1 测试异常问题修复 2024-02-20 20:17:00 +08:00
马广威
82f80f1d15 Accept Merge Request #815: (feature/制造代码优化 -> develop)
Merge Request: 货架货位对象拆分

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/815
2024-02-20 17:40:01 +08:00
mgw
f324a9d471 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化
# Conflicts:
#	sf_warehouse/views/shelf_location.xml
2024-02-20 17:37:52 +08:00
mgw
6103bca698 货架货位对象拆分 2024-02-20 17:35:31 +08:00
jinling.yang
9a4477de8b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化快速订单 2024-02-20 17:34:52 +08:00
jinling.yang
5646cc492e 1.快速订单新增特征识别路径字段
2.修复销售经理和销售总监看不到快速订单菜单
3.优化系统设置页面,新增特征识别路径展示,去掉重复的业务平台参数配置展示
4.快速订单去掉老版本的特征识别的代码及包,新增最新的特征识别方法
2024-02-20 17:33:06 +08:00
禹翔辉
d5c748db78 Accept Merge Request #814: (feature/序列号添加二维码 -> develop)
Merge Request: 序列号模型添加二维码字段,添加自动根据序列号名称生成二维码的功能,新增打印二维码功能;

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/814?initial=true
2024-02-20 16:05:00 +08:00
yuxianghui
9c08021773 Merge branch 'feature/自动生成二维码' into feature/序列号添加二维码 2024-02-20 16:01:52 +08:00
yuxianghui
cf3ec1b6ae 1、序列号模型添加二维码字段,添加自动根据序列号名称生成二维码的功能,新增打印二维码功能; 2024-02-20 15:59:58 +08:00
禹翔辉
df89f40a24 Accept Merge Request #813: (feature/功能刀具组装优化 -> develop)
Merge Request: 1、删除功能刀具组装模型的打印二维码按钮,隐藏组装单打印按钮;2、添加功能刀具组装时的rfid验重功能;

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/813?initial=true
2024-02-20 14:51:18 +08:00
yuxianghui
5c24cec4f6 Merge branch 'feature/刀具物料查询模型重构' into feature/功能刀具组装优化 2024-02-20 14:40:28 +08:00
杨金灵
4379854b89 Accept Merge Request #812: (feature/删除库存部分代码 -> develop)
Merge Request: 删除库存部分代码

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/812?initial=true
2024-02-20 14:39:18 +08:00
jinling.yang
3a076bbdd1 删除库存部分代码 2024-02-20 14:37:50 +08:00
yuxianghui
bb519b8ab8 1、序列号模型自动跟具序列号名称生成二维码(未完成) 2024-02-20 14:35:28 +08:00
杨金灵
de26109ccc Accept Merge Request #809: (feature/产品的加工参数的权限修复 -> develop)
Merge Request: 产品的加工参数的权限修复

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/809
2024-02-20 14:35:03 +08:00
yuxianghui
53e5aa2017 优化刀具组接口 2024-02-20 14:32:13 +08:00
yuxianghui
0183a5ab2b 1、删除功能刀具组装模型的打印二维码按钮,隐藏组装单打印按钮;2、添加功能刀具组装时的rfid验重功能; 2024-02-20 14:27:43 +08:00
马广威
54c5259ed9 Accept Merge Request #811: (feature/制造代码优化 -> develop)
Merge Request: 分配序列号时增加二维码生成及编码打印

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/811?initial=true
2024-02-20 13:11:39 +08:00
mgw
efdde5aef0 分配序列号时增加二维码生成及编码打印 2024-02-20 13:09:25 +08:00
马广威
584dd11c61 Accept Merge Request #810: (feature/制造代码优化 -> develop)
Merge Request: 代码优化

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/810?initial=true
2024-02-19 17:25:00 +08:00
mgw
635583826f 物流处bug修复 2024-02-19 17:23:57 +08:00
jinling.yang
cbd7b561de 产品的加工参数的权限修复 2024-02-19 17:07:42 +08:00
mgw
9c080e0cb4 权限控制增补 2024-02-19 15:26:36 +08:00
mgw
1c61a8ef1c Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2024-02-19 14:36:13 +08:00
mgw
07ed60e8a7 刀具管理权限优化 2024-02-19 14:35:51 +08:00
禹翔辉
7207d7eb36 Accept Merge Request #808: (feature/重构刀具物料查询 -> develop)
Merge Request: 重构刀具物料查询模型及其相关功能

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/808?initial=true
2024-02-18 17:26:47 +08:00
yuxianghui
9ede024710 Merge branch 'feature/刀具物料查询模型重构' into feature/重构刀具物料查询 2024-02-18 17:23:44 +08:00
yuxianghui
cb8285d0ca 1、重构刀具物料查询模型;2、新增产品创建时产品类别为刀具时,创建刀具物料查询模型记录;3、新增序列号和刀具物料查询模型的关联字段,新增刀具物料是否可用状态字段;并在新增序列号记录时,如果关联的产品的产品类别为刀具时,对对应刀具物料查询记录进行关联; 2024-02-18 17:22:06 +08:00
马广威
3e3f49f8aa Accept Merge Request #807: (feature/制造代码优化 -> develop)
Merge Request: 优化排程单与制造订单生产线状态联动的问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/807
2024-02-18 15:43:32 +08:00
禹翔辉
35cc1ce6dc Accept Merge Request #806: (feature/优化驾驶舱 -> develop)
Merge Request: 优化生产线驾驶舱,将功能刀具组装中心的按键改成组装单的跳转按键

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/806
2024-02-18 10:32:36 +08:00
yuxianghui
b4b70e3cf0 Merge branch 'feature/生产线驾驶舱优化' into feature/优化驾驶舱 2024-02-18 10:28:40 +08:00
yuxianghui
39a2b1035a 优化生产线驾驶舱,将功能刀具组装中心的按键改成组装单的跳转按键 2024-02-18 10:24:21 +08:00
jinling.yang
b370e34dca Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-17 16:38:03 +08:00
jinling.yang
a6b5a823b8 Merge branch 'feature/产品相关岗位权限的修复' into develop 2024-02-17 16:37:33 +08:00
杨金灵
24bcec8646 Accept Merge Request #805: (feature/产品相关岗位权限的修复 -> develop)
Merge Request: 产品相关岗位权限的修复

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/805?initial=true
2024-02-17 16:37:11 +08:00
jinling.yang
5a74c346a7 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/产品相关岗位权限的修复 2024-02-17 16:35:16 +08:00
jinling.yang
1c64ee9b90 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-17 16:34:50 +08:00
jinling.yang
c867b3c7bc 产品相关岗位权限的修复 2024-02-17 16:34:32 +08:00
mgw
a4413af2f3 优化排程单与制造订单生产线状态联动的问题 2024-02-17 15:35:40 +08:00
禹翔辉
f726bbaef6 Accept Merge Request #804: (feature/刀具物料扫码录入验证 -> develop)
Merge Request: 添加功能刀具组装时刀具物料扫码录入验证

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/804?initial=true
2024-02-05 14:13:37 +08:00
yuxianghui
53ce27d623 Merge branch 'feature/功能刀具组装扫录入数据功能优化' into feature/刀具物料扫码录入验证 2024-02-05 14:11:14 +08:00
yuxianghui
b88e4af4e2 优化刀具物料扫码录入验证 2024-02-05 14:09:06 +08:00
jinling.yang
a12c81e60d Merge branch 'feature/修复同步刀具标准库相关接口' into develop 2024-02-05 11:05:56 +08:00
杨金灵
13415dd771 Accept Merge Request #803: (feature/修复同步刀具标准库相关接口 -> develop)
Merge Request: 修复同步刀具标准库相关接口

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/803
2024-02-05 11:05:33 +08:00
jinling.yang
7ea6a78fbd Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复同步刀具标准库相关接口 2024-02-05 10:59:20 +08:00
jinling.yang
d5aaa70013 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-05 10:59:03 +08:00
jinling.yang
f05d0461c3 1.修复同步刀具标准库相关接口2.修复产品存档权限问题 2024-02-05 10:57:57 +08:00
yuxianghui
b525a45107 优化功能刀具组装的刀具物料验证 2024-02-04 17:30:26 +08:00
马广威
6ab0bf7b5d Accept Merge Request #802: (feature/制造代码优化 -> develop)
Merge Request: 控制oee对计划人员只读

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/802?initial=true
2024-02-04 17:25:29 +08:00
jinling.yang
f1335e8252 Merge branch 'feature/修复产品权限问题' into develop 2024-02-04 16:57:44 +08:00
mgw
f0c8a82b43 控制oee对计划人员只读 2024-02-04 16:57:39 +08:00
杨金灵
f435fe3577 Accept Merge Request #801: (feature/修复产品权限问题 -> develop)
Merge Request: 修复产品权限问题

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/801?initial=true
2024-02-04 16:56:05 +08:00
jinling.yang
9bae3a4e5f Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复产品权限问题 2024-02-04 16:53:28 +08:00
jinling.yang
e7808216ca Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-04 16:53:12 +08:00
jinling.yang
e48c5e39ac 修复产品页面部分一对多字段的访问权限 2024-02-04 16:52:57 +08:00
龚启豪
0d2e043449 Accept Merge Request #799: (feature/修改机床参数bug -> develop)
Merge Request: 处理权限相关缺陷

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/799
2024-02-04 16:07:25 +08:00
马广威
f2a822aeda Accept Merge Request #800: (feature/制造代码优化 -> develop)
Merge Request: 机企猫 隐藏项目模块修改接入(可隐藏导出、新建等项目)

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/800?initial=true
2024-02-04 16:06:27 +08:00
qihao.gong@jikimo.com
6cdc547da5 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2024-02-04 15:57:16 +08:00
qihao.gong@jikimo.com
c11dc4f9c4 修改权限相关缺陷 2024-02-04 15:56:53 +08:00
mgw
f6c121771f 机企猫 隐藏项目模块修改接入(可隐藏导出、新建等项目) 2024-02-04 15:32:25 +08:00
jinling.yang
db77b0b3ac Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-04 14:26:23 +08:00
jinling.yang
9565927ba6 Merge branch 'feature/修改客户编辑权限' into develop 2024-02-04 14:25:33 +08:00
杨金灵
18d8212c3f Accept Merge Request #798: (feature/修改客户编辑权限 -> develop)
Merge Request: 修改客户编辑权限

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/798?initial=true
2024-02-04 14:25:17 +08:00
jinling.yang
1ca5817379 客户页面优化编辑 2024-02-04 14:22:53 +08:00
jinling.yang
0185a3bc2b 修复客户页面除销售员和采购员字段可编辑,其余不可编辑 2024-02-02 17:27:08 +08:00
jinling.yang
0c4407ce8e Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-02 15:59:13 +08:00
jinling.yang
f11c88cf1b Merge branch 'feature/修复工件配送及权限' into develop 2024-02-02 15:59:00 +08:00
杨金灵
7e025e7ca1 Accept Merge Request #797: (feature/修复工件配送及权限 -> develop)
Merge Request: 修复工件配送及权限

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/797?initial=true
2024-02-02 15:58:45 +08:00
jinling.yang
4da7114655 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复工件配送及权限 2024-02-02 15:52:35 +08:00
jinling.yang
e3bac55346 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-02 15:52:19 +08:00
jinling.yang
8c52c42074 1.修复来自业务平台的自动生产的采购单状态
2.修复所有同步cloud的数据
2024-02-02 15:52:06 +08:00
jinling.yang
ab9fcf97e0 1.修复工件配送扫描工件(坯料)时,同运工件显示的是坯料对应的制造订单号,修改配送时长字段类型及对应的时长方法,修复工件装夹岗不能修改配送工件
2.修复产品中计划总监岗和调度总监岗不能访问切削速度的权限
2024-02-01 17:37:41 +08:00
禹翔辉
f270f683de Accept Merge Request #796: (feature/功能刀具组装扫录入数据功能优化 -> develop)
Merge Request: 添加功能刀具组装时扫描录入刀具物料时进行物料是否已入库和是否已经使用的判断

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/796?initial=true
2024-02-01 17:11:10 +08:00
yuxianghui
8e806225d0 添加功能刀具组装时扫描录入刀具物料时进行物料是否已入库和是否已经使用的判断 2024-02-01 17:07:19 +08:00
jinling.yang
56847c7a22 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-02-01 11:44:57 +08:00
jinling.yang
9973370fd6 Merge branch 'feature/优化工件配送列表' into develop 2024-02-01 11:44:39 +08:00
杨金灵
3cb71a8017 Accept Merge Request #795: (feature/优化工件配送列表 -> develop)
Merge Request: 优化工件配送列表

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/795
2024-02-01 11:44:16 +08:00
jinling.yang
cc72ddfad7 释放注释代码 2024-02-01 11:35:08 +08:00
jinling.yang
527ab396ee 1.新增工件配送向导2.修复采购审核按钮不可见3.配置中新增agv路径字段4.优化工单上按钮显示条件 2024-01-30 17:40:05 +08:00
jinling.yang
1c90c97b92 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-30 11:55:38 +08:00
jinling.yang
d70d3a9254 Merge branch 'feature/修改admin的访问权限' into develop 2024-01-30 11:55:03 +08:00
杨金灵
2d4ae18e64 Accept Merge Request #794: (feature/修改admin的访问权限 -> develop)
Merge Request: 修改访问权限和采购页面

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/794?initial=true
2024-01-30 11:54:21 +08:00
jinling.yang
92850fe34f 采购页面新增审核状态字段 2024-01-30 11:52:29 +08:00
jinling.yang
17bbe1414b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改admin的访问权限 2024-01-30 11:43:56 +08:00
jinling.yang
7f56a75722 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-30 11:43:39 +08:00
jinling.yang
51a9b55782 修改admin在同步模型的访问权限 2024-01-30 11:43:18 +08:00
马广威
addc68ed5a Accept Merge Request #793: (feature/制造代码优化 -> develop)
Merge Request: 优化货位颜色及启用货位

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/793
2024-01-30 09:49:25 +08:00
mgw
5e9d541239 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2024-01-30 09:48:38 +08:00
mgw
642a93c449 优化货位颜色及启用货位 2024-01-30 09:48:14 +08:00
jinling.yang
ff7151399f Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-30 09:45:28 +08:00
jinling.yang
a67f45f9d5 Merge branch 'feature/新增工件装夹预调工单任务' into develop 2024-01-30 09:45:07 +08:00
杨金灵
98ef86866a Accept Merge Request #791: (feature/新增工件装夹预调工单任务 -> develop)
Merge Request: 新增工件装夹预调工单任务

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/791
2024-01-30 09:44:40 +08:00
马广威
f2c70fa167 Accept Merge Request #792: (feature/制造代码优化 -> develop)
Merge Request: 修复货位问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/792?initial=true
2024-01-30 09:13:12 +08:00
mgw
1c0187d55b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2024-01-30 09:12:27 +08:00
mgw
04244dd17a 修复货位问题 2024-01-30 09:12:02 +08:00
jinling.yang
da63b0b7ff Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增工件装夹预调工单任务 2024-01-29 19:45:46 +08:00
jinling.yang
a088ee9ed5 1.制造模块内配置下的所有模型增加管理员(admin)权限
2.工单上的工件配送优化验证及对应的页面上新增工件配送按钮
2024-01-29 19:43:57 +08:00
禹翔辉
ee78dda3a9 Accept Merge Request #790: (feature/功能刀具添加fid -> develop)
Merge Request: 功能刀具模块的功能刀具添加fid字段,隐藏序列号字段

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/790
2024-01-29 17:28:06 +08:00
yuxianghui
e13bd0dc61 修改功能刀具预警的rfid关联字段 2024-01-29 17:25:34 +08:00
yuxianghui
9f57ad6aaf 将fid改为rfid 2024-01-29 17:23:17 +08:00
yuxianghui
8c4996b7c2 功能刀具模块的功能刀具添加fid字段,隐藏序列号字段 2024-01-29 17:05:56 +08:00
jinling.yang
cf2aaa38fe 1.修复材料型号同步报验证问题2.优化工单的工件派送3.计划里新增生产线的优化 2024-01-26 17:46:53 +08:00
马广威
ac900dd3f0 Accept Merge Request #789: (feature/制造代码优化 -> develop)
Merge Request: 修复数据同步问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/789?initial=true
2024-01-26 15:09:07 +08:00
mgw
0e762f9cbc Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2024-01-26 15:08:29 +08:00
mgw
4ee4b28389 修复数据同步问题 2024-01-26 14:18:10 +08:00
龚启豪
d36acedaa3 Accept Merge Request #788: (feature/修改机床参数bug -> develop)
Merge Request: 增加设备运行日志,agv运行日志

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/788
2024-01-26 11:31:19 +08:00
龚启豪
1311d5be1e Merge branch refs/heads/develop into refs/heads/feature/修改机床参数bug 2024-01-26 11:28:51 +08:00
qihao.gong@jikimo.com
207cd83d3c 取消OCC注释 2024-01-26 11:27:12 +08:00
jinling.yang
37161e2e20 1.修改工单的托盘序列号,托盘名称,托盘品牌,托盘类型,托盘型号字段类型,且页面对应字段改为只读
2.装夹预调工单新增扫条形码,扫码时对该工单进行自动开始并将条码里对应的托盘产品信息回填到托盘序列号,托盘名称,托盘品牌,托盘类型,托盘型号字段上,点击完成时对前置三元定位检测参数进行验证
3.研究打印序列号(多个)
2024-01-25 17:51:57 +08:00
qihao.gong@jikimo.com
6461e3a423 修改货架货位看板颜色 2024-01-25 17:36:34 +08:00
黄焱
76393d438b Accept Merge Request #787: (feature/前端样式修改 -> develop)
Merge Request: 修改货架货位空闲颜色

Created By: @黄焱
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/787?initial=true
2024-01-25 10:09:48 +08:00
黄焱
50ced99785 修改货架货位空闲颜色 2024-01-25 10:03:53 +08:00
jinling.yang
8e3a316200 采购入库时,新增打印序列号方法 2024-01-24 17:30:59 +08:00
qihao.gong@jikimo.com
fc7c66c615 AGV增加运行日志
设备oee增加运行日志
2024-01-24 17:29:42 +08:00
jinling.yang
2daeb01c4d Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增工件装夹预调工单任务 2024-01-24 16:04:53 +08:00
杨金灵
1818e97289 Accept Merge Request #786: (feature/修复平台派过来的销售订单缺少【取消】按钮 -> develop)
Merge Request: 修复采购和销售按钮显示问题

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/786?initial=true
2024-01-24 16:04:13 +08:00
jinling.yang
e661297b5d 修复采购总监审核菜单单-审核通过后没有反应-订单状态没有变 2024-01-24 15:59:58 +08:00
jinling.yang
926caeca97 工件配送文字修改 2024-01-24 14:54:07 +08:00
jinling.yang
403ba64e50 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增工件装夹预调工单任务
# Conflicts:
#	sf_manufacturing/views/mrp_production_addional_change.xml
2024-01-24 14:39:47 +08:00
jinling.yang
cdc3c52784 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-24 14:24:42 +08:00
马广威
7000b66683 Accept Merge Request #785: (feature/制造代码优化 -> develop)
Merge Request: 调整视图显隐控制逻辑

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/785?initial=true
2024-01-24 14:24:35 +08:00
jinling.yang
82f54b5d83 制造订单页面新增生产线和计划开始加工时间字段 2024-01-24 14:24:27 +08:00
mgw
1af08763ea 调整视图显隐控制逻辑 2024-01-24 14:24:01 +08:00
jinling.yang
8f379a2635 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增工件装夹预调工单任务
# Conflicts:
#	sf_manufacturing/models/mrp_workorder.py
2024-01-23 17:42:38 +08:00
马广威
96b0773c00 Accept Merge Request #784: (feature/制造代码优化 -> develop)
Merge Request: 物流相关增量开发,修改一些原生按钮,修改一些翻译。增加功能:当为非“自提”单时,必须进行物流下单才能进行出库操作。增加对字段的显隐控制

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/784
2024-01-23 17:32:53 +08:00
mgw
79f8cd21a9 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2024-01-23 17:31:04 +08:00
mgw
5c129331e0 增加功能:当为非“自提”单时,必须进行物流下单才能进行出库操作。增加对字段的显隐控制 2024-01-23 16:13:53 +08:00
jinling.yang
cddb025e98 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-23 15:33:37 +08:00
jinling.yang
1e2272c13a 新增工件配送对象 2024-01-23 15:33:17 +08:00
禹翔辉
d955832bd8 Accept Merge Request #783: (feature/新增工件配送模型 -> develop)
Merge Request: 新增工件配送模型

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/783?initial=true
2024-01-23 15:32:18 +08:00
yuxianghui
4a52327acd Merge remote-tracking branch 'origin/feature/关闭接口的调用' into feature/新增工件配送模型 2024-01-23 15:30:10 +08:00
yuxianghui
136d0f5156 新增工件配送模型及其tree视图,search视图,添加自动计算配送时长功能; 2024-01-23 15:29:07 +08:00
mgw
0254387c03 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化
# Conflicts:
#	sf_sale/models/sale_order.py
2024-01-23 10:36:21 +08:00
mgw
90f8c4143e 物流相关增量开发,修改一些原生按钮,修改一些翻译 2024-01-23 10:34:49 +08:00
qihao.gong@jikimo.com
0ef13504e7 修改货架货位关联移动历史调拨单关联 2024-01-22 17:33:40 +08:00
禹翔辉
40bf41c93d Accept Merge Request #782: (feature/关闭接口的调用 -> develop)
Merge Request: 注释接口的调用方法

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/782
2024-01-22 17:16:26 +08:00
yuxianghui
3f8aded61c Merge branch 'feature/CAM用刀优化及添加接口' into feature/关闭接口的调用 2024-01-22 17:14:19 +08:00
yuxianghui
f5c555ec86 注释新增接口的调用 2024-01-22 17:11:45 +08:00
禹翔辉
3e7f145255 Accept Merge Request #781: (feature/CAM用刀优化及添加接口 -> develop)
Merge Request: 1、添加机床刀位字段

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/781?initial=true
2024-01-22 15:55:40 +08:00
yuxianghui
2a5a9de3e3 1、添加机床刀位字段 2024-01-22 15:54:30 +08:00
jinling.yang
d2bca2ff51 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-22 15:45:19 +08:00
jinling.yang
f9d6a13d33 Merge branch 'feature/新增机台日计划,工件预调(前置三元检测),NC程序下载接口' into develop 2024-01-22 15:45:00 +08:00
杨金灵
adcd2c39fc Accept Merge Request #779: (feature/新增机台日计划,工件预调(前置三元检测),NC程序下载接口 -> develop)
Merge Request: 新增机台日计划,工件预调(前置三元检测),NC程序下载接口

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/779
2024-01-22 15:41:49 +08:00
jinling.yang
b37d547359 http验证代码还原 2024-01-22 15:41:20 +08:00
马广威
72f5496905 Accept Merge Request #780: (feature/制造代码优化 -> develop)
Merge Request: 增加刀具管理权限控制,刀具组权限控制,隐藏工单上原生按钮,修复只读权限后修改记录无权限问题等

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/780?initial=true
2024-01-22 15:40:23 +08:00
jinling.yang
daa7c467f9 注释代码还原 2024-01-22 15:37:06 +08:00
jinling.yang
12c6959ba4 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增机台日计划,工件预调(前置三元检测),NC程序下载接口
# Conflicts:
#	sf_manufacturing/controllers/controllers.py
2024-01-22 15:35:13 +08:00
龚启豪
81fe1cf486 Accept Merge Request #778: (feature/修改机床参数bug -> develop)
Merge Request: 修改视图bug

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/778?initial=true
2024-01-22 14:49:20 +08:00
禹翔辉
b5a8379d52 Accept Merge Request #777: (feature/CAM用刀优化及添加接口 -> develop)
Merge Request: CAM用刀优化,新增接口

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/777
2024-01-22 14:48:57 +08:00
qihao.gong@jikimo.com
92fc988951 修改视图bug 2024-01-22 14:43:58 +08:00
yuxianghui
d03813db40 Merge remote-tracking branch 'origin/feature/接口及CAM用刀' into feature/CAM用刀优化及添加接口 2024-01-22 14:42:45 +08:00
龚启豪
1b3b80f735 Accept Merge Request #776: (feature/修改机床参数bug -> develop)
Merge Request: 合并后置三元和CNC工单

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/776
2024-01-22 14:39:06 +08:00
qihao.gong@jikimo.com
4efb6dc6d0 Merge branch 'feature/修改机床参数bug' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts:
#	sf_warehouse/views/view.xml
2024-01-22 14:37:59 +08:00
yuxianghui
f58420ac46 Merge remote-tracking branch 'origin/feature/新增中控对接接口' into feature/接口及CAM用刀
# Conflicts:
#	sf_tool_management/models/base.py
2024-01-22 14:37:57 +08:00
qihao.gong@jikimo.com
7b2b15d601 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts:
#	sf_warehouse/views/view.xml
2024-01-22 14:37:25 +08:00
qihao.gong@jikimo.com
b9ba29d276 取消OCC注释 2024-01-22 14:36:36 +08:00
龚启豪
e0baa2574a Merge branch refs/heads/develop into refs/heads/feature/修改机床参数bug 2024-01-22 14:33:26 +08:00
yuxianghui
fced85f530 1、删除无语字段 2024-01-22 14:32:33 +08:00
qihao.gong@jikimo.com
e80056938f 修改库存配置的审核按钮 2024-01-22 14:30:53 +08:00
yuxianghui
b5c7be8de0 1、新增机床刀具组接口,在刀具组新建和更新时调用接口;2、新增零件特采接口,在质量检测审核之后调用接口; 2024-01-19 17:26:45 +08:00
jinling.yang
b0104e7b93 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增机台日计划,工件预调(前置三元检测),NC程序下载接口 2024-01-19 17:18:59 +08:00
杨金灵
bd9b52e6ce Accept Merge Request #775: (feature/修复平台派单采购单无买家问题 -> develop)
Merge Request: 修复平台派单采购单无买家问题

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/775
2024-01-19 17:17:15 +08:00
jinling.yang
af348c4d8f 1.修复平台派单采购单无买家问题2.还原获取CNC程序代码 2024-01-19 17:11:20 +08:00
jinling.yang
9e65f947f9 Merge branch 'feature/修复缺陷' into develop 2024-01-19 16:03:44 +08:00
jinling.yang
3226942ed3 1.修复产品类别和计量单位去掉审核状态字段2.优化bfm派单至sf的销售订单流程3.工序增加编码字段 2024-01-19 15:45:15 +08:00
mgw
2dfd3c9128 增加刀具管理权限控制,刀具组权限控制,隐藏工单上原生按钮,修复只读权限后修改记录无权限问题等 2024-01-19 11:49:57 +08:00
jinling.yang
eb117aef86 1.修复采购总监审核采购单审核不通过后-还显示【审核】按钮2.新增采购总监审核采购单审核不通过后-还显示【审核】按钮3.产品详情界面的删除按钮要隐藏 2024-01-18 17:39:22 +08:00
yuxianghui
3575f0c5c9 1、工单的cnc加工模型添加功能刀具类型字段;2、添加根据刀具类型和刀具名称检索现有功能刀具是否满足需求,如果不满足则创建CAM工单程序用刀计划记录的功能记录;3、添加MES装刀指令接口,根据cnc加工所需的刀具类型和刀具名称检索现有机床内功能刀具是否满足需求,如果不满足则发送MES装刀指令;4、添加刀具组接口,新增功能刀具时传送功能刀具名称、编码、刀具组。 2024-01-18 17:33:54 +08:00
qihao.gong@jikimo.com
aa810bbda2 零件质检接口 修改coding缺陷 2024-01-18 17:26:31 +08:00
jinling.yang
2c12f5b9b6 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-18 14:26:51 +08:00
马广威
72b89288f2 Accept Merge Request #773: (feature/制造代码优化 -> develop)
Merge Request: 增加排程动作对销售订单状态的修改,对除能操作的用户外隐藏部分原生按钮

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/773
2024-01-18 09:19:34 +08:00
mgw
cffda26ed0 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2024-01-18 09:14:25 +08:00
mgw
eefabbd5b3 添加列表框,但暂时不启用 2024-01-18 09:13:41 +08:00
mgw
6bb46186b1 取消部分审核按钮 2024-01-17 17:56:15 +08:00
mgw
4ab1409b13 修改制造模块,使得原生操作按钮只对制造用户可见 2024-01-17 17:44:10 +08:00
jinling.yang
bba2c1d839 优化自动化传递工单号获取工单信息接口 2024-01-17 17:33:13 +08:00
yuxianghui
d9115333bf 1、优化CAM工单程序用刀计划模型,新增大量字段,优化tree视图及form视图字段及其布局;2、添加CAM换刀申请功能和撤销功能及其按钮;3、添加根据刀具类型和刀具名称检索现有功能刀具是否满足需求,如果不满足则创建CAM工单程序用刀计划记录的功能接口(进行中)。 2024-01-17 17:30:16 +08:00
qihao.gong@jikimo.com
2b7243f69c 合并cnc加工和后置检测工单,新增工单开始结束接口 2024-01-17 17:26:24 +08:00
mgw
a3c8082906 库存处隐藏退回按钮 2024-01-17 14:45:34 +08:00
mgw
9bab450af1 对除库存用户外,隐藏操作按钮 2024-01-17 09:56:40 +08:00
yuxianghui
7520d71adb 1、优化机床模型的标准刀库对象,删除了制造模块中机床刀位模型大部分字段,在刀具管理模块中通过继承机床刀位模型新增字段,同时前端机床from视图中的刀位的tree视图新增大量字段;2、刀具管理模块新增controllers模块文件,新增机床当前刀库实时信息接口。 2024-01-16 17:30:59 +08:00
jinling.yang
4f0c7ad274 1.新增机台日计划接口
2.新工件预调(前置三元检测)接口
3.,新NC程序下载接口接口
2024-01-16 17:25:25 +08:00
jinling.yang
d6e36eea99 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-16 14:39:01 +08:00
qihao.gong@jikimo.com
0ea69f41e2 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2024-01-16 14:30:26 +08:00
jinling.yang
de142bd371 Merge branch 'feature/新增与中控系统对接的接口' into develop 2024-01-16 14:23:10 +08:00
杨金灵
cb14bb4ea8 Accept Merge Request #771: (feature/新增与中控系统对接的接口 -> develop)
Merge Request: 新增自动化传递工单号获取工单信息接口

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/771
2024-01-16 14:22:42 +08:00
jinling.yang
22176eda69 接口优化 2024-01-16 11:00:01 +08:00
qihao.gong@jikimo.com
bb75b73247 新增设备OEE菜单 以及对象 2024-01-15 17:45:43 +08:00
jinling.yang
1b490951b1 1.新增自动化传递工单号获取工单信息接口 2024-01-15 17:31:15 +08:00
mgw
f19af2a33f 增加排程动作对销售订单状态的修改 2024-01-12 16:40:29 +08:00
杨金灵
d0e92a649a Accept Merge Request #770: (feature/修复产品bug -> develop)
Merge Request: 修复产品问题

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/770
2024-01-12 16:23:05 +08:00
jinling.yang
687af76372 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复产品bug 2024-01-12 16:19:16 +08:00
jinling.yang
3acb32a5c2 修复产品模版采购选未过滤供应商及产品Tree视图列表可删除问题 2024-01-12 16:18:57 +08:00
黄焱
8d7dcda582 Accept Merge Request #769: (feature/前端样式修改 -> develop)
Merge Request: 设置modal弹窗样式

Created By: @黄焱
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/769?initial=true
2024-01-11 15:51:04 +08:00
黄焱
fc2c1e06d9 设置modal弹窗样式 2024-01-11 15:47:39 +08:00
禹翔辉
6c57df8270 Accept Merge Request #768: (feature/夹具型号同步优化 -> develop)
Merge Request: 功能刀具优化,夹具型号同步功能优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/768
2024-01-11 14:14:34 +08:00
yuxianghui
d042de9e84 Merge remote-tracking branch 'origin/feature/功能刀具新增字段' into feature/夹具型号同步优化 2024-01-11 14:11:57 +08:00
yuxianghui
bc6303d1af 1、删除夹具xml中的无用代码;2、优化夹具物料同步功能 2024-01-11 14:10:49 +08:00
yuxianghui
077ce6d37f 1、删除夹具型号自动更新code值的方法;2、优化功能刀具安全库存创建功能刀具组装单方法;3、优化功能刀具列表中的能力数据的图文展示数据; 2024-01-10 17:42:59 +08:00
杨金灵
0cf3e6e7d6 Accept Merge Request #767: (feature/修复供应商重复验证 -> develop)
Merge Request: 修复供应商重复验证

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/767
2024-01-10 17:18:40 +08:00
jinling.yang
027537080d Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复供应商重复验证 2024-01-10 16:43:58 +08:00
jinling.yang
95d29bb20d 修复供应商名称,税,邮箱重复验证问题 2024-01-10 16:43:28 +08:00
龚启豪
461bc1f86e Accept Merge Request #766: (feature/修改机床参数bug -> develop)
Merge Request: 处理CNC文件下发失败的bug

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/766
2024-01-10 15:50:57 +08:00
qihao.gong@jikimo.com
1bc09a4424 制造订单 2024-01-10 15:50:09 +08:00
qihao.gong@jikimo.com
e6866552bc 处理CNC文件下发失败的bug 2024-01-10 15:48:03 +08:00
jinling.yang
fd7b0630fe Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-10 15:28:08 +08:00
jinling.yang
6e6575eadb Merge branch 'feature/修复采购库存销售模块问题' into develop 2024-01-10 15:27:19 +08:00
杨金灵
cc6ec38bfa Accept Merge Request #765: (feature/修复采购库存销售模块问题 -> develop)
Merge Request: 修复采购库存销售模块问题

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/765?initial=true
2024-01-10 15:27:01 +08:00
jinling.yang
8eefbeba54 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复采购库存销售模块问题 2024-01-10 15:25:19 +08:00
jinling.yang
94a24bb469 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-10 15:24:55 +08:00
jinling.yang
82c0269761 1.材料型号新增获取方式和供应商的输入验证2.每齿走刀量去掉切削速度字段 2024-01-10 15:24:31 +08:00
马广威
631f72bfe9 Accept Merge Request #764: (feature/制造代码优化 -> develop)
Merge Request: 修复排程时,工单时间未生成的问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/764?initial=true
2024-01-10 12:20:49 +08:00
mgw
b5147678b1 修复排程时,工单时间未生成的问题 2024-01-10 12:20:03 +08:00
杨金灵
9047e54afa Accept Merge Request #763: (feature/修复采购库存销售模块问题 -> develop)
Merge Request: 修复采购库存销售模块问题

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/763?initial=true
2024-01-09 17:34:53 +08:00
jinling.yang
8a15ce12d9 修复销售总监创建报价单时在其他信息中不能选择其他销售人员 2024-01-09 17:05:35 +08:00
jinling.yang
4c3e7e40cb Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复采购库存销售模块问题
# Conflicts:
#	sf_base/models/tool_base_new.py
2024-01-09 16:55:19 +08:00
jinling.yang
128dd60a89 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-09 16:54:33 +08:00
jinling.yang
f82cb462cf 1.去掉警告2.销售订单详情显示进度状态字段3.修复采购权限组没有存库模块包括以内的相关菜单的访问权限 2024-01-09 16:54:16 +08:00
马广威
7f6025afc0 Accept Merge Request #762: (feature/制造代码优化 -> develop)
Merge Request: 修改一些访问权限

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/762?initial=true
2024-01-09 16:10:24 +08:00
mgw
9bbe3f28a5 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化
# Conflicts:
#	sf_manufacturing/security/ir.model.access.csv
2024-01-09 16:08:18 +08:00
mgw
3f2a13448d 修改一些访问权限 2024-01-09 16:02:41 +08:00
马广威
e11976bb61 Accept Merge Request #761: (feature/制造代码优化 -> develop)
Merge Request: 修复批量排程缺少工具包的问题,修改标签翻译

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/761?initial=true
2024-01-09 14:52:18 +08:00
龚启豪
00541c1c8f Accept Merge Request #760: (feature/修改机床参数bug -> develop)
Merge Request: 处理装夹和前置检测工单合并,以及储存完工产品就绪状态

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/760?initial=true
2024-01-09 14:50:20 +08:00
qihao.gong@jikimo.com
cac7815369 处理引入缺失报错 2024-01-09 14:47:06 +08:00
qihao.gong@jikimo.com
c336230287 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2024-01-09 14:17:50 +08:00
qihao.gong@jikimo.com
1a896a730e 拉取最新代码 2024-01-09 14:17:38 +08:00
jinling.yang
eaad8337d4 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-09 14:16:41 +08:00
jinling.yang
b4ee93bc5a Merge branch 'feature/修复采购按钮显示及产品字段问题' into develop 2024-01-09 12:22:37 +08:00
杨金灵
3919290985 Accept Merge Request #759: (feature/修复采购按钮显示及产品字段问题 -> develop)
Merge Request: 修复采购按钮显示及产品字段问题

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/759?initial=true
2024-01-09 12:22:13 +08:00
jinling.yang
ec3f00f4a3 去掉待删除字段 2024-01-09 12:05:14 +08:00
jinling.yang
f15ac2c7fd Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-09 12:03:15 +08:00
jinling.yang
cc9e6fa3d1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复采购按钮显示及产品字段问题 2024-01-09 12:01:47 +08:00
jinling.yang
3c3ffa1ebc 1.修复采购订单确认按钮显示问题2.修复涉及适合冷却方式字段的相关模型内该字段的过滤查询条件3.修改产品的适合刀柄型号字段类型4.修改销售订单的输入验证 2024-01-09 12:01:20 +08:00
禹翔辉
776515a861 Accept Merge Request #758: (feature/功能刀具新增字段 -> develop)
Merge Request: 1、删除产品中和夹具相关的无用代码;2、添加夹具型号和联装类型必填判断条件

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/758
2024-01-09 11:18:04 +08:00
yuxianghui
8332c5d141 1、删除产品中和夹具相关的无用代码;2、添加夹具型号和联装类型必填判断条件 2024-01-09 11:15:48 +08:00
qihao.gong@jikimo.com
e6c77e7b35 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts:
#	sf_manufacturing/models/product_template.py
2024-01-09 10:38:40 +08:00
qihao.gong@jikimo.com
1fab9ad253 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts:
#	sf_manufacturing/models/product_template.py
2024-01-09 10:36:13 +08:00
禹翔辉
e4de4f2af0 Accept Merge Request #757: (feature/功能刀具新增字段 -> develop)
Merge Request: 功能刀具添加字段,夹具物料优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/757
2024-01-09 10:35:52 +08:00
yuxianghui
afdfde245a Merge remote-tracking branch 'origin/feature/产品添加夹具型号信息' into feature/功能刀具新增字段
# Conflicts:
#	sf_manufacturing/models/product_template.py
2024-01-09 10:33:16 +08:00
qihao.gong@jikimo.com
86366cc6cb 修改工单完成后,自动完成制造订单,完工产品就绪状态 2024-01-09 10:31:43 +08:00
yuxianghui
4e6a66c681 1、删除功能刀具组装单的加工工厂字段 2024-01-09 10:30:18 +08:00
mgw
f5805ce6ae 修改标签翻译 2024-01-09 10:11:13 +08:00
jinling.yang
8239e53a76 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-09 09:45:40 +08:00
jinling.yang
bbaede2166 Merge branch 'feature/修复销售和采购' into develop 2024-01-09 09:45:24 +08:00
杨金灵
6e68611f6e Accept Merge Request #756: (feature/修复销售和采购 -> develop)
Merge Request: 修复采购和销售

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/756?initial=true
2024-01-09 09:44:53 +08:00
jinling.yang
31dd710f6a 修改确认按钮名称 2024-01-09 09:40:56 +08:00
jinling.yang
8b2b58dfa1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复销售和采购 2024-01-09 09:32:30 +08:00
jinling.yang
84f62ebe1c Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-09 09:32:10 +08:00
jinling.yang
ce2f8714d0 修复bug 2024-01-09 09:31:44 +08:00
mgw
931b78ee03 修复批量排程缺少工具包的问题 2024-01-08 23:24:42 +08:00
马广威
61554bf3e5 Accept Merge Request #755: (feature/制造代码优化 -> develop)
Merge Request: 去掉tree视图的schedule_state字段

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/755?initial=true
2024-01-08 19:52:10 +08:00
mgw
0b070de19c 去掉tree视图的schedule_state字段 2024-01-08 19:34:24 +08:00
马广威
7077b8a297 Accept Merge Request #754: (feature/制造代码优化 -> develop)
Merge Request: tree视图中的"批量排程"按钮优化为向导的实现方式,修改制造订单的状态字段以及与排程单的交互逻辑,优化一些翻译

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/754
2024-01-08 19:06:45 +08:00
mgw
e8995acc87 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2024-01-08 19:03:34 +08:00
mgw
fbaa81fe7a 修改制造订单的状态字段以及与排程单的交互逻辑,优化一些翻译 2024-01-08 19:02:59 +08:00
qihao.gong@jikimo.com
3742a3b163 修改自动完成制造订单得方法,完工产品捡取需变成就绪状态 2024-01-08 17:51:16 +08:00
yuxianghui
498e1c12af 1、所有功能刀具相关模型添加刀具组字段对象,并且功能刀具名称根据规则自动生成;2、功能刀具组装时按规则自动生成功能刀具编码; 2024-01-08 17:42:34 +08:00
qihao.gong@jikimo.com
317b5d4ced Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2024-01-08 16:39:15 +08:00
黄焱
3c65b3e3df Accept Merge Request #753: (feature/前端样式修改 -> develop)
Merge Request: 修改sf表格样式

Created By: @黄焱
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/753?initial=true
2024-01-08 16:33:13 +08:00
黄焱
4dde30f9f9 修改sf表格样式 2024-01-08 16:28:49 +08:00
qihao.gong@jikimo.com
631d59f95e 处理本地报错 2024-01-08 16:18:15 +08:00
jinling.yang
8928d497ff Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2024-01-08 16:12:31 +08:00
qihao.gong@jikimo.com
99b1d5f534 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2024-01-08 15:56:44 +08:00
jinling.yang
61d13b90dc Merge branch 'feature/优化刀具基本参数同步' into develop 2024-01-08 15:56:22 +08:00
杨金灵
31bb7f0c97 Accept Merge Request #752: (feature/优化刀具基本参数同步 -> develop)
Merge Request: 优化刀具基本参数同步及刀具产品模版

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/752
2024-01-08 15:56:06 +08:00
jinling.yang
d980a036cd 还原代码 2024-01-08 15:52:33 +08:00
jinling.yang
f8c6c766cb 优化刀具模版和刀具标准库 2024-01-08 15:44:16 +08:00
qihao.gong@jikimo.com
41fe63d948 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2024-01-08 15:30:05 +08:00
qihao.gong@jikimo.com
ce53afe1b0 修改权限组访问权限 2024-01-08 15:29:48 +08:00
mgw
bc4a4df53e tree视图中的"批量排程"按钮优化为向导的实现方式 2024-01-08 14:52:29 +08:00
jinling.yang
3f448bc6da Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化刀具基本参数同步
# Conflicts:
#	sf_dlm_management/views/product_template_management_view.xml
2024-01-08 10:08:50 +08:00
yuxianghui
d1c10f56d1 1、sf_base新增刀具组模型;2、所以功能刀具相关模型添加刀具组对象字段(进行中); 2024-01-05 17:33:06 +08:00
jinling.yang
edf4699e9e 1.新增每日同步切削速度和每齿走刀量及切削宽度和深度的接口
2.优化产品模版
2024-01-05 17:30:13 +08:00
禹翔辉
ad025eb6da Accept Merge Request #751: (feature/产品添加夹具型号信息 -> develop)
Merge Request: 夹具物料同步,产品添加夹具物料信息;

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/751?initial=true
2024-01-05 14:48:11 +08:00
yuxianghui
e5bf0d8205 Merge remote-tracking branch 'origin/feature/夹具型号同步' into feature/产品添加夹具型号信息 2024-01-05 14:43:48 +08:00
yuxianghui
831a91c925 1、产品新添七种夹具物料前端字段完成布局展示;2、产品选取夹具型号规格后自动带入规格数据到产品夹具物料参数; 2024-01-05 14:42:38 +08:00
黄焱
bc3325bd3b Accept Merge Request #750: (feature/前端样式修改 -> develop)
Merge Request: 修改表格,等样式

Created By: @黄焱
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/750?initial=true
2024-01-05 14:13:52 +08:00
黄焱
e29883d0de 修改表格,等样式 2024-01-05 14:10:43 +08:00
龚启豪
5b9b700372 Accept Merge Request #749: (feature/修改机床参数bug -> develop)
Merge Request: 修改获取cnc从工单到制造订单

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/749
2024-01-05 14:03:31 +08:00
qihao.gong@jikimo.com
c81dc99aef 修改获取CNC程序从工单到制造订单 2024-01-05 11:23:27 +08:00
马广威
c0a3a550d7 Accept Merge Request #748: (feature/制造代码优化 -> develop)
Merge Request: 代码优化,权限问题修复

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/748
2024-01-05 10:29:32 +08:00
mgw
0c67b2b659 修复设备清单无法被计划人员看到的问题 2024-01-05 10:22:48 +08:00
mgw
974b112b3a 优化设备、库存权限相关问题 2024-01-05 08:53:39 +08:00
yuxianghui
57f5d138e8 1、修改夹装单元数修改成装夹单元数;2、重构产品的夹具物料信息(进行中);3、完善夹具物料的同步功能; 2024-01-04 17:44:22 +08:00
mgw
2b117e9192 产品序列号权限优化 2024-01-04 11:39:38 +08:00
马广威
688a39363b Accept Merge Request #747: (feature/制造代码优化 -> develop)
Merge Request: 一些优化事宜,包括批量排程,修复坯料单展示问题等

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/747
2024-01-04 08:56:12 +08:00
mgw
9443a07eb4 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化
# Conflicts:
#	sf_sale/security/ir.model.access.csv
2024-01-04 08:54:12 +08:00
mgw
ce58e989dd 基本的批量排程已实现 2024-01-04 08:51:25 +08:00
mgw
b9bb528db0 客户列表公司类型卡片增加税ID,计划处tree视图增加批量排程button 2024-01-03 23:03:08 +08:00
jinling.yang
da8cbe4cce 1.修改刀具标准库同步6个物料的方法
2.刀具基础参数的刃数和刀片的刃数两个字段新增选项,新增active字段,xml中修改适配刀片型号字段
2024-01-03 17:41:44 +08:00
yuxianghui
ce69127250 1、夹具型号同步(进行中);2、删除功能刀具组装的功能刀具切削类型字段; 2024-01-03 17:31:16 +08:00
qihao.gong@jikimo.com
583f6503ec 修改cnc获取在制造订单的逻辑,制造订单所有工单完成时 制造订单自动完成,以及组件自动消耗掉 2024-01-03 17:29:37 +08:00
jinling.yang
7f050b62f9 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化刀具基本参数同步 2024-01-03 14:39:20 +08:00
杨金灵
5d09d1585b Accept Merge Request #746: (feature/权限修复 -> develop)
Merge Request: 权限修复

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/746?initial=true
2024-01-03 11:52:12 +08:00
jinling.yang
f373003d2c Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/权限修复 2024-01-03 11:42:41 +08:00
jinling.yang
45e8e380db 修复销售质量采购bug 2024-01-03 11:42:23 +08:00
禹翔辉
c2263c9318 Accept Merge Request #745: (feature/功能刀具相关模型及组装流程优化 -> develop)
Merge Request: 1、修改所以夹具物料信息转接板夹具为转接板(锁板)夹具;2、优化功能刀具安全库存触发生成功能刀具组装单时重复触发的问题;3、设置功能刀具安全库存模型相关字段只有在创建的时候可以修改,其他时候是只读;4、优化功能刀具组装单组装完成后功能刀具入库位置不是刀具房的问题;

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/745
2024-01-03 09:40:23 +08:00
yuxianghui
f09a6cde3e Merge remote-tracking branch 'origin/feature/功能刀具优化' into feature/功能刀具相关模型及组装流程优化 2024-01-03 09:37:36 +08:00
mgw
ccdbfda019 优化代码,修复检测人功能 2024-01-02 17:55:02 +08:00
jinling.yang
ec9435bb82 修复销售和采购的部分bug 2024-01-02 17:42:06 +08:00
qihao.gong@jikimo.com
77db3d57c9 设备类别非必填 2024-01-02 17:31:48 +08:00
yuxianghui
73c3e06900 1、修改所以夹具物料信息转接板夹具为转接板(锁板)夹具;2、优化功能刀具安全库存触发生成功能刀具组装单时重复触发的问题;3、设置功能刀具安全库存模型相关字段只有在创建的时候可以修改,其他时候是只读;4、优化功能刀具组装单组装完成后功能刀具入库位置不是刀具房的问题; 2024-01-02 17:25:49 +08:00
mgw
56d8190fc6 修改业务逻辑:当主制造订单排程后,子bom自动改状态为已排 2024-01-02 11:47:40 +08:00
qihao.gong@jikimo.com
7fe7de46c6 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2024-01-02 10:01:24 +08:00
mgw
2339f75517 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-12-29 15:28:40 +08:00
mgw
8ec038847a 优化权限 2023-12-29 15:28:15 +08:00
禹翔辉
e1118bd579 Accept Merge Request #744: (feature/功能刀具优化 -> develop)
Merge Request: 优化字段显示

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/744?initial=true
2023-12-29 14:20:35 +08:00
yuxianghui
c9af7a8cc4 Merge remote-tracking branch 'origin/feature/夹具型号优化' into feature/功能刀具优化 2023-12-29 14:18:39 +08:00
yuxianghui
4ab7e4db0f 1、优化字段显示问题 2023-12-29 14:17:32 +08:00
qihao.gong@jikimo.com
939a255c2e 修改设备注册接口 2023-12-29 14:17:27 +08:00
jinling.yang
fbf86a69e3 1.采购订单Tree列表新增审核状态 2023-12-29 11:24:48 +08:00
jinling.yang
1cf5cd41b4 1.刀具基本参数新增适配夹头尺寸字段,2.优化采购订单确认订单方法 2023-12-29 09:31:41 +08:00
黄焱
860e16659c Accept Merge Request #743: (feature/前端样式修改 -> develop)
Merge Request: // 加工能力\冷却方式 竖列展示改为横列展示

Created By: @黄焱
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/743
2023-12-28 17:48:59 +08:00
黄焱
e9987fdcfa // 加工能力\冷却方式 竖列展示改为横列展示 2023-12-28 17:44:51 +08:00
qihao.gong@jikimo.com
98847a2c42 处理设备控制bug 2023-12-28 17:38:56 +08:00
禹翔辉
f81bf760d4 Accept Merge Request #742: (feature/夹具型号优化 -> develop)
Merge Request: 1、新增夹具物料基本参数模型,重构工厂的夹具型号模型,重新优化夹具物料form视图;2、优化刀具标准库模型,优化切削速度模型,优化每齿走刀量模型,新增切削宽度和深度模型,新增坡铣角度模型;3、优化功能刀具安全库存最低安全库存可以高于最高库存的bug;

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/742?initial=true
2023-12-28 17:09:00 +08:00
yuxianghui
b2bb2e33de 1、新增夹具物料基本参数模型,重构工厂的夹具型号模型,重新优化夹具物料form视图;2、优化刀具标准库模型,优化切削速度模型,优化每齿走刀量模型,新增切削宽度和深度模型,新增坡铣角度模型;3、优化功能刀具安全库存最低安全库存可以高于最高库存的bug; 2023-12-28 17:06:34 +08:00
jinling.yang
8be6373b77 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化刀具基本参数同步 2023-12-28 16:39:09 +08:00
jinling.yang
f3ec784383 还原产品页面代码 2023-12-28 16:38:37 +08:00
jinling.yang
a9c2d1aa5c 1.新增刀具物料参数的同步接口及方法
2.修改刀具物料参数的适配刀片型号及适配刀柄型号字段类型及新增刀柄长度,刀柄直径,法兰直径,动平衡等级,适配夹头型号,适用锁紧螺母型号,编码字段
2023-12-28 16:27:40 +08:00
mgw
8e61d5f87c 优化权限相关 2023-12-28 10:50:44 +08:00
马广威
032b13b2ad Accept Merge Request #741: (feature/制造代码优化 -> develop)
Merge Request: 修复image小组件图片路径拼接失败的问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/741
2023-12-28 09:00:56 +08:00
mgw
e33ca7cd33 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-12-27 17:23:25 +08:00
mgw
3a7a6e480a 修复image小组件图片路径拼接失败的问题 2023-12-27 17:23:05 +08:00
杨金灵
51b67c0dcd Accept Merge Request #740: (feature/修复销售库存权限 -> develop)
Merge Request: 修复销售库存访问权限

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/740?initial=true
2023-12-27 15:50:23 +08:00
jinling.yang
8124818bad 修复销售库存访问权限 2023-12-27 15:48:48 +08:00
杨金灵
3a62d4406f Accept Merge Request #739: (feature/修复销售和质量权限 -> develop)
Merge Request: 修复销售和质量权限

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/739?initial=true
2023-12-27 15:00:38 +08:00
龚启豪
8b8b30602b Accept Merge Request #738: (feature/修改机床参数bug -> develop)
Merge Request: 区分tree和form继承视图

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/738?initial=true
2023-12-27 14:51:18 +08:00
jinling.yang
7a5fcd79d8 修改功能刀具安全库存的创建权限 2023-12-27 14:42:43 +08:00
qihao.gong@jikimo.com
93fe4d8c62 区分tree和form继承视图 2023-12-27 14:41:53 +08:00
jinling.yang
cdeec93e76 产品增加销售的权限组的访问权限,质量标签和质量理由增加质量的权限组的访问权限 2023-12-27 10:18:09 +08:00
jinling.yang
1a2d9592d1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-26 14:22:48 +08:00
jinling.yang
71a64c36ca Merge branch 'feature/修复刀具管理模块' into develop 2023-12-26 14:22:32 +08:00
杨金灵
5f026e3b1e Accept Merge Request #737: (feature/修复刀具管理模块 -> develop)
Merge Request: 修复刀具管理

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/737?initial=true
2023-12-26 14:22:04 +08:00
jinling.yang
d50f8716b5 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复刀具管理模块 2023-12-26 14:17:38 +08:00
jinling.yang
6cd2637983 1.修复客户和用户的name_search方法2.销售的采购经理权限组代码还原查询销售订单3.新增销售的权限组访问标签权限4.刀具管理去掉引用样式css文件 2023-12-26 14:17:25 +08:00
马广威
ab91ce01d4 Accept Merge Request #736: (feature/制造代码优化 -> develop)
Merge Request: 修复配置文件问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/736
2023-12-26 09:40:32 +08:00
mgw
8f1897c4ff 修复配置文件问题 2023-12-26 09:39:52 +08:00
杨金灵
1e2c80c38f Accept Merge Request #735: (feature/修改数据库 -> develop)
Merge Request: 修改数据库

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/735?initial=true
2023-12-25 17:32:45 +08:00
jinling.yang
db8ad0f425 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改数据库
# Conflicts:
#	odoo.conf
2023-12-25 17:31:13 +08:00
jinling.yang
eedce8338b 1.修改数据库2.数据库去掉demo数据指令3.工单的获取cnc车程序按钮代码还原 2023-12-25 17:30:32 +08:00
马广威
b132cb8713 Accept Merge Request #734: (feature/制造代码优化 -> develop)
Merge Request: 修复权限,修改数据库名称

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/734?initial=true
2023-12-25 16:08:04 +08:00
mgw
66d6fe8f0a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化
# Conflicts:
#	odoo.conf
2023-12-25 16:07:23 +08:00
mgw
97e57f9b3c 修复权限,修改数据库名称 2023-12-25 16:05:23 +08:00
杨金灵
57cfa56081 Accept Merge Request #733: (feature/优化采购编辑 -> develop)
Merge Request: 优化采购

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/733?initial=true
2023-12-25 16:03:59 +08:00
jinling.yang
1d464dd00e 新建数据库 2023-12-25 16:01:25 +08:00
jinling.yang
fdc38afcbd Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化采购编辑 2023-12-25 16:00:33 +08:00
jinling.yang
2e9dc3d006 采购总监查看审核状态不为空的询价/采购单 2023-12-25 16:00:20 +08:00
禹翔辉
c54a8308c6 Accept Merge Request #732: (feature/自动根据功能刀具安全库存创建组装单 -> develop)
Merge Request: 自动按照功能刀具安全库存创建功能刀具组装单

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/732
2023-12-25 15:40:59 +08:00
yuxianghui
1934708d78 Merge remote-tracking branch 'origin/feature/功能刀具组装流程bug优化' into feature/自动根据功能刀具安全库存创建组装单 2023-12-25 15:38:45 +08:00
yuxianghui
e7bfff491b 1、新增库存位置:功能刀具组装位置,2、完善根据功能刀具安全库存自动生成组装单功能。3、功能刀具组装tree视图新增默认筛选未组装状态记录 2023-12-25 15:37:14 +08:00
jinling.yang
97e36c249b 1.产品新增计划岗权限,页面部分字段新增只读控制2.采购优化确认订单按钮 2023-12-25 15:15:35 +08:00
jinling.yang
6d93d5ef87 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-25 11:35:17 +08:00
jinling.yang
e8a0b3da93 Merge branch 'feature/优化客户' into develop 2023-12-25 11:34:37 +08:00
杨金灵
e9acd98ccc Accept Merge Request #730: (feature/优化客户 -> develop)
Merge Request: 优化客户,供应商.销售订单和采购订单权限需求

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/730
2023-12-25 11:34:24 +08:00
马广威
535d69f4d9 Accept Merge Request #731: (feature/制造代码优化 -> develop)
Merge Request: 优化计划处代码

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/731?initial=true
2023-12-25 11:34:14 +08:00
mgw
603a59b6d7 优化计划处代码 2023-12-25 11:33:39 +08:00
jinling.yang
ca2f30fdbd Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-25 11:06:28 +08:00
jinling.yang
4c92c08f84 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化客户 2023-12-25 11:06:11 +08:00
jinling.yang
2fd8483a52 优化客户,供应商.销售订单和采购订单权限需求 2023-12-25 11:05:56 +08:00
马广威
71bdd6334f Accept Merge Request #729: (feature/制造代码优化 -> develop)
Merge Request: 代码优化

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/729?initial=true
2023-12-25 09:41:00 +08:00
mgw
194f6f52dc 代码优化 2023-12-25 09:40:04 +08:00
jinling.yang
93ce482d40 优化采购和销售 2023-12-22 17:43:25 +08:00
yuxianghui
96c5c3dcf5 1、新增按照功能刀具安全库存数量自动触发创建功能刀具组装单; 2023-12-22 17:37:10 +08:00
马广威
6bcf7ec53a Accept Merge Request #728: (feature/制造代码优化 -> develop)
Merge Request: 权限优化、代码优化、工单处增加一些字段

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/728
2023-12-22 15:07:17 +08:00
mgw
a7d760bc5e Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-12-22 15:00:30 +08:00
mgw
e196b6b1e3 优化权限相关展示 2023-12-22 14:58:39 +08:00
黄焱
9cb9872a5e Accept Merge Request #727: (feature/前端样式修改 -> develop)
Merge Request: sf样式修改,保存,返回按钮修改

Created By: @黄焱
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/727?initial=true
2023-12-21 17:57:18 +08:00
jinling.yang
58d4b3813b 销售1.新增进度状态字段,选项为:待排程、待加工、待发货、待收货、已收货,
2.销售和报价页面的所有按钮根据审核状态和状态做隐藏显示控制
3.销售订单Form和Tree视图新增进度状态字段,且form表单根据状态字段的值为销售和取消时,表单不可编辑
4.产品页面的所有按钮根据销售和采购的权限组做显示和隐藏控制
2023-12-21 17:45:29 +08:00
龚启豪
34d0e989d6 Accept Merge Request #726: (feature/修改机床参数bug -> develop)
Merge Request: 机床型号同步以及设备机床参数修改以及机床注册接口

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/726?initial=true
2023-12-21 17:38:15 +08:00
qihao.gong@jikimo.com
c52af21477 1 2023-12-21 17:36:13 +08:00
qihao.gong@jikimo.com
149d6778f5 放开注释 2023-12-21 17:28:55 +08:00
mgw
98c9f3098b 工单详情处增加实际开始时间、实际结束时间,是否合格、加工人、检测人、实际加工机台等字段信息 2023-12-21 10:53:13 +08:00
mgw
ff904ad68c 权限暂存 2023-12-20 17:54:14 +08:00
黄焱
932f82ac6c 需求-客户、供应商视图展示优化
库存-库存概览界面的显示需优化
工厂端所有新建编辑页面的保存和取消按钮样式及文字要优化
【刀具组装】功能刀具组装单详情界面有个字段标题显示不全
制造-刀具管理-机床换刀申请界面标题显示重叠了
2023-12-20 17:51:46 +08:00
jinling.yang
bbb5ddb177 1.修复销售总监看不到销售订单2.优化销售审核向导3.优化销售 2023-12-20 17:45:29 +08:00
禹翔辉
7cbbf58309 Accept Merge Request #724: (feature/功能刀具组装流程bug优化 -> develop)
Merge Request: 功能刀具组装流程bug优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/724
2023-12-20 15:26:32 +08:00
yuxianghui
8edee62d3a Merge remote-tracking branch 'origin/feature/换刀申请优化' into feature/功能刀具组装流程bug优化 2023-12-20 15:22:59 +08:00
yuxianghui
ce67b7985b 1、优化功能刀具组装和功能刀具组装弹窗界面的刀具物料信息,添加刀具物料规格字段;2、优化功能刀具组装确认功能,创建刀具组装入库作业时新增name字段内容,新增作业自动验证;3、优化自动生成功能刀具序列号方法 2023-12-20 15:21:06 +08:00
jinling.yang
ef47597cf9 1.强制必填字段
(1)【客户名称】、【税ID】、【Email】、【销售员】、【标签】为强制必填
(2)【电话】、【手机】两个字段控制为二选一强制必填
2.客户校验规则:
(1)【客户名称】+【税ID】两个字段分别与已经创建客户的档案信息进行校验,任意一项100%吻合则不允许创建客户
3.强制必填字段
(1)【名称】、【Email】、【销售员】为强制必填
(2)【电话】、【手机】两个字段控制为二选一强制必填
4.个人校验规则:
(1)【名称】+【Email】两个字段分别与已经创建客户的档案信息进行校验,两项一起100%吻合则不允许创建个人
5.下拉仅显示销售人员的账户用户名(非相关用户及姓名不显示),字段为强制必填
(1)创建人的权限为销售经理,则【销售员】字段自动默认为当前账号的用户姓名,且不可修改
(2)创建人的权限为销售总监,则【销售员】字段自动默认为当前账号的用户姓名,可下拉选择,修改销售人员姓名
2023-12-19 17:48:30 +08:00
qihao.gong@jikimo.com
9e8d5aaf6a 修改机床同步注册接口 2023-12-19 17:33:24 +08:00
yuxianghui
363463e31d 1、新增安装时自动配置刀具房位置,重新配置了刀具组装入库的作业类型,增加名称为刀具组装入库的参考序列配置;2、功能刀具所以的装刀长改为总长度;3、机床换刀申请和刀具组装单弹窗界面做字段必填控制,对新刀隐藏切削相关字段;4、刀具组装单弹窗增加一些字段的数值自动填写和计算; 2023-12-19 17:31:37 +08:00
mgw
8ff635e901 优化计划中的菜单项目 2023-12-19 16:32:09 +08:00
qihao.gong@jikimo.com
c65e13a83e 修改设备类别以及机床参数 2023-12-18 17:38:24 +08:00
jinling.yang
8721bc2de1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-18 09:36:32 +08:00
jinling.yang
ec344cc918 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-18 09:36:18 +08:00
马广威
905df2b79e Accept Merge Request #723: (feature/制造代码优化 -> develop)
Merge Request: 优化权限相关

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/723
2023-12-17 10:52:59 +08:00
mgw
e73fb5791a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-12-17 10:50:18 +08:00
mgw
6738a855bb 优化权限相关 2023-12-17 10:48:51 +08:00
jinling.yang
3c82020e5e Merge branch 'feature/修复销售权限组' into develop 2023-12-15 17:56:04 +08:00
杨金灵
422074fcec Accept Merge Request #722: (feature/修复销售权限组 -> develop)
Merge Request: 修复销售采购质量权限

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/722
2023-12-15 17:53:41 +08:00
jinling.yang
897f5b76f0 修复质量的权限 2023-12-15 17:49:33 +08:00
jinling.yang
ee565d3796 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修复销售权限组 2023-12-15 17:39:16 +08:00
jinling.yang
912b50246a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-15 17:39:01 +08:00
jinling.yang
df2ba048f4 1.修复采购权限和销售权限2.销售新增审核向导 2023-12-15 17:38:40 +08:00
qihao.gong@jikimo.com
ef2f7d3ecb 修改机床设备参数,处理同步bug,以及机床设备视图布局 2023-12-15 17:28:42 +08:00
qihao.gong@jikimo.com
2391c08485 修改i机床接口同步以及参数 2023-12-14 17:33:28 +08:00
jinling.yang
85ac3d7a3e 报价Tree视图筛选框去掉默认的我的报价的条件 2023-12-13 17:30:40 +08:00
jinling.yang
b96723d9a5 修复销售权限组 2023-12-12 17:40:22 +08:00
禹翔辉
19b9db66d3 Accept Merge Request #721: (feature/换刀申请优化 -> develop)
Merge Request: 放开机床换刀申请模块记录没有功能刀具信息时换刀申请按键的权限

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/721
2023-12-11 17:10:28 +08:00
yuxianghui
8371875d62 放开机床换刀申请模块记录没有功能刀具信息时换刀申请按键的权限 2023-12-11 15:41:31 +08:00
jinling.yang
a3f6fdda2a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop
# Conflicts:
#	sf_tool_management/__init__.py
#	sf_tool_management/models/base.py
2023-12-11 14:54:23 +08:00
杨金灵
4a10335379 Accept Merge Request #720: (feature/权限去掉继承 -> develop)
Merge Request: 权限去掉继承

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/720
2023-12-11 14:51:36 +08:00
禹翔辉
1132acfa40 Accept Merge Request #719: (feature/刀具管理模块安装时更新数据 -> develop)
Merge Request: 1、新增刀具管理模块安装时根据已有机床设备存在的刀位创建机台换刀申请记录   

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/719
2023-12-11 14:48:37 +08:00
jinling.yang
7138dab1b5 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/权限去掉继承 2023-12-11 14:48:08 +08:00
jinling.yang
6bf3df0ef4 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/权限去掉继承 2023-12-11 14:47:34 +08:00
jinling.yang
55594c119f 产品添加质量权限组访问权限 2023-12-11 14:47:06 +08:00
马广威
0a3bd37224 Accept Merge Request #718: (feature/制造代码优化 -> develop)
Merge Request: 修改京东物流寻单据部分逻辑

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/718?initial=true
2023-12-11 14:46:23 +08:00
yuxianghui
60abdfb372 Merge remote-tracking branch 'origin/feature/CAM工单程序用刀计划重构' into feature/刀具管理模块安装时更新数据 2023-12-11 14:46:16 +08:00
mgw
facdf5712a 修改京东物流寻单据部分逻辑 2023-12-11 14:45:55 +08:00
yuxianghui
94df139110 1、新增刀具管理模块安装时根据已有机床设备存在的刀位创建机台换刀申请记录 2023-12-11 14:41:31 +08:00
jinling.yang
e4f6bc4632 权限去掉继承 2023-12-11 14:36:34 +08:00
马广威
6f0dbe3625 Accept Merge Request #717: (feature/制造代码优化 -> develop)
Merge Request: 修改cs环境数据库为t环境数据库

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/717?initial=true
2023-12-11 14:09:56 +08:00
mgw
c00cd5a00a 修改cs环境数据库为t环境数据库 2023-12-11 14:09:02 +08:00
禹翔辉
b487b6fc40 Accept Merge Request #716: (feature/CAM工单程序用刀计划重构 -> develop)
Merge Request: CAM工单程序用刀计划重构

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/716
2023-12-08 17:34:02 +08:00
yuxianghui
8489a67e64 Merge remote-tracking branch 'origin/feature/机床换刀申请优化' into feature/CAM工单程序用刀计划重构 2023-12-08 17:31:54 +08:00
yuxianghui
f8426ae4c3 1、重构CAM工单程序用刀计划模型;2、机床换刀申请模型的申请换刀、转移按键增加显示条件,关闭换刀申请弹窗和功能刀具组装弹窗的功能刀具类型字段创建记录的功能; 2023-12-08 17:29:32 +08:00
马广威
c4021d02ce Accept Merge Request #715: (feature/制造代码优化 -> develop)
Merge Request: 修改权限依赖

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/715?initial=true
2023-12-08 17:26:19 +08:00
mgw
bd01ad7bbf 修改权限依赖 2023-12-08 17:25:40 +08:00
龚启豪
9650f45ba2 Accept Merge Request #714: (feature/修改机床参数bug -> develop)
Merge Request: 库存根据权限增加审核按钮 以及审核状态

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/714?initial=true
2023-12-08 15:21:32 +08:00
qihao.gong@jikimo.com
cfed77d1a5 库存根据权限增加审核按钮 以及审核状态 2023-12-08 15:18:41 +08:00
禹翔辉
94c795a68f Accept Merge Request #713: (feature/机床换刀申请优化 -> develop)
Merge Request: 机床换刀申请及功能刀具出入库模型优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/713?initial=true
2023-12-08 09:05:39 +08:00
yuxianghui
2fba2ad488 Merge remote-tracking branch 'origin/feature/功能刀具库存优化' into feature/机床换刀申请优化 2023-12-08 09:02:51 +08:00
qihao.gong@jikimo.com
31260e8921 新增权限审核按钮 2023-12-07 17:31:28 +08:00
yuxianghui
4d04b37582 1、机台换刀申请tree视图隐藏机床字段,机台号字段内容自动同步位机床名称;功能刀具出入库记录模型机台号字段内容自动同步位机床名称;2、解决功能刀具有的出入库记录机床字段没有内容的问题;3、新增继承机床刀位模型,将新建机床刀位时创建机台换刀申请记录从原机床刀位模型移动到继承后的机床刀位模型中; 2023-12-07 17:31:18 +08:00
马广威
eec27b26f7 Accept Merge Request #711: (feature/制造代码优化 -> develop)
Merge Request: 优化物流、计划权限及库存的一些问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/711
2023-12-07 11:28:22 +08:00
jinling.yang
e300ca1822 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-07 10:58:25 +08:00
jinling.yang
c8a3bee099 Merge branch 'feature/新增采购权限组' into develop 2023-12-07 10:58:04 +08:00
杨金灵
35c051e730 Accept Merge Request #712: (feature/新增采购权限组 -> develop)
Merge Request: 新增采购和质量的权限

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/712?initial=true
2023-12-07 10:57:45 +08:00
jinling.yang
950ec3a1e1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-07 10:52:09 +08:00
jinling.yang
1c1a038156 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增采购权限组 2023-12-07 10:51:32 +08:00
jinling.yang
640bf79dc8 新增质量团队和控制点的审核按钮 2023-12-07 10:50:36 +08:00
mgw
1ccc32cbcb 优化物流、计划权限及库存的一些问题 2023-12-07 10:11:59 +08:00
禹翔辉
f8d8d885bb Accept Merge Request #710: (feature/功能刀具库存优化 -> develop)
Merge Request: 功能刀具自动计算库存

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/710
2023-12-07 09:13:11 +08:00
yuxianghui
7c8c869172 Merge remote-tracking branch 'origin/feature/功能刀具列表自动计算库存' into feature/功能刀具库存优化 2023-12-07 09:07:53 +08:00
jinling.yang
8d5a4ed4c8 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增采购权限组 2023-12-06 17:27:29 +08:00
yuxianghui
981872b0b1 1、根据机台换刀申请的状态,如果为报警状态就自动创建功能刀具预警记录;2、自动检索功能刀具列表的序列号所在位置,计算功能刀具的当前位置及数量;3、功能刀具安全库存模型,根据当前记录的功能刀具对象自动计算出该规则的功能刀具的当前库存,根据当前库存和最低库存量自动计算是否需要补货,如需补货,补货的数量是多少;4、关闭功能刀具预警模型界面的创建、修改、删除功能,新增搜索面板中按机床、刀位分组搜索;5、功能刀具组装模型和组装单模型新增图片字段; 2023-12-06 17:25:47 +08:00
黄焱
d8a74c17f0 Accept Merge Request #709: (feature/前端样式修改 -> develop)
Merge Request: 前端样式修改,甘特图增加功能

Created By: @黄焱
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/709?initial=true
2023-12-06 15:46:02 +08:00
黄焱
fe6d207099 甘特图增加滚轮事件,点击事件 2023-12-06 15:39:07 +08:00
黄焱
206043a1a0 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/前端样式修改 2023-12-06 15:37:38 +08:00
jinling.yang
6a2a465569 注释掉自动报价的文件 2023-12-06 15:07:06 +08:00
jinling.yang
1767ada489 释放注释的代码 2023-12-06 15:03:07 +08:00
jinling.yang
d7f85967c9 优化质量的访问权限 2023-12-06 15:01:42 +08:00
jinling.yang
1a95f5e4ac Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-06 14:57:10 +08:00
jinling.yang
abd7364658 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增采购权限组
# Conflicts:
#	sf_base/security/group_security.xml
#	sf_sale/security/group_security.xml
2023-12-06 14:56:31 +08:00
jinling.yang
26ec1c9f6e 修改质量模块的权限组名称 2023-12-06 14:53:38 +08:00
龚启豪
490aa3fe04 Accept Merge Request #707: (feature/修改机床参数bug -> develop)
Merge Request: 制造设备库存权限

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/707
2023-12-06 14:52:35 +08:00
jinling.yang
924a28e957 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-12-06 11:39:24 +08:00
jinling.yang
e58ceb3ac8 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增采购权限组 2023-12-06 11:38:49 +08:00
龚启豪
61c3b16a69 Merge branch refs/heads/develop into refs/heads/feature/修改机床参数bug 2023-12-06 11:35:01 +08:00
qihao.gong@jikimo.com
70109c0965 修改制造模块权限 2023-12-06 11:31:59 +08:00
马广威
74b4fd1367 Accept Merge Request #705: (feature/制造代码优化 -> develop)
Merge Request: 完成计划权限,优化警告错误

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/705
2023-12-06 10:30:55 +08:00
禹翔辉
c206dc3097 Accept Merge Request #706: (feature/功能刀具组装流程优化 -> develop)
Merge Request: 功能刀具组装流程优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/706?initial=true
2023-12-06 09:14:29 +08:00
yuxianghui
4c1c8e7683 Merge remote-tracking branch 'origin/feature/功能刀具安全库存优化' into feature/功能刀具组装流程优化 2023-12-06 09:03:55 +08:00
yuxianghui
0d8d54c05b 1、机床换刀申请新增确认换刀时,依次检索线边刀库、刀具房是否有满足条件的功能刀具,如果有就返回刀具信息,没有就发起组装申请;2、刀具安全库存模型详情页新增可修改的最低库存量、最高库存量、批次补货量字段; 2023-12-05 17:37:47 +08:00
jinling.yang
71147eb7f9 新增质量权限组 2023-12-05 17:28:32 +08:00
qihao.gong@jikimo.com
c753df768d 库存模块权限开发 2023-12-05 17:24:19 +08:00
jinling.yang
45df8f5bc2 新增采购权限 2023-12-04 17:34:23 +08:00
yuxianghui
29a55f3ff8 1、新增设备创建刀位时自动创建对应刀位的机床换刀申请记录;2、机床换刀申请模型的设备、刀位字段修改为只读,搜索视图新增按设备搜索; 2023-12-04 17:30:19 +08:00
qihao.gong@jikimo.com
94c0b00c2d 机床注册按钮根据权限组区分 2023-12-04 17:28:54 +08:00
黄焱
32473d302f 生产驾驶舱列表点击【工单】按钮有时候进入的是机台详情界面
工厂端订单详情title显示不美观-建议优化
工厂端材料型号详情界面弹框顶部和底部显示透明了
2023-11-30 17:03:47 +08:00
mgw
2cf4958f46 完成计划权限,优化警告错误 2023-11-29 20:58:12 +08:00
qihao.gong@jikimo.com
893aa2111c 处理coding报错 2023-11-29 17:34:15 +08:00
jinling.yang
6cf26e8029 新增采购权限组 2023-11-29 17:25:40 +08:00
禹翔辉
e796bbe990 Accept Merge Request #704: (feature/功能刀具安全库存优化 -> develop)
Merge Request: 功能刀具安全库存修改字段类型

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/704
2023-11-29 10:23:11 +08:00
yuxianghui
c2d2d16948 Merge remote-tracking branch 'origin/feature/功能刀具组装功能优化' into feature/功能刀具安全库存优化 2023-11-29 10:21:07 +08:00
yuxianghui
c3ba11bed4 1、修改功能刀具安全库存模型的刀尖特征、柄部类型字段的字段类型为many2one 2023-11-29 10:17:43 +08:00
马广威
37815d603a Accept Merge Request #703: (feature/制造代码优化 -> develop)
Merge Request: 优化货位代码

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/703
2023-11-29 09:43:09 +08:00
mgw
ca0b59e95b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-11-29 09:40:03 +08:00
mgw
7c478ec4fd 优化货位代码 2023-11-29 09:39:11 +08:00
qihao.gong@jikimo.com
5b1d347fd4 增加设备模块权限角色,优化coding代码扫描警告 2023-11-28 17:23:49 +08:00
马广威
e738d40b75 Accept Merge Request #702: (feature/制造代码优化 -> develop)
Merge Request: 库存货架货位修改基本完成,推送测试

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/702
2023-11-28 17:23:20 +08:00
mgw
685eced709 货位代码优化 2023-11-28 17:21:29 +08:00
jinling.yang
ffc40c70d2 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-28 17:15:07 +08:00
jinling.yang
cc3ee289d3 Merge branch 'feature/修改刀具标准库部分字段类型' into develop 2023-11-28 17:14:51 +08:00
杨金灵
487b452519 Accept Merge Request #701: (feature/修改刀具标准库部分字段类型 -> develop)
Merge Request: 修改刀具标准库部分字段类型

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/701
2023-11-28 17:14:34 +08:00
jinling.yang
4a62af7545 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改刀具标准库部分字段类型 2023-11-28 17:09:10 +08:00
jinling.yang
07be7c3074 1.同步刀具标准库接口修改刀片形状,柄部类型,刀尖特征,压紧方式 2023-11-28 17:08:56 +08:00
mgw
ddad1e9114 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-11-28 16:42:54 +08:00
mgw
2c1a101c24 库存货架货位修改基本完成,推送测试 2023-11-28 16:42:19 +08:00
禹翔辉
ab1af72727 Accept Merge Request #700: (feature/功能刀具组装功能优化 -> develop)
Merge Request: 功能刀具组装功能优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/700
2023-11-28 16:37:29 +08:00
yuxianghui
bc186a9723 Merge remote-tracking branch 'origin/feature/功能刀具组装优化' into feature/功能刀具组装功能优化 2023-11-28 16:34:31 +08:00
yuxianghui
de04d452b3 1优化功能刀具组装单的刀具物料过滤条件,取消功能刀具列表的自动计算库存的方法 2023-11-28 16:28:48 +08:00
禹翔辉
66b808dfc9 Accept Merge Request #699: (feature/功能刀具组装优化 -> develop)
Merge Request: 功能刀具组装功能优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/699
2023-11-28 15:02:36 +08:00
yuxianghui
ad36b37f27 Merge remote-tracking branch 'origin/feature/功能刀具安全库存重构' into feature/功能刀具组装优化 2023-11-28 14:57:40 +08:00
yuxianghui
e403f2f8e6 1、按面向对象的思想优化功能刀具组装功能的整个流程;2、新增刀具组装完成时的刀具物料出库到刀具组装位置; 2023-11-28 14:52:43 +08:00
马广威
24b850a508 Accept Merge Request #698: (feature/制造代码优化 -> develop)
Merge Request: 优化警告问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/698
2023-11-28 09:00:03 +08:00
mgw
4d8b463cb3 优化警告问题 2023-11-28 08:59:01 +08:00
mgw
9fef877d12 优化警告问题 2023-11-27 22:40:56 +08:00
马广威
c323d9995e Accept Merge Request #697: (feature/制造代码优化 -> develop)
Merge Request: 物流可见性控制,优化警告问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/697?initial=true
2023-11-27 21:33:35 +08:00
mgw
4f83c5f29a 优化警告问题 2023-11-27 21:30:45 +08:00
jinling.yang
ed5f47cc31 1.修改刀具标准库刀片形状,柄部类型,压紧方式,刀尖特征,字段类型及对应控件显示
2.修改产品页面:刀片形状,柄部类型,压紧方式,刀尖特征,字段类型及对应控件显示
2023-11-27 17:34:23 +08:00
龚启豪
66bb55a823 Accept Merge Request #696: (feature/修改机床参数bug -> develop)
Merge Request: 修改coding代码扫描警告

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/696?initial=true
2023-11-27 17:30:01 +08:00
yuxianghui
5926d71d27 1、新增功能刀具列表模型自动计算功能刀具在刀具房数量功能;2、优化功能刀具安全库存模型相同功能刀具的检索条件;3、修改功能刀具组装单组装的初始位置为Production,修改功能刀具序列号的生成规则 2023-11-27 17:27:55 +08:00
qihao.gong@jikimo.com
c78ea6fbe5 修改coding代码扫描警告 2023-11-27 17:08:11 +08:00
mgw
96df8f971c 物流相关可见性控制 2023-11-27 15:40:16 +08:00
马广威
35511effae Accept Merge Request #695: (feature/制造代码优化 -> develop)
Merge Request: 优化物流下单等代码

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/695
2023-11-27 12:18:47 +08:00
mgw
54912f15b9 优化物流下单等代码 2023-11-27 12:17:57 +08:00
马广威
e8a13f1721 Accept Merge Request #694: (feature/制造代码优化 -> develop)
Merge Request: 优化代码,修改库存货架货位为标签

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/694?initial=true
2023-11-24 21:46:16 +08:00
禹翔辉
1532293918 Accept Merge Request #693: (feature/功能刀具安全库存重构 -> develop)
Merge Request: 功能刀具安全库存模型重构

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/693?initial=true
2023-11-24 17:18:59 +08:00
yuxianghui
030ef14633 Merge remote-tracking branch 'origin/feature/功能刀具出入库优化' into feature/功能刀具安全库存重构 2023-11-24 17:15:26 +08:00
yuxianghui
bf8b45609c 1、功能刀具列表模型新增查询功能刀具安全库存功能;2、重构功能刀具安全库存模型;3、功能刀具组装单弹窗界面的刀具物料新增位置为刀具房的过滤筛选; 2023-11-24 17:12:44 +08:00
龚启豪
964618d365 Accept Merge Request #692: (feature/修改机床参数bug -> develop)
Merge Request: 代码规范

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/692
2023-11-24 10:31:39 +08:00
杨金灵
06eeb1ed1f Accept Merge Request #691: (feature/优化代码格式 -> develop)
Merge Request: 优化代码格式

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/691?initial=true
2023-11-24 10:30:42 +08:00
qihao.gong@jikimo.com
deb732dc5e 代码规范 2023-11-24 10:30:33 +08:00
jinling.yang
5737d7b0bc 优化代码格式 2023-11-24 10:27:21 +08:00
mgw
5fd0beab95 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化
# Conflicts:
#	sf_manufacturing/models/stock.py
2023-11-23 22:23:21 +08:00
mgw
858c163cbe 库存调整货架货位为标签 2023-11-23 22:14:56 +08:00
mgw
fee3572f38 错误问题处理 2023-11-23 22:14:12 +08:00
jinling.yang
f2862af565 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-23 17:44:16 +08:00
jinling.yang
c1c3639611 Merge branch 'feature/销售权限' into develop 2023-11-23 17:43:55 +08:00
杨金灵
41017412cd Accept Merge Request #690: (feature/销售权限 -> develop)
Merge Request: 优化销售权限

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/690
2023-11-23 17:43:39 +08:00
jinling.yang
e552502fd1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-23 17:39:58 +08:00
jinling.yang
61da25a031 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/销售权限
# Conflicts:
#	sf_manufacturing/models/product_template.py
2023-11-23 17:39:35 +08:00
龚启豪
aafafd682d Accept Merge Request #689: (feature/修改机床参数bug -> develop)
Merge Request: 修改代码不规范问题

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/689?initial=true
2023-11-23 17:38:52 +08:00
jinling.yang
98ed831a85 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-23 17:38:49 +08:00
jinling.yang
e9be2e9c43 优化代码格式 2023-11-23 17:38:30 +08:00
qihao.gong@jikimo.com
b73a449b01 修改代码不规范问题 2023-11-23 17:37:06 +08:00
jinling.yang
45d04e1a05 1.销售新增审核状态,选项为已审核和待审核,销售模型新增权限规则:销售总监查看所有的订单,销售经理只能查看自己的订单
2.报价单Form视图新增审核按钮,该按钮只有销售总监可以看到,且确认按钮只有在销售经理审核完才可显示,报价Tree视图新增审核状态
2023-11-23 17:28:58 +08:00
禹翔辉
fc17063507 Accept Merge Request #688: (feature/功能刀具出入库优化 -> develop)
Merge Request: 功能刀具出入库模型优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/688
2023-11-23 17:23:11 +08:00
yuxianghui
b3fbbeb85c Merge remote-tracking branch 'origin/feature/功能刀具组装流程及界面优化' into feature/功能刀具出入库优化 2023-11-23 17:18:43 +08:00
yuxianghui
97d760cd56 1、基于原生的移动历史重构功能刀具出入库记录模型;2、功能刀具列表模型新增查询当前功能刀具出入库记录按钮;3、删除旧的功能刀具出入库记录模型和出入库记录人模型;4、机台换刀申请模型的功能刀具名称字段改为绑定功能刀具组装单;5、优化功能刀具组装单确认组装功能的创建移动历史记录功能。 2023-11-23 17:15:34 +08:00
龚启豪
9d911a5c2b Accept Merge Request #687: (feature/修改机床参数bug -> develop)
Merge Request: 设备名称生辰规则,制造模块新定义权限组

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/687
2023-11-23 16:53:24 +08:00
龚启豪
9bb3b88fd6 Merge branch refs/heads/develop into refs/heads/feature/修改机床参数bug 2023-11-23 16:37:53 +08:00
qihao.gong@jikimo.com
baaeac10eb 修改设备生成名称规则,修改制造模块权限组定义 2023-11-23 16:33:09 +08:00
mgw
2510f5fbf3 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-11-23 10:22:58 +08:00
mgw
f77691251e 计划模块增加跟踪消息组件,form视图增加归档取消归档按钮,增加归档未归档的筛选项目 2023-11-23 10:21:42 +08:00
jinling.yang
5292826c72 新增销售权限 2023-11-22 17:58:41 +08:00
mgw
6fed64ba2a 计划模块增加权限控制 2023-11-22 17:55:30 +08:00
禹翔辉
8e5f5cf0d1 Accept Merge Request #686: (feature/功能刀具组装流程及界面优化 -> develop)
Merge Request: 功能刀具组装流程及界面优化

Created By: @禹翔辉
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/686?initial=true
2023-11-22 17:39:17 +08:00
qihao.gong@jikimo.com
b4b5207aea 开发测试制造模块权限,修改设备机床类别的布局以及编码规则 2023-11-22 17:36:50 +08:00
yuxianghui
ca61537e21 Merge remote-tracking branch 'origin/feature/功能刀具组装优化' into feature/功能刀具组装流程及界面优化
# Conflicts:
#	sf_manufacturing/models/product_template.py
2023-11-22 17:31:35 +08:00
yuxianghui
83da8f58e2 1、功能刀具列表模型新增大量字段,新增计算库存数量方法,新增查看当前功能刀具的预警记录按键;2、重构功能刀具预警模型(已完成);3、功能刀具组装模型name字段展示内容改为功能刀具名称; 2023-11-22 17:19:25 +08:00
马广威
a36c30b5c1 Accept Merge Request #685: (feature/制造代码优化 -> develop)
Merge Request: 修改机床链接模块,优化规范代码

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/685?initial=true
2023-11-22 14:24:35 +08:00
mgw
ae6ec7183e 修改sf_machine_connect模块以适配新的设备构成 2023-11-22 14:22:41 +08:00
mgw
cc58425f50 规范问题优化 2023-11-22 10:29:04 +08:00
马广威
dda3aad95d Accept Merge Request #684: (feature/制造代码优化 -> develop)
Merge Request: 优化现有代码问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/684?initial=true
2023-11-22 09:58:21 +08:00
mgw
d6dcb6bf55 优化现有代码问题 2023-11-22 09:54:31 +08:00
马广威
4b672f3c23 Accept Merge Request #683: (feature/制造代码优化 -> develop)
Merge Request: 优化sf_machine_connect的manifest文件

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/683?initial=true
2023-11-21 17:50:39 +08:00
mgw
423d5cec8e 优化sf_machine_connect的manifest文件 2023-11-21 17:49:58 +08:00
qihao.gong@jikimo.com
e6bb5db0e1 开发sf制造模块权限角色 2023-11-21 17:42:36 +08:00
jinling.yang
f0e66c6d90 新增销售权限 2023-11-21 17:30:07 +08:00
yuxianghui
8a1dfe14e6 1、功能刀具列表模型新增部分字段;2、机台换刀申请新增根据报警值和有效值计算当前状态,重构根据状态自动换刀申请的功能,重构撤销换刀申请功能;3、功能刀具组装单模型新增大量字段,优化tree视图和form视图的布局;4、组装单弹窗模型新增大量字段,优化确认组装按键功能, 2023-11-21 17:26:18 +08:00
jinling.yang
5113de7e97 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-21 16:31:41 +08:00
jinling.yang
e06002e05a Merge branch 'feature/新增销售权限' into develop 2023-11-21 16:31:27 +08:00
杨金灵
8b7b52ee2c Accept Merge Request #682: (feature/新增销售权限 -> develop)
Merge Request: 新增销售和计划权限组和优化代码格式

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/682?initial=true
2023-11-21 16:31:19 +08:00
jinling.yang
6738f38131 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增销售权限
# Conflicts:
#	sf_bf_connect/models/process_status.py
2023-11-21 16:11:24 +08:00
jinling.yang
ab115ab71c Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-21 16:10:27 +08:00
jinling.yang
6ec6094c5e 1.新增销售和计划权限组2.优化代码格式 2023-11-21 16:10:05 +08:00
马广威
321c40d31d Accept Merge Request #681: (feature/制造代码优化 -> develop)
Merge Request: 优化js代码过长的问题,优化未用到的变量

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/681?initial=true
2023-11-21 14:18:44 +08:00
mgw
890b73e108 优化js代码过长的问题,优化未用到的变量 2023-11-21 14:18:01 +08:00
马广威
247b3e4444 Accept Merge Request #676: (feature/制造代码优化 -> develop)
Merge Request: 优化代码结构

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/676?initial=true
2023-11-20 17:42:54 +08:00
mgw
7391b1324d Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化
# Conflicts:
#	sf_manufacturing/models/stock.py
2023-11-20 17:41:51 +08:00
mgw
d53e664881 修复导入错误,优化不使用的模块 2023-11-20 17:38:03 +08:00
yuxianghui
b49b5890a0 1、机台换刀申请及其弹窗新增生产线字段,2、机台换刀申请tree视图搜索面板改为按生产线和状态搜索,3、优化功能刀具组装单,新增大量字段,优化tree试图布局,优化form视图布局,tree视图搜索面板新增按状态搜索,4、重构了机台换刀申请模型申请换刀功能;5、重构刀具转移模型, 2023-11-20 17:36:13 +08:00
jinling.yang
690543e2d4 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-20 17:08:13 +08:00
jinling.yang
f296e1ba1a Merge branch 'feature/产品验证' into develop 2023-11-20 17:05:43 +08:00
杨金灵
31f07c5156 Accept Merge Request #675: (feature/产品验证 -> develop)
Merge Request: 产品验证及代码格式修复

Created By: @杨金灵
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/675
2023-11-20 17:05:06 +08:00
龚启豪
63d6ce6da8 Accept Merge Request #674: (feature/修改机床参数bug -> develop)
Merge Request: import requests

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/674
2023-11-20 16:50:06 +08:00
qihao.gong@jikimo.com
580f95f338 importrequests修改 2023-11-20 15:48:43 +08:00
qihao.gong@jikimo.com
326181fa81 Merge branch 'feature/修改机床参数bug' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts:
#	sf_manufacturing/models/stock.py
2023-11-20 15:44:43 +08:00
qihao.gong@jikimo.com
6fc735063a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts:
#	sf_manufacturing/models/stock.py
2023-11-20 15:41:50 +08:00
qihao.gong@jikimo.com
499261f62e 放开依赖 2023-11-20 15:39:07 +08:00
jinling.yang
6912160232 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/产品验证
# Conflicts:
#	sf_manufacturing/models/stock.py
#	sf_wxwork_approval/models/model.py
2023-11-20 15:11:43 +08:00
jinling.yang
04e63dcc59 修复代码规范 2023-11-20 15:10:01 +08:00
jinling.yang
7ceaadb9c4 修复引入库 2023-11-20 15:04:39 +08:00
龚启豪
fdf1b786fe Merge branch refs/heads/develop into refs/heads/feature/修改机床参数bug 2023-11-20 15:03:36 +08:00
qihao.gong@jikimo.com
1da7a0195d 根据odoo规则修改py文件中得import顺序 2023-11-20 14:59:06 +08:00
马广威
b093b11ec2 Accept Merge Request #671: (feature/制造代码优化 -> develop)
Merge Request: 优化代码结构

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/671?initial=true
2023-11-20 13:30:58 +08:00
mgw
718b1f9edf 优化代码结构 2023-11-20 13:23:37 +08:00
马广威
5bdd3982ae Accept Merge Request #669: (feature/制造代码优化 -> develop)
Merge Request: 优化wrong-import-order问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/669?initial=true
2023-11-20 12:44:35 +08:00
mgw
a606cbfc6d 优化wrong-import-order问题 2023-11-20 12:42:48 +08:00
马广威
1a5fcf09e1 Accept Merge Request #666: (feature/制造代码优化 -> develop)
Merge Request: 测试优化后的代码扫描效果,优化代码

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/666?initial=true
2023-11-20 10:49:58 +08:00
mgw
d2899fe38e 测试优化代码后的代码扫描效果,优化部分代码审查问题 2023-11-20 10:48:43 +08:00
mgw
24e75f8895 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-11-17 17:51:57 +08:00
mgw
5bc5766507 优化代码格式至PEP8格式 2023-11-17 17:49:08 +08:00
jinling.yang
49f021ed7a 产品新增适配刀片形状,适合加工方式,刀尖特征,走刀方向,柄部类型,冷却液,压紧方式验证 2023-11-17 17:45:41 +08:00
黄焱
94031e68ad Accept Merge Request #659: (feature/前端样式修改 -> develop)
Merge Request: 修改规格字段位置

Created By: @黄焱
Reviewed By: @马广威
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/659?initial=true
2023-11-17 17:45:05 +08:00
黄焱
182348f427 修改规格字段位置 2023-11-17 17:42:41 +08:00
yuxianghui
c885f3ce8c 1、设备机床的刀位对象新增name字段,并自动添加值;2、根据需求重构了机床换刀申请模型,重构机床换刀弹窗对象; 2023-11-17 17:30:37 +08:00
jinling.yang
e5b0960e3a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-17 10:43:16 +08:00
jinling.yang
dd5d4e7748 Merge branch 'feature/自动报价代码还原' into develop 2023-11-17 10:43:00 +08:00
杨金灵
369980d655 Accept Merge Request #530: (feature/自动报价代码还原 -> develop)
Merge Request: 自动报价代码还原

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/530?initial=true
2023-11-17 10:37:52 +08:00
jinling.yang
2096d05cdb Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/自动报价代码还原 2023-11-17 10:35:42 +08:00
jinling.yang
fbab054324 代码还原 2023-11-17 10:35:10 +08:00
马广威
e3ff9e9fde Accept Merge Request #529: (feature/制造代码优化 -> develop)
Merge Request: 测试coding代码审查

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/529?initial=true
2023-11-17 10:03:04 +08:00
mgw
c3ee544ca6 测试coding代码审查 2023-11-17 09:55:41 +08:00
jinling.yang
08581c8bc4 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-17 09:15:29 +08:00
jinling.yang
49cbf2fde2 Merge branch 'feature/产品优化' into develop 2023-11-17 09:13:54 +08:00
杨金灵
2f2522c99e Accept Merge Request #527: (feature/产品优化 -> develop)
Merge Request: 产品优化

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/527?initial=true
2023-11-17 09:13:36 +08:00
jinling.yang
fefa14a47b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/产品优化
# Conflicts:
#	sf_dlm/models/product_supplierinfo.py
2023-11-17 09:12:41 +08:00
yuxianghui
329d7b6464 1、机床换刀申请界面新增搜索面板和设备字段根据设备的设备类型等于机床的过滤条件;2、隐藏功能刀具出入库记录菜单;3、功能刀具列表form视图新增预警跳转按键(跳转功能未完成); 2023-11-16 17:36:09 +08:00
jinling.yang
f36c2ac096 产品优化 2023-11-16 17:35:04 +08:00
马广威
9c6367c053 Accept Merge Request #526: (feature/制造代码优化 -> develop)
Merge Request: 产品模板修改>>>增加“规格”字段specification_id

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/526?initial=true
2023-11-16 17:03:24 +08:00
mgw
076866e9b7 产品模板修改>>>增加“规格”字段specification_id 2023-11-16 17:01:14 +08:00
mgw
3a64a2106a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化 2023-11-16 15:14:04 +08:00
黄焱
ead39c9649 Accept Merge Request #525: (feature/前端样式修改 -> develop)
Merge Request: 修改生产线看板样式

Created By: @黄焱
Accepted By: @黄焱
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/525?initial=true
2023-11-16 15:12:44 +08:00
黄焱
25d1a99239 修改生产线看板样式 2023-11-16 15:02:27 +08:00
龚启豪
9a318d45f3 Accept Merge Request #524: (feature/修改机床参数bug -> develop)
Merge Request: wms路线规则动态选取

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/524?initial=true
2023-11-15 16:22:56 +08:00
qihao.gong@jikimo.com
41a9aa86a7 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-11-15 16:21:52 +08:00
qihao.gong@jikimo.com
2322758e50 wms路线规则动态选取 2023-11-15 16:21:40 +08:00
mgw
d216478679 调整这两个文件的__manifest__.py文件 2023-11-15 15:28:32 +08:00
禹翔辉
b487ee127a Accept Merge Request #523: (feature/功能刀具组装优化 -> develop)
Merge Request: 功能刀具组装刀具物料型号字段绑定对象更改为刀具标准库,并优化组装确认功能。

Created By: @禹翔辉
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/523?initial=true
2023-11-14 16:49:08 +08:00
yuxianghui
2a964bc30e 功能刀具组装刀具物料型号字段绑定对象更改为刀具标准库,并优化组装确认功能。 2023-11-14 16:48:11 +08:00
马广威
d0132dbc3a Accept Merge Request #522: (feature/制造代码优化 -> develop)
Merge Request: 去掉sf_plan模块中的  工作中心计划  菜单

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/522?initial=true
2023-11-14 16:15:19 +08:00
mgw
acccb4b6f9 去掉sf_plan模块中的 工作中心计划 菜单 2023-11-14 15:42:54 +08:00
马广威
48f75ad600 Accept Merge Request #521: (feature/制造代码优化 -> develop)
Merge Request: 修改订单排程功能为通用方法,同时增加动态判断计划时间是否与获取cnc程序的时间冲突功能,如果冲突,时间自动延后1h;优化gantt显示

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/521?initial=true
2023-11-14 12:22:12 +08:00
mgw
daeae46820 修改订单排程功能为通用方法,同时增加动态判断计划时间是否与获取cnc程序的时间冲突功能,如果冲突,时间自动延后1h;优化gantt显示 2023-11-14 12:21:08 +08:00
马广威
77535fa70e Accept Merge Request #520: (feature/制造代码优化 -> develop)
Merge Request: 修复gantt图修改日视图后其他视图的pill左移的bug。优化字段默认宽度的逻辑

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/520?initial=true
2023-11-13 15:08:44 +08:00
mgw
913780bc2b 修复gantt图修改日视图后其他视图的pill左移的bug。优化字段默认宽度的逻辑 2023-11-13 15:07:50 +08:00
马广威
f566fc1c08 Accept Merge Request #519: (feature/制造代码优化 -> develop)
Merge Request: 修复订单状态回传的问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/519?initial=true
2023-11-13 09:42:56 +08:00
mgw
a97ce9b0a7 修复订单状态回传的问题 2023-11-10 18:06:21 +08:00
马广威
d0e18fbd44 Accept Merge Request #518: (feature/制造代码优化 -> develop)
Merge Request: 解决遗漏代码错误

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/518?initial=true
2023-11-10 16:29:16 +08:00
mgw
3845041f7f 解决遗漏代码错误 2023-11-10 16:28:06 +08:00
马广威
f313a171cb Accept Merge Request #517: (feature/图文项目单选功能 -> develop)
Merge Request: 图文项目单选功能本地开发测试完成,推送线上测试

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/517?initial=true
2023-11-10 16:21:21 +08:00
mgw
93731a4777 图文项目单选功能本地开发测试完成,推送线上测试 2023-11-10 16:20:48 +08:00
马广威
dba17d5c7a Accept Merge Request #516: (feature/制造优化 -> develop)
Merge Request: 梳理计划模块结构,删除不必要的代码

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/516
2023-11-10 16:13:11 +08:00
杨金灵
2a984ba2c0 Accept Merge Request #515: (feature/修复单一制造 -> develop)
Merge Request: 修复单一制造

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/515
2023-11-09 16:32:48 +08:00
jinling.yang
dbfd75b139 修复单一制造 2023-11-09 16:30:05 +08:00
mgw
db1dc18c28 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造优化 2023-11-09 16:21:53 +08:00
mgw
523f7a0942 梳理计划模块结构 2023-11-09 16:20:26 +08:00
龚启豪
16b3df87c9 Accept Merge Request #514: (feature/修改机床参数bug -> develop)
Merge Request: 修改cs数据库

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/514?initial=true
2023-11-09 11:35:15 +08:00
qihao.gong@jikimo.com
8d952aa046 更换cs数据库 2023-11-09 11:34:20 +08:00
qihao.gong@jikimo.com
e3e253fab8 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-11-09 09:44:41 +08:00
mgw
fe96004111 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造优化 2023-11-08 17:47:57 +08:00
jinling.yang
8483be5d2d Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-08 17:44:45 +08:00
jinling.yang
b6964e29bc Merge branch 'feature/去掉注释' into develop 2023-11-08 17:44:33 +08:00
杨金灵
56d1a98c53 Accept Merge Request #513: (feature/去掉注释 -> develop)
Merge Request: 去掉注释及硬度的字段类型改为整数型

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/513?initial=true
2023-11-08 17:43:47 +08:00
jinling.yang
01f0902937 去掉注释,及修改转换3d模型文件的位置 2023-11-08 17:41:18 +08:00
jinling.yang
6335c03cef 硬度相关字段的类型改为整数型 2023-11-08 17:35:16 +08:00
jinling.yang
4f898dd8ce 去掉注释,硬度的字段类型改为整数型 2023-11-08 17:29:38 +08:00
mgw
d012066428 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造优化 2023-11-08 17:21:07 +08:00
jinling.yang
4c57bbe791 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-08 17:20:07 +08:00
jinling.yang
b8d590de6d Merge branch 'feature/整合产品和销售模块' into develop 2023-11-08 17:19:53 +08:00
杨金灵
82a31c6f31 Accept Merge Request #512: (feature/整合产品和销售模块 -> develop)
Merge Request: 整合所有模块依赖

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/512?initial=true
2023-11-08 17:17:55 +08:00
jinling.yang
30a7f762c2 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/整合产品和销售模块 2023-11-08 17:14:01 +08:00
jinling.yang
3a1acb0f5a 整合所有模块依赖 2023-11-08 17:13:18 +08:00
mgw
c0b759aa9d 优化代码 2023-11-08 11:24:05 +08:00
马广威
7f5ac4ef90 Accept Merge Request #511: (feature/制造优化 -> develop)
Merge Request: 增加排程后各工单时间预估功能

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/511?initial=true
2023-11-07 10:19:39 +08:00
mgw
f1c835800e Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造优化 2023-11-07 10:17:52 +08:00
mgw
77852900a3 增加排程后各工单时间预估功能 2023-11-07 10:17:06 +08:00
qihao.gong@jikimo.com
b2a9088354 修改路线规则 2023-11-03 15:48:42 +08:00
杨金灵
3be0d1ffad Accept Merge Request #510: (feature/同步刀具标准库(刀杆) -> develop)
Merge Request: 修复刀具标准库(刀杆)

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/510?initial=true
2023-11-03 10:44:46 +08:00
jinling.yang
686c049e52 修复刀具标准库 2023-11-03 10:42:09 +08:00
qihao.gong@jikimo.com
780dbd5dda Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-11-02 17:19:06 +08:00
杨金灵
53ad002f3b Accept Merge Request #509: (feature/修复刀具标准库包含同步新增 -> develop)
Merge Request: 修复同步刀具标准库

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/509?initial=true
2023-11-02 17:18:38 +08:00
jinling.yang
36270477d5 修复同步刀具标准库 2023-11-02 17:17:34 +08:00
qihao.gong@jikimo.com
a45ee59a76 修改 2023-11-02 14:34:17 +08:00
qihao.gong@jikimo.com
d2782446b0 修改 2023-11-02 14:24:27 +08:00
杨金灵
eb835ae5c8 Accept Merge Request #508: (feature/去掉模型代码转换注释 -> develop)
Merge Request: 去掉模型代码转换注释

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/508?initial=true
2023-11-01 17:52:18 +08:00
jinling.yang
401103f17b 去掉模型代码转换注释 2023-11-01 17:51:46 +08:00
jinling.yang
e592d49983 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-11-01 17:49:28 +08:00
jinling.yang
de0cb1ebbc Merge branch 'feature/刀具产品调取Cloud刀具标准库(10.11)' into develop 2023-11-01 17:49:16 +08:00
杨金灵
8e91aec7f1 Accept Merge Request #507: (feature/刀具产品调取Cloud刀具标准库(10.11) -> develop)
Merge Request: 优化刀具标准库

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/507?initial=true
2023-11-01 17:49:00 +08:00
jinling.yang
0b7dc6d09a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11) 2023-11-01 17:46:24 +08:00
jinling.yang
108cb96ca5 修复刀具产品及同步刀具标准库 2023-11-01 17:45:54 +08:00
禹翔辉
03efa01a85 Accept Merge Request #506: (feature/功能刀具组装优化 -> develop)
Merge Request: 1、优化CAM申请的组装单中功能刀具名称没有内容的问题,优化组装单等的form表名称问题;2、去除组装单弹窗输出语句 

Created By: @禹翔辉
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/506?initial=true
2023-11-01 17:40:30 +08:00
JIKIMO-YXH\xianghui
ba19175472 Merge remote-tracking branch 'origin/feature/功能刀具' into feature/功能刀具组装优化 2023-11-01 17:39:21 +08:00
龚启豪
aa9464face Accept Merge Request #505: (feature/修改机床参数bug -> develop)
Merge Request: 修改维保项目多图片展示

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/505?initial=true
2023-11-01 17:35:05 +08:00
qihao.gong@jikimo.com
0c788df2f2 修改维保项目多图片展示 2023-11-01 17:33:50 +08:00
JIKIMO-YXH\xianghui
cbc9264b2c 1、优化CAM申请的组装单中功能刀具名称没有内容的问题,优化组装单等的form表名称问题;2、去除组装单弹窗输出语句 2023-11-01 17:26:23 +08:00
马广威
82ce347ca4 Accept Merge Request #504: (feature/制造-计划优化 -> develop)
Merge Request: 本地已处理完序号导致的label变形问题,线上测试

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/504?initial=true
2023-11-01 17:10:53 +08:00
mgw
d13071272a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造-计划优化 2023-11-01 16:53:15 +08:00
mgw
74523c710f 本地测试优化完序号展示问题,准备线上测试 2023-11-01 16:52:26 +08:00
mgw
fc35ef687b 优化序号导致字段label变形的问题 2023-11-01 12:15:26 +08:00
禹翔辉
a71d960e2d Accept Merge Request #503: (feature/功能刀具 -> develop)
Merge Request: 功能刀具组装后流程和功能刀具组装优化

Created By: @禹翔辉
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/503?initial=true
2023-11-01 09:44:01 +08:00
JIKIMO-YXH\xianghui
0cbf01b9ec Merge remote-tracking branch 'origin/feature/功能刀具组装后' into feature/功能刀具 2023-11-01 09:26:04 +08:00
mgw
869b389420 研究下载模板和列宽问题 2023-11-01 09:01:49 +08:00
JIKIMO-YXH\xianghui
d429a8b4b8 1、删除功能刀具缓存对象,删除出库弹窗对像,删除功能刀具组装、机台换刀申请和CAM换刀的界面跳转按钮,并在form界面添加管理界面字段;2、优化组装单编码的生成;3、将刀具管理下所以功能刀具相关的模型中的功能刀具名称字段改为绑定功能刀具产品对象,编码改为序列号并绑定产品序列号对象,4、优化刀具管理下的功能刀具界面,5、优化从组装申请到组装完成所以流程功能 2023-10-31 17:45:45 +08:00
JIKIMO-YXH\xianghui
deccb6e3cd 1、删除功能刀具组装的取消组装功能和出库功能;2、删除功能刀具组装单的单据来源跳转按钮;3、新增组装单编码字段和自动生成编码的方法;4、新增功能刀具序列号,绑定功能刀具产品序列号;5、完成功能刀具组装后的产品入库到位置【组装后】 2023-10-30 17:43:28 +08:00
jinling.yang
2a9c5276ab 优化刀具产品 2023-10-30 17:32:16 +08:00
马广威
db0c83bd2b Accept Merge Request #502: (feature/制造-计划优化 -> develop)
Merge Request: 解决row number导致字段label变形的问题

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/502
2023-10-30 15:47:37 +08:00
mgw
f81ee155e7 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造-计划优化 2023-10-30 15:45:21 +08:00
mgw
76368398ba 解决row number导致字段label变形的问题 2023-10-30 15:44:45 +08:00
龚启豪
8e5fc5eb61 Accept Merge Request #500: (feature/修改机床参数bug -> develop)
Merge Request: 解决无法生成采购单的bug

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/500
2023-10-30 11:15:32 +08:00
qihao.gong@jikimo.com
a0804758f5 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-30 11:14:42 +08:00
qihao.gong@jikimo.com
4634393f6c 修改form全局宽度 2023-10-30 11:14:29 +08:00
jinling.yang
5ffe2ce0e2 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11)
# Conflicts:
#	sf_maintenance/views/maintenance_views.xml
2023-10-30 10:48:13 +08:00
杨金灵
911f464aca Accept Merge Request #501: (feature/修复获取编程单 -> develop)
Merge Request: 获取编程单修复

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/501
2023-10-30 09:38:47 +08:00
jinling.yang
9f30a029c5 机床id改为设备id 2023-10-30 09:36:52 +08:00
JIKIMO-YXH\xianghui
5b9fcb2e53 1、创建创建功能刀具该批次/序列号位置 2023-10-27 17:46:19 +08:00
jinling.yang
46807003e1 产品新增刀具物料为刀片,刀盘,刀杆,夹头,刀柄,相关联的字段,及对应页面的优化 2023-10-27 17:44:12 +08:00
qihao.gong@jikimo.com
593944cac2 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-27 15:07:12 +08:00
qihao.gong@jikimo.com
018b51e1e5 解决无法生成采购单的bug 2023-10-27 15:06:49 +08:00
龚启豪
a29dbca0e4 Accept Merge Request #499: (feature/修改机床参数bug -> develop)
Merge Request: 制造标准改成执行标准

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/499?initial=true
2023-10-27 10:31:53 +08:00
qihao.gong@jikimo.com
47a408d034 制造标准改成执行标准 2023-10-27 10:31:10 +08:00
龚启豪
d14120dfa2 Accept Merge Request #498: (feature/修改机床参数bug -> develop)
Merge Request: 长宽高

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/498?initial=true
2023-10-27 09:38:17 +08:00
qihao.gong@jikimo.com
b88c6a53ab 长宽高 2023-10-27 09:37:23 +08:00
JIKIMO-YXH\xianghui
e3d58c2a9e 1、优化产初始化生成功能刀具,解决作业类型无法选择功能刀具的问题;2、优化取消功能刀具组装功能;3、新增功能刀具组装确定后生成功能刀具序列号,生成刀具组装入库单 2023-10-26 17:39:33 +08:00
龚启豪
04261036a5 Accept Merge Request #497: (feature/修改机床参数bug -> develop)
Merge Request: 修改设备菜单默认展示页面

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/497?initial=true
2023-10-26 17:34:01 +08:00
qihao.gong@jikimo.com
0eaed68b82 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-26 17:32:15 +08:00
qihao.gong@jikimo.com
ccb53a61de 修改设备菜单默认展示页面 2023-10-26 17:32:00 +08:00
jinling.yang
4a01132b91 新增产品刀具参数里的走刀量 2023-10-26 10:10:47 +08:00
jinling.yang
9fffcd4f04 新增规格改变事件 2023-10-25 17:37:17 +08:00
JIKIMO-YXH\xianghui
ce86a66e92 1、新增产品初始化时生成功能刀具产品类别和功能刀具模版;2、新增库存初始化时生成组装后位置和刀具组装入库的作业类型。 2023-10-25 17:35:12 +08:00
jinling.yang
65dd8372dd Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11) 2023-10-25 15:07:52 +08:00
jinling.yang
39f97131a2 1.去掉不要的代码2,.产品页面新增规格字段 2023-10-25 15:07:29 +08:00
jinling.yang
7b471be4cf 洗澡基本参数回显 2023-10-24 17:47:05 +08:00
龚启豪
802bd4285c Accept Merge Request #496: (feature/修改机床参数bug -> develop)
Merge Request: 修改设备日志列表展示

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/496
2023-10-24 17:32:39 +08:00
qihao.gong@jikimo.com
e7de773f28 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-24 17:31:52 +08:00
qihao.gong@jikimo.com
4098dda5b8 修改设备日志列表展示 2023-10-24 17:31:42 +08:00
禹翔辉
2c67f7a286 Accept Merge Request #495: (feature/功能刀具组装和产品优化 -> develop)
Merge Request: 1、优化产品模块下夹具类别下的零点托盘参数显示;2、调整功能刀具组装单的刀具物料字段布局。

Created By: @禹翔辉
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/495?initial=true
2023-10-24 17:12:28 +08:00
JIKIMO-YXH\xianghui
a953ca189e 1、优化产品模块下夹具类别下的零点托盘参数显示;2、调整功能刀具组装单的刀具物料字段布局。 2023-10-24 17:11:37 +08:00
杨金灵
0a09c54690 Accept Merge Request #494: (feature/修复快速订单 -> develop)
Merge Request: 修复销售方法的传参

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/494?initial=true
2023-10-24 14:56:30 +08:00
jinling.yang
076c4a2bcb 修复销售方法的传参 2023-10-24 14:55:45 +08:00
杨金灵
0e2cbf06ca Accept Merge Request #493: (feature/修复创建销售订单 -> develop)
Merge Request: 修复创建销售

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/493?initial=true
2023-10-24 14:45:16 +08:00
jinling.yang
575c856f27 修复创建销售 2023-10-24 14:43:11 +08:00
jinling.yang
103b00a635 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11)
# Conflicts:
#	sf_sale/models/quick_easy_order.py
2023-10-24 14:39:45 +08:00
jinling.yang
38c77e7fbb 新增选择刀具规格基本参数 2023-10-24 14:38:35 +08:00
杨金灵
272ab8daa0 Accept Merge Request #492: (feature/添加日志 -> develop)
Merge Request: 添加日志输出·

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/492?initial=true
2023-10-24 11:24:26 +08:00
jinling.yang
acff814e9b 添加注释 2023-10-24 11:23:29 +08:00
jinling.yang
1bc3f756fe 新增按钮 2023-10-24 11:18:33 +08:00
杨金灵
99ea796f2e Accept Merge Request #491: (feature/快速订单 -> develop)
Merge Request: 快速订单代码还原

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/491?initial=true
2023-10-24 10:30:06 +08:00
jinling.yang
4ef82ee7cf 代码还原 2023-10-24 10:29:10 +08:00
jinling.yang
4bed65d1df Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11)
# Conflicts:
#	sf_sale/models/quick_easy_order.py
2023-10-24 09:59:11 +08:00
杨金灵
2b9e768793 Accept Merge Request #490: (feature/注释自动报价 -> develop)
Merge Request: 注释自动报价

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/490
2023-10-24 09:52:50 +08:00
jinling.yang
f4a878ced9 注释自动报价 2023-10-24 09:51:31 +08:00
jinling.yang
093724a277 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11)
# Conflicts:
#	sf_sale/models/quick_easy_order.py
2023-10-24 09:45:35 +08:00
qihao.gong@jikimo.com
8346f40b79 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-24 09:41:43 +08:00
qihao.gong@jikimo.com
a9ba65ec17 去除输入框居中的样式 2023-10-24 09:41:28 +08:00
jinling.yang
8f29696b64 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-10-24 09:41:23 +08:00
jinling.yang
2d32419a7d 修改计算方法 2023-10-24 09:41:05 +08:00
禹翔辉
2c636c5e64 Accept Merge Request #489: (feature/功能刀具组装优化 -> develop)
Merge Request: 1、完成刀具组装单扫描绑定刀具物料的功能;2、完成刀具组装单刀具物料绑定库存的刀具物料序列号

Created By: @禹翔辉
Accepted By: @禹翔辉
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/489?initial=true
2023-10-23 17:38:16 +08:00
yuxianghui
270338868b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/功能刀具组装优化 2023-10-23 17:36:44 +08:00
yuxianghui
845d606b36 完成刀具组装单扫描绑定刀具物料的功能 2023-10-23 17:36:27 +08:00
jinling.yang
919a200750 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop 2023-10-23 17:36:15 +08:00
jinling.yang
ad11f2ea63 Merge branch 'feature/注释自动报价方法' into develop 2023-10-23 14:32:54 +08:00
杨金灵
a414f7cd25 Accept Merge Request #487: (feature/注释自动报价方法 -> develop)
Merge Request: 注释代码

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/487?initial=true
2023-10-23 14:32:34 +08:00
jinling.yang
2a8558f5a2 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/注释自动报价方法 2023-10-23 14:31:23 +08:00
jinling.yang
13555d91e2 注释上色代码 2023-10-23 14:30:46 +08:00
杨金灵
5ccc186bd1 Accept Merge Request #486: (feature/注释自动报价方法 -> develop)
Merge Request: 注释自动报价方法

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/486?initial=true
2023-10-23 11:38:37 +08:00
jinling.yang
27259fb8f7 注释自动报价方法 2023-10-23 11:34:56 +08:00
杨金灵
b733c4168f Accept Merge Request #485: (feature/自动报价代码释放 -> develop)
Merge Request: 自动报价代码释放

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/485?initial=true
2023-10-23 10:01:19 +08:00
jinling.yang
1e243e4500 代码释放 2023-10-23 09:59:25 +08:00
yuxianghui
ef2e84e411 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/功能刀具组装优化 2023-10-23 09:44:06 +08:00
马广威
4f644b1e25 Accept Merge Request #484: (feature/制造-计划优化 -> develop)
Merge Request: 解决sequence bug,增加“丢弃”二次确认模态框

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/484
2023-10-23 00:21:50 +08:00
马广威
a5cb2dc93b Merge branch refs/heads/develop into refs/heads/feature/制造-计划优化 2023-10-23 00:21:20 +08:00
mgw
749473f9dc form视图的丢弃按钮增加二次确认功能 2023-10-23 00:17:05 +08:00
jinling.yang
dc8aecba93 产品新增刀具规格向导 2023-10-20 18:41:58 +08:00
mgw
587e2a4e3e 修复sequence导致字段值移动位置的bug 2023-10-20 10:50:35 +08:00
jinling.yang
d83255cc67 优化同步刀具标准库接口(包含全部合并每日) 2023-10-19 17:23:53 +08:00
jinling.yang
14edbd85f4 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11)
# Conflicts:
#	sf_base/models/tool_base.py
#	sf_base/models/tool_base_new.py
#	sf_maintenance/views/maintenance_views.xml
#	sf_mrs_connect/models/res_config_setting.py
2023-10-19 10:53:03 +08:00
jinling.yang
e7df6c14b1 同步刀具标准库 2023-10-19 10:49:54 +08:00
yuxianghui
e2c13a8194 1、功能刀具组装组装功能对象的六个刀具物料对象的序列号绑定库存的刀具物料序列号,2、优化功能刀具组装和功能刀具组装组装弹窗的刀具物料布局 2023-10-18 17:34:19 +08:00
龚启豪
9b5a0162ff Accept Merge Request #483: (feature/修改机床参数bug -> develop)
Merge Request: 设备其他table增加参数

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/483?initial=true
2023-10-17 15:11:40 +08:00
qihao.gong@jikimo.com
a57cdbe2f3 设备其他table增加参数 2023-10-17 15:10:25 +08:00
龚启豪
d02e0cf455 Accept Merge Request #482: (feature/修改机床参数bug -> develop)
Merge Request: 修改设备table布局

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/482?initial=true
2023-10-16 17:24:17 +08:00
qihao.gong@jikimo.com
e3bdf9409f Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-16 17:23:21 +08:00
qihao.gong@jikimo.com
93a6b4ccb4 修改设备table布局 2023-10-16 17:23:04 +08:00
龚启豪
d532ff8c05 Accept Merge Request #481: (feature/修改机床参数bug -> develop)
Merge Request: 修改设备table布局

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/481?initial=true
2023-10-16 17:12:28 +08:00
qihao.gong@jikimo.com
0f15814916 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-16 17:11:37 +08:00
qihao.gong@jikimo.com
f02d1a0ace 修改设备table布局 2023-10-16 17:11:24 +08:00
马广威
cbc298f6ad Accept Merge Request #480: (feature/制造-计划优化 -> develop)
Merge Request: tree视图记录左侧增加序号展示记录数

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/480?initial=true
2023-10-16 15:19:08 +08:00
mgw
e02ab7fd95 tree视图记录左侧增加序号展示记录数 2023-10-16 15:18:18 +08:00
jinling.yang
9acdcc0429 新增同步cloud的刀具标准库接口 2023-10-13 17:29:34 +08:00
龚启豪
dbbddfadab Accept Merge Request #479: (feature/修改机床参数bug -> develop)
Merge Request: 修改设备table格式布局

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/479?initial=true
2023-10-13 16:43:45 +08:00
qihao.gong@jikimo.com
1f090fdd20 修改设备table格式布局 2023-10-13 16:42:16 +08:00
龚启豪
0b72c59335 Accept Merge Request #415: (feature/修改机床参数bug -> develop)
Merge Request: 修改机床注册接口

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/415?initial=true
2023-10-13 14:28:06 +08:00
qihao.gong@jikimo.com
7c6dd76464 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-13 14:26:49 +08:00
qihao.gong@jikimo.com
01ad3e7d8c 修改机床注册接口 2023-10-13 14:26:38 +08:00
龚启豪
53f7f75795 Accept Merge Request #414: (feature/修改机床参数bug -> develop)
Merge Request: 设备过滤能力特征库只关联加工能力

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/414?initial=true
2023-10-12 14:50:13 +08:00
qihao.gong@jikimo.com
a80ab33c50 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-12 14:49:41 +08:00
qihao.gong@jikimo.com
3bd5c7efb3 设备过滤能力特征库只关联加工能力 2023-10-12 14:49:25 +08:00
龚启豪
aa2e9e8c1f Accept Merge Request #413: (feature/修改机床参数bug -> develop)
Merge Request: 修改设备table的样式  修改关联品牌根据各不同类别展示

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/413?initial=true
2023-10-12 14:11:26 +08:00
qihao.gong@jikimo.com
8db9ed68c1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-12 14:10:47 +08:00
qihao.gong@jikimo.com
53e307cd55 修改设备table的样式 修改关联品牌根据各不同类别展示 2023-10-12 14:10:29 +08:00
jinling.yang
c04e138d6b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具产品调取Cloud刀具标准库(10.11)
# Conflicts:
#	sf_mrs_connect/models/sync_common.py
2023-10-11 17:41:19 +08:00
jinling.yang
296efcc395 新增调取cloud的刀具标准库接口 2023-10-11 17:39:46 +08:00
龚启豪
e4fb6edb05 Accept Merge Request #412: (feature/修改机床参数bug -> develop)
Merge Request: 处理同步报错bug

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/412?initial=true
2023-10-11 15:42:52 +08:00
qihao.gong@jikimo.com
6724d0e0c1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-11 15:42:06 +08:00
qihao.gong@jikimo.com
e505285a91 处理同步报错bug 2023-10-11 15:41:55 +08:00
龚启豪
2ecc130fd1 Accept Merge Request #411: (feature/修改机床参数bug -> develop)
Merge Request: 设备参数根据不同类别修改必填项, 新增刀具库位table

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/411?initial=true
2023-10-11 14:57:29 +08:00
qihao.gong@jikimo.com
ecb1f4140e Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts:
#	sf_mrs_connect/models/res_config_setting.py
#	sf_mrs_connect/models/sync_common.py
2023-10-11 14:56:18 +08:00
qihao.gong@jikimo.com
b1d2cd1ceb 设备类别参数根据不同类别必填 设备增加刀具库位table 并自动生成 2023-10-11 14:45:35 +08:00
杨金灵
0752ba9d2d Accept Merge Request #410: (feature/刀具产品调取Cloud刀具标准库 -> develop)
Merge Request: 优化能力特征库

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/410?initial=true
2023-10-10 17:27:39 +08:00
jinling.yang
6b7b536236 1.优化同步cloud的静态资源库的定时器的代码
2.新增能力特征库的接口
2023-10-10 17:19:11 +08:00
qihao.gong@jikimo.com
b9d6e0ea35 材料型号同步接口修改 新增国际标准和材料应用 2023-10-09 17:35:39 +08:00
杨金灵
8f4eff6d1c Accept Merge Request #409: (feature/bug修复 -> develop)
Merge Request: 同步cloud资源库静态资源Bug修复及代码优化

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/409?initial=true
2023-10-09 15:23:57 +08:00
jinling.yang
708889b1ed 去掉不要的代码及刀具型号的定时器 2023-10-09 15:21:41 +08:00
jinling.yang
59514cc433 去掉刀具型号的同步方法 2023-10-09 15:15:52 +08:00
qihao.gong@jikimo.com
ea3dbb290f Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-10-08 17:28:09 +08:00
qihao.gong@jikimo.com
30cebea5a1 修改材料型号参数类型 2023-10-08 17:27:51 +08:00
jinling.yang
e586ed8e3b Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/bug修复 2023-10-08 17:19:22 +08:00
jinling.yang
7551bf38ef 销售模块新增依赖引用 2023-10-08 17:19:02 +08:00
龚启豪
34beb03a6a Accept Merge Request #408: (feature/修改机床参数bug -> develop)
Merge Request: 新增设备AGV小车,机器人,检测设备参数

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/408?initial=true
2023-10-08 09:11:39 +08:00
qihao.gong@jikimo.com
af05d3ec30 设备增加AGV小车,机械臂,检测设备参数 2023-10-07 17:26:09 +08:00
qihao.gong@jikimo.com
ac6315c76a Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-09-28 16:20:24 +08:00
qihao.gong@jikimo.com
960bea5bb0 设备新增参数 AGV小车table页 2023-09-28 16:20:03 +08:00
龚启豪
69bae5b853 Accept Merge Request #407: (feature/修改机床参数bug -> develop)
Merge Request: 故障日志bug

Created By: @龚启豪
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/407?initial=true
2023-09-27 14:33:03 +08:00
qihao.gong@jikimo.com
6b375ee64d 修改故障日志bug 2023-09-27 14:30:38 +08:00
qihao.gong@jikimo.com
84b211911f Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug 2023-09-26 17:29:37 +08:00
qihao.gong@jikimo.com
22a4ccad6b 修改维保生成编码和名称的规则 2023-09-26 17:29:14 +08:00
jinling.yang
a9f51df151 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/bug修复 2023-09-21 16:11:04 +08:00
jinling.yang
3aa34ee0cf http权限代码优化 2023-09-21 16:10:18 +08:00
jinling.yang
ab42bde8f2 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/bug修复 2023-09-18 17:42:13 +08:00
jinling.yang
a96c7a34c1 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/bug修复 2023-09-18 17:40:30 +08:00
jinling.yang
a7da1dbadd Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/bug修复 2023-09-14 18:08:05 +08:00
jinling.yang
650bf2cf86 Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/bug修复 2023-09-14 09:30:48 +08:00
jinling.yang
ecc9bd446f 材料等同步Bug修复 2023-09-06 16:32:25 +08:00
334 changed files with 21249 additions and 10976 deletions

View File

@@ -10,7 +10,7 @@
""", """,
'category': 'sf', 'category': 'sf',
'website': 'https://www.sf.jikimo.com', 'website': 'https://www.sf.jikimo.com',
'depends': [], 'depends': ['web', 'purchase'],
'data': [ 'data': [
], ],
@@ -22,7 +22,22 @@
], ],
'web.assets_backend': [ 'web.assets_backend': [
'jikimo_frontend/static/src/fields/custom_many2many_checkboxes/*', 'jikimo_frontend/static/src/fields/custom_many2many_checkboxes/*',
'jikimo_frontend/static/src/fields/Many2OneRadioField/*',
'jikimo_frontend/static/src/scss/custom_style.scss', 'jikimo_frontend/static/src/scss/custom_style.scss',
# 'jikimo_frontend/static/src/views/list_nums/list_nbCols.js',
'jikimo_frontend/static/src/views/list_nums/list_nums.xml',
'jikimo_frontend/static/src/views/list_nums/list_nums2.xml',
'jikimo_frontend/static/src/views/list_nums/list_nums3.xml',
'jikimo_frontend/static/src/js/custom_form_status_indicator.js',
'jikimo_frontend/static/src/js/custom_image_temp.js',
'jikimo_frontend/static/src/scss/rowno_in_tree.scss',
# 'jikimo_frontend/static/src/views/list_nums/list_render.xml',
# 'jikimo_frontend/static/src/list/list_up_down_button.xml',
# 'jikimo_frontend/static/src/list/custom_import.js',
# 'jikimo_frontend/static/src/list/custom_width.js',
'jikimo_frontend/static/src/views/list_nums/extent_purchase.xml',
# 'jikimo_frontend/static/src/css/list_border_styles.css',
], ],
}, },

View File

@@ -0,0 +1,3 @@
.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell):not(.o_list_button):not(.o_list_record_remove){
border:1px solid #dee2e6 !important;
}

View File

@@ -0,0 +1,3 @@
.many2one_radio_field {
display: inline-block;
}

View File

@@ -0,0 +1,53 @@
/** @odoo-module **/
import { RadioField } from "@web/views/fields/radio/radio_field"; // 导入单选按钮组件
import { registry } from "@web/core/registry";
export class Many2OneRadioField extends RadioField {
// 你可以重写或者添加一些方法和属性
// 例如你可以重写setup方法来添加一些事件监听器或者初始化一些变量
setup() {
super.setup(); // 调用父类的setup方法
// 你自己的代码
}
onImageClick(event) {
// 放大图片逻辑
// 获取图片元素
const img = event.target;
const close = img.nextSibling;
// 实现放大图片逻辑
// 比如使用 CSS 放大
img.parentElement.classList.add('zoomed');
close.classList.add('img_close');
}
onCloseClick(event) {
const close = event.target;
const img = close.previousSibling;
img.parentElement.classList.remove('zoomed');
close.classList.remove('img_close');
}
get items() {
return Many2OneRadioField.getItems(this.props.name, this.props.record);
}
static getItems(fieldName, record) {
switch (record.fields[fieldName].type) {
case "selection":
return record.fields[fieldName].selection;
case "many2one": {
const value = record.preloadedData[fieldName] || [];
return value.map((item) => [item.id, item.display_name, item.image]);
}
default:
return [];
}
}
}
Many2OneRadioField.template = "jikimo_frontend.Many2OneRadioField";
// MyCustomWidget.supportedTypes = ['many2many'];
registry.category("fields").add("many2one_radio", Many2OneRadioField);

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-name="jikimo_frontend.Many2OneRadioField" owl="1">
<div
role="radiogroup"
t-attf-class="o_{{ props.orientation }}"
t-att-aria-label="string"
>
<t t-foreach="items" t-as="item" t-key="item[0]">
<div class="form-check o_radio_item many2one_radio_field" aria-atomic="true">
<input
type="radio"
class="form-check-input o_radio_input"
t-att-checked="item[0] === value"
t-att-disabled="props.readonly"
t-att-name="id"
t-att-data-value="item[0]"
t-att-data-index="item_index"
t-att-id="`${id}_${item[0]}`"
t-on-change="() => this.onChange(item)"
/>
<label class="form-check-label o_form_label" t-att-for="`${id}_${item[0]}`" t-esc="item[1]" />
<div t-on-dblclick="onImageClick">
<t>
<img t-att-src="item[2]" width="50" height="50"/>
<div class="close" t-on-click="onCloseClick">×</div>
</t>
</div>
</div>
</t>
</div>
</t>
</templates>

View File

@@ -15,23 +15,24 @@ export class MyCustomWidget extends Many2ManyCheckboxesField {
// 放大图片逻辑 // 放大图片逻辑
// 获取图片元素 // 获取图片元素
const img = event.target; const img = event.target;
const close = img.nextSibling const close = img.nextSibling;
// 实现放大图片逻辑 // 实现放大图片逻辑
// 比如使用 CSS 放大 // 比如使用 CSS 放大
img.parentElement.classList.add('zoomed'); img.parentElement.classList.add('zoomed');
close.classList.add('img_close') close.classList.add('img_close');
} }
onCloseClick(event) { onCloseClick(event) {
const close = event.target; const close = event.target;
const img = close.previousSibling const img = close.previousSibling;
img.parentElement.classList.remove('zoomed') img.parentElement.classList.remove('zoomed');
close.classList.remove('img_close') close.classList.remove('img_close');
} }
} }
MyCustomWidget.template = "jikimo_frontend.MyCustomWidget" MyCustomWidget.template = "jikimo_frontend.MyCustomWidget";
// MyCustomWidget.supportedTypes = ['many2many']; // MyCustomWidget.supportedTypes = ['many2many'];
registry.category("fields").add("custom_many2many_checkboxes", MyCustomWidget); registry.category("fields").add("custom_many2many_checkboxes", MyCustomWidget);

View File

@@ -0,0 +1,62 @@
/** @odoo-module */
import {patch} from '@web/core/utils/patch';
// import { Dialog } from "@web/core/dialog/dialog";
import {_t} from "@web/core/l10n/translation";
import {FormStatusIndicator} from "@web/views/form/form_status_indicator/form_status_indicator";
var Dialog = require('web.Dialog');
// var {patch} = require("web.utils") 这句话也行
patch(FormStatusIndicator.prototype, 'jikimo_frontend.FormStatusIndicator', {
// 你可以重写或者添加一些方法和属性
async _onDiscardChanges() {
// var self = this;
Dialog.confirm(this, _t("Are you sure you want to discard changes?"), {
title: _t("Discard Changes"),
// confirm_callback: function () {
// self.model.discardChanges(self.handle);
// },
});
},
async discard() {
// if (window.confirm("Are you sure you want to discard changes?")) {
// await this.props.discard();
// }
// const result = await this._confirmDiscardChange();
await this._confirmDiscardChange();
await this.props.discard();
},
_confirmDiscardChange(){
var self = this;
var def = new Promise(function (resolve, reject) {
var message = _t("请确认是否要舍弃之前的更改?");
var dialog = Dialog.confirm(self, message, {
title: _t("Warning"),
confirm_callback: resolve.bind(self, true),
cancel_callback: reject,
});
dialog.on('closed', self, reject);
});
return def;
},
}
);
$(function (){
document.addEventListener('click', function () {
const dom = $('.o_form_status_indicator_buttons ')
if(dom) {
const dom1 = dom.children().eq(0)
const dom2 = dom.children().eq(1)
if(!dom1.text()) {
dom1.append('保存')
dom2.append('取消')
}
}
})
})

View File

@@ -0,0 +1,32 @@
/** @odoo-module **/
import {patch} from '@web/core/utils/patch';
import { url } from "@web/core/utils/urls";
import { ImageField, imageCacheKey } from '@web/views/fields/image/image_field';
patch(ImageField.prototype, 'jikimo_frontend/static/src/js/custom_image.js', {
// 你可以重写或者添加一些方法和属性
getUrl(previewFieldName) {
console.log('666666666666666666666666666666666')
if (this.state.isValid && this.props.value) {
if (1) {
if (!this.rawCacheKey) {
this.rawCacheKey = this.props.record.data.__last_update;
}
return url("/web/image", {
model: this.props.record.resModel,
id: this.props.record.resId,
field: previewFieldName,
unique: imageCacheKey(this.rawCacheKey),
});
} else {
// Use magic-word technique for detecting image type
const magic = fileTypeMagicWordMap[this.props.value[0]] || "png";
return `data:image/${magic};base64,${this.props.value}`;
}
}
return placeholder;
}
}
);

View File

@@ -0,0 +1,36 @@
/** @odoo-module **/
import { registry } from "@web/core/registry";
import { url } from "@web/core/utils/urls";
import { ImageField, imageCacheKey } from '@web/views/fields/image/image_field';
export class CustomImageField extends ImageField {
setup() {
super.setup();
// this.dialog = useService("dialog");
}
getUrl(previewFieldName) {
console.log('8888888888886666666666666666666')
if (this.state.isValid && this.props.value) {
if (1) {
if (!this.rawCacheKey) {
this.rawCacheKey = this.props.record.data.__last_update;
}
return url("/web/image", {
model: this.props.record.resModel,
id: this.props.record.resId,
field: previewFieldName,
unique: imageCacheKey(this.rawCacheKey),
});
} else {
// Use magic-word technique for detecting image type
const magic = fileTypeMagicWordMap[this.props.value[0]] || "png";
return `data:image/${magic};base64,${this.props.value}`;
}
}
return placeholder;
}
}
registry.category("fields").add("custom_image", CustomImageField);

View File

@@ -0,0 +1,95 @@
/** @odoo-module */
import {patch} from '@web/core/utils/patch';
import {ListRenderer} from "@web/views/list/list_renderer";
// var {patch} = require("web.utils") 这句话也行
patch(ListRenderer.prototype, 'jikimo_frontend.ListRenderer', {
// 你可以重写或者添加一些方法和属性
// The following code manipulates the DOM directly to avoid having to wait for a
// render + patch which would occur on the next frame and cause flickering.
freezeColumnWidths() {
// console.log('ccccccccccccccccccccccccccc')
if (!this.keepColumnWidths) {
this.columnWidths = null;
}
const table = this.tableRef.el;
const headers = [...table.querySelectorAll("thead th:not(.o_list_actions_header)")];
const column_num = headers.length;
if (!this.columnWidths || !this.columnWidths.length) {
// no column widths to restore
// Set table layout auto and remove inline style to make sure that css
// rules apply (e.g. fixed width of record selector)
table.style.tableLayout = "auto";
headers.forEach((th) => {
th.style.width = null;
th.style.maxWidth = null;
});
this.setDefaultColumnWidths(column_num);
// Squeeze the table by applying a max-width on largest columns to
// ensure that it doesn't overflow
this.columnWidths = this.computeColumnWidthsFromContent();
table.style.tableLayout = "fixed";
}
headers.forEach((th, index) => {
if (!th.style.width) {
th.style.width = `${Math.floor(this.columnWidths[index])}px`;
}
});
},
setDefaultColumnWidths(column_num) {
// const bbb = this.state.columns[0].name
const widths = this.state.columns.map((col) =>
this.calculateColumnWidth(col));
// const sumOfRelativeWidths = (widths
// .filter(({ type }) => type === "relative")
// .reduce((sum, { value }) => sum + value, 0));
// 获取数组的最后一项
const lastItem = widths[widths.length - 1];
// 复制最后一项
const newItem = { ...lastItem };
// 将新的对象添加到数组的末尾
widths.push(newItem);
// 判断销售的sequence
// if (this.state.columns[0].name === "sequence") {
// widths[1] = { type: "relative", value: 0.1 };
// }
// 判断 this.state.columns 是否存在且长度大于零
if (this.state.columns && this.state.columns.length > 0
&& this.state.columns[0].name === "sequence") {
widths[1] = { type: "relative", value: 0.1 };
}
// 1 because nth-child selectors are 1-indexed,
// 2 when the first column contains
// the checkboxes to select records.
const columnOffset = this.hasSelectors ? 2 : 1;
widths.forEach(({ type, value }, width) => {
const headerEl = this.tableRef.el.querySelector(
`th:nth-child(${width + columnOffset})`);
if (type === "absolute") {
if (this.isEmpty) {
headerEl.style.width = value;
} else {
headerEl.style.minWidth = value;
}
} else if (type === "relative" && this.isEmpty) {
headerEl.style.width = `${((value / column_num) * 100
).toFixed(2)}%`;
}
});
},
}
);

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<t t-name="list_up_down_button" t-inherit="web.ListView.Buttons" t-inherit-mode="extension" owl="1">
<xpath expr="//t[@t-if='nbTotal and !nbSelected and activeActions.exportXlsx and isExportEnable and !env.isSmall']" position="before">
<!-- 新增的导入文件按钮 -->
<!-- <button type="button" class="btn btn-secondary fa fa-upload o_list_import_file" data-tooltip="导入文件" aria-label="Import File" title="" t-on-click="onDirectImportData"/> -->
<!-- <button type="button" class="btn btn-secondary fa fa-upload o_list_import_file" data-tooltip="导入文件" aria-label="Import File" title="" t-on-click="onDirectImportData"/> -->
<!-- <button type="button" class="btn btn-secondary fa fa-download o_list_export_xlsx" data-tooltip="导出全部" aria-label="导出全部" t-on-click="onDirectExportData"/> -->
<button type="button" class="btn btn-secondary o_list_export_xlsx" data-tooltip="导出全部" aria-label="导出全部" t-on-click="onDirectExportData">导出全部</button>
<!-- <button type="button" t-component="base_import.ImportRecords" class="btn btn-secondary o_list_export_xlsx" data-tooltip="导入数据" aria-label="导入数据" t-on-click="importRecords">导入数据</button> -->
<!-- <button type="button" class="btn btn-secondary o_list_export_xlsx" data-tooltip="导入数据" aria-label="导入数据" t-on-click="importRecords">导入数据</button> -->
<!-- <t t-component="base_import.ImportRecords"> -->
<!-- <button t-on-click="importRecords" type="button" class="btn btn-secondary o_list_export_xlsx" data-tooltip="导入数据" aria-label="导入数据">导入数据</button> -->
<!-- </t> -->
</xpath>
<xpath expr="//t[@t-if='nbTotal and !nbSelected and activeActions.exportXlsx and isExportEnable and !env.isSmall']" position="replace">
</xpath>
</t>
</templates>

View File

@@ -3,7 +3,7 @@
} }
.test_model > .o_form_label { .test_model > .o_form_label {
margin-left: 20px; margin-left: 0px !important;
margin-right: 0px !important; margin-right: 0px !important;
white-space: nowrap; white-space: nowrap;
} }
@@ -17,6 +17,7 @@ div:has(.o_required_modifier) > label::before {
} }
.my-image div { .my-image div {
width: 110px !important; width: 110px !important;
height: 110px !important; height: 110px !important;
} }
@@ -78,9 +79,9 @@ td.o_required_modifier {
} }
.oe_kanban_card.kanban_color_1 { .oe_kanban_card.kanban_color_1 {
background-color: #27FEA9 !important; background-color: #fff !important;
opacity: 0.7; opacity: 0.7;
color: #fff; color: #777;
} }
.oe_kanban_card.kanban_color_3 { .oe_kanban_card.kanban_color_3 {
@@ -134,7 +135,7 @@ td.o_required_modifier {
.text-truncate { .text-truncate {
overflow: unset !important; overflow: unset !important;
text-overflow: unset !important; text-overflow: unset !important;
white-space: unset !important; //white-space: nowrap!important;
} }
.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell):not(.o_list_button):not(.o_list_record_remove) { .o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell):not(.o_list_button):not(.o_list_record_remove) {
@@ -204,8 +205,8 @@ div[class="o_content o_component_with_search_panel"] img[name="equipment_image"]
div[class="o_content o_component_with_search_panel"] .o_kanban_card_content button { div[class="o_content o_component_with_search_panel"] .o_kanban_card_content button {
position: absolute; position: absolute;
top: -52px; //top: -52px;
left: -55px; //left: -55px;
width: 80px; width: 80px;
} }
@@ -252,10 +253,16 @@ div[class="o_content o_component_with_search_panel"] .show_state span {
font-size: 12px; font-size: 12px;
} }
div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .row { //div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .row {
position: absolute; // position: absolute;
top: 55px; // top: 55px;
right: 43.5%; // right: 43.5%;
//}
//------------------------------------------
.test_model > .o_form_label {
margin-left: 4px !important;
//line-height: 0 !important;
} }
@media screen and (min-width: 1200px) { @media screen and (min-width: 1200px) {
@@ -263,10 +270,10 @@ div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .
right: 52%; right: 52%;
} }
div[class="o_content o_component_with_search_panel"] .o_kanban_card_content button { //div[class="o_content o_component_with_search_panel"] .o_kanban_card_content button {
//
left: -95px; // left: -95px;
} //}
} }
@@ -290,3 +297,156 @@ div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .
.text-bg-warning { .text-bg-warning {
background-color: #FED300 !important; background-color: #FED300 !important;
} }
.test_model>div {
display: flex;
width: 40%;
}
.test_model>div .o_field_widget {
width: 40% !important;
}
.o_form_label {
font-weight: 700 !important;
}
.bigger .o_horizontal_separator {
font-size: 1.5rem;
}
.o_horizontal_separator {
font-size: 1.5rem;
}
//
//.o_field_widget input[class='o_input'] {
//text-align: center
//}
div:has(.o_required_modifier) > label::before {
position: absolute;
left: -3px;
}
//.o_form_view .o_form_label {
// position: relative;
// width: 9rem;
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
// padding-left: 1rem;
//}
//
//.o_form_view .o_form_label:hover {
// white-space: normal;
// overflow: visible;
//}
.o_form_view {
.o_form_sheet_bg .o_form_sheet {
//max-width: none !important;
width: auto !important;
max-width: 98% !important;
}
.o_FormRenderer_chatterContainer {
max-width: none;
}
}
// 2023-11-16 hy 新增
.o_kanban_card_content .btn-group {
position: unset;
}
.o_kanban_card_content .btn-group button{
top: 100px;
left: 168px;
}
.o_kanban_primary_right {
position: absolute;
top: 40px;
left: 168px;
padding: 0;
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
.row {
width: 50%;
margin: 0;
>div {
padding: 0;
width: unset;
margin-right: 10px;
}
}
}
.oe_kanban_details li.o_text_overflow {
display: block;
}
.o_stock_kanban .o_kanban_card_content {
.row {
align-items: center;
.o_kanban_primary_left, .o_kanban_primary_right {
display: block;
}
.o_kanban_primary_right {
position: unset;
}
}
}
// 机床换刀申请表格宽度设置
.o_list_table_ungrouped {
min-width: 1089px;
}
// 加工能力\冷却方式 竖列展示改为横列展示
.processingMethod {
.o_cell.flex-grow-1.flex-sm-grow-0 {
width: 100%!important;
}
}
@media (min-width: 576px) {
.o_inner_group.processingMethod {
grid-template-columns: auto;
}
}
// 设置所有表格序号列padding为0
.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child:not(.o_group) .o_field_x2many.o_field_x2many_list tr > :first-child, .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_invisible_modifier + .o_field_widget .o_field_x2many.o_field_x2many_list tr > :first-child {
padding: 0;
text-align: center;
}
// 设置剩余number类型数据表格列 left
.o_list_renderer .o_list_table thead .o_list_number_th {
text-align:left;
}
.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector).o_list_number {
text-align: left;
}
.o_list_renderer .flex-row-reverse {
flex-direction: unset!important;
}
.o_list_renderer .flex-row-reverse > .text-end {
text-align: left!important;
}
// 设置modal弹窗样式
.modal.o_technical_modal {
.modal-lg {
@media (min-width: 992px) {
max-width: 1200px;
}
@media (min-width: 576px) {
.o_form_view .o_inner_group {
grid-template-columns: auto;
}
}
}
}

View File

@@ -0,0 +1,4 @@
.row_no {
width: 35px !important;
vertical-align: middle;
}

View File

@@ -0,0 +1,7 @@
<templates>
<t t-name="purchase.PurchaseListView" t-inherit="web.ListRenderer" t-inherit-mode="primary" owl="1">
<xpath expr="//div[hasclass('o_list_renderer')]" position="before">
<PurchaseDashBoard />
</xpath>
</t>
</templates>

View File

@@ -0,0 +1,11 @@
/** @odoo-module **/
import { patch } from "@web/core/utils/patch";
import { ListRenderer } from "@web/views/list/list_renderer";
patch(ListRenderer.prototype, '/jikimo_frontend/static/src/views/list_nums/list_nbCols.js', {
get nbCols() {
const nbCols = this._super(...arguments);
return nbCols + 1;
}
});

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- <odoo> -->
<!-- <data> -->
<!-- <templates xml:space="preserve"> -->
<t t-name="og.web.ListRenderer" t-inherit="web.ListRenderer" t-inherit-mode="extension">
<xpath expr="//table/thead/tr/th[@t-if='hasSelectors']" position="before">
<th class="row_no"><i class="fa fa-list-ol"/></th>
</xpath>
</t>
<!-- 暂存,同一份文件中有问题,拆分后正常工作 -->
<!-- <t t-name="og.web.ListRenderer.Rows" t-inherit="web.ListRenderer.Rows" t-inherit-mode="extension"> -->
<!-- <xpath expr="//t[@t-key='record.id']/t[last()]" position="inside"> -->
<!-- <t t-set="recordSeq" t-value="record_index + 1"/> -->
<!-- <t t-set="recordOffset" t-value="list.offset"/> -->
<!-- </xpath> -->
<!-- </t> -->
<!-- <t t-name="og.web.ListRenderer.RecordRow" t-inherit="web.ListRenderer.RecordRow" t-inherit-mode="extension"> -->
<!-- <xpath expr="//tr/td[1]" position="before"> -->
<!-- <td> -->
<!-- <t t-esc="222"/> -->
<!-- </td> -->
<!-- </xpath> -->
<!-- </t> -->
<!-- <t t-set="recordlimit" t-value="list.limit"/> -->
<!-- <t t-set="recordpage" t-value="list.page"/> -->
<!-- <t t-set="recordpages" t-value="list.pages"/> -->
<!-- <t t-set="recordcount" t-value="list.count"/> -->
<!-- <t t-set="recordids" t-value="list.ids"/> -->
<!-- <t t-set="recordid" t-value="record.id"/> -->
<!-- <t t-set="recordindex" t-value="record.index"/> -->
<!-- <t t-set="recorddata" t-value="record.data"/> -->
<!-- <t t-set="recordstate" t-value="record.state"/> -->
<!-- <t t-set="recordres_id" t-value="record.res_id"/> -->
<!-- <t t-set="recordcontext" t-value="record.context"/> -->
<!-- <t t-set="recordmodel" t-value="record.model"/> -->
<!-- <t t-set="recordfields" t-value="record.fields"/> -->
<!-- <t t-set="recordfields_view" t-value="record.fields_view"/> -->
<!-- <t t-set="recordfields_keys" t-value="record.fields_keys"/> -->
<!-- <t t-set="recordfields_get" t-value="record.fields_get"/> -->
<!-- <t t-set="recordfields_raw" t-value="record.fields_raw"/> -->
<!-- <t t-set="recordfields_view_get" t-value="record.fields_view_get"/> -->
<!-- <t t-set="recordfields_view_raw" t-value="record.fields_view_raw"/> -->
<!-- <t t-set="recordfields_view_fields" t-value="record.fields_view_fields"/> -->
<!-- <t t-set="recordfields_view_arch" t-value="record.fields_view_arch"/> -->
<!-- <t t-set="recordfields_view_type" t-value="record.fields_view_type"/> -->
<!-- <t t-set="recordfields_view_inherit" t-value="record.fields_view_inherit"/> -->
<!-- <t t-set="recordfields_view_parent" t-value="record.fields_view_parent"/> -->
<!-- <t t-set="recordfields_view_id" t-value="record.fields_view_id"/> -->
<!-- <t t-set="recordfields_view_name" t-value="record.fields_view_name"/> -->
<!-- <t t-set="recordfields_view_mode" t-value="record.fields_view_mode"/> -->
<!-- <t t-set="recordfields_view_type" t-value="record.fields_view_type"/> -->
<!-- <t t-set="recordfields_view_arch" t-value="record.fields_view_arch"/> -->
<!-- <t t-set="recordfields_view_inherit" t-value="record.fields_view_inherit"/> -->
<!-- <t t-set="recordfields_view_parent" t-value="record.fields_view_parent"/> -->
<!-- <t t-set="recordfields_view_id" t-value="record.fields_view_id"/> -->
<!-- </templates> -->
<!-- <templates xml:space="preserve"> -->
<!-- </templates> -->
<!-- </data> -->
<!-- </odoo> -->

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<t t-name="og.web.ListRenderer.Rows" t-inherit="web.ListRenderer.Rows" t-inherit-mode="extension">
<xpath expr="//t[@t-key='record.id']/t[last()]" position="inside">
<t t-set="recordSeq" t-value="record_index + 1"/>
<t t-set="recordOffset" t-value="list.offset"/>
</xpath>
</t>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<t t-name="og.web.ListRenderer.RecordRow" t-inherit="web.ListRenderer.RecordRow" t-inherit-mode="extension">
<xpath expr="//tr/td[1]" position="before">
<td>
<t t-esc="recordOffset + recordSeq"/>
</td>
</xpath>
</t>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" ?>
<template>
<t
t-name="rowno_in_tree.ListRenderer"
t-inherit="web.ListRenderer"
t-inherit-mode="extension"
owl="1"
>
<xpath expr="//table/thead/tr/th[@t-if='hasSelectors']" position="before">
<th class="row_no"><i class="fa fa-list-ol"/></th>
</xpath>
<xpath expr="//div/table/tfoot/tr/td" position="before">
<td />
</xpath>
</t>
<t
t-name="rowno_in_tree.add_number"
t-inherit="web.ListRenderer.Rows"
t-inherit-mode="extension"
owl="1"
>
<xpath expr="//t[@t-foreach='list.records']" position="before">
<t t-set="RowNumber" t-value="1" />
</xpath>
<xpath
expr="//t[@t-call='{{ constructor.recordRowTemplate }}']"
position="after"
>
<t t-set="RowNumber" t-value="RowNumber+1" />
</xpath>
</t>
<t
t-name="rowno_in_tree.ListRenderer.RecordRowNumber"
t-inherit="web.ListRenderer.RecordRow"
t-inherit-mode="extension"
owl="1"
>
<xpath expr="//td[@class='o_list_record_selector']" position="before">
<td tabindex="-1">
<span t-esc="RowNumber" />
</td>
</xpath>
</t>
</template>

View File

@@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
from . import models
from odoo import api, SUPERUSER_ID
def uninstall_hook(cr, registry):
# 使用cr来执行数据库操作
with api.Environment.manage():
env = api.Environment(cr, SUPERUSER_ID, {})
# 执行数据清理操作
access_rights = env['access.right'].search([])
access_rights.unlink()
followers = env['mail.followers'].search([('res_model', '=', 'access.right')])
followers.unlink()

View File

@@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
{
'name': '机企猫 隐藏项目',
'version': '16.0.1.0.0',
'category': 'Extra Tools, Productivity',
'summary': """ Can hide options from user """,
'description': """ By using this module we can hide the options like create,
delete,export,and archive/un archive in the model which we want. Here we
are also able to select the user groups except Administrator which we want
to apply the above hiding functionality """,
'author': '机企猫-MGW',
'company': '机企猫',
'depends': ['base_setup', 'mail'],
'data': [
'security/security.xml',
'security/ir.model.access.csv',
'views/model_access_rights_views.xml',
],
'assets': {
'web.assets_backend': [
'jikimo_hide_options/static/src/js/form_controller.js',
'jikimo_hide_options/static/src/js/list_controller.js',
'jikimo_hide_options/static/src/js/kanban_controller.js'
]
},
'images': ['static/description/banner.jpg'],
'license': 'LGPL-3',
'installable': True,
'auto_install': False,
'application': False,
'uninstall_hook': 'uninstall_hook',
}

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import model_access_rights
from . import models

View File

@@ -0,0 +1,107 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
class ModelAccessRights(models.Model):
"""This class is used to detect, which all options want to hide from the
specified group and model"""
_name = 'access.right'
_inherit = 'mail.thread'
_description = 'Manage Modules Access Control'
_rec_name = 'model_id'
model_id = fields.Many2one('ir.model', ondelete='cascade', required=True,
help="select the model")
groups_id = fields.Many2one('res.groups', required=True,
help="select the group")
is_delete = fields.Boolean(string="Delete", help="hide the delete option")
is_export = fields.Boolean(string="Export",
help="hide the 'Export All'"
" option from list view")
is_create_or_update = fields.Boolean(string="Create/Update",
help="hide the create option from list"
" as well as form view")
is_archive = fields.Boolean(string="Archive/UnArchive",
help="hide the archive option")
@api.model
def hide_buttons(self):
"""This function contains a query that detects which all options want
to hide, in which model,and to which user groups"""
access_right_rec = self.sudo().search_read([], ['model_id', 'is_delete',
'is_export',
'is_create_or_update',
'is_archive',
'groups_id'])
for dic in access_right_rec:
model = self.env['ir.model'].sudo().browse(dic['model_id'][0]).model
group_name = self.env['ir.model.data'].sudo().search([
('model', '=', 'res.groups'),
('res_id', '=', dic['groups_id'][0])
]).name
module_name = self.env['ir.model.data'].sudo().search([
('model', '=', 'res.groups'),
('res_id', '=', dic['groups_id'][0])
]).module
dic.update({
'model': model,
'group_name': group_name,
'module': module_name
})
return access_right_rec
# @api.model
# def hide_buttons(self):
# """This function contains a query that detects which all options want
# to hide, in which model,and to which user groups"""
# access_right_rec = self.sudo().search_read([], ['model_id', 'is_delete',
# 'is_export',
# 'is_create_or_update',
# 'is_archive',
# 'groups_id'])
# for dic in access_right_rec:
# model = self.env['ir.model'].sudo().browse(dic['model_id']).model
# group_name = self.env['ir.model.data'].sudo().search([
# ('model', '=', 'res.groups'),
# ('res_id', '=', dic['groups_id'])
# ]).name
# module_name = self.env['ir.model.data'].sudo().search([
# ('model', '=', 'res.groups'),
# ('res_id', '=', dic['groups_id'])
# ]).module
# dic.update({
# 'model': model,
# 'group_name': group_name,
# 'module': module_name
# })
# return access_right_rec
# class AccessRightCleanup(models.Model):
# _name = 'access.right.cleanup' # 定义一个新的模型名
# _description = 'Access Right Cleanup'
# @api.model
# def _module_uninstall(self):
# """在模块卸载时执行清理操作"""
# super(AccessRightCleanup, self)._module_uninstall()
# # 这里执行你的清理逻辑
#
# # 获取access.right模型的所有记录
# access_rights = self.env['access.right'].search([])
# for access_right in access_rights:
# # 删除access.right模型的所有记录
# access_right.unlink()
#
# # 查找所有关联到access.right模型的关注者记录
# followers = self.env['mail.followers'].search([('res_model', '=', 'access.right')])
# for follower in followers:
# # 删除关注者记录
# follower.unlink()
#
# # # 示例:删除自定义数据表(确保先检查外键约束等)
# # self.env.cr.execute('DROP TABLE IF EXISTS access_right CASCADE;')
#
# # 其他清理工作...

View File

@@ -0,0 +1,353 @@
# -*- coding: utf-8 -*-
from collections import defaultdict
from operator import attrgetter
from odoo import api, _
from odoo.exceptions import UserError
from odoo.models import BaseModel, _unlink, LOG_ACCESS_COLUMNS, \
INSERT_BATCH_SIZE, SQL_DEFAULT
# from odoo.tools import OrderedSet, split_every, attrgetter, clean_context
from odoo.tools import OrderedSet, split_every, clean_context
@api.model
def _create(self, data_list):
""" Create records from the stored field values in ``data_list``. """
assert data_list
cr = self.env.cr
# insert rows in batches of maximum INSERT_BATCH_SIZE
ids = [] # ids of created records
other_fields = OrderedSet() # non-column fields
for data_sublist in split_every(INSERT_BATCH_SIZE, data_list):
stored_list = [data['stored'] for data in data_sublist]
fnames = sorted({name for stored in stored_list for name in stored})
columns = []
rows = [[] for _ in stored_list]
for fname in fnames:
field = self._fields[fname]
if field.column_type:
columns.append(fname)
for stored, row in zip(stored_list, rows):
if fname in stored:
colval = field.convert_to_column(stored[fname], self,
stored)
if field.translate is True and colval:
if 'en_US' not in colval.adapted:
colval.adapted['en_US'] = next(
iter(colval.adapted.values()))
row.append(colval)
else:
row.append(SQL_DEFAULT)
else:
other_fields.add(field)
if field.type == 'properties':
# force calling fields.create for properties field because
# we might want to update the parent definition
other_fields.add(field)
if not columns:
# manage the case where we create empty records
columns = ['id']
for row in rows:
row.append(SQL_DEFAULT)
header = ", ".join(f'"{column}"' for column in columns)
template = ", ".join("%s" for _ in rows)
cr.execute(
f'INSERT INTO "{self._table}" ({header}) VALUES {template} RETURNING "id"',
[tuple(row) for row in rows],
)
ids.extend(id_ for id_, in cr.fetchall())
# put the new records in cache, and update inverse fields, for many2one
#
# cachetoclear is an optimization to avoid modified()'s cost until other_fields are processed
cachetoclear = []
records = self.browse(ids)
inverses_update = defaultdict(list) # {(field, value): ids}
common_set_vals = set(
LOG_ACCESS_COLUMNS + [self.CONCURRENCY_CHECK_FIELD, 'id',
'parent_path'])
for data, record in zip(data_list, records):
data['record'] = record
# DLE P104: test_inherit.py, test_50_search_one2many
vals = dict(
{k: v for d in data['inherited'].values() for k, v in d.items()},
**data['stored'])
set_vals = common_set_vals.union(vals)
for field in self._fields.values():
if field.type in ('one2many', 'many2many'):
self.env.cache.set(record, field, ())
elif field.related and not field.column_type:
self.env.cache.set(record, field,
field.convert_to_cache(None, record))
# DLE P123: `test_adv_activity`, `test_message_assignation_inbox`, `test_message_log`, `test_create_mail_simple`, ...
# Set `mail.message.parent_id` to False in cache so it doesn't do the useless SELECT when computing the modified of `child_ids`
# in other words, if `parent_id` is not set, no other message `child_ids` are impacted.
# + avoid the fetch of fields which are False. e.g. if a boolean field is not passed in vals and as no default set in the field attributes,
# then we know it can be set to False in the cache in the case of a create.
elif field.name not in set_vals and not field.compute:
self.env.cache.set(record, field,
field.convert_to_cache(None, record))
for fname, value in vals.items():
field = self._fields[fname]
if field.type in ('one2many', 'many2many'):
cachetoclear.append((record, field))
else:
cache_value = field.convert_to_cache(value, record)
self.env.cache.set(record, field, cache_value)
if field.type in ('many2one', 'many2one_reference') and \
self.pool.field_inverses[field]:
inverses_update[(field, cache_value)].append(record.id)
for (field, value), record_ids in inverses_update.items():
field._update_inverses(self.browse(record_ids), value)
# update parent_path
records._parent_store_create()
# protect fields being written against recomputation
protected = [(data['protected'], data['record']) for data in data_list]
with self.env.protecting(protected):
# mark computed fields as todo
records.modified(self._fields, create=True)
if other_fields:
# discard default values from context for other fields
others = records.with_context(clean_context(self._context))
for field in sorted(other_fields, key=attrgetter('_sequence')):
field.create([
(other, data['stored'][field.name])
for other, data in zip(others, data_list)
if field.name in data['stored']
])
# mark fields to recompute
records.modified([field.name for field in other_fields],
create=True)
# if value in cache has not been updated by other_fields, remove it
for record, field in cachetoclear:
if self.env.cache.contains(record,
field) and not self.env.cache.get(
record, field):
self.env.cache.remove(record, field)
# check Python constraints for stored fields
records._validate_fields(
name for data in data_list for name in data['stored'])
records.check_access_rule('create')
# This is used to restrict the access right to create a record
current_model_id = self.env['ir.model'].sudo().search(
[('model', '=', self._name)]).id
# access_right_rec = self.env['access.right'].sudo().search_read(
# [('model_id', '=', current_model_id)],
# ['model_id', 'is_create_or_update',
# 'groups_id'])
# if access_right_rec and not self.env.is_admin():
# for rec in access_right_rec:
# group_name = self.env['ir.model.data'].sudo().search([
# ('model', '=', 'res.groups'),
# ('res_id', '=', rec['groups_id'][0])
# ]).name
# module_name = self.env['ir.model.data'].sudo().search([
# ('model', '=', 'res.groups'),
# ('res_id', '=', rec['groups_id'][0])
# ]).module
# group = module_name + "." + group_name
# if self.env.user.has_group(group):
# if rec['is_create_or_update']:
# raise UserError('You are restricted from performing this'
# ' operation. Please contact the'
# ' administrator.')
# 检查 'access.right' 模型是否存在于环境中
if 'access.right' in self.env:
access_right_rec = self.env['access.right'].sudo().search_read(
[('model_id', '=', current_model_id)],
['model_id', 'is_create_or_update', 'groups_id']
)
# 如果找到相关记录,并且当前用户不是管理员
if access_right_rec and not self.env.is_admin():
for rec in access_right_rec:
# 获取与权限相关的用户组信息
group_data = self.env['ir.model.data'].sudo().search_read(
[('model', '=', 'res.groups'), ('res_id', '=', rec['groups_id'][0])],
['name', 'module']
)
# 如果找到了用户组数据
if group_data:
group_name = group_data[0]['name']
module_name = group_data[0]['module']
group_xml_id = f"{module_name}.{group_name}"
# 检查当前用户是否属于该组
if self.env.user.has_group(group_xml_id):
# 如果该用户组被限制创建或更新操作
if rec['is_create_or_update']:
raise UserError(
_("You are restricted from performing this operation. Please contact the administrator."))
else:
# 如果 'access.right' 模型不存在,可以在这里定义备选逻辑
# 例如,记录日志、发送通知或者简单地跳过这部分逻辑
pass
return records
@api.model
def unlink(self):
""" unlink()
Deletes the records in ``self``.
:raise AccessError: if the user is not allowed to delete all the given records
:raise UserError: if the record is default property for other records
"""
if not self:
return True
self.check_access_rights('unlink')
self.check_access_rule('unlink')
from odoo.addons.base.models.ir_model import MODULE_UNINSTALL_FLAG
for func in self._ondelete_methods:
# func._ondelete is True if it should be called during uninstallation
if func._ondelete or not self._context.get(MODULE_UNINSTALL_FLAG):
func(self)
# TOFIX: this avoids an infinite loop when trying to recompute a
# field, which triggers the recomputation of another field using the
# same compute function, which then triggers again the computation
# of those two fields
for field in self._fields.values():
self.env.remove_to_compute(field, self)
self.env.flush_all()
cr = self._cr
Data = self.env['ir.model.data'].sudo().with_context({})
Defaults = self.env['ir.default'].sudo()
Property = self.env['ir.property'].sudo()
Attachment = self.env['ir.attachment'].sudo()
ir_property_unlink = Property
ir_model_data_unlink = Data
ir_attachment_unlink = Attachment
# mark fields that depend on 'self' to recompute them after 'self' has
# been deleted (like updating a sum of lines after deleting one line)
with self.env.protecting(self._fields.values(), self):
self.modified(self._fields, before=True)
for sub_ids in cr.split_for_in_conditions(self.ids):
records = self.browse(sub_ids)
# Check if the records are used as default properties.
refs = [f'{self._name},{id_}' for id_ in sub_ids]
if Property.search(
[('res_id', '=', False), ('value_reference', 'in', refs)],
limit=1):
raise UserError(
_('Unable to delete this document because it is used as a default property'))
# Delete the records' properties.
ir_property_unlink |= Property.search([('res_id', 'in', refs)])
query = f'DELETE FROM "{self._table}" WHERE id IN %s'
cr.execute(query, (sub_ids,))
# Removing the ir_model_data reference if the record being deleted
# is a record created by xml/csv file, as these are not connected
# with real database foreign keys, and would be dangling references.
#
# Note: the following steps are performed as superuser to avoid
# access rights restrictions, and with no context to avoid possible
# side-effects during admin calls.
data = Data.search(
[('model', '=', self._name), ('res_id', 'in', sub_ids)])
ir_model_data_unlink |= data
# For the same reason, remove the defaults having some of the
# records as value
Defaults.discard_records(records)
# For the same reason, remove the relevant records in ir_attachment
# (the search is performed with sql as the search method of
# ir_attachment is overridden to hide attachments of deleted
# records)
query = 'SELECT id FROM ir_attachment WHERE res_model=%s AND res_id IN %s'
cr.execute(query, (self._name, sub_ids))
ir_attachment_unlink |= Attachment.browse(
row[0] for row in cr.fetchall())
# invalidate the *whole* cache, since the orm does not handle all
# changes made in the database, like cascading delete!
self.env.invalidate_all(flush=False)
if ir_property_unlink:
ir_property_unlink.unlink()
if ir_model_data_unlink:
ir_model_data_unlink.unlink()
if ir_attachment_unlink:
ir_attachment_unlink.unlink()
# DLE P93: flush after the unlink, for recompute fields depending on
# the modified of the unlink
self.env.flush_all()
# auditing: deletions are infrequent and leave no trace in the database
_unlink.info('User #%s deleted %s records with IDs: %r', self._uid,
self._name, self.ids)
# This is used to restrict the access right to unlink a record
current_model_id = self.env['ir.model'].sudo().search(
[('model', '=', self._name)]).id
# access_right_rec = self.env['access.right'].sudo().search_read(
# [('model_id', '=', current_model_id)], ['model_id', 'is_delete',
# 'groups_id'])
# if access_right_rec and not self.env.is_admin():
# for rec in access_right_rec:
# group_name = self.env['ir.model.data'].sudo().search([
# ('model', '=', 'res.groups'),
# ('res_id', '=', rec['groups_id'][0])
# ]).name
# module_name = self.env['ir.model.data'].sudo().search([
# ('model', '=', 'res.groups'),
# ('res_id', '=', rec['groups_id'][0])
# ]).module
# group = module_name + "." + group_name
# if self.env.user.has_group(group):
# if rec['is_delete']:
# raise UserError(_('You are restricted from performing this'
# ' operation. Please contact the'
# ' administrator.'))
# 检查 'access.right' 模型是否存在于环境中
if 'access.right' in self.env:
# current_model_id = self.env['ir.model'].sudo().search([('model', '=', self._name)]).id
access_right_rec = self.env['access.right'].sudo().search_read(
[('model_id', '=', current_model_id)], ['model_id', 'is_delete', 'groups_id']
)
if access_right_rec and not self.env.is_admin():
for rec in access_right_rec:
group_data = self.env['ir.model.data'].sudo().search_read(
[('model', '=', 'res.groups'), ('res_id', '=', rec['groups_id'][0])],
['name', 'module']
)
if group_data:
group_name = group_data[0]['name']
module_name = group_data[0]['module']
group_xml_id = f"{module_name}.{group_name}"
if self.env.user.has_group(group_xml_id) and rec['is_delete']:
raise UserError(
_('You are restricted from performing this operation. Please contact the administrator.'))
else:
# 如果 'access.right' 模型不存在,可以在这里定义备选逻辑
pass
return True
BaseModel._create = _create
BaseModel.unlink = unlink

View File

@@ -0,0 +1,2 @@
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
access_access_right,access.access.right,model_access_right,jikimo_hide_options.model_access_rights_groups_configure_model_access,1,1,1,1
1 id name model_id/id group_id/id perm_read perm_write perm_create perm_unlink
2 access_access_right access.access.right model_access_right jikimo_hide_options.model_access_rights_groups_configure_model_access 1 1 1 1

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Add a group named Configure Model Access in res.groups-->
<odoo>
<record id="model_access_rights_groups_configure_model_access" model="res.groups">
<field name="name">配置隐藏项目</field>
<field name="category_id" ref="base.module_category_usability"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,596 @@
<div style="background-color: #714B67; height: 810px; width: 100%; padding: 15px; position: relative;">
<!-- TITLE BAR -->
<div class="d-flex align-items-center justify-content-between"
style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;">
<img src="assets/misc/cybrosys-logo.png" width="42" height="42" style="width: 42px; height: 42px;" />
<div>
<div
style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Community
</div>
<div
style="color: #875A7B; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Enterprise
</div>
<div
style="color: #017E84; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Odoo.sh
</div>
</div>
</div>
<!-- END OF TITLE BAR -->
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12">
<!-- APP HERO -->
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">
Hide Create|Delete|Archive|Export Options - Model Wise</h1>
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">Hide Create, Delete, Archive, Export Options in Models</p>
<!-- END OF APP HERO -->
<img src="assets/screenshots/hero.gif" class="img-responsive"
style="width: 100%; margin-left: auto; margin-right: auto;" />
</div>
</div>
</div>
</div>
<!-- NAVIGATION SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/compass.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Explore This
Module</h2>
</div>
<div class="row my-4" style="font-family: 'Montserrat', sans-serif;">
<div class="col-sm-12 col-md-6 my-3">
<a href="#overview">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">Learn
more about this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#features">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
features of this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#screenshots">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
screenshots of this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
</div>
<!-- END OF NAVIGATION SECTION -->
<!-- OVERVIEW SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="overview">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pie-chart.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Overview
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 py-4">
By using this module we can hide the options like create,delete,export,and archive/un archive in the model
which we want. Here we are also able to select the user groups except Administrator which we want to apply the
above hiding functionality </div>
</div>
<!-- END OF OVERVIEW SECTION -->
<!-- FEATURES SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="features">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/features.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Features
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 col-md-6">
<div class="d-flex align-items-center" style="margin-top: 40px; margin-bottom: 40px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> Easily hide the options like Create,Delete,Export and Archive/UnArchive</span>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Can hide the options for specific model</span>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Can hide the options for specific user group</span>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">No additional configuration needed</span>
</div>
</div>
</div>
<!-- END OF FEATURES SECTION -->
<!-- SCREENSHOTS SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="screenshots">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pictures.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Screenshots
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> Go to Settings > Users and there you can see the Configure Model Access, by enabling that
option and refresh the page, you can see a new menu named 'Restrict Access Rights'</h3>
<img src="assets/screenshots/model_access_right_01.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> User in the Purchase module</h3>
<img src="assets/screenshots/model_access_right_02.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Select the Model, Groups and the options which we want to hide</h3>
<img src="assets/screenshots/model_access_right_03.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> We can see Create option is hidden in purchase.order to those who are User
in purchase module</h3>
<img src="assets/screenshots/model_access_right_04.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">User in Project module</h3>
<img src="assets/screenshots/model_access_right_05.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> By default, we can see Export and Archive/UnArchive options</h3>
<img src="assets/screenshots/model_access_right_06.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> Select the options which we want to hide</h3>
<img src="assets/screenshots/model_access_right_07.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> Export and Archive/UnArchive functionality are hidden</h3>
<img src="assets/screenshots/model_access_right_08.png" class="img-thumbnail">
</div>
</div>
</div>
<!-- END OF SCREENSHOTS SECTION -->
<!-- RELATED PRODUCTS -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/categories.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Related
Products
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div id="demo1" class="row carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner" style="padding: 30px;">
<div class="carousel-item" style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/openai_odoo_base/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/1.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/woo_commerce/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l2.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/shopify_odoo_connector/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l3.png">
</div>
</a>
</div>
</div>
<div class="carousel-item active"
style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/hr_zk_attendance/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l4.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/whatsapp_redirect/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l5.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/openai_website_product_media/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l6.png">
</div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo1" data-slide="prev"
style="width:35px; color:#000"> <span
class="carousel-control-prev-icon"><i
class="fa fa-chevron-left"
style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo1"
data-slide="next" style="width:35px; color:#000">
<span class="carousel-control-next-icon"><i
class="fa fa-chevron-right"
style="font-size:24px"></i></span>
</a>
</div>
</div>
</div>
<!-- END OF RELATED PRODUCTS -->
<!-- OUR SERVICES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/star.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our Services
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Hire
Odoo
Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Licensing Consultancy</h6>
</div>
</div>
</div>
<!-- END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/corporate.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our
Industries
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easily procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
A platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px"
width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Plan, track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Keep track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Run your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</div>
<!-- END OF OUR INDUSTRIES -->
<!-- SUPPORT -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/customer-support.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Support
</h2>
</div>
<div class="container mt-5">
<div class="row">
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4"
style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/support.png" height="48" width="48" style="width: 42px; height: 42px;" />
</div>
<div>
<h4>Need Help?</h4>
<p style="line-height: 100%;">Got questions or need help? Get in touch.</p>
<a href="mailto:odoo@cybrosys.com">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
odoo@cybrosys.com</p>
</a>
</div>
</div>
</div>
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4"
style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/whatsapp.png" height="52" width="52" style="width: 52px; height: 52px;" />
</div>
<div>
<h4>WhatsApp</h4>
<p style="line-height: 100%;">Say hi to us on WhatsApp!</p>
<a href="https://api.whatsapp.com/send?phone=918606827707">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">+91 86068
27707</p>
</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 my-5 d-flex justify-content-center align-items-center">
<img src="assets/misc/logo.png" width="144" height="31"
style="width:144px; height: 31px; margin-top: 40px;" />
</div>
</div>
</div>
<!-- END OF SUPPORT -->

View File

@@ -0,0 +1,46 @@
/** @odoo-module */
/**
* This file will used to hide the selected options from the form view
*/
import { FormController} from "@web/views/form/form_controller";
import { patch} from "@web/core/utils/patch";
var rpc = require('web.rpc');
const { onWillStart} = owl;
patch(FormController.prototype, 'jikimo_hide_options/static/src/js/form_controller.js.FormController', {
/**
* This function will used to hide the selected options from the form view
*/
setup() {
this._super();
onWillStart(async () => {
var self = this
var result;
await rpc.query({
model: 'access.right',
method: 'hide_buttons',
}).then(function(data) {
result = data;
});
for (var i = 0; i < result.length; i++) {
var group = result[i].module + "." + result[i].group_name
if (self.props.resModel == result[i].model) {
if (await self.user.hasGroup(group)) {
if (!this.user.isAdmin) {
if (result[i].is_create_or_update) {
self.canCreate = false
}
if (result[i].is_delete) {
this.archInfo.activeActions.delete = false
}
if (result[i].is_archive) {
self.archiveEnabled = false
} else {
self.archiveEnabled = true;
}
}
}
}
}
});
}
});

View File

@@ -0,0 +1,42 @@
/** @odoo-module */
/**
* This file will used to hide the selected options from the list view
*/
import { KanbanController } from '@web/views/kanban/kanban_controller';
import { patch} from "@web/core/utils/patch";
var rpc = require('web.rpc');
const {onWillStart} = owl;
patch(KanbanController.prototype, 'jikimo_hide_options/static/src/js/list_controller.js.KanbanController', {
/**
* This function will used to hide the selected options from the Kanban view
*/
setup() {
this._super();
onWillStart(async () => {
var self = this
var result;
await rpc.query({
model: 'access.right',
method: 'hide_buttons',
}).then(function(data) {
result = data;
});
for (var i = 0; i < result.length; i++) {
var group = result[i].module + "." + result[i].group_name
if (self.props.resModel == result[i].model) {
if (await self.model.user.hasGroup(group)) {
if (!self.model.user.isAdmin) {
if (result[i].is_create_or_update) {
self.props.archInfo.activeActions.create=false
self.props.archInfo.activeActions.edit=false
}
if (result[i].is_delete) {
self.props.archInfo.activeActions.delete=false
}
}
}
}
}
});
}
});

View File

@@ -0,0 +1,50 @@
/** @odoo-module */
/**
* This file will used to hide the selected options from the list view
*/
import { ListController} from '@web/views/list/list_controller';
import { patch} from "@web/core/utils/patch";
var rpc = require('web.rpc');
const {onWillStart} = owl;
patch(ListController.prototype, 'jikimo_hide_options/static/src/js/list_controller.js.ListController', {
/**
* This function will used to hide the selected options from the list view
*/
setup() {
this._super();
onWillStart(async () => {
var self = this
var result;
await rpc.query({
model: 'access.right',
method: 'hide_buttons',
}).then(function(data) {
result = data;
});
for (var i = 0; i < result.length; i++) {
var group = result[i].module + "." + result[i].group_name
if (self.props.resModel == result[i].model) {
if (await self.userService.hasGroup(group)) {
if (!this.userService.isAdmin) {
if (result[i].is_create_or_update) {
self.activeActions.create = false;
}
if (result[i].is_export) {
self.isExportEnable = false
self.isExportEnable = false
}
if (result[i].is_delete) {
self.activeActions.delete = false;
}
if (result[i].is_archive) {
self.archiveEnabled = false;
} else {
self.archiveEnabled = true;
}
}
}
}
}
});
}
});

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Action for the menu Restrict Model Access-->
<record id="access_right_action" model="ir.actions.act_window">
<field name="name">隐藏项目</field>
<field name="res_model">access.right</field>
<field name='view_mode'>tree,form</field>
</record>
<!-- Tree view for the model access.right-->
<record id="access_right_view_tree" model="ir.ui.view">
<field name="name">access.right.view.tree</field>
<field name="model">access.right</field>
<field name="arch" type="xml">
<tree>
<field name="model_id" string="模型"/>
<field name="groups_id" string="用户组"/>
<field name="is_delete" string="删除"/>
<field name="is_export" string="导出"/>
<field name="is_create_or_update" string="创建或更新"/>
<field name="is_archive" string="归档"/>
</tree>
</field>
</record>
<!-- Form view for the model access.right-->
<record id="access_right_view_form" model="ir.ui.view">
<field name="name">access.right.view.form</field>
<field name="model">access.right</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<group>
<field name="model_id" string="模型"/>
<field name="groups_id" string="用户组"/>
</group>
<group>
<field name="is_delete" string="删除"/>
<field name="is_export" string="导出"/>
<field name="is_create_or_update" string="创建或更新"/>
<field name="is_archive" string="归档"/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
<!-- Creating a menu named Restrict Model Access-->
<menuitem id="access_right_menu"
name="隐藏项目"
parent="base.menu_administration"
action="access_right_action"
sequence="6"
groups="jikimo_hide_options.model_access_rights_groups_configure_model_access"/>
</odoo>

View File

@@ -23,7 +23,7 @@ html .o_web_client > .o_action_manager > .o_action {
} }
.o_form_view { .o_form_view {
background-color: unset !important; //background-color: unset !important;
min-height: unset !important; min-height: unset !important;
} }

View File

@@ -38,9 +38,9 @@
<xpath expr="//field[@name='state']" position="after"> <xpath expr="//field[@name='state']" position="after">
<field name="production_state" invisible="1"/> <field name="production_state" invisible="1"/>
</xpath> </xpath>
<xpath expr="//button[@name='action_open_wizard']" position="after"> <!-- <xpath expr="//button[@name='action_open_wizard']" position="after">-->
<button name="open_tablet_view" type="object" icon="fa-tablet" title="Open Tablet View" context="{'from_production_order': True}" attrs="{'invisible': ['|', ('production_state', 'in', ('draft', 'cancel', 'done')), ('state', '=', 'done')]}"/> <!-- <button name="open_tablet_view" type="object" icon="fa-tablet" title="Open Tablet View" context="{'from_production_order': True}" attrs="{'invisible': ['|', ('production_state', 'in', ('draft', 'cancel', 'done')), ('state', '=', 'done')]}"/>-->
</xpath> <!-- </xpath>-->
</field> </field>
</record> </record>

View File

@@ -4,14 +4,14 @@ csv_internal_sep = ,
data_dir = /var/lib/odoo data_dir = /var/lib/odoo
db_host = 172.17.0.2 db_host = 172.17.0.2
db_maxconn = 64 db_maxconn = 64
db_name = sf_cs_dev937 db_name = sf_t2cs_003
db_password = sf db_password = sf
db_port = 5432 db_port = 5432
db_sslmode = prefer db_sslmode = prefer
db_template = template0 db_template = template0
db_user = sf db_user = sf
dbfilter = dbfilter =
demo = {} without_demo = all
email_from = False email_from = False
from_filter = False from_filter = False
geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb
@@ -57,6 +57,5 @@ test_tags = None
;translate_modules = ['all'] ;translate_modules = ['all']
unaccent = False unaccent = False
upgrade_path = upgrade_path =
without_demo = False
workers = 0 workers = 0

View File

@@ -7,10 +7,15 @@
<field name="model">quality.point</field> <field name="model">quality.point</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form> <form>
<header>
</header>
<sheet> <sheet>
<div class="oe_button_box" name="button_box"/> <div class="oe_button_box" name="button_box"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/> <widget name="web_ribbon" title="Archived" bg_color="bg-danger"
<h2><field name="name" readonly="1"/></h2> attrs="{'invisible': [('active', '=', True)]}"/>
<h2>
<field name="name" readonly="1"/>
</h2>
<group> <group>
<group> <group>
<field name="active" invisible="1"/> <field name="active" invisible="1"/>
@@ -33,7 +38,8 @@
<field name="note" placeholder="Describe the quality check to do..."/> <field name="note" placeholder="Describe the quality check to do..."/>
</page> </page>
<page string="Notes" name="Notes"> <page string="Notes" name="Notes">
<field name="reason" string="Note" placeholder="Describe why you need to perform this quality check..."/> <field name="reason" string="Note"
placeholder="Describe why you need to perform this quality check..."/>
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
@@ -95,7 +101,8 @@
<filter string="Stage" name="groupby_stage" domain="[]" context="{'group_by': 'stage_id'}"/> <filter string="Stage" name="groupby_stage" domain="[]" context="{'group_by': 'stage_id'}"/>
<filter string="Responsible" name="groupby_user" domain="[]" context="{'group_by': 'user_id'}"/> <filter string="Responsible" name="groupby_user" domain="[]" context="{'group_by': 'user_id'}"/>
<filter string="Root Cause" name="groupby_reason" domain="[]" context="{'group_by': 'reason_id'}"/> <filter string="Root Cause" name="groupby_reason" domain="[]" context="{'group_by': 'reason_id'}"/>
<filter string="Creation Date" name="groupby_createmonth" domain="[]" context="{'group_by': 'create_date'}"/> <filter string="Creation Date" name="groupby_createmonth" domain="[]"
context="{'group_by': 'create_date'}"/>
<filter string="Quality Team" name="groupby_team_id" domain="[]" context="{'group_by': 'team_id'}"/> <filter string="Quality Team" name="groupby_team_id" domain="[]" context="{'group_by': 'team_id'}"/>
</group> </group>
</search> </search>
@@ -122,4 +129,4 @@
</record> </record>
<!-- js stuff --> <!-- js stuff -->
</odoo> </odoo>

View File

@@ -602,6 +602,7 @@
<field name="model">quality.alert.team</field> <field name="model">quality.alert.team</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form> <form>
<header></header>
<sheet> <sheet>
<div class="oe_title"> <div class="oe_title">
<label for="name" string="Team Name"/> <label for="name" string="Team Name"/>

View File

@@ -1,2 +1,3 @@
from . import models from . import models
from . import commons from . import commons
from . import controllers

View File

@@ -10,7 +10,7 @@
""", """,
'category': 'sf', 'category': 'sf',
'website': 'https://www.sf.jikimo.com', 'website': 'https://www.sf.jikimo.com',
'depends': ['account', 'base', 'mrp_workorder','sale'], 'depends': ['base', 'mrp_workorder', 'sale', 'purchase', 'sales_team'],
'data': [ 'data': [
'security/group_security.xml', 'security/group_security.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',
@@ -19,9 +19,11 @@
'views/fixture_view.xml', 'views/fixture_view.xml',
'views/functional_fixture_view.xml', 'views/functional_fixture_view.xml',
'views/menu_view.xml', 'views/menu_view.xml',
"views/tool_views.xml", 'views/tool_views.xml',
"views/tool_menu.xml", 'views/tool_basic_param.xml',
'views/tool_menu.xml',
'views/menu_fixture_view.xml', 'views/menu_fixture_view.xml',
'views/change_base_view.xml',
], ],
'demo': [ 'demo': [

View File

@@ -1 +1 @@
from. import common from . import common

View File

@@ -1,14 +1,14 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from odoo import models
import time import time
import hashlib import hashlib
from odoo import models
class Common(models.Model): class Common(models.Model):
_name = 'sf.sync.common' _name = 'sf.sync.common'
_description = u'公用类' _description = u'公用类'
def get_headers(self,token, secret_key): def get_headers(self, token, secret_key):
''' '''
获取requests中的heardes参数 获取requests中的heardes参数
''' '''
@@ -20,4 +20,12 @@ class Common(models.Model):
'checkstr': check_sf_str} 'checkstr': check_sf_str}
return headers return headers
def get_add_time(self, parse_time):
"""
把时间增加8小时
:return:
"""
dt = datetime.datetime.strptime(parse_time, "%Y-%m-%d %H:%M:%S")
d = dt + datetime.timedelta(hours=8)
nTime = d.strftime("%Y-%m-%d %H:%M:%S")
return nTime

View File

@@ -0,0 +1 @@
from . import controllers

View File

@@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
import logging
import json
import base64
from odoo import http
from odoo.http import request
class Manufacturing_Connect(http.Controller):
@http.route('/AutoDeviceApi/MaintenanceToolGroups', type='json', auth='none', methods=['GET', 'POST'], csrf=False,
cors="*")
def get_maintenance_tool_groups_Info(self, **kw):
"""
机床刀具组接口
:param kw:
:return:
"""
logging.info('get_maintenance_tool_groups_Info:%s' % kw)
try:
datas = request.httprequest.data
ret = json.loads(datas)
ret = json.loads(ret['result'])
logging.info('DeviceId:%s' % ret)
tool_groups = request.env['sf.tool.groups'].sudo().search([])
res = {'Succeed': True, 'Datas': []}
if tool_groups:
for item in tool_groups:
device_id = ''
for equipment_id in item.equipment_ids:
device_id = '%s,%s' % (device_id, equipment_id.name)
res['Datas'].append({
'GroupName': item.name,
'DeviceId': device_id
})
except Exception as e:
res = {'Succeed': False, 'ErrorCode': 202, 'Error': e}
logging.info('get_maintenance_tool_groups_Info error:%s' % e)
return json.JSONEncoder().encode(res)

View File

@@ -3,9 +3,5 @@ from . import common
from . import tool_base_new from . import tool_base_new
from . import fixture from . import fixture
from . import functional_fixture from . import functional_fixture
from . import tool_other_features
from . import basic_parameters_fixture

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging import logging
import requests
import json import json
import requests
from odoo import fields, models, api from odoo import fields, models, api
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
from odoo.addons.sf_base.commons.common import Common from odoo.addons.sf_base.commons.common import Common
@@ -9,6 +9,14 @@ from odoo.addons.sf_base.commons.common import Common
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
class SpindleTaperType(models.Model):
_name = 'spindle.taper.type'
_description = '主轴锥孔型号'
name = fields.Char('名称')
active = fields.Boolean('有效', default=True)
class MachineBrandTags(models.Model): class MachineBrandTags(models.Model):
_name = 'sf.machine.brand.tags' _name = 'sf.machine.brand.tags'
_description = '标签' _description = '标签'
@@ -84,9 +92,10 @@ class MachineTool(models.Model):
type_id = fields.Many2one('sf.machine_tool.type', '型号') type_id = fields.Many2one('sf.machine_tool.type', '型号')
brand_id = fields.Many2one('sf.machine.brand', string='品牌') brand_id = fields.Many2one('sf.machine.brand', string='品牌')
state = fields.Selection( state = fields.Selection(
[("正常", "正常"), ("故障", "故障"), ("不可用", "不可用")], [("正常", "正常"), ("故障停机", "故障停机"), ("计划维保", "计划维保"), ("空闲", "空闲"),
("封存(报废)", "封存(报废)")],
default='正常', string="机床状态") default='正常', string="机床状态")
#0606新增字段 # 0606新增字段
machine_tool_picture = fields.Binary('图片') machine_tool_picture = fields.Binary('图片')
heightened_way = fields.Selection([ heightened_way = fields.Selection([
('sifudianji', '伺服电机驱动'), ('sifudianji', '伺服电机驱动'),
@@ -260,7 +269,7 @@ class MachineToolType(models.Model):
default="", string="刀把类型") default="", string="刀把类型")
number_of_knife_library = fields.Integer('刀库数量') number_of_knife_library = fields.Integer('刀库数量')
rotate_speed = fields.Integer('转速') rotate_speed = fields.Integer('转速')
#0606新增字段 # 0606新增字段
created_user = fields.Many2one('res.users', string='创建人', default=lambda self: self.env.user) created_user = fields.Many2one('res.users', string='创建人', default=lambda self: self.env.user)
machine_tool_picture = fields.Binary('图片') machine_tool_picture = fields.Binary('图片')
heightened_way = fields.Selection([ heightened_way = fields.Selection([
@@ -269,31 +278,19 @@ class MachineToolType(models.Model):
('chilunjia', '齿轮架驱动') ('chilunjia', '齿轮架驱动')
], string="主轴加高方式", default='sifudianji') ], string="主轴加高方式", default='sifudianji')
workpiece_load = fields.Char('工件最大负载(kg)') workpiece_load = fields.Char('工件最大负载(kg)')
lead_screw = fields.Char('丝杆')
workbench_L = fields.Char('工作台长度(mm)') workbench_L = fields.Char('工作台长度(mm)')
workbench_W = fields.Char('工作台宽度(mm)') workbench_W = fields.Char('工作台宽度(mm)')
guide_rail = fields.Char('导轨')
machine_tool_L = fields.Char('机床长度(mm)') machine_tool_L = fields.Char('机床长度(mm)')
machine_tool_W = fields.Char('机床宽度(mm)') machine_tool_W = fields.Char('机床宽度(mm)')
machine_tool_H = fields.Char('机床高度(mm)') machine_tool_H = fields.Char('机床高度(mm)')
feed_speed = fields.Char('进给速度(mm/min)')
tool_speed = fields.Char('刀具速度(m/min)')
distance_min = fields.Char('主轴端面至工作台面距离MIN(mm)') distance_min = fields.Char('主轴端面至工作台面距离MIN(mm)')
distance_max = fields.Char('主轴端面至工作台面距离MAX(mm)') distance_max = fields.Char('主轴端面至工作台面距离MAX(mm)')
taper = fields.Char('主轴锥度(°)')
torque = fields.Char('主轴电机扭矩(n/m)')
motor_power = fields.Char('主轴电机功率(kw)')
tool_quality_max = fields.Char('刀具最大质量(kg)') tool_quality_max = fields.Char('刀具最大质量(kg)')
tool_long_max = fields.Char('刀具最大长度(mm)') tool_long_max = fields.Char('刀具最大长度(mm)')
tool_diameter_max = fields.Char('刀具刀径max(mm)')
tool_diameter_min = fields.Char('刀具刀径min(mm)')
machine_tool_category = fields.Many2one('sf.machine_tool.category', string='机床类型') machine_tool_category = fields.Many2one('sf.machine_tool.category', string='机床类型')
# 多个型号对应一个机床 # 多个型号对应一个机床
machine_tool_id = fields.Many2one('sf.machine_tool', '机床') machine_tool_id = fields.Many2one('sf.machine_tool', '机床')
number_of_axles = fields.Selection(
[("三轴", "三轴"), ("四轴", "四轴"), ("五轴", "五轴")],
default="", string="轴数")
# 加工进程 # 加工进程
x_axis = fields.Integer('X轴') x_axis = fields.Integer('X轴')
y_axis = fields.Integer('Y轴') y_axis = fields.Integer('Y轴')
@@ -301,13 +298,79 @@ class MachineToolType(models.Model):
b_axis = fields.Integer('B轴') b_axis = fields.Integer('B轴')
c_axis = fields.Integer('C轴') c_axis = fields.Integer('C轴')
remark = fields.Char('备注') remark = fields.Char('备注')
precision_min = fields.Float('X轴定位精度min(mm)', digits=(12, 3))
precision_max = fields.Float('X轴定位精度max(mm)', digits=(12, 3))
control_system_id = fields.Many2one('sf.machine.control_system', control_system_id = fields.Many2one('sf.machine.control_system',
string="控制系统") string="控制系统")
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
code = fields.Char('编码') code = fields.Char('编码')
# 1212修改后的字段
number_of_axles = fields.Selection(
[("三轴", "三轴"), ("四轴", "四轴"), ("五轴", "五轴"), ("六轴", "六轴")],
default="", string="轴数")
# 1212新增字段
a_axis = fields.Integer('a轴')
function_type = fields.Selection(
[("ZXJGZX", "钻铣加工中心"), ("CXJGZX", "车削加工中心"), ("FHJGZX", "复合加工中心")],
default="", string="功能类型")
T_trough_num = fields.Integer('槽数')
T_trough_wide = fields.Float('槽宽(mm)')
T_trough_distance = fields.Float('槽距(mm)')
taper_type_id = fields.Many2one('spindle.taper.type', string='主轴锥孔型号')
spindle_center_distance = fields.Float('主轴中心至立柱滑轨面距离(mm)')
spindle_continuous_power = fields.Float('主轴持续功率(kw)')
spindle_peak_power = fields.Float('主轴峰值功率(kw)')
spindle_sustained_torque = fields.Float('主轴持续扭矩(n/m)')
spindle_peak_torque = fields.Float('主轴峰值扭矩(n/m)')
linear_axis_guides_type = fields.Char('直线轴导轨类型')
axis_driven_type = fields.Char('坐标轴驱动类型')
X_axis_rapid_traverse_speed = fields.Char('X轴快速进给速度(mm/min)')
Y_axis_rapid_traverse_speed = fields.Char('Y轴快速进给速度(mm/min)')
Z_axis_rapid_traverse_speed = fields.Char('Z轴快速进给速度(mm/min)')
a_axis_rapid_traverse_speed = fields.Char('a轴快速进给速度(mm/min)')
b_axis_rapid_traverse_speed = fields.Char('b轴快速进给速度(mm/min)')
c_axis_rapid_traverse_speed = fields.Char('c轴快速进给速度(mm/min)')
straight_cutting_feed_rate = fields.Char('直线切削进给速度(mm/min)')
rotary_cutting_feed_rate = fields.Char('回转切削进给速度(mm/min)')
X_precision = fields.Float('X轴定位精度(mm)', digits=(12, 3))
X_precision_repeat = fields.Float('X轴重复定位精度(mm)', digits=(12, 3))
Y_precision = fields.Float('Y轴定位精度(mm)', digits=(12, 3))
Y_precision_repeat = fields.Float('Y轴重复定位精度(mm)', digits=(12, 3))
Z_precision = fields.Float('Z轴定位精度(mm)', digits=(12, 3))
Z_precision_repeat = fields.Float('Z轴重复定位精度(mm)', digits=(12, 3))
a_precision = fields.Float('a轴定位精度(mm)', digits=(12, 3))
a_precision_repeat = fields.Float('a轴重复定位精度(mm)', digits=(12, 3))
b_precision = fields.Float('b轴定位精度(mm)', digits=(12, 3))
b_precision_repeat = fields.Float('b轴重复定位精度(mm)', digits=(12, 3))
c_precision = fields.Float('c轴定位精度(mm)', digits=(12, 3))
c_precision_repeat = fields.Float('c轴重复定位精度(mm)', digits=(12, 3))
tool_full_diameter_max = fields.Float('刀具满刀最大直径(mm)')
tool_perimeter_diameter_max = fields.Float('刀具邻空刀最大直径(mm)')
T_tool_time = fields.Integer('T-T换刀时间(s)')
C_tool_time = fields.Integer('C-C换刀时间(s)')
jg_image_id = fields.Many2many('maintenance.equipment.image', 'jg_equipment_id', string='加工能力',
domain="[('type', '=', '加工能力')]")
lq_image_id = fields.Many2many('maintenance.equipment.image', 'lq_equipment_id', string='冷却方式',
domain="[('type', '=', '冷却方式')]")
# 待删除字段
precision_min = fields.Float('X轴定位精度min(mm)', digits=(12, 3))
precision_max = fields.Float('X轴定位精度max(mm)', digits=(12, 3))
lead_screw = fields.Char('丝杆')
guide_rail = fields.Char('导轨')
feed_speed = fields.Char('进给速度(mm/min)')
tool_speed = fields.Char('刀具速度(m/min)')
torque = fields.Char('主轴点击扭矩(n/m)')
motor_power = fields.Char('主轴电机功率(kw)')
taper = fields.Char('主轴锥度(°)')
tool_diameter_max = fields.Char('刀具刀径max(mm)')
tool_diameter_min = fields.Char('刀具刀径min(mm)')
def _get_ids(self, machine_tool_type_code): def _get_ids(self, machine_tool_type_code):
machine_tool_type_ids = [] machine_tool_type_ids = []
for item in machine_tool_type_code: for item in machine_tool_type_code:
@@ -327,4 +390,3 @@ class MachineToolCategory(models.Model):
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
category = fields.Selection([('shukong', u'数控'), ('putong', u'普通')], string=u'机床类别', category = fields.Selection([('shukong', u'数控'), ('putong', u'普通')], string=u'机床类别',
default='shukong') default='shukong')

View File

@@ -0,0 +1,252 @@
from odoo import models, fields
class BasicParametersFixture(models.Model):
_name = 'sf.fixture.materials.basic.parameters'
_description = '夹具物料基本参数'
fixture_model_id = fields.Many2one('sf.fixture.model', '夹具型号')
name = fields.Char('物料号', size=20)
length = fields.Float('长度(mm)', digits=(16, 2))
width = fields.Float('宽度(mm)', digits=(16, 2))
height = fields.Float('高度(mm)', digits=(16, 2))
diameter = fields.Float('直径(mm)', digits=(16, 2))
# '零点卡盘' 字段
weight = fields.Float('重量(mm)', digits=(16, 2))
orientation_dish_diameter = fields.Float('定位盘直径(mm)', digits=(16, 2))
clamping_diameter = fields.Float('装夹直径(mm)', digits=(16, 2))
clamping_num = fields.Selection([('1', '1'), ('2', '2'), ('4', '4'), ('6', '6'), ('8', '8')], string='装夹单元数')
chucking_power_max = fields.Float('最大夹持力(KN)', digits=(16, 2))
repeated_positioning_accuracy = fields.Char('重复定位精度(mm)', size=20)
boolean_transposing_hole = fields.Boolean('是否有转位孔')
unlocking_method = fields.Selection(
[('手动', '手动'), ('气动', '气动'), ('液压', '液压'), ('电动', '电动'), ('其他', '其他')], string='解锁方式')
boolean_chip_blowing_function = fields.Boolean('是否有吹屑功能')
carrying_capacity_max = fields.Float('最大承载重量(kg)', digits=(16, 2))
rigidity = fields.Integer('硬度HRC')
materials_model_id = fields.Many2one('sf.materials.model', '夹具材质')
machine_tool_type_id = fields.Many2one('sf.machine_tool.type', '适用机床型号')
# ’零点托盘‘ 字段
connector_diameter = fields.Selection([('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('8', '8')],
string='连接头直径(mm)')
way_to_install = fields.Selection(
[('接口式', '接口式'), ('螺栓固定', '螺栓固定'), ('磁吸式', '磁吸式'), ('其他', '其他')], string='安装方式')
type_of_drive = fields.Selection(
[('气动式', '气动式'), ('液压式', '液压式'), ('机械式', '机械式'), ('电动式', '电动式'), ('其他', '其他')],
string='驱动方式')
# ’气动夹具‘ 字段
gripper_length_min = fields.Float('夹持工件最小长度(mm)', digits=(16, 2))
gripper_width_min = fields.Float('夹持工件最小宽度(mm)', digits=(16, 2))
gripper_height_min = fields.Float('夹持工件最小高度(mm)', digits=(16, 2))
gripper_diameter_min = fields.Float('夹持工件最小直径(mm)', digits=(16, 2))
gripper_length_max = fields.Float('夹持工件最大长度(mm)', digits=(16, 2))
gripper_width_max = fields.Float('夹持工件最大宽度(mm)', digits=(16, 2))
gripper_height_max = fields.Float('夹持工件最大高度(mm)', digits=(16, 2))
gripper_diameter_max = fields.Float('夹持工件最大直径(mm)', digits=(16, 2))
rated_air_pressure = fields.Float('额定气压(Mpa)', digits=(16, 2))
interface_materials_model_id = fields.Many2one('sf.materials.model', '接口类型')
# ‘虎钳夹具' 字段
transverse_groove = fields.Float('横向配合槽n(mm)', digits=(16, 2))
longitudinal_fitting_groove = fields.Float('纵向配合槽l(mm)', digits=(16, 2))
# '磁吸夹具' 字段
height_tolerance_value = fields.Char('高度公差(mm)')
rated_adsorption_force = fields.Float('额定吸附力(N/cm²)', digits=(16, 2))
magnetic_field_height = fields.Float('磁场高度(mm)', digits=(16, 2))
magnetic_pole_plate_grinding_allowance = fields.Float('磁极板磨削余量(mm)', digits=(16, 2))
# '转接板(锁板)夹具' 字段
screw_size = fields.Float('螺牙大小(mm)', digits=(16, 2))
via_hole_diameter = fields.Float('过孔直径(mm)', digits=(16, 2))
# '三爪卡盘' 字段
mounting_hole_depth = fields.Float('安装孔深度(mm)', digits=(16, 2))
centering_diameter = fields.Float('定心直径(mm)', digits=(16, 2))
def _json_zero_chuck_param(self, obj):
zero_chuck_param_str = (0, '', {
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
'height': obj['height'],
'diameter': obj['diameter'],
'weight': obj['weight'],
'orientation_dish_diameter': obj['orientation_dish_diameter'],
'clamping_diameter': obj['clamping_diameter'],
'clamping_num': obj['clamping_num'],
'chucking_power_max': obj['chucking_power_max'],
'repeated_positioning_accuracy': obj['repeated_positioning_accuracy'],
'boolean_transposing_hole': obj['boolean_transposing_hole'],
'unlocking_method': obj['unlocking_method'],
'boolean_chip_blowing_function': obj['boolean_chip_blowing_function'],
'carrying_capacity_max': obj['carrying_capacity_max'],
'rigidity': obj['rigidity'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'machine_tool_type_id': self.env['sf.machine_tool.type'].sudo().search(
[('code', '=', obj['machine_tool_type_id']), ('active', '=', True)]).id,
})
return zero_chuck_param_str
def _json_zero_tray_param(self, obj):
zero_tray_param_str = (0, '', {
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
'height': obj['height'],
'diameter': obj['diameter'],
'weight': obj['weight'],
'clamping_diameter': obj['clamping_diameter'],
'connector_diameter': obj['connector_diameter'],
'chucking_power_max': obj['chucking_power_max'],
'repeated_positioning_accuracy': obj['repeated_positioning_accuracy'],
'boolean_chip_blowing_function': obj['boolean_chip_blowing_function'],
'way_to_install': obj['way_to_install'],
'type_of_drive': obj['type_of_drive'],
'carrying_capacity_max': obj['carrying_capacity_max'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'rigidity': obj['rigidity'],
})
return zero_tray_param_str
def _json_pneumatic_fixture_param(self, obj):
pneumatic_fixture_param_str = (0, '', {
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
'height': obj['height'],
'weight': obj['weight'],
'gripper_length_min': obj['gripper_length_min'],
'gripper_width_min': obj['gripper_width_min'],
'gripper_height_min': obj['gripper_height_min'],
'gripper_diameter_min': obj['gripper_diameter_min'],
'gripper_length_max': obj['gripper_length_max'],
'gripper_width_max': obj['gripper_width_max'],
'gripper_height_max': obj['gripper_height_max'],
'gripper_diameter_max': obj['gripper_diameter_max'],
'chucking_power_max': obj['chucking_power_max'],
'carrying_capacity_max': obj['carrying_capacity_max'],
'rated_air_pressure': obj['rated_air_pressure'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'rigidity': obj['rigidity'],
'interface_materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'type_of_drive': obj['type_of_drive'],
})
return pneumatic_fixture_param_str
def _json_jaw_vice_fixture_param(self, obj):
jaw_vice_fixture_param_str = (0, '', {
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
'height': obj['height'],
'weight': obj['weight'],
'gripper_length_min': obj['gripper_length_min'],
'gripper_width_min': obj['gripper_width_min'],
'gripper_height_min': obj['gripper_height_min'],
'gripper_diameter_min': obj['gripper_diameter_min'],
'gripper_length_max': obj['gripper_length_max'],
'gripper_width_max': obj['gripper_width_max'],
'gripper_height_max': obj['gripper_height_max'],
'gripper_diameter_max': obj['gripper_diameter_max'],
'chucking_power_max': obj['chucking_power_max'],
'carrying_capacity_max': obj['carrying_capacity_max'],
'transverse_groove': obj['transverse_groove'],
'longitudinal_fitting_groove': obj['longitudinal_fitting_groove'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'rigidity': obj['rigidity'],
'interface_materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'type_of_drive': obj['type_of_drive'],
})
return jaw_vice_fixture_param_str
def _json_magnet_fixture_param(self, obj):
magnet_fixture_param_str = (0, '', {
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
'height': obj['height'],
'height_tolerance_value': obj['height_tolerance_value'],
'weight': obj['weight'],
'gripper_length_min': obj['gripper_length_min'],
'gripper_width_min': obj['gripper_width_min'],
'gripper_height_min': obj['gripper_height_min'],
'gripper_diameter_min': obj['gripper_diameter_min'],
'gripper_length_max': obj['gripper_length_max'],
'gripper_width_max': obj['gripper_width_max'],
'gripper_height_max': obj['gripper_height_max'],
'gripper_diameter_max': obj['gripper_diameter_max'],
'rated_adsorption_force': obj['rated_adsorption_force'],
'magnetic_field_height': obj['magnetic_field_height'],
'magnetic_pole_plate_grinding_allowance': obj['magnetic_pole_plate_grinding_allowance'],
'carrying_capacity_max': obj['carrying_capacity_max'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'rigidity': obj['rigidity'],
'interface_materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'type_of_drive': obj['type_of_drive'],
})
return magnet_fixture_param_str
def _json_adapter_board_fixture_param(self, obj):
adapter_board_fixture_param_str = (0, '', {
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
'height': obj['height'],
'weight': obj['weight'],
'gripper_length_min': obj['gripper_length_min'],
'gripper_width_min': obj['gripper_width_min'],
'gripper_height_min': obj['gripper_height_min'],
'gripper_diameter_min': obj['gripper_diameter_min'],
'gripper_length_max': obj['gripper_length_max'],
'gripper_width_max': obj['gripper_width_max'],
'gripper_height_max': obj['gripper_height_max'],
'gripper_diameter_max': obj['gripper_diameter_max'],
'chucking_power_max': obj['chucking_power_max'],
'carrying_capacity_max': obj['carrying_capacity_max'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'rigidity': obj['rigidity'],
'screw_size': obj['screw_size'],
'via_hole_diameter': obj['via_hole_diameter'],
'type_of_drive': obj['type_of_drive'],
})
return adapter_board_fixture_param_str
def _json_scroll_chuck_param(self, obj):
scroll_chuck_param_str = (0, '', {
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
'height': obj['height'],
'diameter': obj['diameter'],
'weight': obj['weight'],
'gripper_length_min': obj['gripper_length_min'],
'gripper_width_min': obj['gripper_width_min'],
'gripper_height_min': obj['gripper_height_min'],
'gripper_diameter_min': obj['gripper_diameter_min'],
'gripper_length_max': obj['gripper_length_max'],
'gripper_width_max': obj['gripper_width_max'],
'gripper_height_max': obj['gripper_height_max'],
'gripper_diameter_max': obj['gripper_diameter_max'],
'chucking_power_max': obj['chucking_power_max'],
'carrying_capacity_max': obj['carrying_capacity_max'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'rigidity': obj['rigidity'],
'mounting_hole_depth': obj['mounting_hole_depth'],
'centering_diameter': obj['centering_diameter'],
'type_of_drive': obj['type_of_drive'],
})
return scroll_chuck_param_str

View File

@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging import logging
from odoo import fields, models
import requests
from odoo.addons.sf_base.commons.common import Common
from urllib.parse import urlencode from urllib.parse import urlencode
from odoo import fields, models, api
from odoo.exceptions import UserError
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
@@ -19,29 +19,7 @@ class MrsProductionMaterials(models.Model):
remark = fields.Text("备注") remark = fields.Text("备注")
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
# def open_url_action(self):
# base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
# # url = 'http://192.168.50.202:8080/api'
# url = 'https://bfw.jikimo.com/'
# # data = {
# # 'key' : 'value'
# # }
#
# response = requests.get(url)
# response.raise_for_status()
# return {
# 'type': 'ir.actions.act_url',
# 'url': response.url,
# 'target': 'new'
# }
def open_url_action(self): def open_url_action(self):
# sf_sync_config = self.env['res.config.settings'].get_values()
# token = sf_sync_config['token']
# sf_secret_key = sf_sync_config['sf_secret_key']
# headers = Common.get_headers(self, token, sf_secret_key)
url = 'http://192.168.50.127:8081' url = 'http://192.168.50.127:8081'
params = { params = {
'user_id': self._uid 'user_id': self._uid
@@ -67,8 +45,13 @@ class MrsMaterialModel(models.Model):
mf_materia_post = fields.Char("热处理后密度") mf_materia_post = fields.Char("热处理后密度")
density = fields.Float("密度(kg/m³)") density = fields.Float("密度(kg/m³)")
materials_id = fields.Many2one('sf.production.materials', "材料名") materials_id = fields.Many2one('sf.production.materials', "材料名")
tensile_strength = fields.Float("拉伸强度(n/mm²)") tensile_strength = fields.Char("拉伸强度(n/mm²)")
hardness = fields.Float("硬度(hrc)") standards_id = fields.Many2one('sf.international.standards', '执行标准')
alloy_code = fields.Char('合金牌号')
price = fields.Float('单价/kg')
apply = fields.Many2many('material.apply', string='材料应用')
materials_code = fields.Char('材料代号')
hardness = fields.Integer("硬度(hrc)")
rough_machining = fields.Float("粗加工Vc(m/min)") rough_machining = fields.Float("粗加工Vc(m/min)")
finish_machining = fields.Float("精加工Vc(m/min)") finish_machining = fields.Float("精加工Vc(m/min)")
remark = fields.Text("备注") remark = fields.Text("备注")
@@ -78,6 +61,14 @@ class MrsMaterialModel(models.Model):
supplier_ids = fields.One2many('sf.supplier.sort', 'materials_model_id', string='供应商') supplier_ids = fields.One2many('sf.supplier.sort', 'materials_model_id', string='供应商')
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
@api.constrains('supplier_ids')
def _check_gain_way(self):
if not self.gain_way:
raise UserError("请输入获取方式")
if self.gain_way in ['外协', '采购']:
if not self.supplier_ids:
raise UserError("请添加供应商")
class MrsProductionProcessCategory(models.Model): class MrsProductionProcessCategory(models.Model):
_name = 'sf.production.process.category' _name = 'sf.production.process.category'
@@ -96,7 +87,7 @@ class MrsProductionProcess(models.Model):
_name = 'sf.production.process' _name = 'sf.production.process'
_description = '表面工艺' _description = '表面工艺'
process_encode = fields.Char("编码") code = fields.Char("编码")
name = fields.Char('名称') name = fields.Char('名称')
remark = fields.Text("备注") remark = fields.Text("备注")
processing_order_ids = fields.One2many('sf.processing.order', 'production_process_id', string='工序') processing_order_ids = fields.One2many('sf.processing.order', 'production_process_id', string='工序')
@@ -113,7 +104,7 @@ class MrsProcessingTechnology(models.Model):
name = fields.Char('名称', index=True) name = fields.Char('名称', index=True)
remark = fields.Text('备注', index=True) remark = fields.Text('备注', index=True)
process_encode = fields.Char("编码") code = fields.Char("编码")
processing_order_ids = fields.Many2many('sf.processing.order', 'sf_associated_processes', processing_order_ids = fields.Many2many('sf.processing.order', 'sf_associated_processes',
index=True, string='工序') index=True, string='工序')
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
@@ -127,6 +118,7 @@ class MrsProcessingOrder(models.Model):
index=True, string='加工工艺') index=True, string='加工工艺')
production_process_id = fields.Many2one('sf.production.process', string="表面工艺") production_process_id = fields.Many2one('sf.production.process', string="表面工艺")
class SupplierSort(models.Model): class SupplierSort(models.Model):
_name = 'sf.supplier.sort' _name = 'sf.supplier.sort'
_description = '供应商排序' _description = '供应商排序'
@@ -172,3 +164,20 @@ class MrsProductionProcessParameter(models.Model):
for i in item.parameter_ids: for i in item.parameter_ids:
code_arr.append(i.code) code_arr.append(i.code)
return code_arr return code_arr
class ModelInternationalStandards(models.Model):
_name = 'sf.international.standards'
_description = '制造标准'
code = fields.Char('编码')
name = fields.Char('名称')
active = fields.Boolean('有效', default=True)
class MrsMaterialApply(models.Model):
_name = 'material.apply'
_description = '材料应用'
name = fields.Char('名称', default=True)
active = fields.Boolean('有效', default=True)

View File

@@ -26,66 +26,65 @@ class FixtureModel(models.Model):
_name = 'sf.fixture.model' _name = 'sf.fixture.model'
_description = "夹具型号" _description = "夹具型号"
name = fields.Char(string="名称", size=15) name = fields.Char(string="名称", size=50, required=True)
fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料", ) fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料", required=True)
fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name', store=True) fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name')
multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型") multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型", required=True)
brand_id = fields.Many2one('sf.machine.brand', string="品牌") brand_id = fields.Many2one('sf.machine.brand', string="品牌")
clamping_way = fields.Char(string="装夹方式") model_file = fields.Binary(string="图片")
port_type = fields.Char(string="接口类型") status = fields.Boolean('状态')
model_file = fields.Binary(string="3D模型图") active = fields.Boolean('有效', default=False)
length = fields.Char(string="长度(mm)")
width = fields.Char(string="宽度(mm)")
height = fields.Char(string="高度(mm)")
weight = fields.Char(string="重量(kg)")
clamp_workpiece_length_max = fields.Integer(string="夹持工件长度max(mm)")
clamp_workpiece_width_max = fields.Integer(string="夹持工件宽度max(mm)")
clamp_workpiece_height_max = fields.Integer(string="夹持工件高度max(mm)")
clamp_workpiece_diameter_max = fields.Float(string="夹持工件直径max(mm)")
maximum_carrying_weight = fields.Float(string="最大承载重量(kg)")
maximum_clamping_force = fields.Integer(string="最大夹持力(n)")
materials_model_id = fields.Many2one('sf.materials.model', string="材料型号")
driving_way = fields.Selection([('气动', '气动'), ('液压', '液压'), ('机械', '机械')], string="驱动方式")
apply_machine_tool_type_ids = fields.Many2many('sf.machine_tool.type', 'rel_fixture_model_machine_tool_type',
string="适用机床型号")
through_hole_size = fields.Integer(string="过孔大小[mm]")
screw_size = fields.Integer(string="螺牙大小[mm]")
active = fields.Boolean('有效', default=True)
def _get_code(self, fixture_model_type_code):
fixture_model = self.env['sf.fixture.model'].sudo().search(
[('code', 'ilike', fixture_model_type_code)],
limit=1,
order="id desc")
if not fixture_model:
num = "%03d" % 1
else:
m = int(fixture_model.code[-3:]) + 1
num = "%03d" % m
return "%s%s" % (fixture_model_type_code, num)
zero_chuck_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
string='零点卡盘基本参数')
zero_tray_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
string='零点托盘基本参数')
pneumatic_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
string='气动夹具基本参数')
jaw_vice_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
string='虎钳夹具基本参数')
magnet_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
string='磁吸夹具基本参数')
adapter_board_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
string='转接板(锁板)夹具基本参数')
scroll_chuck_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
string='三爪卡盘基本参数')
code = fields.Char(string='编码', readonly=True) code = fields.Char(string='编码', readonly=True)
def _onchange_fixture_material_id(self, fixture_material_id): # def _get_code(self, fixture_model_type_code):
if fixture_material_id: # fixture_model = self.env['sf.fixture.model'].sudo().search(
if fixture_material_id.name == "气动夹具": # [('code', 'ilike', fixture_model_type_code)],
code = self._get_code("JKM-C-JJWL-QDJJ-") # limit=1,
elif fixture_material_id.name == "转接板(锁板)夹具": # order="id desc")
code = self._get_code("JKM-C-JJWL-ZJBJJ-") # if not fixture_model:
elif fixture_material_id.name == "磁吸夹具": # num = "%03d" % 1
code = self._get_code("JKM-C-JJWL-CXJJ-") # else:
elif fixture_material_id.name == "虎钳夹具": # m = int(fixture_model.code[-3:]) + 1
code = self._get_code("JKM-C-JJWL-HQJJ-") # num = "%03d" % m
else: # return "%s%s" % (fixture_model_type_code, num)
code = self._get_code("JKM-C-JJWL-LDKP-") #
return code # def _onchange_fixture_material_id(self, fixture_material_id):
# if fixture_material_id:
@api.model_create_multi # if self.fixture_material_id.name == "气动夹具":
def create(self, vals): # code = self._get_code("JKM-C-JJWL-QDJJ-")
obj = super(FixtureModel, self).create(vals) # elif self.fixture_material_id.name == "转接板(锁板)夹具":
if obj.fixture_material_id: # code = self._get_code("JKM-C-JJWL-ZJJJ-")
code = self._onchange_fixture_material_id(obj.fixture_material_id) # elif self.fixture_material_id.name == "磁吸夹具":
obj.code = code # code = self._get_code("JKM-C-JJWL-CXJJ-")
return obj # elif self.fixture_material_id.name == "虎钳夹具":
# code = self._get_code("JKM-C-JJWL-HQJJ-")
# elif self.fixture_material_id.name == "零点托盘":
# code = self._get_code("JKM-C-JJWL-LDTP-")
# elif self.fixture_material_id.name == "三爪卡盘":
# code = self._get_code("JKM-C-JJWL-SZKP-")
# else:
# code = self._get_code("JKM-C-JJWL-LDKP-")
# return code
#
# @api.model_create_multi
# def create(self, vals):
# obj = super(FixtureModel, self).create(vals)
# if obj.fixture_material_id:
# code = self._onchange_fixture_material_id(obj.fixture_material_id)
# obj.code = code
# return obj

View File

@@ -1,8 +1,8 @@
import json
import requests
from odoo import models, fields, api from odoo import models, fields, api
from odoo.addons.sf_base.commons.common import Common from odoo.addons.sf_base.commons.common import Common
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
import requests
import json
class FunctionalFixtureType(models.Model): class FunctionalFixtureType(models.Model):
@@ -62,7 +62,8 @@ class FunctionalFixture(models.Model):
def _get_name(self): def _get_name(self):
for record in self: for record in self:
if record.type: if record.type:
if not record.transfer_tray_model_ids and not record.pneumatic_tray_model_ids and not record.magnetic_tray_model_ids and not record.vice_tray_model_ids: if not record.transfer_tray_model_ids and not record.pneumatic_tray_model_ids and \
not record.magnetic_tray_model_ids and not record.vice_tray_model_ids:
record.name = '' record.name = ''
if record.transfer_tray_model_ids: if record.transfer_tray_model_ids:
for i in record.transfer_tray_model_ids: for i in record.transfer_tray_model_ids:

View File

@@ -1,304 +0,0 @@
# -*- coding: utf-8 -*-
import logging
from odoo import fields, models, api
# from odoo.exceptions import UserError
# # from odoo.addons import sf_base, sf_common
# from datetime import datetime
# 功能刀具物料
class CuttingToolMaterial(models.Model):
_name = 'sf.cutting.tool.material'
_description = '刀具物料'
code = fields.Char('编码')
name = fields.Char('名称')
remark = fields.Char('备注')
active = fields.Boolean('有效', default=True)
# 功能刀具
class FunctionalCuttingTool(models.Model):
_name = 'sf.functional.cutting.tool'
_description = '功能刀具'
code = fields.Char('编码')
name = fields.Char('名称')
functional_model_number = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
integral_model_number = fields.Many2one('sf.integral.cutting.tool', string='整体式刀具型号')
blade_model_number = fields.Many2one('sf.blade', string='刀片型号')
cutterbar_model_number = fields.Many2one('sf.cutter.bar', string='刀杆型号')
cutterpad_model_number = fields.Many2one('sf.cutter.pad', string='刀盘型号')
handle_model_number = fields.Many2one('sf.handle', string='刀柄型号')
chuck_model_number = fields.Many2one('sf.chuck', string='夹头型号')
diameter = fields.Float('直径(mm)')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
string='刀具等级')
machining_accuracy = fields.Float('加工精度(mm)')
tool_length = fields.Float('装刀长')
blade_number = fields.Integer('刃数')
integral_blade_length = fields.Float('整体刃长(mm)')
effective_blade_length = fields.Float('有效刃长(mm)')
max_life = fields.Float('最大寿命值')
is_standard = fields.Boolean('是否标准刀')
applicable_range = fields.Char('适用范围')
image = fields.Binary('图片')
active = fields.Boolean('有效', default=True)
# 功能刀具类型
class FunctionalCuttingToolModel(models.Model):
_name = 'sf.functional.cutting.tool.model'
_description = '功能刀具类型'
name = fields.Char('名称')
code = fields.Char('编码')
remark = fields.Char('备注')
active = fields.Boolean('有效', default=True)
# 整体式刀具
class IntegralCuttingTool(models.Model):
_name = 'sf.integral.cutting.tool'
_description = '整体式刀具'
code = fields.Char('编码')
name = fields.Char('型号名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 整体式刀具类型字段,关联整体式刀具类型对象
integral_model_number = fields.Many2one('sf.integral.cutting.tool.model', '整体式刀具类型')
# 增加品牌、总长度(mm)、柄部长度(mm)、刃部长度(mm)、直径(mm)、刃数、前角(°)、后角(°)、主偏角(°)、材料型号、配对螺母(mm)、适用夹头型号、适用范围、图片、创建人、创建时间等字段
brand = fields.Many2one('sf.machine.brand', '品牌')
total_length = fields.Float('总长度(mm)')
shank_length = fields.Float('柄部长度(mm)')
blade_length = fields.Float('刃部长度(mm)')
diameter = fields.Float('直径(mm)')
blade_number = fields.Integer('刃数')
front_angle = fields.Float('前角(°)')
rear_angle = fields.Float('后角(°)')
main_included_angle = fields.Float('主偏角(°)')
material_model = fields.Many2one('sf.materials.model', '材料型号')
nut = fields.Float('配对螺母(mm)')
# 适用夹头型号可以多选
chuck_model = fields.Many2many('sf.chuck', string='适用夹头型号')
scope = fields.Char('适用范围')
image = fields.Binary('图片')
active = fields.Boolean('有效', default=True)
# 整体式刀具类型
class IntegralCuttingToolModel(models.Model):
_name = 'sf.integral.cutting.tool.model'
_description = '整体式刀具类型'
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
remark = fields.Char('备注')
# 刀片
class Blade(models.Model):
_name = 'sf.blade'
_description = '刀片'
code = fields.Char('编码')
name = fields.Char('型号名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 刀片类型字段,关联刀片类型对象
blade_model_number = fields.Many2one('sf.blade.model', '刀片类型')
# 编码、型号名称、刀片类型、品牌、长度L(mm)、宽度D(mm)、高度T(mm)、顶角(°)、前角(°)、后角(°)、主偏角(°)、R角(°)、材料型号、加工硬度、配对螺母(mm)、适用刀杆/刀盘型号、刀尖半径(mm)、图片、创建人、创建时间字段
brand = fields.Many2one('sf.machine.brand', '品牌', )
length = fields.Float('长度L(mm)')
width = fields.Float('宽度D(mm)')
height = fields.Float('高度T(mm)')
top_angle = fields.Float('顶角(°)')
front_angle = fields.Float('前角(°)')
rear_angle = fields.Float('后角(°)')
main_included_angle = fields.Float('主偏角(°)')
r_angle = fields.Float('R角(°)')
material_model = fields.Many2one('sf.materials.model', '材料型号')
hardness = fields.Char('加工硬度')
nut = fields.Float('配对螺母(mm)')
# 适用刀杆型号可以多选
cutter_bar = fields.Many2many('sf.cutter.bar', string='适用刀杆型号')
# 适用刀盘型号可以多选
cutter_pad = fields.Many2many('sf.cutter.pad', string='适用刀盘型号')
radius = fields.Float('刀尖半径(mm)')
image = fields.Binary('图片')
# 刀片类型
class BladeModel(models.Model):
_name = 'sf.blade.model'
_description = '刀片类型'
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 刀片类型字段,关联刀片对象
blade_ids = fields.One2many('sf.blade', 'blade_model_number', '刀片类型')
remark = fields.Char('备注')
# 刀杆
class CutterBar(models.Model):
_name = 'sf.cutter.bar'
_description = '刀杆'
code = fields.Char('编码')
name = fields.Char('型号名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 刀杆类型字段,关联刀杆类型对象
cutter_bar_model_number = fields.Many2one('sf.cutter.bar.model', '刀杆类型')
# 品牌、C柄径(mm)、L总长(mm)、材料型号、刃数、D刃径(mm)、适用刀片型号、配对扳手(mm)、配备螺丝(mm)、刀尖圆角半径、精度等级、硬度(°)、适用范围、图片、创建人、创建时间
brand = fields.Many2one('sf.machine.brand', '品牌')
c_diameter = fields.Float('C柄径(mm)')
total_length = fields.Float('L总长(mm)')
material_model = fields.Many2one('sf.materials.model', '材料型号')
blade_number = fields.Integer('刃数')
d_diameter = fields.Float('D刃径(mm)')
blade = fields.Many2many('sf.blade', string='适用刀片型号')
wrench = fields.Float('配对扳手(mm)')
screw = fields.Float('配备螺丝(mm)')
radius = fields.Float('刀尖圆角半径')
accuracy = fields.Char('精度等级')
hardness = fields.Char('硬度(°)')
scope = fields.Char('适用范围')
image = fields.Binary('图片')
# 刀杆类型
class CutterBarModel(models.Model):
_name = 'sf.cutter.bar.model'
_description = '刀杆类型'
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
remark = fields.Char('备注')
# 刀盘
class CutterPad(models.Model):
_name = 'sf.cutter.pad'
_description = '刀盘'
code = fields.Char('编码')
name = fields.Char('型号名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 刀盘类型字段,关联刀盘类型对象
cutter_pad_model_number = fields.Many2one('sf.cutter.pad.model', '刀盘类型')
# 增加品牌、C柄径(mm)、L总长(mm)、材料型号、刃数、D刃径(mm)、适用刀片型号、配对扳手(mm)、配备螺丝(mm)、刀尖圆角半径、精度等级、硬度(°)、适用范围、图片、创建人、创建时间
brand = fields.Many2one('sf.machine.brand', '品牌')
c_diameter = fields.Float('C柄径(mm)')
total_length = fields.Float('L总长(mm)')
material_model = fields.Many2one('sf.materials.model', '材料型号')
blade_number = fields.Integer('刃数')
d_diameter = fields.Float('D刃径(mm)')
blade = fields.Many2many('sf.blade', string='适用刀片型号')
wrench = fields.Float('配对扳手(mm)')
screw = fields.Float('配备螺丝(mm)')
radius = fields.Float('刀尖圆角半径')
accuracy = fields.Char('精度等级')
hardness = fields.Char('硬度(°)')
scope = fields.Char('适用范围')
image = fields.Binary('图片')
# 刀盘类型
class CutterPadModel(models.Model):
_name = 'sf.cutter.pad.model'
_description = '刀盘类型'
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
remark = fields.Char('备注')
# 刀柄
class Handle(models.Model):
_name = 'sf.handle'
_description = '刀柄'
code = fields.Char('编码')
name = fields.Char('型号名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 刀柄类型字段,关联刀柄类型对象
handle_model_number = fields.Many2one('sf.handle.model', '刀柄类型')
# 增加、刀柄类型、品牌、L(mm)、L1(mm)、D1(mm)、重量(kg)、材料型号、本体精度(mm)、配对螺母(mm)、适用夹头型号、夹持范围(mm)、检测精度、检测硬度、标准转速、图片、创建人、创建时间
brand = fields.Many2one('sf.machine.brand', '品牌')
length = fields.Float('L(mm)')
length1 = fields.Float('L1(mm)')
diameter1 = fields.Float('D1(mm)')
weight = fields.Float('重量(kg)')
material_model = fields.Many2one('sf.materials.model', '材料型号')
body_accuracy = fields.Float('本体精度(mm)')
nut = fields.Float('配对螺母(mm)')
chuck_model = fields.Many2many('sf.chuck.model', string='适用夹头型号')
clamping_range = fields.Float('夹持范围(mm)')
detection_accuracy = fields.Float('检测精度')
detection_hardness = fields.Char('检测硬度')
standard_speed = fields.Float('标准转速')
image = fields.Binary('图片')
# 刀柄类型
class HandleModel(models.Model):
_name = 'sf.handle.model'
_description = '刀柄类型'
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
remark = fields.Char('备注')
# 夹头对象(夹头型号对象)
class Chuck(models.Model):
_name = 'sf.chuck'
_description = '夹头'
_rec_name = 'code'
code = fields.Char('编码')
name = fields.Char('型号名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 夹头类型字段,关联夹头类型对象
chuck_model_number = fields.Many2one('sf.chuck.model', '夹头类型')
# 增加品牌、精度(mm)、外径(mm)、内径(mm)、高度(mm)、材料型号、配对螺母(mm)、适用刀柄型号、夹持范围(mm)、特性、图片、创建人、创建时间
brand = fields.Many2one('sf.machine.brand', '品牌')
accuracy = fields.Float('精度(mm)')
diameter = fields.Float('外径(mm)')
inner_diameter = fields.Float('内径(mm)')
height = fields.Float('高度(mm)')
material_model = fields.Many2one('sf.materials.model', '材料型号')
nut = fields.Float('配对螺母(mm)')
handle_model = fields.Many2many('sf.handle.model', string='适用刀柄型号')
clamping_range = fields.Float('夹持范围(mm)')
feature = fields.Char('特性')
image = fields.Binary('图片')
# 夹头类型
class ChuckModel(models.Model):
_name = 'sf.chuck.model'
_description = '夹头类型'
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
remark = fields.Char('备注')

View File

@@ -1,12 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import json
import requests
from odoo import fields, models, api from odoo import fields, models, api
from odoo.exceptions import ValidationError
from odoo.addons.sf_base.commons.common import Common
# from datetime import datetime
# from odoo.exceptions import ValidationError
# 刀具物料
class CuttingToolMaterial(models.Model): class CuttingToolMaterial(models.Model):
_name = 'sf.cutting.tool.material' _name = 'sf.cutting.tool.material'
_description = '刀具物料' _description = '刀具物料'
@@ -26,58 +25,7 @@ class FunctionalCuttingTool(models.Model):
name = fields.Char('名称') name = fields.Char('名称')
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型') mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号') mrs_cutting_tool_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='刀具型号')
# # 整体式刀具型号
# mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
# string='整体式刀具型号', domain=
# [('cutting_tool_type', '=', '整体式刀具')])
# # 刀片型号
# mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_blade_model_functional_sf',
# string='刀片型号', domain=
# [('cutting_tool_type', '=', '刀片')])
# # 刀杆型号
# mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterbar_model_functional_sf',
# string='刀杆型号', domain=
# [('cutting_tool_type', '=', '刀杆')])
# # 刀盘型号
# mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterpad_model_functional_sf',
# string='刀盘型号', domain=
# [('cutting_tool_type', '=', '刀盘')])
# # 刀柄型号
# mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterhandle_model_functional_sf',
# string='刀柄型号',
# domain=
# [('cutting_tool_type', '=', '刀柄')])
# # 夹头型号
# mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterhead_model_functional_sf',
# string='夹头型号', domain=
# [('cutting_tool_type', '=', '夹头')])
#
# diameter = fields.Float('直径(mm)')
# tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
# string='刀具等级')
# machining_accuracy = fields.Float('加工精度(mm)')
# tool_length = fields.Float('装刀长')
# blade_number = fields.Integer('刃数')
# integral_blade_length = fields.Float('整体刃长(mm)')
# effective_blade_length = fields.Float('有效刃长(mm)')
# max_life = fields.Float('最大寿命值')
# is_standard = fields.Boolean('是否标准刀')
# applicable_range = fields.Char('适用范围')
# image = fields.Binary('图片')
# active = fields.Boolean('有效', default=True)
#
# def _get_functional_tool_model_ids(self, functional_tool_model_code):
# functional_tool_model_ids = []
# for item in functional_tool_model_code:
# functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
# functional_tool_model_ids.append(functional_tool_model.id)
# return [(6, 0, functional_tool_model_ids)]
# 功能刀具类型 # 功能刀具类型
@@ -91,133 +39,6 @@ class FunctionalCuttingToolModel(models.Model):
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
# 刀具型号
class CuttingToolModel(models.Model):
_name = 'sf.cutting.tool.model'
_description = '刀具型号'
name = fields.Char('名称')
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', string='刀具物料')
cutting_tool_type = fields.Char(string="刀具物料类型", related='cutting_tool_material_id.name', store=True)
cutting_tool_type_id = fields.Many2one('sf.cutting.tool.type', string='刀具类型',
)
brand_id = fields.Many2one('sf.machine.brand', '品牌')
tool_length = fields.Integer('长度(mm)')
tool_width = fields.Integer('宽度(mm)')
tool_height = fields.Integer('高度(mm)')
tool_thickness = fields.Integer('厚度(mm)')
tool_weight = fields.Float('重量(kg)')
coating_material = fields.Char('涂层材质')
# 整体式刀具参数
total_length = fields.Float('总长度(mm)')
shank_length = fields.Float('柄部长度(mm)')
blade_length = fields.Float('刃部长度(mm)')
diameter = fields.Float('直径(mm)')
blade_number = fields.Integer('刃数')
front_angle = fields.Float('前角(°)')
rear_angle = fields.Float('后角(°)')
main_included_angle = fields.Float('主偏角(°)')
material_model_id = fields.Many2one('sf.materials.model', '材料型号')
nut = fields.Float('配对螺母(mm)')
# 适用夹头型号可以多选
chuck_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='cutting_tool_model_handle_chuck_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_type', '=', '夹头')]",
string='适用夹头型号')
# 刀片参数
top_angle = fields.Float('顶角(°)')
jump_accuracy = fields.Float('径跳精度(um)')
working_hardness = fields.Char('加工硬度(hrc)')
cutter_bar_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='cutting_tool_model_blade_cutter_bar_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_type', '=', '刀杆')]",
string='适用刀杆型号'
)
cutter_pad_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='cutting_tool_model_blade_cutter_pad_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_type', '=', '刀盘')]",
string='适用刀盘型号' # 使用空列表作为默认值
)
# 刀杆/参数
blade_diameter = fields.Float('刃径(mm)')
blade_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='cutting_tool_model_pad_blade_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_type', '=', '刀片')]",
string='适用刀片型号' # 使用空列表作为默认值
)
wrench = fields.Float('配对扳手(mm)')
screw = fields.Float('配备螺丝(mm)')
accuracy_level = fields.Char('精度等级')
# 刀柄参数
diameter_max = fields.Float('最大直径(mm)')
clamping_diameter = fields.Float('夹持直径(mm)')
flange_length = fields.Float('法兰柄长度(mm)')
flange_diameter = fields.Float('法兰直径(mm)')
# 夹头参数
outer_diameter = fields.Float('外径(mm)')
inner_diameter = fields.Float('内径(mm)')
handle_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='cutting_tool_model_chuck_handle_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_type', '=', '刀柄')]",
string='适用刀柄型号'
)
active = fields.Boolean('有效', default=True)
def _get_code(self, cutting_tool_type_code):
cutting_tool_model = self.search(
[('code', 'ilike', cutting_tool_type_code)],
limit=1,
order="id desc")
if not cutting_tool_model:
num = "%03d" % 1
else:
m = int(cutting_tool_model.code[-3:]) + 1
num = "%03d" % m
return "%s%s" % (cutting_tool_type_code, num)
code = fields.Char(string='编码', readonly=True)
def _onchange_cutting_tool_material_id(self, cutting_tool_material_id):
if cutting_tool_material_id:
if cutting_tool_material_id.name == "整体式刀具":
code = self._get_code("JKM-T-DJWL-ZTDJ-")
elif cutting_tool_material_id.name == "刀片":
code = self._get_code("JKM-T-DJWL-DPIA-")
elif cutting_tool_material_id.name == "刀杆":
code = self._get_code("JKM-T-DJWL-DGAN-")
elif cutting_tool_material_id.name == "刀盘":
code = self._get_code("JKM-T-DJWL-DPAN-")
elif cutting_tool_material_id.name == "夹头":
code = self._get_code("JKM-T-DJWL-DJIA-")
else:
code = self._get_code("JKM-T-DJWL-DBIN-")
return code
@api.model_create_multi
def create(self, vals):
obj = super(CuttingToolModel, self).create(vals)
if obj.cutting_tool_material_id:
code = self._onchange_cutting_tool_material_id(obj.cutting_tool_material_id)
obj.code = code
return obj
# 刀具类型 # 刀具类型
class CuttingToolType(models.Model): class CuttingToolType(models.Model):
_name = 'sf.cutting.tool.type' _name = 'sf.cutting.tool.type'
@@ -229,3 +50,243 @@ class CuttingToolType(models.Model):
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料') cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料')
remark = fields.Char('备注') remark = fields.Char('备注')
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
# 刀具标准库
class CuttingToolModel(models.Model):
_name = 'sf.cutting_tool.standard.library'
_description = '刀具标准库'
code = fields.Char(string='编码')
name = fields.Char('名称')
# 关联刀具物料
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
# 刀具物料类型
cutting_tool_type = fields.Char(related='cutting_tool_material_id.name', string='刀具物料类型',
store=True)
# 关联刀具类型
cutting_tool_type_id = fields.Many2one('sf.cutting.tool.type', '类型',
domain="[('cutting_tool_material_id.name', '=', cutting_tool_type)]")
brand_id = fields.Many2one('sf.machine.brand', '品牌')
status = fields.Boolean(string='状态', default=False)
image = fields.Binary('图片')
# 整体式刀具参数
material_model_id = fields.Many2one('mrs.materials.model', '刀具材质')
tool_hardness = fields.Integer('刀具硬度(hrc)')
coating_material = fields.Char('涂层材质')
blade_type = fields.Char('刃部类型')
integral_coarse_medium_fine = fields.Selection([('', ''), ('', ''), ('', '')], '粗/中/精')
integral_run_out_accuracy_max = fields.Char('整体式刀具端跳精度max')
integral_run_out_accuracy_min = fields.Char('整体式刀具端跳精度min')
ramping_angle_ids = fields.One2many('sf.ramping.angle', 'standard_library_id', '坡铣角度',
domain=lambda self: [('standard_library_id', '=', self.id)])
fit_blade_shape_id = fields.Many2one('maintenance.equipment.image',
'适配刀片形状', domain=[('type', '=', '刀片形状')])
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
'suitable_machining_method_library_rel',
'适合加工方式', domain=[('type', '=', '加工能力')])
blade_tip_characteristics_id = fields.Many2one('maintenance.equipment.image',
'刀尖特征', domain=[('type', '=', '刀尖特征')])
handle_type_id = fields.Many2one('maintenance.equipment.image',
'柄部类型', domain=[('type', '=', '柄部类型')])
cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'cutting_direction_library_rel',
'走刀方向', domain=[('type', '=', '走刀方向')])
suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'suitable_coolants_library_rel',
'适合冷却方式', domain=[('type', '=', '冷却方式')])
compaction_way_id = fields.Many2one('maintenance.equipment.image',
'压紧方式', domain=[('type', '=', '压紧方式')])
integral_tool_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters',
'standard_library_id', string='整体式刀具基本参数')
blade_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters',
'standard_library_id', string='刀片基本参数')
cutter_bar_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters',
'standard_library_id', string='刀杆基本参数')
cutter_head_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters',
'standard_library_id', string='刀盘基本参数')
knife_handle_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters',
'standard_library_id', string='刀柄基本参数')
chuck_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters',
'standard_library_id', string='夹头基本参数')
cutting_speed_ids = fields.One2many('sf.cutting.speed', 'standard_library_id', string='切削速度Vc')
feed_per_tooth_ids = fields.One2many('sf.feed.per.tooth', 'standard_library_id', '每齿走刀量fz(整体式刀具)')
feed_per_tooth_ids_3 = fields.One2many('sf.feed.per.tooth', 'standard_library_id', '每齿走刀量fz(刀片)')
material_model_id = fields.Many2one('sf.materials.model', '材料型号')
# 适用夹头型号可以多选
# chuck_ids = fields.Many2many(
# 'sf.cutting_tool.standard.library',
# relation='cutting_tool_type_library_handle_chuck_rel',
# column1='model_id_1',
# column2='model_id_2',
# domain="[('cutting_tool_material_id.name', '=', '夹头')]",
# string='适用夹头型号')
chuck_id = fields.Many2one(
'sf.cutting_tool.standard.library',
domain="[('cutting_tool_material_id.name', '=', '夹头')]",
string='适用夹头型号')
cutter_bar_ids = fields.Many2many(
'sf.cutting_tool.standard.library',
relation='cutting_tool_type_library_cutter_bar_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_material_id.name', '=', '刀杆')]",
string='适用刀杆型号'
)
cutter_pad_ids = fields.Many2many(
'sf.cutting_tool.standard.library',
relation='cutting_tool_type_library_cutter_pad_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_material_id.name', '=', '刀盘')]",
string='适用刀盘型号' # 使用空列表作为默认值
)
# 刀杆/参数
# blade_ids = fields.Many2many(
# 'sf.cutting_tool.standard.library',
# relation='cutting_tool_type_library_pad_blade_rel',
# column1='model_id_1',
# column2='model_id_2',
# domain="[('cutting_tool_material_id.name', '=', '刀片')]",
# string='适用刀片型号' # 使用空列表作为默认值
# )
handle_id = fields.Many2one(
'sf.cutting_tool.standard.library',
domain="[('cutting_tool_material_id.name', '=', '刀柄')]",
string='适用刀柄型号'
)
# handle_ids = fields.Many2many(
# 'sf.cutting_tool.standard.library',
# relation='cutting_tool_type_library_chuck_handle_rel',
# column1='model_id_1',
# column2='model_id_2',
# domain="[('cutting_tool_material_id.name', '=', '刀柄')]",
# string='适用刀柄型号'
# )
active = fields.Boolean('有效', default=True)
is_cloud = fields.Boolean('云端数据', default=False)
def _get_ids(self, cutting_tool_type_code, factory_short_name):
cutting_tool_type_ids = []
for item in cutting_tool_type_code:
cutting_tool_type = self.search([('code', '=', item.replace("JKM", factory_short_name))])
if cutting_tool_type:
cutting_tool_type_ids.append(cutting_tool_type.id)
return [(6, 0, cutting_tool_type_ids)]
class MaintenanceStandardImage(models.Model):
_name = 'maintenance.equipment.image'
_description = '能力特征库'
active = fields.Boolean('有效', default=True)
name = fields.Char('名称')
image = fields.Binary(string='图文')
type = fields.Selection(
[('加工能力', '加工能力'), ('刀尖特征', '刀尖特征'), ('柄部类型', '柄部类型'), ('走刀方向', '走刀方向'),
('压紧方式', '压紧方式'), ('刀片形状', '刀片形状'), ('冷却方式', '冷却方式')],
string='特征')
equipment_id = fields.Many2many('maintenance.equipment', 'image_id', string='设备')
equipment_lq_id = fields.Many2many('maintenance.equipment', 'image_lq_id', string='设备')
jg_equipment_id = fields.Many2many('sf.machine_tool.type', 'jg_image_id', string='机床型号')
lq_equipment_id = fields.Many2many('sf.machine_tool.type', 'lq_image_id', string='机床型号')
def _get_ids(self, name_arr):
ability_feature_ids = []
for item in name_arr:
ability_feature = self.search([('name', '=', item)])
if ability_feature:
ability_feature_ids.append(ability_feature.id)
return [(6, 0, ability_feature_ids)]
@api.model
def name_search(self, name='', args=None, operator='ilike', limit=100):
# 调用父类的name_search方法获取原始的结果列表
res = super().name_search(name, args, operator, limit)
# 定义一个空字典用来存储id和name的映射关系
name_dict = {}
# 遍历结果列表将id和name存入字典中
for item in res:
id = item[0]
name = item[1]
name_dict[id] = name
# 根据id列表搜索符合条件的记录
records = self.browse(name_dict.keys())
# 定义一个新的结果列表用来存储修改后的结果
new_res = []
# 遍历每条记录
for record in records:
# 获取记录的idname和image属性
id = record.id
name = name_dict[id]
image = record.image
# 如果image不为空将其转换为data URI scheme
if image:
data_uri = f"data:image/png;base64,{image.decode('utf-8')}"
else:
data_uri = ""
# 将这三个属性组成一个数组,并添加到结果列表中 result.append([id, name, data_uri]) # 返回结果列表 return result
new_res.append([id, name, data_uri])
# 返回新的结果列表
return new_res
@api.model
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
# 调用原生的search_read方法获取记录
records = super(MaintenanceStandardImage, self).search_read(domain, fields, offset, limit, order)
# 遍历每条记录添加image数据
for record in records:
image_field = self.browse(record['id']).image
if image_field:
record['image'] = f"data:image/png;base64,{image_field.decode('utf-8')}"
else:
record['image'] = ""
return records
class ToolGroups(models.Model):
_name = 'sf.tool.groups'
_description = '刀具组'
name = fields.Char('名称')
equipment_ids = fields.Many2many('maintenance.equipment', 'ref_maintenance_equipment', string='机台号')
remark = fields.Char('备注', size=50)
# ==========机床刀具组接口==========
def _register_tool_groups(self, obj):
create_url = '/AutoDeviceApi/MaintenanceToolGroups'
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(obj, token, sf_secret_key)
strurl = sf_sync_config['sf_url'] + create_url
device_id = ''
name = None
if obj:
for equipment_id in obj.equipment_ids:
device_id = '%s,%s' % (device_id, equipment_id.name)
name = obj.name
val = {
'DeviceId': device_id,
'GroupName': name,
}
kw = json.dumps(val, ensure_ascii=False)
r = requests.post(strurl, json={}, data={'kw': kw, 'token': token}, headers=headers)
ret = r.json()
if r == 200:
return "机床刀具组发送成功"
else:
raise ValidationError("机床刀具组发送失败")
# def write(self, vals):
# obj = super().write(vals)
# self._register_tool_groups(self)
# return obj
#
# @api.model_create_multi
# def create(self, vals_list):
# records = super(ToolGroups, self).create(vals_list)
# self._register_tool_groups(records)
# return records

Some files were not shown because too many files have changed in this diff Show More