Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
topsun-bpm
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
鲁鑫
topsun-bpm
Commits
e441a8db
Commit
e441a8db
authored
Aug 30, 2024
by
鲁鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MES质量评审功能
parent
61e13dad
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1177 additions
and
2 deletions
+1177
-2
数据库变更记录
topsun-xt/src/main/resources/数据库变更记录
+6
-2
attachment.jsp
...webapp/biz/topsun/mes/unqualifiedMaterials/attachment.jsp
+10
-0
unqualifiedMaterialsDetail.js
...un/mes/unqualifiedMaterials/unqualifiedMaterialsDetail.js
+76
-0
unqualifiedMaterialsDetail.jsp
...n/mes/unqualifiedMaterials/unqualifiedMaterialsDetail.jsp
+61
-0
unqualifiedMaterialsList.js
...psun/mes/unqualifiedMaterials/unqualifiedMaterialsList.js
+91
-0
unqualifiedMaterialsList.jsp
...sun/mes/unqualifiedMaterials/unqualifiedMaterialsList.jsp
+28
-0
UnqualifiedMaterialsApplication.java
...aterials/application/UnqualifiedMaterialsApplication.java
+26
-0
UnqualifiedMaterialsApplicationImpl.java
...application/impl/UnqualifiedMaterialsApplicationImpl.java
+293
-0
UnqualifiedMaterialsController.java
...dMaterials/controller/UnqualifiedMaterialsController.java
+99
-0
UnqualifiedMaterials.java
...mes/unqualifiedMaterials/domain/UnqualifiedMaterials.java
+127
-0
UnqualifiedMaterialsItem.java
...unqualifiedMaterials/domain/UnqualifiedMaterialsItem.java
+30
-0
UnqualifiedMaterialsQueryRequest.java
...erials/domain/query/UnqualifiedMaterialsQueryRequest.java
+14
-0
UnqualifiedMaterialsFeedBack.java
...fiedMaterials/domain/vo/UnqualifiedMaterialsFeedBack.java
+45
-0
UnqualifiedMaterialsVo.java
...nqualifiedMaterials/domain/vo/UnqualifiedMaterialsVo.java
+103
-0
UnqualifiedMaterialsItemRepository.java
...erials/repository/UnqualifiedMaterialsItemRepository.java
+18
-0
UnqualifiedMaterialsRepository.java
...dMaterials/repository/UnqualifiedMaterialsRepository.java
+12
-0
MesResult.java
...n/java/com/huigou/topsun/sap/common/domain/MesResult.java
+17
-0
unqualifiedMaterialsProc.bpmn
...un/mes/unqualifiedMaterials/unqualifiedMaterialsProc.bpmn
+111
-0
unqualifiedMaterials.xml
.../topsun/mes/unqualifiedMaterials/unqualifiedMaterials.xml
+10
-0
No files found.
topsun-xt/src/main/resources/数据库变更记录
View file @
e441a8db
...
...
@@ -29,4 +29,8 @@ DROP COLUMN `measure_date`,
DROP COLUMN `review_comments`;
ALTER TABLE `topsun`.`mes_unqualified_materials`
ADD COLUMN `result` varchar(10) NULL COMMENT '评审结果' AFTER `msg`;
\ No newline at end of file
ADD COLUMN `result` varchar(10) NULL COMMENT '评审结果' AFTER `msg`;
ALTER TABLE `topsun_dev`.`mes_unqualified_materials_item`
ADD COLUMN `explain` varchar(255) NULL COMMENT '说明' AFTER `version`;
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/mes/unqualifiedMaterials/attachment.jsp
0 → 100644
View file @
e441a8db
<%@ page
contentType=
"text/html; charset=utf-8"
language=
"java"
%>
<%@ taglib
uri=
"/WEB-INF/taglib.tld"
prefix=
"x"
%>
<%@ taglib
uri=
"http://java.sun.com/jsp/jstl/core"
prefix=
"c"
%>
<x:base
include=
"dialog,combox,attachment"
/>
<div
class=
"container-fluid"
style=
"padding: 10px;"
>
<form
class=
"hg-form"
method=
"post"
action=
""
id=
"submitForm"
>
<x:hidden
name=
"bizId"
/>
<x:fileList
id=
"fileList"
bizCode=
"unqualifiedMaterials"
title=
"附件"
bizId=
"bizId"
/>
</form>
</div>
topsun-xt/src/main/webapp/biz/topsun/mes/unqualifiedMaterials/unqualifiedMaterialsDetail.js
0 → 100644
View file @
e441a8db
$
(
document
).
ready
(
function
()
{
initialize
();
bindEvent
();
});
function
initialize
(){
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
$
(
'#fileList'
).
fileList
({
bizId
:
$
(
"#id"
).
val
()});
}
function
bindEvent
(){
// $("#result").combox({onChange:function(data){
// var handleOpinion = $("#handleOpinion").val();
// $("#handleOpinion").val(data.text + "-" + handleOpinion)
// }
// })
}
function
getExtendedData
(
processAction
)
{
var
handleResult
=
getHandleResult
();
//回退、打回、转交时,不需要验证必填项是否已经填写;
if
(
processAction
==
ProcessAction
.
BACK
||
processAction
==
ProcessAction
.
REPLENISH
||
processAction
==
ProcessAction
.
TRANSMIT
||
"2"
==
handleResult
)
{
//不验证
$
(
'#submitForm'
).
attr
(
'check'
,
false
);
}
return
true
;
}
function
checkConstraints
(){
var
handleOpinion
=
$
(
"#handleOpinion"
).
val
();
$
(
"#handleOpinion"
).
val
(
$
(
"#result_text"
).
val
()
+
"-"
+
handleOpinion
)
return
true
;
}
/**
* 流程引擎回调设置打样的id
* @param value
*/
function
setId
(
id
)
{
$
(
"#id"
).
val
(
id
);
}
/**
* 流程引擎获取打样申请id的回掉方法。
* @return
*/
function
getId
()
{
return
$
(
"#id"
).
val
()
||
""
;
}
//UICtrl中校验是否允许编辑
function
businessJudgmentUnit
()
{
var
isApply
=
isApplyProcUnit
();
let
approveProcUnit
=
isApproveProcUnit
();
if
(
isApply
)
{
UICtrl
.
setElHideOrShow
(
"#result"
,
true
)
return
true
;
}
else
{
UICtrl
.
setDisable
(
$
(
"#submitForm"
));
}
if
(
approveProcUnit
){
UICtrl
.
enable
(
$
(
"#result"
));
UICtrl
.
setElRequiredFlag
(
"#result"
,
true
);
}
return
true
;
}
function
print
(){
if
(
$
(
"#statusId"
).
val
()
!=
3
){
Public
.
tip
(
"请审批完成再打印!"
);
return
;
}
var
url
=
'/epChangeForm/print.load'
;
Public
.
openPostWindow
(
web_app
.
name
+
url
,{
id
:
$
(
"#id"
).
val
()});
}
topsun-xt/src/main/webapp/biz/topsun/mes/unqualifiedMaterials/unqualifiedMaterialsDetail.jsp
0 → 100644
View file @
e441a8db
<%@ page
language=
"java"
contentType=
"text/html; charset=utf-8"
%>
<%@taglib
uri=
"/WEB-INF/taglib.tld"
prefix=
"x"
%>
<%@ taglib
uri=
"http://java.sun.com/jsp/jstl/core"
prefix=
"c"
%>
<html>
<head>
<x:base
include=
"layout,dialog,grid,tree,dateTime,combox,attachment,commonTree,comboDialog"
/>
<x:script
src=
'/biz/topsun/mes/unqualifiedMaterials/unqualifiedMaterialsDetail.js'
/>
</head>
<body>
<div
class=
"container-fluid"
>
<x:billTitle
title=
"质量异常评审表"
needStatus=
"false"
needPerson=
"true"
/>
<form
class=
"hg-form"
method=
"post"
action=
""
id=
"submitForm"
>
<x:hidden
name=
"id"
/>
<x:hidden
name=
"billCode"
/>
<x:hidden
name=
"fillinDate"
type=
"datetime"
/>
<x:hidden
name=
"fullId"
/>
<x:hidden
name=
"organId"
/>
<x:hidden
name=
"organName"
/>
<x:hidden
name=
"deptId"
/>
<x:hidden
name=
"deptName"
/>
<x:hidden
name=
"positionId"
/>
<x:hidden
name=
"positionName"
/>
<x:hidden
name=
"personMemberId"
/>
<x:hidden
name=
"personMemberName"
/>
<x:hidden
name=
"statusId"
/>
<div
class=
"hg-form-cols"
>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"mblnr"
required=
"false"
readonly=
"true"
label=
"物料凭证号"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zeile"
required=
"false"
readonly=
"true"
label=
"凭证项次"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"mjahr"
required=
"false"
readonly=
"true"
label=
"凭证年份"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"productName"
required=
"false"
readonly=
"true"
label=
"产品名称"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"type"
required=
"false"
readonly=
"true"
label=
"类别"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"batchNo"
required=
"false"
readonly=
"true"
label=
"生产批次"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"pd"
required=
"false"
readonly=
"true"
label=
"PD/YL编码"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"process"
required=
"false"
readonly=
"true"
label=
"部门/工序"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"exceptionNum"
required=
"false"
readonly=
"true"
label=
"异常数量"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:textareaC
name=
"exceptionDesc"
required=
"false"
label=
"异常描述"
labelCol=
"2"
fieldCol=
"10"
rows=
"3"
readonly=
"true"
/>
</div>
<div
class=
"hg-form-row"
>
<x:hidden
name=
"dutyDept"
/>
<x:inputC
name=
"dutyDeptName"
required=
"false"
readonly=
"true"
label=
"责任部门"
labelCol=
"2"
fieldCol=
"2"
/>
<x:hidden
name=
"submitter"
/>
<x:inputC
name=
"submitterName"
required=
"false"
readonly=
"true"
label=
"提报人"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:selectC
name=
"result"
required=
"false"
label=
"评审结果"
labelCol=
"2"
fieldCol=
"2"
dictionary=
"result"
/>
</div>
</div>
<div
style=
"padding-top: 15px;"
>
<x:fileList
bizCode=
"unqualifiedMaterials"
bizId=
"id"
id=
"fileList"
title=
"相关资料"
/>
</div>
</form>
</div>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/mes/unqualifiedMaterials/unqualifiedMaterialsList.js
0 → 100644
View file @
e441a8db
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initUI
();
loadGrid
();
})
function
initUI
()
{
UICtrl
.
initDefaultLayout
();
}
function
loadGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
addHandler
,
uploadFileHandler
:
{
id
:
'uploadFileHandler'
,
text
:
'上传附件'
,
img
:
'fa-clipboard'
,
click
:
function
(){
uploadFile
();
}
},
});
gridManager
=
UICtrl
.
grid
(
"#maingrid"
,
{
columns
:
[
{
display
:
"单据编号"
,
name
:
"billCode"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"创建日期"
,
name
:
"fillinDate"
,
width
:
120
,
minWidth
:
60
,
type
:
"date"
,
align
:
"left"
},
{
display
:
"申请人"
,
name
:
"personMemberName"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"申请部门"
,
name
:
"deptName"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"产品代号"
,
name
:
"pd"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"产品名称"
,
name
:
"productName"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"审批状态"
,
name
:
"statusTextView"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"状态码"
,
name
:
"code"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"消息"
,
name
:
"msg"
,
width
:
300
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/unqualifiedMaterials/slicedUnqualifiedMaterialsList.ajax'
,
pageSize
:
20
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
width
:
"100%"
,
height
:
"100%"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
doView
(
data
.
id
);
},
});
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
function
query
(
obj
)
{
var
param
=
$
(
obj
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
param
);
}
function
reloadGrid
()
{
gridManager
.
loadData
();
}
function
resetForm
(
obj
)
{
$
(
obj
).
formClean
();
}
function
addHandler
()
{
UICtrl
.
addTabItem
({
tabid
:
'unqualifiedMaterials'
,
text
:
"新增质量异常评审表"
,
url
:
web_app
.
name
+
'/unqualifiedMaterials/forwardUnqualifiedMaterialsDetail.job'
});
}
function
doView
(
id
)
{
UICtrl
.
addTabItem
({
tabid
:
'unqualifiedMaterials'
+
id
,
text
:
"查看质量异常评审表"
,
url
:
web_app
.
name
+
'/unqualifiedMaterials/showUnqualifiedMaterialsDetail.job?bizId='
+
id
+
"&isReadOnly=true"
});
}
function
uploadFile
(){
var
row
=
gridManager
.
getSelectedRow
();
UICtrl
.
showAjaxDialog
({
title
:
$
.
i18nProp
(
'相关附件'
),
width
:
600
,
url
:
web_app
.
name
+
'/unqualifiedMaterials/uploadFile.load?id='
+
row
.
id
,
init
:
function
(
div
)
{
$
(
'#fileList'
).
fileList
({
bizId
:
row
.
id
});
},
okVal
:
'common.button.ok'
,
ok
:
function
(
div
)
{
}
});
}
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/mes/unqualifiedMaterials/unqualifiedMaterialsList.jsp
0 → 100644
View file @
e441a8db
<%@ page
contentType=
"text/html; charset=utf-8"
language=
"java"
%>
<%@ taglib
uri=
"/WEB-INF/taglib.tld"
prefix=
"x"
%>
<%@ taglib
uri=
"http://java.sun.com/jsp/jstl/core"
prefix=
"c"
%>
<html>
<head>
<x:base
include=
"layout,dialog,grid,tree,combox,commonTree"
/>
<x:script
src=
'/biz/topsun/mes/unqualifiedMaterials/unqualifiedMaterialsList.js'
/>
</head>
<body>
<div
class=
"container-fluid"
>
<div
class=
"ui-hide"
>
</div>
<div
id=
"layout"
>
<div
position=
"center"
title=
"质量异常评审表"
>
<x:title
title=
"common.button.search"
hideTable=
"queryMainForm"
isHide=
"true"
/>
<form
class=
"hg-form ui-hide"
method=
"post"
action=
""
id=
"queryMainForm"
>
<x:inputC
name=
"billCode"
required=
"false"
label=
"申请单号"
labelCol=
"1"
/>
<x:searchButtons/>
</form>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"maingrid"
style=
"margin: 2px;"
></div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/application/UnqualifiedMaterialsApplication.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
application
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterials
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.query.UnqualifiedMaterialsQueryRequest
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.vo.UnqualifiedMaterialsVo
;
import
java.util.Map
;
/**
* @Auther: xin.lu
* @Date: 2024/08/12/10:29
* @Description:
*/
public
interface
UnqualifiedMaterialsApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/mes/unqualifiedMaterials/unqualifiedMaterials.xml"
;
String
PROCESS_DEFINITION_KEY
=
"unqualifiedMaterialsProc"
;
UnqualifiedMaterials
findUnqualifiedMaterialsById
(
String
id
);
UnqualifiedMaterials
saveUnqualifiedMaterials
(
UnqualifiedMaterials
unqualifiedMaterials
);
Map
<
String
,
Object
>
slicedUnqualifiedMaterialsList
(
UnqualifiedMaterialsQueryRequest
queryRequest
);
void
saveMesUnqualifiedMaterialsVo
(
UnqualifiedMaterialsVo
unqualifiedMaterialsVo
);
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/application/impl/UnqualifiedMaterialsApplicationImpl.java
0 → 100644
View file @
e441a8db
This diff is collapsed.
Click to expand it.
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/controller/UnqualifiedMaterialsController.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
controller
;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
import
com.huigou.topsun.mes.unqualifiedMaterials.application.UnqualifiedMaterialsApplication
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterials
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.query.UnqualifiedMaterialsQueryRequest
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.vo.UnqualifiedMaterialsVo
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.annotation.SkipAuth
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.util.JSONUtil
;
import
com.huigou.util.SDO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Auther: xin.lu
* @Date: 2024/08/12/10:30
* @Description:
*/
@Controller
@ControllerMapping
(
"/unqualifiedMaterials"
)
public
class
UnqualifiedMaterialsController
extends
CommonController
{
private
final
static
Logger
LOG
=
LoggerFactory
.
getLogger
(
UnqualifiedMaterialsController
.
class
);
@Autowired
private
UnqualifiedMaterialsApplication
unqualifiedMaterialsApplication
;
@Override
protected
String
getPagePath
()
{
return
"/biz/topsun/mes/unqualifiedMaterials/"
;
}
public
String
forwardUnqualifiedMaterialsList
(){
return
forward
(
"unqualifiedMaterialsList"
);
}
@SkipAuth
@RequestMapping
(
value
=
"/getMesUnqualifiedMaterials"
)
@ResponseBody
public
HashMap
<
String
,
Object
>
getMesUnqualifiedMaterials
(
@RequestBody
UnqualifiedMaterialsVo
unqualifiedMaterialsVo
){
//SDO sdo = this.getSDO();
HashMap
<
String
,
Object
>
messageMap
=
new
HashMap
<>();
messageMap
.
put
(
"Message_Status"
,
"S"
);
messageMap
.
put
(
"Message_Text"
,
"成功"
);
LOG
.
info
(
"MES质量异常评审表审批数据=={}"
,
JSONUtil
.
toString
(
unqualifiedMaterialsVo
));
try
{
this
.
unqualifiedMaterialsApplication
.
saveMesUnqualifiedMaterialsVo
(
unqualifiedMaterialsVo
);
}
catch
(
RuntimeException
e
){
messageMap
.
put
(
"Message_Status"
,
"E"
);
messageMap
.
put
(
"Message_Text"
,
e
.
getMessage
());
}
return
messageMap
;
}
public
String
slicedUnqualifiedMaterialsList
(){
SDO
sdo
=
this
.
getSDO
();
UnqualifiedMaterialsQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
UnqualifiedMaterialsQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
unqualifiedMaterialsApplication
.
slicedUnqualifiedMaterialsList
(
queryRequest
);
return
toResult
(
map
);
}
public
String
forwardUnqualifiedMaterialsDetail
(){
this
.
putAttribute
(
"processDefinitionKey"
,
UnqualifiedMaterialsApplication
.
PROCESS_DEFINITION_KEY
);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this
.
putAttribute
(
"procUnitId"
,
"Apply"
);
UnqualifiedMaterials
unqualifiedMaterials
=
new
UnqualifiedMaterials
();
unqualifiedMaterials
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
/**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator
operator
=
getOperator
();
unqualifiedMaterials
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
return
forward
(
"unqualifiedMaterialsDetail"
,
unqualifiedMaterials
);
}
public
String
showUnqualifiedMaterialsDetail
(){
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getBizId
();
UnqualifiedMaterials
unqualifiedMaterials
=
unqualifiedMaterialsApplication
.
findUnqualifiedMaterialsById
(
id
);
return
forward
(
"unqualifiedMaterialsDetail"
,
unqualifiedMaterials
);
}
public
String
uploadFile
(){
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getId
();
this
.
putAttribute
(
"bizId"
,
id
);
return
forward
(
"attachment"
);
}
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/domain/UnqualifiedMaterials.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
domain
;
import
com.huigou.data.domain.model.FlowBillAbstractEntity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Auther: xin.lu
* @Date: 2024/08/12/10:25
* @Description: 质量异常评审表
*/
@Entity
@Data
@Table
(
name
=
"mes_unqualified_materials"
)
public
class
UnqualifiedMaterials
extends
FlowBillAbstractEntity
{
/**
* 物料凭证号
*/
@Column
(
name
=
"MBLNR"
)
private
String
mblnr
;
/**
* 凭证项次
*/
@Column
(
name
=
"ZEILE"
)
private
String
zeile
;
/**
* 凭证年份
*/
@Column
(
name
=
"MJAHR"
)
private
String
mjahr
;
/**
* 产品名称
*/
@Column
(
name
=
"product_name"
)
private
String
productName
;
/**
* 类别
*/
@Column
(
name
=
"type"
)
private
String
type
;
/**
* 生产批次
*/
@Column
(
name
=
"batch_no"
)
private
String
batchNo
;
/**
* PD/YL编码
*/
@Column
(
name
=
"pd"
)
private
String
pd
;
/**
* 部门/工序
*/
@Column
(
name
=
"process"
)
private
String
process
;
/**
* 异常数量
*/
@Column
(
name
=
"exception_num"
)
private
BigDecimal
exceptionNum
;
/**
* 异常描述
*/
@Column
(
name
=
"exception_desc"
)
private
String
exceptionDesc
;
/**
* 责任部门
*/
@Column
(
name
=
"duty_dept"
)
private
String
dutyDept
;
/**
* 责任部门
*/
@Column
(
name
=
"duty_dept_name"
)
private
String
dutyDeptName
;
/**
* 提报人
*/
@Column
(
name
=
"submitter"
)
private
String
submitter
;
/**
* 提报人
*/
@Column
(
name
=
"submitter_name"
)
private
String
submitterName
;
/**
* 处理结果
*/
@Column
(
name
=
"result"
)
private
String
result
;
/**
* MES返回状态码
*/
@Column
(
name
=
"code"
)
private
String
code
;
/**
* MES返回消息
*/
@Column
(
name
=
"msg"
)
private
String
msg
;
@Override
protected
String
getCodeRuleId
()
{
return
"unqualifiedMaterials"
;
}
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/domain/UnqualifiedMaterialsItem.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
domain
;
import
com.huigou.data.domain.model.AbstractEntity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
/**
* @Auther: xin.lu
* @Date: 2024/08/28/14:38
* @Description: 质量异常评审表明细
*/
@Entity
@Data
@Table
(
name
=
"mes_unqualified_materials_item"
)
public
class
UnqualifiedMaterialsItem
extends
AbstractEntity
{
@Column
(
name
=
"unqualified_materials_id"
)
private
String
unqualifiedMaterialsId
;
@Column
(
name
=
"dept"
)
private
String
dept
;
@Column
(
name
=
"result"
)
private
String
result
;
@Column
(
name
=
"opinion"
)
private
String
opinion
;
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/domain/query/UnqualifiedMaterialsQueryRequest.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
domain
.
query
;
import
com.huigou.data.domain.query.QueryAbstractRequest
;
import
lombok.Data
;
/**
* @Auther: xin.lu
* @Date: 2024/08/12/10:26
* @Description:
*/
@Data
public
class
UnqualifiedMaterialsQueryRequest
extends
QueryAbstractRequest
{
private
String
billCode
;
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/domain/vo/UnqualifiedMaterialsFeedBack.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
domain
.
vo
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @Auther: xin.lu
* @Date: 2024/08/27/17:16
* @Description:
*/
@Data
public
class
UnqualifiedMaterialsFeedBack
implements
Serializable
{
/**
* 物料凭证号
*/
@JsonProperty
(
"MBLNR"
)
private
String
mblnr
;
/**
* 凭证项次
*/
@JsonProperty
(
"ZEILE"
)
private
String
zeile
;
/**
* 凭证年份
*/
@JsonProperty
(
"MJAHR"
)
private
String
mjahr
;
/**
* 固定值:checkIqcResult
*/
@JsonProperty
(
"actionType"
)
private
String
actionType
;
/**
* ng/pass/back/sort
*/
@JsonProperty
(
"result"
)
private
String
result
;
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/domain/vo/UnqualifiedMaterialsVo.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
domain
.
vo
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.huigou.data.domain.model.FlowBillAbstractEntity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Auther: xin.lu
* @Date: 2024/08/12/10:25
* @Description: 质量异常评审表
*/
@Data
public
class
UnqualifiedMaterialsVo
implements
Serializable
{
/**
* 物料凭证号
*/
@JsonProperty
(
"MBLNR"
)
private
String
mblnr
;
/**
* 凭证项次
*/
@JsonProperty
(
"ZEILE"
)
private
String
zeile
;
/**
* 凭证年份
*/
@JsonProperty
(
"MJAHR"
)
private
String
mjahr
;
/**
* 产品名称
*/
@JsonProperty
(
"productName"
)
private
String
productName
;
/**
* 类别
*/
@JsonProperty
(
"type"
)
private
String
type
;
/**
* 生产批次
*/
@JsonProperty
(
"batchNo"
)
private
String
batchNo
;
/**
* PD/YL编码
*/
@JsonProperty
(
"pd"
)
private
String
pd
;
/**
* 部门/工序
*/
@JsonProperty
(
"process"
)
private
String
process
;
/**
* 异常数量
*/
@JsonProperty
(
"exceptionNum"
)
private
BigDecimal
exceptionNum
;
/**
* 异常描述
*/
@JsonProperty
(
"exceptionDesc"
)
private
String
exceptionDesc
;
/**
* 责任部门
*/
@JsonProperty
(
"dutyDept"
)
private
String
dutyDept
;
/**
* 责任部门
*/
@JsonProperty
(
"dutyDeptName"
)
private
String
dutyDeptName
;
/**
* 提报人
*/
@JsonProperty
(
"submitter"
)
private
String
submitter
;
/**
* 提报人
*/
@JsonProperty
(
"submitterName"
)
private
String
submitterName
;
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/repository/UnqualifiedMaterialsItemRepository.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
repository
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterialsItem
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
/**
* @Auther: xin.lu
* @Date: 2024/08/28/14:41
* @Description:
*/
public
interface
UnqualifiedMaterialsItemRepository
extends
JpaRepository
<
UnqualifiedMaterialsItem
,
String
>
{
UnqualifiedMaterialsItem
findByUnqualifiedMaterialsIdAndDept
(
String
unqualifiedMaterialsId
,
String
dept
);
List
<
UnqualifiedMaterialsItem
>
findByUnqualifiedMaterialsId
(
String
unqualifiedMaterialsId
);
}
topsun/src/main/java/com/huigou/topsun/mes/unqualifiedMaterials/repository/UnqualifiedMaterialsRepository.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
mes
.
unqualifiedMaterials
.
repository
;
import
com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterials
;
import
org.springframework.data.jpa.repository.JpaRepository
;
/**
* @Auther: xin.lu
* @Date: 2024/08/12/10:29
* @Description:
*/
public
interface
UnqualifiedMaterialsRepository
extends
JpaRepository
<
UnqualifiedMaterials
,
String
>
{
}
topsun/src/main/java/com/huigou/topsun/sap/common/domain/MesResult.java
0 → 100644
View file @
e441a8db
package
com
.
huigou
.
topsun
.
sap
.
common
.
domain
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @Auther: xin.lu
* @Date: 2024/03/16/10:06
* @Description:
*/
@Data
public
class
MesResult
implements
Serializable
{
private
String
code
;
private
String
msg
;
private
EpResultValue
data
;
}
topsun/src/main/resources/config/bpm/topsun/mes/unqualifiedMaterials/unqualifiedMaterialsProc.bpmn
0 → 100644
View file @
e441a8db
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns=
"http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:activiti=
"http://activiti.org/bpmn"
xmlns:bpmndi=
"http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:omgdc=
"http://www.omg.org/spec/DD/20100524/DC"
xmlns:omgdi=
"http://www.omg.org/spec/DD/20100524/DI"
xmlns:xsd=
"http://www.w3.org/2001/XMLSchema"
typeLanguage=
"http://www.w3.org/2001/XMLSchema"
expressionLanguage=
"http://www.w3.org/1999/XPath"
targetNamespace=
"http://www.activiti.org/test"
>
<process
id=
"unqualifiedMaterialsProc"
name=
"质量异常评审表"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{unqualifiedMaterialsApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{unqualifiedMaterialsApplication}"
></activiti:executionListener>
</extensionElements>
<startEvent
id=
"startevent1"
name=
"Start"
></startEvent>
<endEvent
id=
"endevent1"
name=
"End"
></endEvent>
<userTask
id=
"Apply"
name=
"质量异常评审表"
activiti:formKey=
"unqualifiedMaterials/showUnqualifiedMaterialsDetail.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{unqualifiedMaterialsApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{unqualifiedMaterialsApplication}"
></activiti:taskListener>
</extensionElements>
</userTask>
<userTask
id=
"Approve"
name=
"质量异常评审表审批"
activiti:assignee=
"${assignee} "
activiti:formKey=
"unqualifiedMaterials/showUnqualifiedMaterialsDetail.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{unqualifiedMaterialsApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{unqualifiedMaterialsApplication}"
></activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics
isSequential=
"false"
activiti:collection=
"handlerList"
activiti:elementVariable=
"assignee"
>
<completionCondition>
${chiefApprovePassed}
</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
<sequenceFlow
id=
"flow1"
sourceRef=
"startevent1"
targetRef=
"Apply"
></sequenceFlow>
<sequenceFlow
id=
"flow2"
sourceRef=
"Apply"
targetRef=
"Approve"
></sequenceFlow>
<exclusiveGateway
id=
"ApproveFinished"
name=
"审批结束"
></exclusiveGateway>
<sequenceFlow
id=
"flow3"
name=
"审批通过"
sourceRef=
"ApprovePassed"
targetRef=
"ApproveFinished"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${approvePassed}]]>
</conditionExpression>
</sequenceFlow>
<sequenceFlow
id=
"flow4"
name=
"审批结束"
sourceRef=
"ApproveFinished"
targetRef=
"endevent1"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${approveFinished}]]>
</conditionExpression>
</sequenceFlow>
<sequenceFlow
id=
"flow5"
name=
"审批未结束"
sourceRef=
"ApproveFinished"
targetRef=
"Approve"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approveFinished}]]>
</conditionExpression>
</sequenceFlow>
<exclusiveGateway
id=
"ApprovePassed"
name=
"审批通过"
></exclusiveGateway>
<sequenceFlow
id=
"flow6"
sourceRef=
"Approve"
targetRef=
"ApprovePassed"
></sequenceFlow>
<sequenceFlow
id=
"flow9"
name=
"审批未通过"
sourceRef=
"ApprovePassed"
targetRef=
"Apply"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approvePassed}]]>
</conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram
id=
"BPMNDiagram_unqualifiedMaterialsProc"
>
<bpmndi:BPMNPlane
bpmnElement=
"unqualifiedMaterialsProc"
id=
"BPMNPlane_unqualifiedMaterialsProc"
>
<bpmndi:BPMNShape
bpmnElement=
"startevent1"
id=
"BPMNShape_startevent1"
>
<omgdc:Bounds
height=
"35.0"
width=
"35.0"
x=
"355.0"
y=
"50.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"endevent1"
id=
"BPMNShape_endevent1"
>
<omgdc:Bounds
height=
"35.0"
width=
"35.0"
x=
"355.0"
y=
"550.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"Apply"
id=
"BPMNShape_Apply"
>
<omgdc:Bounds
height=
"55.0"
width=
"161.0"
x=
"292.0"
y=
"140.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"Approve"
id=
"BPMNShape_Approve"
>
<omgdc:Bounds
height=
"55.0"
width=
"161.0"
x=
"292.0"
y=
"240.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"ApproveFinished"
id=
"BPMNShape_ApproveFinished"
>
<omgdc:Bounds
height=
"40.0"
width=
"40.0"
x=
"352.0"
y=
"440.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"ApprovePassed"
id=
"BPMNShape_ApprovePassed"
>
<omgdc:Bounds
height=
"40.0"
width=
"40.0"
x=
"352.0"
y=
"349.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge
bpmnElement=
"flow1"
id=
"BPMNEdge_flow1"
>
<omgdi:waypoint
x=
"372.0"
y=
"85.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"140.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow2"
id=
"BPMNEdge_flow2"
>
<omgdi:waypoint
x=
"372.0"
y=
"195.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"240.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow3"
id=
"BPMNEdge_flow3"
>
<omgdi:waypoint
x=
"372.0"
y=
"389.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"440.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"48.0"
x=
"320.0"
y=
"396.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow4"
id=
"BPMNEdge_flow4"
>
<omgdi:waypoint
x=
"372.0"
y=
"480.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"550.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"48.0"
x=
"382.0"
y=
"489.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow5"
id=
"BPMNEdge_flow5"
>
<omgdi:waypoint
x=
"392.0"
y=
"460.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"459.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"317.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"267.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"489.0"
y=
"267.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"453.0"
y=
"267.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"60.0"
x=
"459.0"
y=
"411.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow6"
id=
"BPMNEdge_flow6"
>
<omgdi:waypoint
x=
"372.0"
y=
"295.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"349.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow9"
id=
"BPMNEdge_flow9"
>
<omgdi:waypoint
x=
"352.0"
y=
"369.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"231.0"
y=
"369.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"231.0"
y=
"167.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"292.0"
y=
"167.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"60.0"
x=
"257.0"
y=
"376.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
topsun/src/main/resources/config/topsun/mes/unqualifiedMaterials/unqualifiedMaterials.xml
0 → 100644
View file @
e441a8db
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query
name=
"unqualifiedMaterials"
label=
"质量异常评审表"
table=
"mes_unqualified_materials"
>
<sql-query>
select t.* from mes_unqualified_materials t
</sql-query>
<condition
column=
"bill_code"
name=
"billCode"
type=
"java.lang.String"
symbol=
"like"
alias=
"t"
/>
<condition
column=
"id"
name=
"id"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
</query>
</query-mappings>
\ No newline at end of file
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