Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dwsproject
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dws
dwsproject
Commits
30d7abc4
Commit
30d7abc4
authored
Nov 20, 2024
by
夏超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[fix] 新增任务的工艺设计
parent
ae978a57
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
171 additions
and
1 deletions
+171
-1
jzjx_project/__manifest__.py
+1
-0
jzjx_project/controllers/roke_work_order.py
+44
-1
jzjx_project/models/__init__.py
+1
-0
jzjx_project/models/inherit_production_task.py
+23
-0
jzjx_project/models/inherit_roke_routing.py
+60
-0
jzjx_project/static/src/html/index.html
+11
-0
jzjx_project/static/src/js/roke_craft_design.js
+20
-0
jzjx_project/static/src/xml/roke_craft_design.xml
+7
-0
jzjx_project/views/button_js.xml
+1
-0
jzjx_project/views/inherit_roke_production_task.xml
+3
-0
No files found.
jzjx_project/__manifest__.py
View file @
30d7abc4
...
...
@@ -25,6 +25,7 @@
'views/inherit_roke_scrap_order_view.xml'
],
'qweb'
:
[
"static/src/xml/roke_craft_design.xml"
,
],
'application'
:
False
,
'installable'
:
True
,
...
...
jzjx_project/controllers/roke_work_order.py
View file @
30d7abc4
import
datetime
import
json
import
logging
import
os
from
jinja2
import
FileSystemLoader
,
Environment
import
pytz
from
odoo
import
models
,
fields
,
api
,
http
,
SUPERUSER_ID
,
_
from
odoo.addons.roke_workstation_api.controllers.data_analysis
import
reduce_pytz_conversion
,
pytz_conversion
...
...
@@ -9,8 +10,50 @@ from odoo.addons.roke_workstation_api.controllers.data_analysis import reduce_py
_logger
=
logging
.
getLogger
(
__name__
)
# 设置查找html文件的路径
BASE_DIR
=
os
.
path
.
dirname
(
os
.
path
.
dirname
(
__file__
))
templateloader
=
FileSystemLoader
(
searchpath
=
BASE_DIR
+
"/static"
)
env
=
Environment
(
loader
=
templateloader
)
class
RokeWorkstationWorkOrderModel
(
http
.
Controller
):
@http.route
(
'/roke/craft_design/index'
,
type
=
'http'
,
auth
=
'user'
,
csrf
=
False
,
cors
=
"*"
)
def
roke_index_demo_module
(
self
,
**
kwargs
):
product_id
=
kwargs
.
get
(
"product_id"
,
False
)
routing_id
=
kwargs
.
get
(
"routing_id"
,
False
)
user_id
=
http
.
request
.
env
.
user
.
id
values
=
{
"product_id"
:
product_id
,
"routing_id"
:
routing_id
,
"user_id"
:
user_id
}
template
=
env
.
get_template
(
'/src/html/index.html'
)
html
=
template
.
render
(
values
)
return
html
@http.route
(
'/roke/workstation/craft_design/workstation_product/get'
,
type
=
'json'
,
auth
=
'user'
,
csrf
=
False
,
cors
=
"*"
)
def
workstation_product_get
(
self
):
"""
获取工单的不良报工记录
"""
_self
=
http
.
request
product_id
=
_self
.
jsonrequest
.
get
(
"product_id"
,
0
)
product
=
_self
.
env
[
"roke.product"
]
.
sudo
()
.
search
([(
"id"
,
"="
,
product_id
)])
data
=
{
"type"
:
"product"
,
"parent_id"
:
0
,
"id"
:
product
.
id
,
"name"
:
product
.
name
or
""
,
"specification"
:
product
.
specification
or
""
,
"code"
:
product
.
code
or
""
,
"capacity"
:
product
.
capacity
or
0.0
,
"fpy"
:
product
.
fpy
or
0.0
,
"category"
:
{
"id"
:
product
.
category_id
.
id
,
"name"
:
product
.
category_id
.
name
or
""
},
"has_bom"
:
False
,
}
return
{
"code"
:
0
,
"message"
:
f
"获取成功!"
,
"data"
:
data
}
@http.route
(
'/roke/workstation/work_record/workstation_work_record'
,
type
=
'json'
,
auth
=
'user'
,
csrf
=
False
,
cors
=
"*"
)
def
get_workstation_work_record
(
self
):
"""
...
...
jzjx_project/models/__init__.py
View file @
30d7abc4
...
...
@@ -5,3 +5,4 @@ from . import work_log
from
.
import
inherit_res_config_settings
from
.
import
inheirt_roke_repair_order
from
.
import
inherit_roke_scrap_order
from
.
import
inherit_roke_routing
jzjx_project/models/inherit_production_task.py
View file @
30d7abc4
...
...
@@ -95,3 +95,26 @@ class InheritProductionTask(models.Model):
plan_qty
=
int
(
plan_qty
)
res
.
update
({
"plan_qty"
:
plan_qty
})
return
res
def
craft_design
(
self
):
if
not
self
.
routing_id
:
raise
ValidationError
(
"该任务没有工艺路线!请先选择工艺路线。"
)
if
not
self
.
routing_id
.
routing_task_id
or
self
.
routing_id
.
routing_task_id
.
id
!=
self
.
id
:
routing_id
=
self
.
routing_id
.
copy
()
routing_id
.
update
({
"state"
:
"确认"
,
"routing_task_id"
:
self
.
id
})
self
.
write
({
"routing_id"
:
routing_id
.
id
})
self
.
_onchange_routing_id
()
else
:
routing_id
=
self
.
routing_id
return
{
"name"
:
"工艺设计"
,
"type"
:
"ir.actions.client"
,
"tag"
:
"jzjx_project.roke_craft_design"
,
"target"
:
"current"
,
"params"
:
{
"controller"
:
f
"/roke/craft_design/index?product_id={self.product_id.id}&routing_id={routing_id.id}"
}
}
jzjx_project/models/inherit_roke_routing.py
0 → 100644
View file @
30d7abc4
import
datetime
import
pymysql
import
logging
from
odoo
import
api
,
models
,
fields
_logger
=
logging
.
getLogger
(
__name__
)
class
InheritRokeRoutingModel
(
models
.
Model
):
_inherit
=
"roke.routing"
routing_task_id
=
fields
.
Many2one
(
"roke.production.task"
)
def
_get_check_vals
(
self
,
check
):
data
=
{
"sequence"
:
check
.
sequence
,
"name"
:
check
.
name
,
"description"
:
check
.
description
,
"input_type"
:
check
.
input_type
,
"standard_value"
:
check
.
standard_value
,
"upper_value"
:
check
.
upper_value
,
"lower_value"
:
check
.
lower_value
,
}
check_option
=
[]
for
v
in
check
.
select_item_ids
:
check_option
.
append
((
0
,
0
,
{
"sequence"
:
v
.
sequence
,
"value"
:
v
.
value
}))
data
.
update
({
"select_item_ids"
:
check_option
})
return
data
def
get_routing_line_value
(
self
,
line
):
"""
获取工艺明细内容
:param process:
:return:
"""
res
=
super
(
InheritRokeRoutingModel
,
self
)
.
get_routing_line_value
(
line
)
check_ids
=
[]
for
v
in
line
.
check_ids
:
check_ids
.
append
((
0
,
0
,
self
.
_get_check_vals
(
v
)))
res
.
update
({
"scrap_reason_ids"
:
[(
6
,
0
,
line
.
scrap_reason_ids
.
ids
)],
"check_ids"
:
check_ids
,
})
return
res
def
_get_standard_item_vals
(
self
,
standard_item
):
"""
作业规范
"""
res
=
super
(
InheritRokeRoutingModel
,
self
)
.
_get_standard_item_vals
(
standard_item
)
res
.
update
({
"description"
:
standard_item
.
description
or
""
,
"sequence"
:
standard_item
.
sequence
,
})
return
res
jzjx_project/static/src/html/index.html
0 → 100644
View file @
30d7abc4
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
Title
</title>
</head>
<body>
[[ product_id ]] [[ routing_id ]]
</body>
</html>
\ No newline at end of file
jzjx_project/static/src/js/roke_craft_design.js
0 → 100644
View file @
30d7abc4
odoo
.
define
(
'jzjx_project.roke_craft_design'
,
function
(
require
)
{
"use strict"
;
var
core
=
require
(
'web.core'
);
var
session
=
require
(
'web.session'
);
var
AbstractAction
=
require
(
'web.AbstractAction'
);
var
RokeCraftDesign
=
AbstractAction
.
extend
({
template
:
'jzjx_project.roke_craft_design'
,
init
:
function
(
parent
,
action
,
params
)
{
this
.
action_controller
=
`
${
action
.
params
.
controller
}
&user_id=
${
session
.
uid
}
`
;
return
this
.
_super
.
apply
(
this
,
arguments
);
}
});
core
.
action_registry
.
add
(
'jzjx_project.roke_craft_design'
,
RokeCraftDesign
);
return
RokeCraftDesign
;
});
\ No newline at end of file
jzjx_project/static/src/xml/roke_craft_design.xml
0 → 100644
View file @
30d7abc4
<?xml version="1.0" encoding="UTF-8" ?>
<templates
id=
"roke_routing_settings_template"
xml:space=
"preserve"
>
<t
t-name=
"jzjx_project.roke_craft_design"
>
<iframe
id=
"roke_craft_design.xml_iframe"
t-attf-src=
"#{widget.action_controller}"
frameBorder=
"no"
width=
"100%"
height=
"100%"
/>
</t>
</templates>
\ No newline at end of file
jzjx_project/views/button_js.xml
View file @
30d7abc4
...
...
@@ -4,6 +4,7 @@
<xpath
expr=
"script[last()]"
position=
"after"
>
<!-- <script type="text/javascript" src="/roke_pub_wx_notice/static/src/js/sync_wx_btn.js"/>-->
<script
type=
"text/javascript"
src=
"/jzjx_project/static/src/js/button.js"
/>
<script
type=
"text/javascript"
src=
"/jzjx_project/static/src/js/roke_craft_design.js"
/>
</xpath>
</template>
</odoo>
jzjx_project/views/inherit_roke_production_task.xml
View file @
30d7abc4
...
...
@@ -22,6 +22,9 @@
<xpath
expr=
"//header"
position=
"inside"
>
<button
name=
"upload_task"
type=
"object"
string=
"上传任务"
class=
"btn btn-primary"
attrs=
"{'invisible': [('UploadMsg', '=', 'OK')]}"
/>
<field
name=
"record_ids"
invisible=
"1"
/>
<button
name=
"craft_design"
type=
"object"
string=
"工艺设计"
class=
"btn btn-primary"
attrs=
"{'invisible': [('record_ids', '!=', [])]}"
/>
</xpath>
</field>
</record>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment