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
d0e95dc7
Commit
d0e95dc7
authored
Dec 18, 2023
by
全洪江
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
c5328db1
0ffe5060
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
815 additions
and
258 deletions
+815
-258
proofingApply.js
...n-xt/src/main/webapp/biz/topsun/proofing/proofingApply.js
+3
-3
proofingMake.js
...un-xt/src/main/webapp/biz/topsun/proofing/proofingMake.js
+5
-12
proofingMake.jsp
...n-xt/src/main/webapp/biz/topsun/proofing/proofingMake.jsp
+1
-1
proofingMakeList.js
...t/src/main/webapp/biz/topsun/proofing/proofingMakeList.js
+24
-19
technologyAndBom.js
.../biz/topsun/proofing/technologyAndBom/technologyAndBom.js
+9
-11
workInstruction.js
...xt/src/main/webapp/biz/topsun/proofing/workInstruction.js
+4
-1
workInstruction.jsp
...t/src/main/webapp/biz/topsun/proofing/workInstruction.jsp
+6
-0
workInstructionApply.js
...c/main/webapp/biz/topsun/proofing/workInstructionApply.js
+3
-1
workInstructionApplyList.js
...in/webapp/biz/topsun/proofing/workInstructionApplyList.js
+4
-15
workInstructionList.js
...rc/main/webapp/biz/topsun/proofing/workInstructionList.js
+24
-22
processDetail.js
...xt/src/main/webapp/biz/topsun/technology/processDetail.js
+78
-12
processDetail.jsp
...t/src/main/webapp/biz/topsun/technology/processDetail.jsp
+30
-14
processList.js
...n-xt/src/main/webapp/biz/topsun/technology/processList.js
+14
-4
technologyDetail.js
...src/main/webapp/biz/topsun/technology/technologyDetail.js
+4
-51
ProofingMakeApplication.java
.../topsun/proofing/application/ProofingMakeApplication.java
+1
-1
ProofingApplyApplicationImpl.java
...oofing/application/impl/ProofingApplyApplicationImpl.java
+1
-20
ProofingMakeApplicationImpl.java
...roofing/application/impl/ProofingMakeApplicationImpl.java
+43
-10
ProofingMakeController.java
...ou/topsun/proofing/controller/ProofingMakeController.java
+8
-1
ProofingTechnologyRelevancyController.java
...ing/controller/ProofingTechnologyRelevancyController.java
+1
-1
DefaultHttpClient.java
.../java/com/huigou/topsun/sap/common/DefaultHttpClient.java
+89
-0
Endpoint.java
.../src/main/java/com/huigou/topsun/sap/common/Endpoint.java
+11
-0
EndpointInterceptor.java
...ava/com/huigou/topsun/sap/common/EndpointInterceptor.java
+51
-0
HttpClient.java
...rc/main/java/com/huigou/topsun/sap/common/HttpClient.java
+23
-0
Message.java
...ain/java/com/huigou/topsun/sap/common/domain/Message.java
+24
-0
package-info.java
.../main/java/com/huigou/topsun/sap/common/package-info.java
+4
-0
MessageCodec.java
...com/huigou/topsun/sap/common/serializer/MessageCodec.java
+27
-0
MessageDeserializer.java
...gou/topsun/sap/common/serializer/MessageDeserializer.java
+13
-0
MessageSerializer.java
...uigou/topsun/sap/common/serializer/MessageSerializer.java
+13
-0
MessageHandlerMethodArgumentResolver.java
.../common/support/MessageHandlerMethodArgumentResolver.java
+46
-0
ProcessApplication.java
...gou/topsun/technology/application/ProcessApplication.java
+3
-0
ProcessMaterialItemApplication.java
...echnology/application/ProcessMaterialItemApplication.java
+8
-0
ProcessResourceApplication.java
...un/technology/application/ProcessResourceApplication.java
+10
-0
TechnologyProcessApplication.java
.../technology/application/TechnologyProcessApplication.java
+2
-0
ProcessApplicationImpl.java
...n/technology/application/impl/ProcessApplicationImpl.java
+16
-0
ProcessMaterialItemApplicationImpl.java
.../application/impl/ProcessMaterialItemApplicationImpl.java
+26
-5
ProcessResourceApplicationImpl.java
...logy/application/impl/ProcessResourceApplicationImpl.java
+28
-2
TechnologyProcessApplicationImpl.java
...gy/application/impl/TechnologyProcessApplicationImpl.java
+9
-28
ProcessController.java
...uigou/topsun/technology/controller/ProcessController.java
+39
-2
TechnologyController.java
...ou/topsun/technology/controller/TechnologyController.java
+1
-1
ProcessMaterialItem.java
...u/topsun/technology/domain/model/ProcessMaterialItem.java
+5
-5
ProcessResource.java
...uigou/topsun/technology/domain/model/ProcessResource.java
+5
-5
ProcessMaterialItemRepository.java
.../technology/repository/ProcessMaterialItemRepository.java
+1
-1
ProcessResourceRepository.java
...psun/technology/repository/ProcessResourceRepository.java
+1
-1
ProcessResourceVo.java
...va/com/huigou/topsun/technology/vo/ProcessResourceVo.java
+39
-0
CommonUtil.java
topsun/src/main/java/com/huigou/topsun/util/CommonUtil.java
+29
-0
easy-search-product.xml
...sources/config/content/easysearch/easy-search-product.xml
+4
-4
processResource.xml
...in/resources/config/topsun/technology/processResource.xml
+22
-0
technology.xml
...rc/main/resources/config/topsun/technology/technology.xml
+1
-1
technologyProcess.xml
.../resources/config/topsun/technology/technologyProcess.xml
+2
-4
ProcessController.class
...igou/topsun/technology/controller/ProcessController.class
+0
-0
TechnologyController.class
...u/topsun/technology/controller/TechnologyController.class
+0
-0
No files found.
topsun-xt/src/main/webapp/biz/topsun/proofing/proofingApply.js
View file @
d0e95dc7
...
...
@@ -29,8 +29,8 @@ function bindQueryEvent() {
* 流程引擎回调设置打样的id
* @param value 打样申请的id
*/
function
setId
(
proofingApplyI
d
)
{
$
(
"#
proofingApplyId"
).
val
(
proofingApplyI
d
);
function
setId
(
i
d
)
{
$
(
"#
id"
).
val
(
i
d
);
}
/**
...
...
@@ -38,7 +38,7 @@ function setId(proofingApplyId) {
* @return 打样申请的id
*/
function
getId
()
{
return
$
(
"#
proofingApplyI
d"
).
val
()
||
""
;
return
$
(
"#
i
d"
).
val
()
||
""
;
}
//获取数据并填充
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/proofingMake.js
View file @
d0e95dc7
...
...
@@ -6,20 +6,17 @@ $(document).ready(function () {
function
initialize
()
{
debugger
/**
* 如果是详情页,展示数据,隐藏按钮
* @type {boolean}
*/
let
isDetailPage
=
(
$
(
"#isDetailPage"
).
val
()
===
"true"
);
if
(
isDetailPage
)
{
let
proofingApplyNo
=
$
(
"#proofingApplyNo"
).
val
(
);
if
(
proofingApplyNo
!=
null
&&
proofingApplyNo
!==
''
)
{
ajaxRenderDataGoForm
(
proofingApplyNo
);
showTable
({
proofingMakeId
:
$
(
"#proofingMakeId"
).
val
()}
);
showTable
({
proofingMakeId
:
$
(
"#proofingMakeId"
).
val
()}
);
$
(
"#jobPageTop"
).
hide
();
if
(
$
(
"#jobPageTop"
).
length
>
0
){
$
(
"#formButton"
).
hide
(
);
}
$
(
"#formButton"
).
hide
();
$
(
"#jobPageTop"
).
hide
();
}
}
...
...
@@ -35,16 +32,12 @@ function bindQueryEvent() {
});
}
function
save
()
{
debugger
saveForm
();
}
/**
* 表单提交
* @returns {boolean}
*/
function
saveForm
()
{
debugger
let
extendedData
=
getTableResult
();
if
(
!
extendedData
)
return
false
;
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/proofingMake.jsp
View file @
d0e95dc7
...
...
@@ -35,7 +35,7 @@
<x:hidden
name=
"productId"
/>
<x:inputC
name=
"productCode"
label=
"产品编号"
labelCol=
"1"
fieldCol=
"2"
readonly=
"true"
/>
<x:inputC
name=
"customer
Id
"
label=
"品牌客户编号"
labelCol=
"1"
fieldCol=
"2"
/>
<x:inputC
name=
"customer
Code
"
label=
"品牌客户编号"
labelCol=
"1"
fieldCol=
"2"
/>
<x:inputC
name=
"proofingMakePageNeedTime"
label=
"版面需求时间"
wrapper=
"date"
labelCol=
"1"
fieldCol=
"2"
/>
<x:inputC
name=
"proofingMakeCompleteDate"
id=
"completeDate"
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/proofingMakeList.js
View file @
d0e95dc7
...
...
@@ -11,16 +11,17 @@ function initializateUI() {
function
loadProofingMakeListGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
updateHandler
:
function
(){
updateHandler
()
;
updateHandler
:
function
(){
updateHandler
()
},
deleteHandler
:
deleteHandler
// deleteHandler: deleteHandler
});
gridManager
=
UICtrl
.
grid
(
"#proofingMakeTableGrid"
,
{
columns
:
[
{
display
:
"制造单号"
,
name
:
"proofingMakeNo"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"申请单号"
,
name
:
"proofingApplyNo"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"产品编号"
,
name
:
"product
Id
"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"产品编号"
,
name
:
"product
Code
"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"品牌客户编号"
,
name
:
"customerCode"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"版面需求时间"
,
...
...
@@ -192,19 +193,23 @@ function addHandler() {
});
}
function
updateHandler
(
row
)
{
if
(
!
row
)
{
row
=
DataUtil
.
getUpdateRow
(
gridManager
);
if
(
!
row
)
{
return
;
}
}
UICtrl
.
showAjaxDialog
({
url
:
web_app
.
name
+
'/proofingMake/forwardDetailsProofingMake.load'
,
title
:
"修改打样制造单"
,
width
:
1500
,
param
:
{
id
:
row
.
proofingMakeId
},
ok
:
function
(
div
)
{
saveForm
()}
function
updateHandler
()
{
let
row
=
DataUtil
.
getUpdateRow
(
gridManager
);
// UICtrl.showAjaxDialog({
// url: web_app.name + '/proofingMake/forwardDetailsProofingMake.load',
// title: "修改打样制造单",
// width: 1500,
// param: {id: row.proofingMakeId},
// ok:function (div) {
// save()
UICtrl
.
addTabItem
({
tabid
:
'updateProofingMake'
+
row
.
proofingMakeId
,
text
:
"制造单修改"
,
url
:
web_app
.
name
+
'/proofingMake/forwardDetailsProofingMake.do?id='
+
row
.
proofingMakeId
});
// }
// ok: function (div) {
// var _self = this;
// $('#submitForm', div).ajaxSubmit({
...
...
@@ -214,8 +219,8 @@ function updateHandler(row) {
// reloadGrid();
// }
// });
//
}
});
//
}
//
});
}
//重写DataUtil的getUpdateRowId函数、它默认取行的id列
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/technologyAndBom/technologyAndBom.js
View file @
d0e95dc7
...
...
@@ -184,11 +184,11 @@ function showTable(params) {
let
a
=
key
.
includes
(
"Apply"
)?
"proofingApply"
:
"proofingMake"
;
technologyObj
.
parms
=
{
[
a
+
"Id"
]:
value
};
let
promise
=
new
Promise
(
function
(
resolve
,
reject
)
{
//
if (technologyObj.gridManager != null) {
//
reloadGrid(technologyObj);
//
} else {
if
(
technologyObj
.
gridManager
!=
null
)
{
reloadGrid
(
technologyObj
);
}
else
{
technologyObj
=
loadProofingApplyGrid
(
technologyObj
);
//
}
}
setTimeout
(
function
()
{
resolve
();
},
1200
);
...
...
@@ -201,15 +201,13 @@ function showTable(params) {
let
technologyId
=
technologyResult
.
length
>
0
?
technologyResult
[
0
][
a
+
"TechnologyId"
]
:
-
1
;
processObj
.
parms
=
{[
a
+
"TechnologyId"
]:
technologyId
}
processBomObj
.
parms
=
{[
a
+
"TechnologyId"
]:
technologyId
}
//
if (processObj.gridManager != null) {
//
reloadGrid(processObj);
//
reloadGrid(processBomObj);
//
} else {
if
(
processObj
.
gridManager
!=
null
)
{
reloadGrid
(
processObj
);
reloadGrid
(
processBomObj
);
}
else
{
processObj
=
loadProofingApplyGrid
(
processObj
);
processBomObj
=
loadProofingApplyGrid
(
processBomObj
);
// }
}
});
}
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/workInstruction.js
View file @
d0e95dc7
...
...
@@ -10,10 +10,13 @@
* 如果是详情页,展示数据,隐藏按钮
* @type {boolean}
*/
debugger
let
isDetailPage
=
(
$
(
"#isDetailPage"
).
val
()
===
"true"
);
if
(
isDetailPage
)
{
$
(
"#formButton"
).
hide
();
$
(
"#jobPageTop"
).
hide
();
if
(
$
(
"#jobPageTop"
).
length
>
0
){
$
(
"#formButton"
).
hide
();
}
}
}
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/workInstruction.jsp
View file @
d0e95dc7
...
...
@@ -23,7 +23,13 @@
</div>
<div
class=
"hg-form-cols"
>
<x:hidden
name=
"workInstructionBaseInfoId"
/>
<x:hidden
name=
"workInstructionApplyId"
/>
<x:hidden
name=
"workInstructionMaterialInfoId"
/>
<x:hidden
name=
"workInstructionOptionalAttributeId"
/>
<x:hidden
name=
"workInstructionPdPublishedConfId"
/>
<x:hidden
name=
"workInstructionPrdLookedId"
/>
<x:hidden
name=
"productLossId"
/>
<x:hidden
name=
"productId"
/>
<x:inputC
name=
"productCode"
label=
"产品编号"
wrapper=
"select"
labelCol=
"1"
fieldCol=
"2"
/>
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/workInstructionApply.js
View file @
d0e95dc7
...
...
@@ -12,8 +12,10 @@ function initialize() {
*/
let
isDetailPage
=
(
$
(
"#isDetailPage"
).
val
()
===
"true"
);
if
(
isDetailPage
)
{
$
(
"#formButton"
).
hide
();
$
(
"#jobPageTop"
).
hide
();
if
(
$
(
"#jobPageTop"
).
length
>
0
){
$
(
"#formButton"
).
hide
();
}
}
}
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/workInstructionApplyList.js
View file @
d0e95dc7
...
...
@@ -81,21 +81,10 @@ function updateHandler(row) {
return
;
}
}
UICtrl
.
showAjaxDialog
({
url
:
web_app
.
name
+
'/workInstructionApply/forwardDetailsWorkInstructionApply.load'
,
title
:
"修改作业申请指导单"
,
width
:
1000
,
param
:
{
id
:
row
.
workInstructionApplyId
},
ok
:
function
(
div
)
{
var
_self
=
this
;
$
(
'#submitForm'
,
div
).
ajaxSubmit
({
url
:
web_app
.
name
+
'/workInstructionApply/saveWorkInstructionApply.ajax'
,
success
:
function
()
{
_self
.
close
();
reloadGrid
();
}
});
}
UICtrl
.
addTabItem
({
tabid
:
'updateWorkInstructionApply'
+
row
.
workInstructionApplyId
,
text
:
"修改作业申请书"
,
url
:
web_app
.
name
+
'/workInstructionApply/forwardDetailsWorkInstructionApply.do?id='
+
row
.
workInstructionApplyId
});
}
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/workInstructionList.js
View file @
d0e95dc7
...
...
@@ -83,29 +83,31 @@ function resetForm(obj) {
// });
// }
function
updateHandler
(
row
)
{
if
(
!
row
)
{
row
=
DataUtil
.
getUpdateRow
(
gridManager
);
if
(
!
row
)
{
return
;
}
}
UICtrl
.
showAjaxDialog
({
url
:
web_app
.
name
+
'/workInstruction/forwardDetailsWorkInstruction.load'
,
title
:
"修改作业指导单"
,
width
:
1500
,
param
:
{
id
:
row
.
workInstructionBaseInfoId
},
ok
:
function
(
div
)
{
var
_self
=
this
;
$
(
'#submitForm'
,
div
).
ajaxSubmit
({
url
:
web_app
.
name
+
'/workInstruction/saveWorkInstruction.ajax'
,
success
:
function
()
{
_self
.
close
();
reloadGrid
();
}
});
}
function
updateHandler
()
{
let
row
=
DataUtil
.
getUpdateRow
(
gridManager
);
UICtrl
.
addTabItem
({
tabid
:
'updateWorkInstruction'
+
row
.
workInstructionBaseInfoId
,
text
:
"修改作业指导书"
,
url
:
web_app
.
name
+
'/workInstruction/forwardDetailsWorkInstruction.do?id='
+
row
.
workInstructionBaseInfoId
});
// UICtrl.showAjaxDialog({
// url: web_app.name + '/workInstruction/forwardDetailsWorkInstruction.load',
// title: "修改作业指导单",
// width: 1500,
// param: {id: row.workInstructionBaseInfoId},
// ok: function (div) {
// var _self = this;
// $('#submitForm', div).ajaxSubmit({
// url: web_app.name + '/workInstruction/saveWorkInstruction.ajax',
// success: function () {
// _self.close();
// reloadGrid();
// }
// });
// }
// });
}
...
...
topsun-xt/src/main/webapp/biz/topsun/technology/processDetail.js
View file @
d0e95dc7
...
...
@@ -4,6 +4,7 @@ $(document).ready(function() {
initializateUI
();
loadResourceGrid
();
loadProcessMaterialGrid
();
bindEvent
();
});
...
...
@@ -17,9 +18,9 @@ function loadResourceGrid() {
UICtrl
.
addGridRow
(
resourceGridManager
);
},
deleteHandler
:
function
(){
var
_grid
=
UICtrl
.
getGridManager
(
'#rsourceGrid'
);
var
_grid
=
UICtrl
.
getGridManager
(
'#r
e
sourceGrid'
);
DataUtil
.
delSelectedRows
({
action
:
'process
Resource
/deleteProcessResource.ajax'
,
action
:
'process/deleteProcessResource.ajax'
,
param
:
{},
gridManager
:
_grid
,
idFieldName
:
'processResourceId'
,
...
...
@@ -29,32 +30,36 @@ function loadResourceGrid() {
});
},
});
resourceGridManager
=
UICtrl
.
grid
(
"#rsourceGrid"
,
{
resourceGridManager
=
UICtrl
.
grid
(
"#r
e
sourceGrid"
,
{
columns
:
[
{
display
:
"资源名称"
,
name
:
"resourceName"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"resource
Select
"
,
name
:
"resource
NameGroup
"
,
back
:
{
resourceI
d
:
"resourceId"
,
resourceName
:
"resourceName"
,
i
d
:
"resourceId"
,
gxmc
:
"resourceName"
,
version
:
"version"
,
}
},
getParam
:
function
()
{
return
{
paramValue
:
$
(
"#processType"
).
val
()}
},
},
}
},
{
display
:
"版本"
,
name
:
"version"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/processResource/slicedProcessResourceList.ajax'
,
url
:
web_app
.
name
+
'/process/slicedProcessResourceList.ajax'
,
parms
:{
processId
:
$
(
"#processId"
).
val
()},
pageSize
:
20
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
enabledEdit
:
true
,
width
:
"100%"
,
height
:
"
100%
"
,
height
:
"
300
"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
...
...
@@ -78,7 +83,7 @@ function loadProcessMaterialGrid() {
deleteHandler
:
function
(){
var
_grid
=
UICtrl
.
getGridManager
(
'#processMaterialGrid'
);
DataUtil
.
delSelectedRows
({
action
:
'process
MaterialItem
/deleteProcessMaterialItem.ajax'
,
action
:
'process/deleteProcessMaterialItem.ajax'
,
param
:
{},
gridManager
:
_grid
,
idFieldName
:
'processMaterialItemId'
,
...
...
@@ -116,13 +121,14 @@ function loadProcessMaterialGrid() {
{
display
:
"物料相关内容"
,
name
:
"materialJson"
,
width
:
400
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/processMaterialItem/slicedProcessMaterialItems.ajax'
,
url
:
web_app
.
name
+
'/process/slicedProcessMaterialItems.ajax'
,
parms
:{
processId
:
$
(
"#processId"
).
val
()},
pageSize
:
20
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
enabledEdit
:
true
,
width
:
"100%"
,
height
:
"
100%
"
,
height
:
"
300
"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
...
...
@@ -137,4 +143,64 @@ function reloadProcessMaterialGrid() {
processMaterialGridManager
.
loadData
();
}
function
bindEvent
()
{
$
(
"#save"
).
click
(
function
()
{
saveData
(
"save"
);
})
$
(
"#submit"
).
click
(
function
()
{
saveData
(
"submit"
);
})
$
(
"#close"
).
click
(
function
()
{
//关闭
closeDispatchTabItem
();
})
}
function
getProcessDetail
(
processAction
)
{
//采购订单保存时数据不进行必填验证,提交时数据才进行必填验证
var
op
=
{};
var
check
=
true
;
var
resourceList
=
[];
var
processMaterialList
=
[];
if
(
processAction
==
"save"
)
{
check
=
false
;
}
op
=
{
check
:
check
};
var
process
=
$
(
'#submitForm'
).
formToJSON
(
op
);
if
(
!
process
)
{
return
false
;
}
resourceList
=
DataUtil
.
getGridData
({
gridManager
:
resourceGridManager
,
isAllData
:
true
,
onCheck
:
check
})
if
(
!
resourceList
)
{
return
false
;
}
process
.
resourceList
=
$
.
toJSON
(
resourceList
);
processMaterialList
=
DataUtil
.
getGridData
({
gridManager
:
processMaterialGridManager
,
isAllData
:
true
,
onCheck
:
check
})
if
(
!
processMaterialList
)
{
return
false
;
}
process
.
processMaterialList
=
$
.
toJSON
(
processMaterialList
);
return
process
;
}
function
saveData
(
action
)
{
var
processDetail
=
getProcessDetail
(
"submit"
);
if
(
!
processDetail
)
{
return
;
}
Public
.
ajax
(
web_app
.
name
+
'/process/saveProcess.ajax?code='
+
action
,
processDetail
,
function
(
data
)
{
setId
(
data
.
processId
);
Public
.
successTip
(
"数据保存成功"
);
processGridManager
.
setParm
(
'processId'
,
data
.
processId
);
processGridManager
.
loadData
();
}
);
}
function
closeDispatchTabItem
()
{
UICtrl
.
closeCurrentTab
();
}
topsun-xt/src/main/webapp/biz/topsun/technology/processDetail.jsp
View file @
d0e95dc7
<%@ 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"
%>
<%@ 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,combox,commonTree"
/>
<x:script
src=
'/biz/topsun/technology/processDetail.js'
/>
</head>
<form
class=
"hg-form"
method=
"post"
action=
""
id=
"submitForm"
>
<x:hidden
name=
"processId"
/>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"processName"
required=
"true"
label=
"工序名称"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"4"
/>
<x:selectC
name=
"processType"
required=
"true"
label=
"工序类别"
labelCol=
"2"
dictionary=
"processType"
fieldCol=
"4"
/>
<x:inputC
name=
"processContent"
required=
"true"
label=
"工序内容"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"4"
/>
<x:inputC
name=
"workHours"
required=
"true"
label=
"工时"
labelCol=
"2"
mask=
"nnnn.nn"
dataOptions=
"min:0"
maxLength=
"32"
fieldCol=
"4"
/>
<x:inputC
name=
"processRemark"
required=
"false"
label=
"工序说明"
labelCol=
"2"
maxLength=
"32"
fieldCol=
"10"
/>
</div>
<div
class=
"blank_div clearfix"
></div>
</form>
\ No newline at end of file
<body>
<x:billTitle
title=
"工序详情"
needStatus=
"false"
needPerson=
"true"
/>
<div
class=
"blank_div clearfix"
></div>
<button
class=
"btn btn-default"
type=
"button"
id=
"close"
style=
"left: 200px;float:right;bottom: 10px;"
>
关闭
</button>
<button
class=
"btn btn-warning"
type=
"button"
id=
"submit"
style=
"left: 200px;float:right;bottom: 10px;"
>
提交
</button>
<button
class=
"btn btn-success"
type=
"button"
id=
"save"
style=
"left: 200px;float:right;bottom: 10px;"
>
保存
</button>
<form
class=
"hg-form"
method=
"post"
action=
""
id=
"submitForm"
>
<x:hidden
name=
"processId"
/>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"processName"
required=
"true"
label=
"工序名称"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"4"
/>
<x:selectC
name=
"processType"
required=
"true"
label=
"工序类别"
labelCol=
"2"
dictionary=
"processType"
fieldCol=
"4"
/>
<x:inputC
name=
"processContent"
required=
"true"
label=
"工序内容"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"4"
/>
<x:inputC
name=
"workHours"
required=
"true"
label=
"工时"
labelCol=
"2"
mask=
"nnnn.nn"
dataOptions=
"min:0"
maxLength=
"32"
fieldCol=
"4"
/>
<x:inputC
name=
"processRemark"
required=
"false"
label=
"工序说明"
labelCol=
"2"
maxLength=
"32"
fieldCol=
"10"
/>
</div>
<div
class=
"blank_div clearfix"
></div>
<x:title
title=
"工序资源"
name=
"group"
hideTable=
"#info"
/>
<div
id=
"resourceGrid"
style=
"margin: 2px;"
></div>
<div
class=
"blank_div clearfix"
></div>
<x:title
title=
"工序物料"
name=
"group"
hideTable=
"#info"
/>
<div
id=
"processMaterialGrid"
style=
"margin: 2px;"
></div>
</form>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/technology/processList.js
View file @
d0e95dc7
...
...
@@ -60,7 +60,7 @@ function resetForm(obj) {
}
function
addHandler
(){
UICtrl
.
showAjaxDialog
({
/*
UICtrl.showAjaxDialog({
url: web_app.name + '/process/addProcessDetail.load',
title: "新增工艺设置",
width: 800,
...
...
@@ -73,7 +73,12 @@ function addHandler(){
}
});
}
});
});*/
UICtrl
.
addTabItem
({
tabid
:
'processDetail'
,
text
:
"新增工序"
,
url
:
web_app
.
name
+
'/process/addProcessDetail.do'
})
}
function
updateHandler
(
row
){
...
...
@@ -83,7 +88,7 @@ function updateHandler(row){
return
;
}
}
UICtrl
.
showAjaxDialog
({
/*
UICtrl.showAjaxDialog({
url: web_app.name + '/process/showProcessDetail.load',
title: "修改工艺设置",
width: 800,
...
...
@@ -97,7 +102,12 @@ function updateHandler(row){
}
});
}
});
});*/
UICtrl
.
addTabItem
({
tabid
:
'processDetail'
+
row
.
processId
,
text
:
"修改工序"
,
url
:
web_app
.
name
+
'/process/showProcessDetail.do?processId='
+
row
.
processId
})
}
//删除按钮
...
...
topsun-xt/src/main/webapp/biz/topsun/technology/technologyDetail.js
View file @
d0e95dc7
...
...
@@ -8,7 +8,7 @@ $(document).ready(function () {
function
loadProcessListGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
()
{
UICtrl
.
addGridRow
(
processGridManager
);
UICtrl
.
addGridRow
(
processGridManager
,{
sequence
:
processGridManager
.
getData
().
length
+
1
}
);
},
deleteHandler
:
function
()
{
var
_grid
=
UICtrl
.
getGridManager
(
'#processListGrid'
);
...
...
@@ -25,6 +25,9 @@ function loadProcessListGrid() {
});
processGridManager
=
UICtrl
.
grid
(
"#processListGrid"
,
{
columns
:
[
{
display
:
"序号"
,
name
:
"sortNum"
,
width
:
80
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'spinner'
,
min
:
1
,
max
:
100
,
mask
:
'nnn'
}
},
{
display
:
"工序名称"
,
name
:
"processName"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
...
...
@@ -80,56 +83,6 @@ function loadProcessListGrid() {
type: 'text'
}*/
},
{
display
:
'资源'
,
name
:
"resourceName"
,
width
:
180
,
align
:
"left"
,
type
:
"string"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"resourceNameGroup"
,
getParam
:
function
(
item
)
{
return
{
paramValue
:
item
.
processType
}
},
back
:
{
gxmc
:
"resourceName"
,
id
:
"resourceId"
}
},
}
},
{
display
:
"版本"
,
name
:
"version"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"工序物料"
,
name
:
"materialName"
,
width
:
180
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"sapMaterialSelect"
,
back
:
{
materialId
:
"materialId"
,
materialName
:
"materialName"
,
materialUnit
:
"materialUnit"
,
materialJson
:
"materialJson"
,
}
},
}
},
{
display
:
"物料计量单位"
,
name
:
"materialUnit"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"使用物料数量"
,
name
:
"materialNumber"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
,
mask
:
'positiveMoney'
,
required
:
true
}
},
{
display
:
"物料相关内容"
,
name
:
"materialJson"
,
width
:
400
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/technologyProcess/slicedTechnologyProcessList.ajax'
,
...
...
topsun/src/main/java/com/huigou/topsun/proofing/application/ProofingMakeApplication.java
View file @
d0e95dc7
...
...
@@ -26,7 +26,7 @@ public interface ProofingMakeApplication {
ProofingMakeVo
getProofingMakeVoById
(
String
proofingMakeId
);
Map
<
String
,
Object
>
mappingReplacementMap
(
ProofingMakeVo
vo
)
throws
IllegalAccessException
;
void
deleteProofingMakeById
(
String
id
);
void
deleteProofingMakeByIds
(
List
<
String
>
ids
);
}
topsun/src/main/java/com/huigou/topsun/proofing/application/impl/ProofingApplyApplicationImpl.java
View file @
d0e95dc7
...
...
@@ -77,7 +77,7 @@ public class ProofingApplyApplicationImpl extends FlowBroker implements Proofing
}
//二次保存不添加id
String
id
=
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
);
if
(
proofingApply
.
get
ProofingApplyId
()
==
null
||
proofingApply
.
getProofingApply
Id
().
isEmpty
())
{
if
(
proofingApply
.
get
Id
()
==
null
||
proofingApply
.
get
Id
().
isEmpty
())
{
proofingApply
.
setProofingApplyId
(
id
);
}
//如果录入了ng重新打样原因,则更改状态为不通过
...
...
@@ -193,26 +193,7 @@ public class ProofingApplyApplicationImpl extends FlowBroker implements Proofing
return
proofingApplyAndLookedVo
;
}
/**
* 映射打样制造和打样申请 除前缀不一样的字段
* @param proofingApply
* @throws IllegalAccessException
*/
public
void
test
(
ProofingApplyAndLookedVo
proofingApply
)
throws
IllegalAccessException
{
Map
<
String
,
Object
>
proofingMake
=
new
HashMap
<>();
Class
<?>
proofingApplyClass
=
proofingApply
.
getClass
();
Field
[]
fields
=
proofingApplyClass
.
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
field
.
setAccessible
(
true
);
String
name
=
field
.
getName
();
Object
value
=
field
.
get
(
proofingApply
);
String
proofingMakeName
=
name
.
replaceFirst
(
"^proofingApply"
,
"proofingMake"
);
proofingMake
.
put
(
proofingMakeName
,
value
);
}
}
@Override
public
ProofingApplyBaseInfo
selectProofingApplyByProofingApplyNo
(
String
proofingApplyNo
)
{
...
...
topsun/src/main/java/com/huigou/topsun/proofing/application/impl/ProofingMakeApplicationImpl.java
View file @
d0e95dc7
...
...
@@ -14,10 +14,12 @@ import com.huigou.topsun.proofing.domain.proofingApply.model.ProofingApplyProces
import
com.huigou.topsun.proofing.domain.proofingApply.model.ProofingApplyTechnology
;
import
com.huigou.topsun.proofing.domain.proofingMake.model.*
;
import
com.huigou.topsun.proofing.domain.proofingMake.query.ProofingMakeQueryRequest
;
import
com.huigou.topsun.proofing.domain.vo.ProofingApplyAndLookedVo
;
import
com.huigou.topsun.proofing.domain.vo.ProofingMakeVo
;
import
com.huigou.topsun.proofing.repository.proofingApply.ProofingApplyRepository
;
import
com.huigou.topsun.proofing.repository.proofingMake.*
;
import
com.huigou.topsun.util.MyBaseUtil
;
import
com.huigou.uasp.bmp.common.application.BaseApplication
;
import
com.huigou.util.SDO
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -26,6 +28,8 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.lang.reflect.Field
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -69,7 +73,7 @@ public class ProofingMakeApplicationImpl extends BaseApplication implements Proo
* 编辑打样制造及相关信息
* @param sdo 打样制造及相关信息
*/
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
//
@Transactional(propagation = Propagation.REQUIRES_NEW)
@Override
public
void
saveProofingMake
(
SDO
sdo
)
throws
JsonProcessingException
{
ProofingMakeBaseInfo
proofingMakeBaseInfo
=
sdo
.
toObject
(
ProofingMakeBaseInfo
.
class
);
...
...
@@ -97,26 +101,30 @@ public class ProofingMakeApplicationImpl extends BaseApplication implements Proo
/*
* 将样品的相关工艺工序等删除
*/
List
<
ProofingMakeTechnology
>
technologiesToDelete
=
proofingMakeTechnologyRepository
.
findAllByProofingMakeId
(
proofingMakeBaseInfo
.
getProofing
Apply
Id
());
List
<
ProofingMakeTechnology
>
technologiesToDelete
=
proofingMakeTechnologyRepository
.
findAllByProofingMakeId
(
proofingMakeBaseInfo
.
getProofing
Make
Id
());
if
(!
technologiesToDelete
.
isEmpty
())
{
ProofingMakeTechnology
technologyToDelete
=
technologiesToDelete
.
get
(
0
);
String
proofingMakeTechnologyId
=
technologyToDelete
.
getProofingMakeTechnologyId
();
proofingMakeTechnologyRepository
.
delete
(
technologyToDelete
);
List
<
ProofingMakeProcess
>
processesToDelete
=
proofingMakeProcessRepository
.
findAllByProofingMakeTechnologyId
(
proofingMakeTechnologyId
);
proofingMakeProcessRepository
.
deleteInBatch
(
processesToDelete
);
List
<
ProofingMakeProcessMaterial
>
proofingMakeTechnologyList
=
proofingMakeProcessMaterialRepository
.
findAllByProofingMakeTechnologyId
(
proofingMakeTechnologyId
);
proofingMakeProcessMaterialRepository
.
deleteInBatch
(
proofingMakeTechnologyList
);
List
<
ProofingMakeProcess
>
processesToDelete
=
proofingMakeProcessRepository
.
findAllByProofingMakeTechnologyId
(
proofingMakeTechnologyId
);
proofingMakeProcessRepository
.
deleteInBatch
(
processesToDelete
);
proofingMakeTechnologyRepository
.
delete
(
technologyToDelete
);
}
proofingMakeTechnology
.
setProofingMakeId
(
proofingMakeBaseInfo
.
getProofingMakeId
());
proofingMakeTechnology
=
proofingMakeTechnologyRepository
.
save
(
proofingMakeTechnology
);
for
(
ProofingMakeProcess
proofingMakeProcess
:
ProcessList
)
{
proofingMakeProcess
.
setProofingMakeProcessId
(
null
);
proofingMakeProcess
.
setProofingMakeTechnologyId
(
proofingMakeTechnology
.
getProofingMakeTechnologyId
());
proofingMakeProcessRepository
.
save
(
proofingMakeProcess
);
}
for
(
ProofingMakeProcessMaterial
proofingMakeProcessMaterial
:
processMaterialList
)
{
proofingMakeProcessMaterial
.
setProofingMakeProcessMaterialId
(
null
);
proofingMakeProcessMaterial
.
setProofingMakeTechnologyId
(
proofingMakeTechnology
.
getProofingMakeTechnologyId
());
proofingMakeProcessMaterialRepository
.
save
(
proofingMakeProcessMaterial
);
}
...
...
@@ -139,14 +147,39 @@ public class ProofingMakeApplicationImpl extends BaseApplication implements Proo
if
(
proofingMake
==
null
)
return
null
;
ProofingMakeLooked
proofingMakeLooked
=
proofingMakeLookedRepository
.
findByProofingMakeId
(
proofingMakeId
);
ProofingMakePdPublishedConf
proofingMakePdPublishedConf
=
proofingMakePdPublishedConfRepository
.
findByProofingMakeId
(
proofingMakeId
);
// ProofingApplyBaseInfo proofingApply = proofingApplyRepository.findByProofingApplyId(proofingMake.getProofingApplyId());
BeanUtils
.
copyProperties
(
proofingMake
,
proofingMakeVo
);
BeanUtils
.
copyProperties
(
proofingMakeLooked
,
proofingMakeVo
);
BeanUtils
.
copyProperties
(
proofingMakePdPublishedConf
,
proofingMakeVo
);
// BeanUtils.copyProperties(proofingApply,proofingMakeVo);
MyBaseUtil
.
mergeObjects
(
proofingMakeVo
,
proofingMake
,
proofingMakeLooked
,
proofingMakePdPublishedConf
);
return
proofingMakeVo
;
}
/**
* 映射打样制造和打样申请 除前缀不一样的字段
* @param vo
* @throws IllegalAccessException
*/
public
Map
<
String
,
Object
>
mappingReplacementMap
(
ProofingMakeVo
vo
)
throws
IllegalAccessException
{
Map
<
String
,
Object
>
proofingMake
=
new
HashMap
<>();
Class
<?>
proofingApplyClass
=
vo
.
getClass
();
Field
[]
fields
=
proofingApplyClass
.
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
field
.
setAccessible
(
true
);
String
name
=
field
.
getName
();
if
(!
name
.
equals
(
"proofingApplyId"
)
&&
!
name
.
equals
(
"proofingApplyNo"
)
&&
!
name
.
equals
(
"proofingApplyApplicationStatus"
))
{
Object
value
=
field
.
get
(
vo
);
String
proofingMakeName
=
name
.
replaceFirst
(
"^proofingApply"
,
"proofingMake"
);
proofingMake
.
put
(
proofingMakeName
,
value
);
}
else
{
Object
value
=
field
.
get
(
vo
);
proofingMake
.
put
(
name
,
value
);
}
}
return
proofingMake
;
}
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
public
void
deleteProofingMakeById
(
String
id
)
{
...
...
topsun/src/main/java/com/huigou/topsun/proofing/controller/ProofingMakeController.java
View file @
d0e95dc7
...
...
@@ -77,8 +77,15 @@ public class ProofingMakeController extends CommonController {
String
id
=
sdo
.
getId
();
this
.
putAttribute
(
"isDetailPage"
,
"true"
);
ProofingMakeVo
proofingMakeVo
=(
id
==
null
||
""
.
equals
(
id
))?
null
:
proofingMakeApplication
.
getProofingMakeVoById
(
id
);
this
.
putAttribute
(
"bizId"
,
"proofingMake"
+
proofingMakeVo
.
getProofingMakeNo
());
return
forward
(
"proofingMake"
,
proofingMakeVo
);
Map
<
String
,
Object
>
map
=
null
;
try
{
map
=
proofingMakeApplication
.
mappingReplacementMap
(
proofingMakeVo
);
}
catch
(
IllegalAccessException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
forward
(
"proofingMake"
,
map
);
}
/**
...
...
topsun/src/main/java/com/huigou/topsun/proofing/controller/ProofingTechnologyRelevancyController.java
View file @
d0e95dc7
...
...
@@ -122,7 +122,7 @@ public class ProofingTechnologyRelevancyController extends CommonController {
processMaterialItem
.
setMaterialId
(
"测试id"
+
i
);
processMaterialItem
.
setMaterialName
(
"测试name"
+
i
);
processMaterialItem
.
setMaterialNumber
(
Double
.
valueOf
(
i
));
processMaterialItem
.
set
Technology
ProcessId
(
"process_id"
+
i
);
processMaterialItem
.
setProcessId
(
"process_id"
+
i
);
processMaterialItem
.
setMaterialJson
(
"测试material"
+
i
);
processMaterialItem
.
setMaterialUnit
(
"测试Unit"
+
i
);
list
.
add
(
processMaterialItem
);
...
...
topsun/src/main/java/com/huigou/topsun/sap/common/DefaultHttpClient.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
;
import
com.huigou.cache.SystemCache
;
import
com.huigou.topsun.sap.common.serializer.MessageSerializer
;
import
com.huigou.uasp.bmp.common.application.BaseApplication
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.HttpStatus
;
import
org.apache.http.StatusLine
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.entity.ContentType
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
import
java.util.Base64
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
*/
@Component
public
class
DefaultHttpClient
extends
BaseApplication
implements
HttpClient
{
private
final
static
Logger
LOG
=
LoggerFactory
.
getLogger
(
DefaultHttpClient
.
class
);
private
final
MessageSerializer
messageSerializer
;
private
final
org
.
apache
.
http
.
client
.
HttpClient
http
=
HttpClientBuilder
.
create
().
build
();
@Autowired
public
DefaultHttpClient
(
MessageSerializer
messageSerializer
)
{
this
.
messageSerializer
=
messageSerializer
;
}
@Override
public
String
execute
(
Map
<
String
,
Object
>
param
,
String
url
)
throws
IOException
{
//系统接口地址
// ip地址
String
ip
=
SystemCache
.
getParameter
(
"sap.service.ip"
,
String
.
class
);
// 上下文
String
applicationContext
=
SystemCache
.
getParameter
(
"sap.service.application.context"
,
String
.
class
);
// 用户名
String
password
=
SystemCache
.
getParameter
(
"ap.service.password"
,
String
.
class
);
// 密码
String
username
=
SystemCache
.
getParameter
(
"sap.service.username"
,
String
.
class
);
// 客户端
String
client
=
SystemCache
.
getParameter
(
"sap.service.client"
,
String
.
class
);
//String serverUrl = "http://192.168.3.109:8000/sap/bc/erp_ep/bd_mastdata/material?sap-client=200";
StringBuffer
serverUrl
=
new
StringBuffer
();
serverUrl
.
append
(
ip
)
.
append
(
applicationContext
)
.
append
(
url
)
.
append
(
"?"
)
.
append
(
client
);
HttpPost
post
=
new
HttpPost
(
serverUrl
.
toString
());
String
usernameAndPassword
=
username
+
":"
+
password
;
post
.
addHeader
(
"Authorization"
,
"Basic "
+
Base64
.
getEncoder
().
encodeToString
(
usernameAndPassword
.
getBytes
()));
//post.addHeader("token",SystemCache.getParameter("material.token",String.class));
String
requestText
=
messageSerializer
.
serialize
(
param
);
LOG
.
info
(
"requestText={}"
,
requestText
);
post
.
setEntity
(
new
StringEntity
(
requestText
,
ContentType
.
APPLICATION_JSON
));
LOG
.
info
(
"post={}"
,
post
);
HttpResponse
response
;
String
responseText
=
""
;
try
{
response
=
http
.
execute
(
post
);
LOG
.
info
(
"response={}"
,
response
);
StatusLine
statusLine
=
response
.
getStatusLine
();
LOG
.
info
(
"statusLine={}"
,
statusLine
);
int
statusCode
=
statusLine
.
getStatusCode
();
if
(
statusLine
.
getStatusCode
()
<
HttpStatus
.
SC_OK
||
statusLine
.
getStatusCode
()
>=
HttpStatus
.
SC_MULTIPLE_CHOICES
)
{
throw
new
IOException
(
String
.
format
(
"调用SAP系统出错,statusCode=%s, %s"
,
statusCode
,
statusLine
.
getReasonPhrase
()));
}
responseText
=
IOUtils
.
readLines
(
response
.
getEntity
().
getContent
())
.
stream
()
.
collect
(
Collectors
.
joining
(
"\n"
));
LOG
.
info
(
"responseText={}"
,
responseText
);
LOG
.
info
(
"----------->> 调用SAP接口 {} 成功 <<-----------"
,
serverUrl
);
}
finally
{
post
.
releaseConnection
();
}
return
responseText
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/common/Endpoint.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
@Target
({
ElementType
.
METHOD
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
Endpoint
{
}
topsun/src/main/java/com/huigou/topsun/sap/common/EndpointInterceptor.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
;
import
com.alibaba.fastjson.JSONWriter
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.MimeTypeUtils
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletResponse
;
import
java.nio.charset.StandardCharsets
;
import
java.util.HashMap
;
import
java.util.Map
;
@Aspect
@Component
public
class
EndpointInterceptor
{
private
final
static
Logger
LOG
=
LoggerFactory
.
getLogger
(
com
.
huigou
.
topsun
.
sap
.
common
.
EndpointInterceptor
.
class
);
@Around
(
"@annotation(Endpoint)"
)
public
Object
intercept
(
ProceedingJoinPoint
pjp
)
throws
Throwable
{
// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
2
);
try
{
pjp
.
proceed
(
pjp
.
getArgs
());
result
.
put
(
"type"
,
HttpServletResponse
.
SC_OK
);
}
catch
(
IllegalArgumentException
iae
)
{
LOG
.
error
(
""
,
iae
);
result
.
put
(
"type"
,
HttpServletResponse
.
SC_BAD_REQUEST
);
result
.
put
(
"mesg"
,
"请求失败,"
+
iae
.
getMessage
());
}
catch
(
Exception
e
)
{
LOG
.
error
(
""
,
e
);
result
.
put
(
"type"
,
HttpServletResponse
.
SC_INTERNAL_SERVER_ERROR
);
result
.
put
(
"mesg"
,
"请求失败"
);
}
HttpServletResponse
response
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getResponse
();
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
response
.
setContentType
(
MimeTypeUtils
.
APPLICATION_JSON_VALUE
);
try
(
JSONWriter
writer
=
new
JSONWriter
(
response
.
getWriter
()))
{
writer
.
writeObject
(
result
);
writer
.
flush
();
}
return
null
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/common/HttpClient.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
;
import
java.io.IOException
;
import
java.util.Map
;
/**
* esb客户端,用于调用esb服务。
*/
public
interface
HttpClient
{
/**
* param 要传递的数据,包括结构,在请求前会序列化和转json,不用特殊处理
* url 采用restful风格接口,ip、端口、上下文基本固定,只传名称
* 比如:"http://192.168.3.109:8000/sap/bc/erp_ep/bd_mastdata/material?sap-client=200";
* @param param
* @param url
* @return
* @throws IOException
*/
String
execute
(
Map
<
String
,
Object
>
param
,
String
url
)
throws
IOException
;
}
topsun/src/main/java/com/huigou/topsun/sap/common/domain/Message.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
.
domain
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 消息
*/
public
class
Message
{
/**
* 消息头
*/
private
final
Map
<
String
,
Object
>
body
=
new
HashMap
<>(
16
);
public
Map
<
String
,
Object
>
getBody
()
{
return
body
;
}
public
Message
setBody
(
String
name
,
Object
value
)
{
body
.
put
(
name
,
value
);
return
this
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/common/package-info.java
0 → 100644
View file @
d0e95dc7
/**
* 同sap进行数据同步相关
*/
package
com
.
huigou
.
topsun
.
sap
.
common
;
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/common/serializer/MessageCodec.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
.
serializer
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.huigou.topsun.sap.common.domain.Message
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
@Component
(
"messageCodec"
)
public
class
MessageCodec
implements
MessageSerializer
,
MessageDeserializer
{
@Override
public
String
serialize
(
Map
<
String
,
Object
>
map
)
{
return
JSON
.
toJSONString
(
map
,
SerializerFeature
.
DisableCircularReferenceDetect
);
}
@Override
public
Message
deserialze
(
String
text
)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
text
);
Map
<
String
,
Object
>
body
=
jsonObject
.
getJSONObject
(
"body"
);
Message
message
=
new
Message
();
message
.
getBody
().
putAll
(
body
);
return
message
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/common/serializer/MessageDeserializer.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
.
serializer
;
import
com.huigou.topsun.sap.common.domain.Message
;
/**
* 消息反序列化器
*/
public
interface
MessageDeserializer
{
Message
deserialze
(
String
text
);
}
topsun/src/main/java/com/huigou/topsun/sap/common/serializer/MessageSerializer.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
.
serializer
;
import
java.util.Map
;
/**
* 消息序列化器
*/
public
interface
MessageSerializer
{
String
serialize
(
Map
<
String
,
Object
>
map
);
}
topsun/src/main/java/com/huigou/topsun/sap/common/support/MessageHandlerMethodArgumentResolver.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
sap
.
common
.
support
;
import
com.huigou.topsun.sap.common.domain.Message
;
import
com.huigou.topsun.sap.common.serializer.MessageDeserializer
;
import
org.apache.commons.io.IOUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.web.bind.support.WebDataBinderFactory
;
import
org.springframework.web.context.request.NativeWebRequest
;
import
org.springframework.web.method.support.HandlerMethodArgumentResolver
;
import
org.springframework.web.method.support.ModelAndViewContainer
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.util.stream.Collectors
;
public
class
MessageHandlerMethodArgumentResolver
implements
HandlerMethodArgumentResolver
{
private
final
static
Logger
LOG
=
LoggerFactory
.
getLogger
(
MessageHandlerMethodArgumentResolver
.
class
);
private
MessageDeserializer
messageDeserializer
;
public
MessageHandlerMethodArgumentResolver
(
MessageDeserializer
messageDeserializer
)
{
this
.
messageDeserializer
=
messageDeserializer
;
}
@Override
public
boolean
supportsParameter
(
MethodParameter
parameter
)
{
return
Message
.
class
.
isAssignableFrom
(
parameter
.
getParameterType
());
}
@Override
public
Object
resolveArgument
(
MethodParameter
parameter
,
ModelAndViewContainer
mavContainer
,
NativeWebRequest
webRequest
,
WebDataBinderFactory
binderFactory
)
throws
Exception
{
String
requestText
;
try
{
requestText
=
IOUtils
.
readLines
(
webRequest
.
getNativeRequest
(
HttpServletRequest
.
class
).
getReader
()).
stream
()
.
collect
(
Collectors
.
joining
(
"\n"
));
}
catch
(
IOException
ioe
)
{
throw
new
IllegalArgumentException
(
"解析SAP消息出错"
,
ioe
);
}
LOG
.
info
(
"{},收到SAP消息: {}"
,
parameter
.
getMethod
().
toString
(),
requestText
);
return
messageDeserializer
.
deserialze
(
requestText
);
}
}
topsun/src/main/java/com/huigou/topsun/technology/application/ProcessApplication.java
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
technology
.
application
;
import
com.huigou.topsun.technology.domain.model.ProcessMaterialItem
;
import
com.huigou.topsun.technology.domain.model.ProcessResource
;
import
com.huigou.topsun.technology.domain.query.ProcessQueryRequest
;
import
com.huigou.topsun.technology.vo.ProcessVo
;
...
...
@@ -26,4 +28,5 @@ public interface ProcessApplication {
void
deleteProcessByProcessIds
(
List
<
String
>
ids
);
ProcessVo
saveProcessAndResourceAndMaterial
(
ProcessVo
processVo
,
List
<
ProcessResource
>
resourceList
,
List
<
ProcessMaterialItem
>
processMaterialList
);
}
topsun/src/main/java/com/huigou/topsun/technology/application/ProcessMaterialItemApplication.java
View file @
d0e95dc7
...
...
@@ -3,6 +3,8 @@ package com.huigou.topsun.technology.application;
import
com.huigou.topsun.technology.domain.model.ProcessMaterialItem
;
import
java.util.List
;
/**
* @author 16508
* @description 针对表【process_material_item(工序物料关系表)】的数据库操作Service
...
...
@@ -14,4 +16,10 @@ public interface ProcessMaterialItemApplication {
void
deleteByTechnologyProcessId
(
String
technologyProcessId
);
void
saveProcessMaterialItem
(
String
processId
,
List
<
ProcessMaterialItem
>
processMaterialList
);
List
<
ProcessMaterialItem
>
slicedProcessMaterialItems
(
String
processId
);
void
deleteByIds
(
List
<
String
>
ids
);
}
topsun/src/main/java/com/huigou/topsun/technology/application/ProcessResourceApplication.java
View file @
d0e95dc7
...
...
@@ -2,8 +2,10 @@ package com.huigou.topsun.technology.application;
import
com.huigou.topsun.technology.domain.model.ProcessResource
;
import
com.huigou.topsun.technology.vo.ProcessResourceVo
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author 16508
...
...
@@ -12,8 +14,16 @@ import java.util.List;
*/
public
interface
ProcessResourceApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/technology/processResource.xml"
;
ProcessResource
saveProcessResource
(
ProcessResource
processResource
);
void
deleteByTechnologyProcessId
(
String
technologyProcessId
);
void
deleteByIds
(
List
<
String
>
ids
);
void
saveProcessResource
(
String
processId
,
List
<
ProcessResource
>
resourceList
);
List
<
ProcessResourceVo
>
slicedProcessResourceList
(
String
processId
);
}
topsun/src/main/java/com/huigou/topsun/technology/application/TechnologyProcessApplication.java
View file @
d0e95dc7
...
...
@@ -24,4 +24,6 @@ public interface TechnologyProcessApplication {
List
<
TechnologyProcess
>
findByTechnologyId
(
String
technologyId
);
void
deleteByTechnologyProcessIds
(
List
<
String
>
technologyProcessIds
);
String
saveTechnologyProcess
(
String
processId
);
}
topsun/src/main/java/com/huigou/topsun/technology/application/impl/ProcessApplicationImpl.java
View file @
d0e95dc7
...
...
@@ -4,7 +4,11 @@ import com.huigou.cache.DictUtil;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.technology.application.ProcessApplication
;
import
com.huigou.topsun.technology.application.ProcessMaterialItemApplication
;
import
com.huigou.topsun.technology.application.ProcessResourceApplication
;
import
com.huigou.topsun.technology.domain.model.Process
;
import
com.huigou.topsun.technology.domain.model.ProcessMaterialItem
;
import
com.huigou.topsun.technology.domain.model.ProcessResource
;
import
com.huigou.topsun.technology.domain.query.ProcessQueryRequest
;
import
com.huigou.topsun.technology.repository.ProcessRepository
;
import
com.huigou.topsun.technology.vo.ProcessVo
;
...
...
@@ -24,6 +28,10 @@ import java.util.Map;
public
class
ProcessApplicationImpl
extends
BaseApplication
implements
ProcessApplication
{
@Resource
private
ProcessRepository
processRepository
;
@Resource
private
ProcessResourceApplication
processResourceApplication
;
@Resource
private
ProcessMaterialItemApplication
processMaterialItemApplication
;
@Override
public
ProcessVo
saveProcess
(
ProcessVo
processVo
)
{
...
...
@@ -57,6 +65,14 @@ public class ProcessApplicationImpl extends BaseApplication implements ProcessAp
ids
.
forEach
(
this
::
deleteProcessByProcessId
);
}
@Override
public
ProcessVo
saveProcessAndResourceAndMaterial
(
ProcessVo
processVo
,
List
<
ProcessResource
>
resourceList
,
List
<
ProcessMaterialItem
>
processMaterialList
)
{
processVo
=
this
.
saveProcess
(
processVo
);
processResourceApplication
.
saveProcessResource
(
processVo
.
getProcessId
(),
resourceList
);
processMaterialItemApplication
.
saveProcessMaterialItem
(
processVo
.
getProcessId
(),
processMaterialList
);
return
processVo
;
}
}
...
...
topsun/src/main/java/com/huigou/topsun/technology/application/impl/ProcessMaterialItemApplicationImpl.java
View file @
d0e95dc7
...
...
@@ -9,10 +9,10 @@ import javax.annotation.Resource;
import
java.util.List
;
/**
* @author 16508
* @description 针对表【process_material_item(工序物料关系表)】的数据库操作Service实现
* @createDate 2023-11-22 11:04:03
*/
* @author 16508
* @description 针对表【process_material_item(工序物料关系表)】的数据库操作Service实现
* @createDate 2023-11-22 11:04:03
*/
@Service
public
class
ProcessMaterialItemApplicationImpl
implements
ProcessMaterialItemApplication
{
@Resource
...
...
@@ -25,9 +25,30 @@ public class ProcessMaterialItemApplicationImpl implements ProcessMaterialItemAp
@Override
public
void
deleteByTechnologyProcessId
(
String
technologyProcessId
)
{
List
<
ProcessMaterialItem
>
materialItemList
=
processMaterialItemRepository
.
findBy
Technology
ProcessId
(
technologyProcessId
);
List
<
ProcessMaterialItem
>
materialItemList
=
processMaterialItemRepository
.
findByProcessId
(
technologyProcessId
);
processMaterialItemRepository
.
delete
(
materialItemList
);
}
@Override
public
void
saveProcessMaterialItem
(
String
processId
,
List
<
ProcessMaterialItem
>
processMaterialList
)
{
processMaterialList
.
forEach
(
processMaterialItem
->
{
processMaterialItem
.
setProcessId
(
processId
);
processMaterialItemRepository
.
save
(
processMaterialItem
);
});
}
@Override
public
List
<
ProcessMaterialItem
>
slicedProcessMaterialItems
(
String
processId
)
{
return
processMaterialItemRepository
.
findByProcessId
(
processId
);
}
@Override
public
void
deleteByIds
(
List
<
String
>
ids
)
{
ids
.
forEach
(
id
->{
processMaterialItemRepository
.
delete
(
id
);
});
}
}
...
...
topsun/src/main/java/com/huigou/topsun/technology/application/impl/ProcessResourceApplicationImpl.java
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
technology
.
application
.
impl
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.topsun.technology.application.ProcessResourceApplication
;
import
com.huigou.topsun.technology.domain.model.ProcessResource
;
import
com.huigou.topsun.technology.repository.ProcessResourceRepository
;
import
com.huigou.topsun.technology.vo.ProcessResourceVo
;
import
com.huigou.uasp.bmp.common.application.BaseApplication
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author 16508
...
...
@@ -14,7 +18,7 @@ import java.util.List;
* @createDate 2023-11-22 11:04:03
*/
@Service
public
class
ProcessResourceApplicationImpl
implements
ProcessResourceApplication
{
public
class
ProcessResourceApplicationImpl
extends
BaseApplication
implements
ProcessResourceApplication
{
@Resource
private
ProcessResourceRepository
processResourceRepository
;
...
...
@@ -25,9 +29,31 @@ public class ProcessResourceApplicationImpl implements ProcessResourceApplicatio
@Override
public
void
deleteByTechnologyProcessId
(
String
technologyProcessId
)
{
List
<
ProcessResource
>
processResourceList
=
processResourceRepository
.
findBy
Technology
ProcessId
(
technologyProcessId
);
List
<
ProcessResource
>
processResourceList
=
processResourceRepository
.
findByProcessId
(
technologyProcessId
);
processResourceRepository
.
delete
(
processResourceList
);
}
@Override
public
void
deleteByIds
(
List
<
String
>
ids
)
{
ids
.
forEach
(
id
->{
processResourceRepository
.
delete
(
id
);
});
}
@Override
public
void
saveProcessResource
(
String
processId
,
List
<
ProcessResource
>
resourceList
)
{
resourceList
.
forEach
(
processResource
->
{
processResource
.
setProcessId
(
processId
);
processResourceRepository
.
save
(
processResource
);
});
}
@Override
public
List
<
ProcessResourceVo
>
slicedProcessResourceList
(
String
processId
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"slicedProcessResourceList"
);
return
this
.
sqlExecutorDao
.
queryToList
(
queryDescriptor
.
getSql
(),
ProcessResourceVo
.
class
,
processId
);
}
}
...
...
topsun/src/main/java/com/huigou/topsun/technology/application/impl/TechnologyProcessApplicationImpl.java
View file @
d0e95dc7
...
...
@@ -24,10 +24,6 @@ import java.util.*;
public
class
TechnologyProcessApplicationImpl
extends
BaseApplication
implements
TechnologyProcessApplication
{
@Resource
private
TechnologyProcessRepository
technologyProcessRepository
;
@Resource
private
ProcessResourceApplication
processResourceApplication
;
@Resource
private
ProcessMaterialItemApplication
processMaterialItemApplication
;
@Override
public
List
<
Map
<
String
,
Object
>>
slicedTechnologyProcessList
(
String
technologyId
)
{
...
...
@@ -39,28 +35,12 @@ public class TechnologyProcessApplicationImpl extends BaseApplication implements
@Override
public
void
saveTechnologyProcessVoList
(
String
technologyId
,
List
<
TechnologyProcessVo
>
technologyProcessList
)
{
technologyProcessList
.
forEach
(
technologyProcessVo
->
{
//保存工艺工序关系
TechnologyProcess
technologyProcess
=
new
TechnologyProcess
();
technologyProcess
.
setTechnologyId
(
technologyId
);
technologyProcess
.
setProcessId
(
technologyProcessVo
.
getProcessId
());
technologyProcess
.
setSortNum
(
technologyProcessVo
.
getSortNum
());
technologyProcessRepository
.
saveAndFlush
(
technologyProcess
);
//保存工序资源
ProcessResource
processResource
=
new
ProcessResource
();
processResource
.
setTechnologyProcessId
(
technologyProcess
.
getTechnologyProcessId
());
processResource
.
setResourceId
(
technologyProcessVo
.
getResourceId
());
processResourceApplication
.
saveProcessResource
(
processResource
);
//保存工序物料
ProcessMaterialItem
processMaterialItem
=
new
ProcessMaterialItem
();
processMaterialItem
.
setTechnologyProcessId
(
technologyProcess
.
getTechnologyProcessId
());
processMaterialItem
.
setMaterialId
(
technologyProcessVo
.
getMaterialId
());
processMaterialItem
.
setMaterialName
(
technologyProcessVo
.
getMaterialName
());
processMaterialItem
.
setMaterialNumber
(
technologyProcessVo
.
getMaterialNumber
());
processMaterialItem
.
setMaterialUnit
(
technologyProcessVo
.
getMaterialUnit
());
processMaterialItem
.
setMaterialJson
(
technologyProcessVo
.
getMaterialJson
());
processMaterialItemApplication
.
saveProcessMaterialItem
(
processMaterialItem
);
});
}
...
...
@@ -84,14 +64,15 @@ public class TechnologyProcessApplicationImpl extends BaseApplication implements
this
.
deleteTechnologyProcessIds
(
technologyProcessList
);
}
public
void
deleteTechnologyProcessIds
(
List
<
TechnologyProcess
>
technologyProcessList
){
technologyProcessList
.
forEach
(
technologyProcess
->
{
//删除工序资源
processResourceApplication
.
deleteByTechnologyProcessId
(
technologyProcess
.
getTechnologyProcessId
());
@Override
public
String
saveTechnologyProcess
(
String
processId
)
{
TechnologyProcess
technologyProcess
=
new
TechnologyProcess
();
technologyProcess
.
setProcessId
(
processId
);
technologyProcessRepository
.
save
(
technologyProcess
);
return
technologyProcess
.
getTechnologyProcessId
();
}
//删除工序物料
processMaterialItemApplication
.
deleteByTechnologyProcessId
(
technologyProcess
.
getTechnologyProcessId
());
});
public
void
deleteTechnologyProcessIds
(
List
<
TechnologyProcess
>
technologyProcessList
){
//删除工艺工序关系表
technologyProcessRepository
.
delete
(
technologyProcessList
);
}
...
...
topsun/src/main/java/com/huigou/topsun/technology/controller/ProcessController.java
View file @
d0e95dc7
...
...
@@ -2,9 +2,13 @@ package com.huigou.topsun.technology.controller;
import
com.huigou.cache.DictUtil
;
import
com.huigou.topsun.technology.application.ProcessApplication
;
import
com.huigou.topsun.technology.application.ProcessMaterialItemApplication
;
import
com.huigou.topsun.technology.application.ProcessResourceApplication
;
import
com.huigou.topsun.technology.domain.model.ProcessMaterialItem
;
import
com.huigou.topsun.technology.domain.model.ProcessResource
;
import
com.huigou.topsun.technology.domain.query.ProcessQueryRequest
;
import
com.huigou.topsun.technology.vo.ProcessResourceVo
;
import
com.huigou.topsun.technology.vo.ProcessVo
;
import
com.huigou.topsun.technology.vo.TechnologyVo
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.util.SDO
;
...
...
@@ -28,6 +32,10 @@ public class ProcessController extends CommonController {
@Resource
private
ProcessApplication
processApplication
;
@Resource
private
ProcessResourceApplication
processResourceApplication
;
@Resource
private
ProcessMaterialItemApplication
processMaterialItemApplication
;
public
String
forwardProcessList
(){
Map
<
String
,
String
>
processType
=
DictUtil
.
getDictionary
(
"processType"
);
...
...
@@ -56,7 +64,9 @@ public class ProcessController extends CommonController {
public
String
saveProcess
(){
SDO
sdo
=
this
.
getSDO
();
ProcessVo
processVo
=
sdo
.
toObject
(
ProcessVo
.
class
);
processVo
=
processApplication
.
saveProcess
(
processVo
);
List
<
ProcessResource
>
resourceList
=
sdo
.
getList
(
"resourceList"
,
ProcessResource
.
class
);
List
<
ProcessMaterialItem
>
processMaterialList
=
sdo
.
getList
(
"processMaterialList"
,
ProcessMaterialItem
.
class
);
processVo
=
processApplication
.
saveProcessAndResourceAndMaterial
(
processVo
,
resourceList
,
processMaterialList
);
return
success
(
processVo
);
}
...
...
@@ -78,4 +88,31 @@ public class ProcessController extends CommonController {
return
success
();
}
public
String
slicedProcessResourceList
(){
SDO
sdo
=
getSDO
();
String
processId
=
sdo
.
getString
(
"processId"
);
List
<
ProcessResourceVo
>
resourceList
=
processResourceApplication
.
slicedProcessResourceList
(
processId
);
return
packGridDataAndResult
(
resourceList
);
}
public
String
deleteProcessResource
(){
SDO
sdo
=
getSDO
();
List
<
String
>
ids
=
sdo
.
getIds
();
processResourceApplication
.
deleteByIds
(
ids
);
return
success
();
}
public
String
slicedProcessMaterialItems
(){
SDO
sdo
=
getSDO
();
String
processId
=
sdo
.
getString
(
"processId"
);
List
<
ProcessMaterialItem
>
processMaterialItems
=
processMaterialItemApplication
.
slicedProcessMaterialItems
(
processId
);
return
packGridDataAndResult
(
processMaterialItems
);
}
public
String
deleteProcessMaterialItem
(){
SDO
sdo
=
getSDO
();
List
<
String
>
ids
=
sdo
.
getIds
();
processMaterialItemApplication
.
deleteByIds
(
ids
);
return
success
();
}
}
topsun/src/main/java/com/huigou/topsun/technology/controller/TechnologyController.java
View file @
d0e95dc7
...
...
@@ -14,7 +14,6 @@ import org.springframework.stereotype.Controller;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -136,4 +135,5 @@ public class TechnologyController extends CommonController {
TechnologyVo
technologyVo
=
technologyApplication
.
findTechnologyByTechnologyIdId
(
technologyId
);
return
forward
(
"technologyDetail"
,
technologyVo
);
}
}
topsun/src/main/java/com/huigou/topsun/technology/domain/model/ProcessMaterialItem.java
View file @
d0e95dc7
...
...
@@ -26,8 +26,8 @@ public class ProcessMaterialItem implements Serializable {
/**
* 工艺ID
*/
@Column
(
name
=
"
technology_
process_id"
)
private
String
technologyP
rocessId
;
@Column
(
name
=
"process_id"
)
private
String
p
rocessId
;
/**
* 物料ID
...
...
@@ -74,7 +74,7 @@ public class ProcessMaterialItem implements Serializable {
}
ProcessMaterialItem
other
=
(
ProcessMaterialItem
)
that
;
return
(
this
.
getProcessMaterialItemId
()
==
null
?
other
.
getProcessMaterialItemId
()
==
null
:
this
.
getProcessMaterialItemId
().
equals
(
other
.
getProcessMaterialItemId
()))
&&
(
this
.
get
TechnologyProcessId
()
==
null
?
other
.
getTechnologyProcessId
()
==
null
:
this
.
getTechnologyProcessId
().
equals
(
other
.
getTechnology
ProcessId
()))
&&
(
this
.
get
ProcessId
()
==
null
?
other
.
getProcessId
()
==
null
:
this
.
getProcessId
().
equals
(
other
.
get
ProcessId
()))
&&
(
this
.
getMaterialId
()
==
null
?
other
.
getMaterialId
()
==
null
:
this
.
getMaterialId
().
equals
(
other
.
getMaterialId
()))
&&
(
this
.
getMaterialNumber
()
==
null
?
other
.
getMaterialNumber
()
==
null
:
this
.
getMaterialNumber
().
equals
(
other
.
getMaterialNumber
()))
&&
(
this
.
getMaterialUnit
()
==
null
?
other
.
getMaterialUnit
()
==
null
:
this
.
getMaterialUnit
().
equals
(
other
.
getMaterialUnit
()))
...
...
@@ -86,7 +86,7 @@ public class ProcessMaterialItem implements Serializable {
final
int
prime
=
31
;
int
result
=
1
;
result
=
prime
*
result
+
((
getProcessMaterialItemId
()
==
null
)
?
0
:
getProcessMaterialItemId
().
hashCode
());
result
=
prime
*
result
+
((
get
TechnologyProcessId
()
==
null
)
?
0
:
getTechnology
ProcessId
().
hashCode
());
result
=
prime
*
result
+
((
get
ProcessId
()
==
null
)
?
0
:
get
ProcessId
().
hashCode
());
result
=
prime
*
result
+
((
getMaterialId
()
==
null
)
?
0
:
getMaterialId
().
hashCode
());
result
=
prime
*
result
+
((
getMaterialNumber
()
==
null
)
?
0
:
getMaterialNumber
().
hashCode
());
result
=
prime
*
result
+
((
getMaterialUnit
()
==
null
)
?
0
:
getMaterialUnit
().
hashCode
());
...
...
@@ -101,7 +101,7 @@ public class ProcessMaterialItem implements Serializable {
sb
.
append
(
" ["
);
sb
.
append
(
"Hash = "
).
append
(
hashCode
());
sb
.
append
(
", processMaterialItemId="
).
append
(
processMaterialItemId
);
sb
.
append
(
", technologyProcessId="
).
append
(
technologyP
rocessId
);
sb
.
append
(
", technologyProcessId="
).
append
(
p
rocessId
);
sb
.
append
(
", materialId="
).
append
(
materialId
);
sb
.
append
(
", materialNumber="
).
append
(
materialNumber
);
sb
.
append
(
", materialUnit="
).
append
(
materialUnit
);
...
...
topsun/src/main/java/com/huigou/topsun/technology/domain/model/ProcessResource.java
View file @
d0e95dc7
...
...
@@ -26,8 +26,8 @@ public class ProcessResource implements Serializable {
/**
* 所属工序ID
*/
@Column
(
name
=
"
technology_
process_id"
)
private
String
technologyP
rocessId
;
@Column
(
name
=
"process_id"
)
private
String
p
rocessId
;
/**
* 使用的资源ID
...
...
@@ -55,7 +55,7 @@ public class ProcessResource implements Serializable {
}
ProcessResource
other
=
(
ProcessResource
)
that
;
return
(
this
.
getProcessResourceId
()
==
null
?
other
.
getProcessResourceId
()
==
null
:
this
.
getProcessResourceId
().
equals
(
other
.
getProcessResourceId
()))
&&
(
this
.
get
TechnologyProcessId
()
==
null
?
other
.
getTechnologyProcessId
()
==
null
:
this
.
getTechnologyProcessId
().
equals
(
other
.
getTechnology
ProcessId
()))
&&
(
this
.
get
ProcessId
()
==
null
?
other
.
getProcessId
()
==
null
:
this
.
getProcessId
().
equals
(
other
.
get
ProcessId
()))
&&
(
this
.
getResourceId
()
==
null
?
other
.
getResourceId
()
==
null
:
this
.
getResourceId
().
equals
(
other
.
getResourceId
()))
&&
(
this
.
getVersion
()
==
null
?
other
.
getVersion
()
==
null
:
this
.
getVersion
().
equals
(
other
.
getVersion
()));
}
...
...
@@ -65,7 +65,7 @@ public class ProcessResource implements Serializable {
final
int
prime
=
31
;
int
result
=
1
;
result
=
prime
*
result
+
((
getProcessResourceId
()
==
null
)
?
0
:
getProcessResourceId
().
hashCode
());
result
=
prime
*
result
+
((
get
TechnologyProcessId
()
==
null
)
?
0
:
getTechnology
ProcessId
().
hashCode
());
result
=
prime
*
result
+
((
get
ProcessId
()
==
null
)
?
0
:
get
ProcessId
().
hashCode
());
result
=
prime
*
result
+
((
getResourceId
()
==
null
)
?
0
:
getResourceId
().
hashCode
());
result
=
prime
*
result
+
((
getVersion
()
==
null
)
?
0
:
getVersion
().
hashCode
());
return
result
;
...
...
@@ -78,7 +78,7 @@ public class ProcessResource implements Serializable {
sb
.
append
(
" ["
);
sb
.
append
(
"Hash = "
).
append
(
hashCode
());
sb
.
append
(
", processResourceId="
).
append
(
processResourceId
);
sb
.
append
(
", technologyProcessId="
).
append
(
technologyP
rocessId
);
sb
.
append
(
", technologyProcessId="
).
append
(
p
rocessId
);
sb
.
append
(
", resourceId="
).
append
(
resourceId
);
sb
.
append
(
", version="
).
append
(
version
);
sb
.
append
(
", serialVersionUID="
).
append
(
serialVersionUID
);
...
...
topsun/src/main/java/com/huigou/topsun/technology/repository/ProcessMaterialItemRepository.java
View file @
d0e95dc7
...
...
@@ -11,5 +11,5 @@ import java.util.List;
* @Description:
*/
public
interface
ProcessMaterialItemRepository
extends
JpaRepository
<
ProcessMaterialItem
,
String
>
{
List
<
ProcessMaterialItem
>
findBy
TechnologyProcessId
(
String
technologyP
rocessId
);
List
<
ProcessMaterialItem
>
findBy
ProcessId
(
String
p
rocessId
);
}
topsun/src/main/java/com/huigou/topsun/technology/repository/ProcessResourceRepository.java
View file @
d0e95dc7
...
...
@@ -11,5 +11,5 @@ import java.util.List;
* @Description:
*/
public
interface
ProcessResourceRepository
extends
JpaRepository
<
ProcessResource
,
String
>
{
List
<
ProcessResource
>
findBy
TechnologyProcessId
(
String
technologyP
rocessId
);
List
<
ProcessResource
>
findBy
ProcessId
(
String
p
rocessId
);
}
topsun/src/main/java/com/huigou/topsun/technology/vo/ProcessResourceVo.java
0 → 100644
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
technology
.
vo
;
import
lombok.Data
;
import
org.hibernate.annotations.GenericGenerator
;
import
javax.persistence.*
;
import
java.io.Serializable
;
/**
* 工序资源
* @TableName process_resource
*/
@Data
public
class
ProcessResourceVo
implements
Serializable
{
/**
* ID
*/
private
String
processResourceId
;
/**
* 所属工序ID
*/
private
String
processId
;
/**
* 使用的资源ID
*/
private
String
resourceId
;
/**
* 版本号
*/
private
String
version
;
/**
* 资源名称
*/
private
String
resourceName
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/util/CommonUtil.java
View file @
d0e95dc7
package
com
.
huigou
.
topsun
.
util
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
java.lang.reflect.Field
;
import
java.util.HashMap
;
import
java.util.UUID
;
public
class
CommonUtil
{
...
...
@@ -13,4 +17,29 @@ public class CommonUtil {
return
uuid
;
}
/**
* 实体类转Map
* @param obj
* @return
*/
public
static
HashMap
<
String
,
String
>
entityToMap
(
Object
obj
)
{
HashMap
<
String
,
String
>
map
=
new
HashMap
();
for
(
Field
field
:
obj
.
getClass
().
getDeclaredFields
()){
try
{
boolean
flag
=
field
.
isAccessible
();
field
.
setAccessible
(
true
);
Object
o
=
field
.
get
(
obj
);
if
(
o
!=
null
){
Field
contField
=
obj
.
getClass
().
getDeclaredField
(
field
.
getName
());
JsonProperty
voField
=
contField
.
getAnnotation
(
JsonProperty
.
class
);
String
s
=
voField
.
value
();
map
.
put
(
s
,
o
.
toString
());
}
field
.
setAccessible
(
flag
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
return
map
;
}
}
topsun/src/main/resources/config/content/easysearch/easy-search-product.xml
View file @
d0e95dc7
...
...
@@ -59,10 +59,10 @@
pc.print_opposite_color
FROM proofing_make_base_info pi
inner JOIN work_instruction_apply wa ON wa.proofing_make_id = pi.proofing_make_id
LEFT
JOIN proofing_make_looked pl ON pl.proofing_make_id = pi.proofing_make_id
LEFT
JOIN proofing_make_pd_published_conf pc ON pc.proofing_make_id = pi.proofing_make_id
left
join product p on pi.product_code=p.product_code
left
join product_detail pd on pd.product_id=p.product_id
inner
JOIN proofing_make_looked pl ON pl.proofing_make_id = pi.proofing_make_id
inner
JOIN proofing_make_pd_published_conf pc ON pc.proofing_make_id = pi.proofing_make_id
inner
join product p on pi.product_code=p.product_code
inner
join product_detail pd on pd.product_id=p.product_id
</sql>
<field
name=
"产品id"
title=
"产品id"
code=
"productId"
width=
"200"
/>
<field
name=
"产品编号"
title=
"产品编号"
code=
"productCode"
width=
"200"
/>
...
...
topsun/src/main/resources/config/topsun/technology/processResource.xml
0 → 100644
View file @
d0e95dc7
<?xml version="1.0" encoding="UTF-8"?>
<query-mappings>
<query
name=
"slicedProcessResourceList"
label=
"工序资源表"
table=
"process_resource"
>
<sql-query>
SELECT
pr.process_resource_id,
pr.process_id,
pr.resource_id,
CASE WHEN p.process_type = 'pakeage' THEN
( SELECT gxmc FROM res_bz t WHERE t.id = pr.resource_id )
WHEN p.process_type = 'printing' THEN
( SELECT gxmc FROM res_ys t WHERE t.id = pr.resource_id )
WHEN p.process_type = 'cropping' THEN
( SELECT gxmc FROM res_cj t WHERE t.id = pr.resource_id ) ELSE '' end AS resource_name
FROM
process_resource pr left join process p on p.process_id = pr.process_id
WHERE pr.process_id = ?
</sql-query>
</query>
</query-mappings>
\ No newline at end of file
topsun/src/main/resources/config/topsun/technology/technology.xml
View file @
d0e95dc7
...
...
@@ -28,7 +28,7 @@
technology t
LEFT JOIN technology_process tp ON t.technology_id = tp.technology_id
LEFT JOIN process p ON tp.process_id = p.process_id
LEFT JOIN process_resource pr ON pr.
technology_process_id = tp.technology_
process_id
LEFT JOIN process_resource pr ON pr.
process_id = p.
process_id
where 1=1
</sql-query>
<condition
column=
"product_id"
name=
"productId"
symbol=
"in"
alias=
"t"
/>
...
...
topsun/src/main/resources/config/topsun/technology/technologyProcess.xml
View file @
d0e95dc7
...
...
@@ -12,7 +12,7 @@
p.process_content,
p.process_type,
p.process_remark,
p.work_hours,
p.work_hours
<!--
,
pr.resource_id,
CASE WHEN p.process_type = 'pakeage' THEN
( SELECT gxmc FROM res_bz t WHERE t.id = pr.resource_id )
...
...
@@ -25,12 +25,10 @@
mi.material_unit,
mi.material_number,
mi.material_json,
mi.process_material_item_id
mi.process_material_item_id
-->
FROM
technology_process tp
LEFT JOIN process p ON tp.process_id = p.process_id
LEFT JOIN process_resource pr ON pr.technology_process_id = tp.technology_process_id
LEFT JOIN process_material_item mi ON tp.technology_process_id = mi.technology_process_id
WHERE tp.technology_id = ?
</sql-query>
</query>
...
...
topsun/target/classes/com/huigou/topsun/technology/controller/ProcessController.class
View file @
d0e95dc7
No preview for this file type
topsun/target/classes/com/huigou/topsun/technology/controller/TechnologyController.class
View file @
d0e95dc7
No preview for this file type
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