Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
5774580b
Commit
5774580b
authored
Apr 25, 2020
by
季圣华
Browse files
给商品扩展表增加‘是否默认基础单位’字段
parent
2965a441
Changes
9
Hide whitespace changes
Inline
Side-by-side
docs/数据库更新记录-方便升级.txt
View file @
5774580b
...
...
@@ -763,4 +763,11 @@ alter table jsh_user change loginame login_name varchar(255) NOT NULL COMMENT '
-- by jishenghua
-- 给功能表增加插件管理
-- ----------------------------
INSERT INTO `jsh_functions` VALUES (245,'000107', '插件管理', '0001', '/pages/manage/plugin.html', '\0', '0170', '', '电脑版', '', 'icon-notebook', '0');
\ No newline at end of file
INSERT INTO `jsh_functions` VALUES (245,'000107', '插件管理', '0001', '/pages/manage/plugin.html', '\0', '0170', '', '电脑版', '', 'icon-notebook', '0');
-- ----------------------------
-- 时间:2020年04月25日
-- by jishenghua
-- 给商品扩展表增加 是否默认基础单位 字段
-- ----------------------------
alter table jsh_material_extend add default_flag VARCHAR(1) DEFAULT 1 COMMENT '是否为默认单位,1是,0否' after low_decimal;
erp_web/js/easyui/datagrid-dnd.js
0 → 100644
View file @
5774580b
(
function
(
$
){
$
.
extend
(
$
.
fn
.
datagrid
.
defaults
,
{
dropAccept
:
'
tr.datagrid-row
'
,
dragSelection
:
false
,
dragDelay
:
100
,
onBeforeDrag
:
function
(
row
){},
// return false to deny drag
onStartDrag
:
function
(
row
){},
onStopDrag
:
function
(
row
){},
onDragEnter
:
function
(
targetRow
,
sourceRow
){},
// return false to deny drop
onDragOver
:
function
(
targetRow
,
sourceRow
){},
// return false to deny drop
onDragLeave
:
function
(
targetRow
,
sourceRow
){},
onBeforeDrop
:
function
(
targetRow
,
sourceRow
,
point
){},
onDrop
:
function
(
targetRow
,
sourceRow
,
point
){},
// point:'append','top','bottom'
});
$
.
extend
(
$
.
fn
.
datagrid
.
methods
,
{
_appendRows
:
function
(
jq
,
row
){
return
jq
.
each
(
function
(){
var
dg
=
$
(
this
);
var
rows
=
$
.
isArray
(
row
)
?
row
:
[
row
];
$
.
map
(
rows
,
function
(
row
){
dg
.
datagrid
(
'
appendRow
'
,
row
).
datagrid
(
'
enableDnd
'
,
dg
.
datagrid
(
'
getRows
'
).
length
-
1
);
});
});
},
_insertRows
:
function
(
jq
,
param
){
return
jq
.
each
(
function
(){
var
dg
=
$
(
this
);
var
index
=
param
.
index
;
var
row
=
param
.
row
;
var
rows
=
$
.
isArray
(
row
)
?
row
:
[
row
];
$
.
map
(
rows
,
function
(
row
,
i
){
dg
.
datagrid
(
'
insertRow
'
,
{
index
:
(
index
+
i
),
row
:
row
}).
datagrid
(
'
enableDnd
'
,
index
+
i
);
});
});
},
_getRowIndexs
:
function
(
jq
,
row
){
var
dg
=
jq
;
var
rows
=
$
.
isArray
(
row
)
?
row
:
[
row
];
var
indexs
=
$
.
map
(
rows
,
function
(
row
){
return
dg
.
datagrid
(
'
getRowIndex
'
,
row
);
});
return
$
.
grep
(
indexs
,
function
(
index
){
if
(
index
>=
0
){
return
true
;}
});
},
_deleteRows
:
function
(
jq
,
indexs
){
return
jq
.
each
(
function
(){
// sort desc
indexs
.
sort
(
function
(
x
,
y
){
if
(
parseInt
(
x
)
>
parseInt
(
y
)){
return
-
1
;
}
else
{
return
1
;
}
});
for
(
var
i
=
0
;
i
<
indexs
.
length
;
i
++
){
$
(
this
).
datagrid
(
'
deleteRow
'
,
indexs
[
i
]);
}
});
},
_setSelections
:
function
(
jq
){
return
jq
.
each
(
function
(){
var
rows
=
$
(
this
).
datagrid
(
'
getRows
'
);
for
(
var
i
=
0
;
i
<
rows
.
length
;
i
++
){
if
(
rows
[
i
].
_selected
){
$
(
this
).
datagrid
(
'
selectRow
'
,
i
);
rows
[
i
].
_selected
=
undefined
;
}
}
});
},
clearInsertingFlag
:
function
(
jq
){
return
jq
.
each
(
function
(){
var
opts
=
$
(
this
).
datagrid
(
'
options
'
);
if
(
opts
.
insertingIndex
>=
0
){
var
tr
=
opts
.
finder
.
getTr
(
this
,
opts
.
insertingIndex
);
tr
.
removeClass
(
'
datagrid-row-top datagrid-row-bottom
'
);
opts
.
insertingIndex
=
-
1
;
}
});
}
});
var
disabledDroppingRows
=
[];
function
enableDroppable
(
aa
){
$
.
map
(
aa
,
function
(
row
){
$
(
row
).
droppable
(
'
enable
'
);
});
}
$
.
extend
(
$
.
fn
.
datagrid
.
methods
,
{
resetDroppable
:
function
(
jq
){
return
jq
.
each
(
function
(){
var
c
=
$
(
this
).
datagrid
(
'
getPanel
'
)[
0
];
var
my
=
[];
var
left
=
[];
for
(
var
i
=
0
;
i
<
disabledDroppingRows
.
length
;
i
++
){
var
t
=
disabledDroppingRows
[
i
];
var
p
=
$
(
t
).
closest
(
'
div.datagrid-wrap
'
);
if
(
p
.
length
&&
p
[
0
]
==
c
){
my
.
push
(
t
);
}
else
{
left
.
push
(
t
);
}
}
disabledDroppingRows
=
left
;
enableDroppable
(
my
);
});
},
enableDnd
:
function
(
jq
,
index
){
if
(
!
$
(
'
#datagrid-dnd-style
'
).
length
){
$
(
'
<style id="datagrid-dnd-style">
'
+
'
.datagrid-row-top>td{border-top:1px solid red}
'
+
'
.datagrid-row-bottom>td{border-bottom:1px solid red}
'
+
'
</style>
'
).
appendTo
(
'
head
'
);
}
return
jq
.
each
(
function
(){
var
target
=
this
;
var
state
=
$
.
data
(
this
,
'
datagrid
'
);
var
dg
=
$
(
this
);
var
opts
=
state
.
options
;
var
draggableOptions
=
{
disabled
:
false
,
revert
:
true
,
cursor
:
'
pointer
'
,
proxy
:
function
(
source
)
{
var
p
=
$
(
'
<div style="z-index:9999999999999"></div>
'
).
appendTo
(
'
body
'
);
var
draggingRow
=
getDraggingRow
(
source
);
var
rows
=
$
.
isArray
(
draggingRow
)
?
draggingRow
:
[
draggingRow
];
$
.
map
(
rows
,
function
(
row
,
i
){
var
index
=
dg
.
datagrid
(
'
getRowIndex
'
,
row
);
var
tr1
=
opts
.
finder
.
getTr
(
target
,
index
,
'
body
'
,
1
);
var
tr2
=
opts
.
finder
.
getTr
(
target
,
index
,
'
body
'
,
2
);
tr2
.
clone
().
removeAttr
(
'
id
'
).
removeClass
(
'
droppable
'
).
appendTo
(
p
);
tr1
.
clone
().
removeAttr
(
'
id
'
).
removeClass
(
'
droppable
'
).
find
(
'
td
'
).
insertBefore
(
p
.
find
(
'
tr:eq(
'
+
i
+
'
) td:first
'
));
$
(
'
<td><span class="tree-dnd-icon tree-dnd-no" style="position:static"> </span></td>
'
).
insertBefore
(
p
.
find
(
'
tr:eq(
'
+
i
+
'
) td:first
'
));
});
p
.
find
(
'
td
'
).
css
(
'
vertical-align
'
,
'
middle
'
);
p
.
hide
();
return
p
;
},
deltaX
:
15
,
deltaY
:
15
,
delay
:
opts
.
dragDelay
,
onBeforeDrag
:
function
(
e
){
var
draggingRow
=
getDraggingRow
(
this
);
if
(
opts
.
onBeforeDrag
.
call
(
target
,
draggingRow
)
==
false
){
return
false
;}
if
(
$
(
e
.
target
).
parent
().
hasClass
(
'
datagrid-cell-check
'
)){
return
false
;}
if
(
e
.
which
!=
1
){
return
false
;}
},
onStartDrag
:
function
()
{
$
(
this
).
draggable
(
'
proxy
'
).
css
({
left
:
-
10000
,
top
:
-
10000
});
var
draggingRow
=
getDraggingRow
(
this
);
setValid
(
draggingRow
,
false
);
state
.
draggingRow
=
draggingRow
;
opts
.
onStartDrag
.
call
(
target
,
draggingRow
);
},
onDrag
:
function
(
e
)
{
var
x1
=
e
.
pageX
,
y1
=
e
.
pageY
,
x2
=
e
.
data
.
startX
,
y2
=
e
.
data
.
startY
;
var
d
=
Math
.
sqrt
((
x1
-
x2
)
*
(
x1
-
x2
)
+
(
y1
-
y2
)
*
(
y1
-
y2
));
if
(
d
>
3
){
// when drag a little distance, show the proxy object
$
(
this
).
draggable
(
'
proxy
'
).
show
();
var
tr
=
opts
.
finder
.
getTr
(
target
,
parseInt
(
$
(
this
).
attr
(
'
datagrid-row-index
'
)),
'
body
'
);
$
.
extend
(
e
.
data
,
{
startX
:
tr
.
offset
().
left
,
startY
:
tr
.
offset
().
top
,
offsetWidth
:
0
,
offsetHeight
:
0
});
}
this
.
pageY
=
e
.
pageY
;
},
onEndDrag
:
function
(
e
){
var
dd
=
$
(
this
).
data
(
'
draggable
'
).
droppables
.
filter
(
function
(){
var
dropObj
=
$
(
this
);
if
(
dropObj
.
droppable
(
'
options
'
).
disabled
){
return
false
;}
if
(
dropObj
.
hasClass
(
'
datagrid-row
'
)
&&
!
dropObj
.
hasClass
(
'
datagrid-row-over
'
)){
return
false
;
}
var
p2
=
dropObj
.
offset
();
if
(
e
.
pageX
>
p2
.
left
&&
e
.
pageX
<
p2
.
left
+
dropObj
.
outerWidth
()
&&
e
.
pageY
>
p2
.
top
&&
e
.
pageY
<
p2
.
top
+
dropObj
.
outerHeight
()){
return
true
;
}
else
{
return
false
;
}
});
var
trs
=
dd
.
filter
(
function
(){
return
$
(
this
).
hasClass
(
'
datagrid-row
'
);
});
if
(
trs
.
length
){
dd
=
trs
;
}
$
(
this
).
data
(
'
draggable
'
).
droppables
=
dd
;
},
onStopDrag
:
function
(){
enableDroppable
(
disabledDroppingRows
);
disabledDroppingRows
=
[];
setValid
(
state
.
draggingRow
,
true
);
opts
.
onStopDrag
.
call
(
target
,
state
.
draggingRow
);
}
};
var
droppableOptions
=
{
disabled
:
false
,
accept
:
opts
.
dropAccept
,
onDragEnter
:
function
(
e
,
source
){
if
(
$
(
this
).
droppable
(
'
options
'
).
disabled
){
return
;}
var
dTarget
=
getDataGridTarget
(
this
);
var
dOpts
=
$
(
dTarget
).
datagrid
(
'
options
'
);
var
tr
=
dOpts
.
finder
.
getTr
(
dTarget
,
null
,
'
highlight
'
);
var
sRow
=
getDraggingRow
(
source
);
var
dRow
=
getRow
(
this
);
if
(
tr
.
length
&&
dRow
){
cb
();
}
function
cb
(){
if
(
opts
.
onDragEnter
.
call
(
target
,
dRow
,
sRow
)
==
false
){
$
(
dTarget
).
datagrid
(
'
clearInsertingFlag
'
);
tr
.
droppable
(
'
disable
'
);
tr
.
each
(
function
(){
disabledDroppingRows
.
push
(
this
);
});
}
}
},
onDragOver
:
function
(
e
,
source
)
{
if
(
$
(
this
).
droppable
(
'
options
'
).
disabled
){
return
;
}
if
(
$
.
inArray
(
this
,
disabledDroppingRows
)
>=
0
){
return
;
}
var
dTarget
=
getDataGridTarget
(
this
);
var
dOpts
=
$
(
dTarget
).
datagrid
(
'
options
'
);
var
tr
=
dOpts
.
finder
.
getTr
(
dTarget
,
null
,
'
highlight
'
);
if
(
tr
.
length
){
if
(
!
isValid
(
tr
)){
setProxyFlag
(
source
,
false
);
return
;
}
}
setProxyFlag
(
source
,
true
);
var
sRow
=
getDraggingRow
(
source
);
var
dRow
=
getRow
(
this
);
if
(
tr
.
length
){
var
pageY
=
source
.
pageY
;
var
top
=
tr
.
offset
().
top
;
var
bottom
=
tr
.
offset
().
top
+
tr
.
outerHeight
();
$
(
dTarget
).
datagrid
(
'
clearInsertingFlag
'
);
dOpts
.
insertingIndex
=
tr
.
attr
(
'
datagrid-row-index
'
);
if
(
pageY
>
top
+
(
bottom
-
top
)
/
2
)
{
tr
.
addClass
(
'
datagrid-row-bottom
'
);
}
else
{
tr
.
addClass
(
'
datagrid-row-top
'
);
}
if
(
dRow
){
cb
();
}
}
function
cb
(){
if
(
opts
.
onDragOver
.
call
(
target
,
dRow
,
sRow
)
==
false
){
setProxyFlag
(
source
,
false
);
$
(
dTarget
).
datagrid
(
'
clearInsertingFlag
'
);
tr
.
droppable
(
'
disable
'
);
tr
.
each
(
function
(){
disabledDroppingRows
.
push
(
this
);
});
}
}
},
onDragLeave
:
function
(
e
,
source
)
{
if
(
$
(
this
).
droppable
(
'
options
'
).
disabled
){
return
;
}
setProxyFlag
(
source
,
false
);
var
dTarget
=
getDataGridTarget
(
this
);
$
(
dTarget
).
datagrid
(
'
clearInsertingFlag
'
);
var
sRow
=
getDraggingRow
(
source
);
var
dRow
=
getRow
(
this
);
if
(
dRow
){
opts
.
onDragLeave
.
call
(
target
,
dRow
,
sRow
);
}
},
onDrop
:
function
(
e
,
source
)
{
if
(
$
(
this
).
droppable
(
'
options
'
).
disabled
){
return
;
}
var
sTarget
=
getDataGridTarget
(
source
);
var
dTarget
=
getDataGridTarget
(
this
);
var
dOpts
=
$
(
dTarget
).
datagrid
(
'
options
'
);
var
tr
=
dOpts
.
finder
.
getTr
(
dTarget
,
null
,
'
highlight
'
);
var
point
=
null
;
var
sRow
=
getDraggingRow
(
source
);
var
dRow
=
null
;
if
(
tr
.
length
){
if
(
!
isValid
(
tr
)){
return
;
}
point
=
tr
.
hasClass
(
'
datagrid-row-top
'
)
?
'
top
'
:
'
bottom
'
;
dRow
=
getRow
(
tr
);
}
$
(
dTarget
).
datagrid
(
'
clearInsertingFlag
'
);
if
(
opts
.
onBeforeDrop
.
call
(
target
,
dRow
,
sRow
,
point
)
==
false
){
return
;
}
insert
.
call
(
this
);
opts
.
onDrop
.
call
(
target
,
dRow
,
sRow
,
point
);
function
insert
(){
var
destIndex
=
parseInt
(
tr
.
attr
(
'
datagrid-row-index
'
));
if
(
!
point
){
var
indexs
=
$
(
sTarget
).
datagrid
(
'
_getRowIndexs
'
,
sRow
);
$
(
dTarget
).
datagrid
(
'
_appendRows
'
,
sRow
);
$
(
sTarget
).
datagrid
(
'
_deleteRows
'
,
indexs
);
$
(
dTarget
).
datagrid
(
'
_setSelections
'
);
}
else
if
(
dTarget
!=
sTarget
){
var
index
=
point
==
'
top
'
?
destIndex
:
(
destIndex
+
1
);
if
(
index
>=
0
){
var
indexs
=
$
(
sTarget
).
datagrid
(
'
_getRowIndexs
'
,
sRow
);
$
(
dTarget
).
datagrid
(
'
_insertRows
'
,
{
index
:
index
,
row
:
sRow
});
$
(
sTarget
).
datagrid
(
'
_deleteRows
'
,
indexs
);
$
(
dTarget
).
datagrid
(
'
_setSelections
'
);
}
}
else
{
var
dg
=
$
(
dTarget
);
var
index
=
point
==
'
top
'
?
destIndex
:
(
destIndex
+
1
);
if
(
index
>=
0
){
var
indexs
=
dg
.
datagrid
(
'
_getRowIndexs
'
,
sRow
);
var
destIndex
=
parseInt
(
tr
.
attr
(
'
datagrid-row-index
'
));
var
index
=
point
==
'
top
'
?
destIndex
:
(
destIndex
+
1
);
if
(
index
>=
0
){
dg
.
datagrid
(
'
_insertRows
'
,
{
index
:
index
,
row
:
sRow
});
for
(
var
i
=
0
;
i
<
indexs
.
length
;
i
++
){
if
(
indexs
[
i
]
>
index
){
indexs
[
i
]
+=
indexs
.
length
;
}
}
dg
.
datagrid
(
'
_deleteRows
'
,
indexs
);
dg
.
datagrid
(
'
_setSelections
'
);
}
}
}
}
}
}
if
(
index
!=
undefined
){
var
trs
=
opts
.
finder
.
getTr
(
this
,
index
);
}
else
{
var
trs
=
opts
.
finder
.
getTr
(
this
,
0
,
'
allbody
'
);
}
trs
.
draggable
(
draggableOptions
);
trs
.
droppable
(
droppableOptions
);
setDroppable
(
target
);
function
setProxyFlag
(
source
,
allowed
){
var
icon
=
$
(
source
).
draggable
(
'
proxy
'
).
find
(
'
span.tree-dnd-icon
'
);
icon
.
removeClass
(
'
tree-dnd-yes tree-dnd-no
'
).
addClass
(
allowed
?
'
tree-dnd-yes
'
:
'
tree-dnd-no
'
);
}
function
getRow
(
tr
){
if
(
!
$
(
tr
).
hasClass
(
'
datagrid-row
'
)){
return
null
}
var
target
=
$
(
tr
).
closest
(
'
div.datagrid-view
'
).
children
(
'
table
'
)[
0
];
var
opts
=
$
(
target
).
datagrid
(
'
options
'
);
return
opts
.
finder
.
getRow
(
target
,
$
(
tr
));
}
function
getDraggingRow
(
tr
){
if
(
!
$
(
tr
).
hasClass
(
'
datagrid-row
'
)){
return
null
}
var
target
=
getDataGridTarget
(
tr
);
var
opts
=
$
(
target
).
datagrid
(
'
options
'
);
var
rows
=
$
(
target
).
datagrid
(
'
getRows
'
);
for
(
var
i
=
0
;
i
<
rows
.
length
;
i
++
){
rows
[
i
].
_selected
=
undefined
;
}
if
(
opts
.
dragSelection
){
if
(
$
(
tr
).
hasClass
(
'
datagrid-row-selected
'
)){
var
rows
=
$
(
target
).
datagrid
(
'
getSelections
'
);
$
.
map
(
rows
,
function
(
row
){
row
.
_selected
=
true
;
});
return
rows
;
}
}
var
row
=
opts
.
finder
.
getRow
(
target
,
$
(
tr
));
row
.
_selected
=
$
(
tr
).
hasClass
(
'
datagrid-row-selected
'
);
return
row
;
}
function
setDroppable
(
target
){
getDroppableBody
(
target
).
droppable
(
droppableOptions
).
droppable
(
'
enable
'
);
}
function
getDataGridTarget
(
el
){
return
$
(
el
).
closest
(
'
div.datagrid-view
'
).
children
(
'
table
'
)[
0
];
}
function
getDroppableBody
(
target
){
var
dc
=
$
(
target
).
data
(
'
datagrid
'
).
dc
;
return
dc
.
view
;
}
function
isValid
(
tr
){
var
opts
=
$
(
tr
).
droppable
(
'
options
'
);
if
(
opts
.
disabled
||
opts
.
accept
==
'
no-accept
'
){
return
false
;
}
else
{
return
true
;
}
}
function
setValid
(
rows
,
valid
){
var
accept
=
valid
?
opts
.
dropAccept
:
'
no-accept
'
;
$
.
map
(
$
.
isArray
(
rows
)?
rows
:[
rows
],
function
(
row
){
var
index
=
$
(
target
).
datagrid
(
'
getRowIndex
'
,
row
);
opts
.
finder
.
getTr
(
target
,
index
).
droppable
({
accept
:
accept
});
});
}
});
},
disableDnd
:
function
(
jq
){
return
jq
.
each
(
function
(){
var
target
=
this
;
var
state
=
$
.
data
(
this
,
'
datagrid
'
);
var
dg
=
$
(
this
);
var
opts
=
state
.
options
;
var
trs
=
opts
.
finder
.
getTr
(
this
,
0
,
'
allbody
'
);
trs
.
draggable
(
'
disable
'
);
trs
.
droppable
(
'
disable
'
);
});
}
});
})(
jQuery
);
erp_web/pages/materials/material.html
View file @
5774580b
...
...
@@ -15,6 +15,7 @@
<link
type=
"text/css"
rel=
"stylesheet"
href=
"/css/material.css"
/>
<script
type=
"text/javascript"
src=
"/js/easyui/jquery.easyui.min.js"
></script>
<script
type=
"text/javascript"
src=
"/js/easyui/locale/easyui-lang-zh_CN.js"
></script>
<script
type=
"text/javascript"
src=
"/js/easyui/datagrid-dnd.js"
></script>
<script
src=
"/js/handlebars.js"
></script>
<script
type=
"text/javascript"
src=
"/js/common/outlook_in.js"
></script>
<script
type=
"text/javascript"
src=
"/js/common/common.js"
></script>
...
...
@@ -1090,9 +1091,21 @@
{
reject
();
//撤销
}
},
{
id
:
'
tips
'
,
text
:
'
【注意:基础单位必须排在第一个】
'
}
],
onBeforeDrag
:
function
(
row
)
{
//首次进来可以拖动
if
(
editIndex
!==
undefined
)
{
return
false
;
}
},
onLoadSuccess
:
function
(){
$
(
this
).
datagrid
(
'
enableDnd
'
);
},
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
...
...
@@ -1646,6 +1659,8 @@
function
accept
(
objInfo
)
{
append
(
0
);
removeit
();
//在更新商品信息的时候更新排序
var
sortList
=
[];
//判断单位是否填写正确
var
meList
=
$
(
"
#materialExtendData
"
).
datagrid
(
'
getRows
'
);
var
unit
=
$
(
"
#Unit
"
).
val
();
...
...
@@ -1666,6 +1681,19 @@
}
}
}
for
(
var
i
=
0
;
i
<
meList
.
length
;
i
++
)
{
var
sortObj
=
{};
if
(
meList
[
i
].
Id
)
{
sortObj
.
id
=
meList
[
i
].
Id
;
if
(
i
==
0
)
{
sortObj
.
defaultFlag
=
1
;
}
else
{
sortObj
.
defaultFlag
=
0
;
}
sortList
.
push
(
sortObj
);
}
}
objInfo
.
sortList
=
sortList
;
if
(
$
(
"
#materialExtendData
"
).
datagrid
(
'
getChanges
'
).
length
)
{
if
(
!
CheckData
())
return
false
;
...
...
src/main/java/com/jsh/erp/datasource/entities/MaterialExtend.java
View file @
5774580b
...
...
@@ -20,6 +20,8 @@ public class MaterialExtend {
private
BigDecimal
lowDecimal
;
private
String
defaultFlag
;
private
Date
createTime
;
private
String
createSerial
;
...
...
@@ -96,6 +98,14 @@ public class MaterialExtend {
this
.
lowDecimal
=
lowDecimal
;
}
public
String
getDefaultFlag
()
{
return
defaultFlag
;
}
public
void
setDefaultFlag
(
String
defaultFlag
)
{
this
.
defaultFlag
=
defaultFlag
==
null
?
null
:
defaultFlag
.
trim
();
}
public
Date
getCreateTime
()
{
return
createTime
;
}
...
...
src/main/java/com/jsh/erp/datasource/entities/MaterialExtendExample.java
View file @
5774580b
...
...
@@ -606,6 +606,76 @@ public class MaterialExtendExample {
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagIsNull
()
{
addCriterion
(
"default_flag is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagIsNotNull
()
{
addCriterion
(
"default_flag is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagEqualTo
(
String
value
)
{
addCriterion
(
"default_flag ="
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagNotEqualTo
(
String
value
)
{
addCriterion
(
"default_flag <>"
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagGreaterThan
(
String
value
)
{
addCriterion
(
"default_flag >"
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"default_flag >="
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagLessThan
(
String
value
)
{
addCriterion
(
"default_flag <"
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"default_flag <="
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagLike
(
String
value
)
{
addCriterion
(
"default_flag like"
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagNotLike
(
String
value
)
{
addCriterion
(
"default_flag not like"
,
value
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagIn
(
List
<
String
>
values
)
{
addCriterion
(
"default_flag in"
,
values
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"default_flag not in"
,
values
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"default_flag between"
,
value1
,
value2
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDefaultFlagNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"default_flag not between"
,
value1
,
value2
,
"defaultFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andCreateTimeIsNull
()
{
addCriterion
(
"create_time is null"
);
return
(
Criteria
)
this
;
...
...
src/main/java/com/jsh/erp/service/MaterialExtend/MaterialExtendService.java
View file @
5774580b
...
...
@@ -75,7 +75,7 @@ public class MaterialExtendService {
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
String
saveDetials
(
String
inserted
,
String
deleted
,
String
updated
,
Long
materialId
)
throws
Exception
{
public
String
saveDetials
(
String
inserted
,
String
deleted
,
String
updated
,
String
sortList
,
Long
materialId
)
throws
Exception
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
logService
.
insertLog
(
"商品价格扩展"
,
BusinessConstants
.
LOG_OPERATION_TYPE_ADD
,
request
);
...
...
@@ -83,6 +83,7 @@ public class MaterialExtendService {
JSONArray
insertedJson
=
JSONArray
.
parseArray
(
inserted
);
JSONArray
deletedJson
=
JSONArray
.
parseArray
(
deleted
);
JSONArray
updatedJson
=
JSONArray
.
parseArray
(
updated
);
JSONArray
sortJson
=
JSONArray
.
parseArray
(
sortList
);
if
(
null
!=
insertedJson
)
{
for
(
int
i
=
0
;
i
<
insertedJson
.
size
();
i
++)
{
MaterialExtend
materialExtend
=
new
MaterialExtend
();
...
...
@@ -143,7 +144,39 @@ public class MaterialExtendService {
if
(
StringUtils
.
isNotEmpty
(
tempUpdatedJson
.
getString
(
"LowDecimal"
)))
{
materialExtend
.
setLowDecimal
(
tempUpdatedJson
.
getBigDecimal
(
"LowDecimal"
));
}
this
.
updateMaterialExtend
(
materialExtend
,
request
);
this
.
updateMaterialExtend
(
materialExtend
);
}
}
//处理条码的排序,基础单位排第一个
if
(
null
!=
sortJson
&&
sortJson
.
size
()>
0
)
{
//此处为更新的逻辑
for
(
int
i
=
0
;
i
<
sortJson
.
size
();
i
++)
{
JSONObject
tempSortJson
=
JSONObject
.
parseObject
(
sortJson
.
getString
(
i
));
MaterialExtend
materialExtend
=
new
MaterialExtend
();
if
(
StringUtil
.
isExist
(
tempSortJson
.
get
(
"id"
)))
{
materialExtend
.
setId
(
tempSortJson
.
getLong
(
"id"
));
}
if
(
StringUtil
.
isExist
(
tempSortJson
.
get
(
"defaultFlag"
)))
{
materialExtend
.
setDefaultFlag
(
tempSortJson
.
getString
(
"defaultFlag"
));
}
this
.
updateMaterialExtend
(
materialExtend
);
}
}
else
{
//新增的时候将第一条记录设置为默认基础单位
MaterialExtendExample
example
=
new
MaterialExtendExample
();
example
.
createCriteria
().
andMaterialIdEqualTo
(
materialId
).
andDeleteFlagNotEqualTo
(
BusinessConstants
.
DELETE_FLAG_DELETED
);
List
<
MaterialExtend
>
meList
=
materialExtendMapper
.
selectByExample
(
example
);
if
(
meList
!=
null
)
{
for
(
int
i
=
0
;
i
<
meList
.
size
();
i
++)
{
MaterialExtend
materialExtend
=
new
MaterialExtend
();
materialExtend
.
setId
(
meList
.
get
(
i
).
getId
());
if
(
i
==
0
)
{
materialExtend
.
setDefaultFlag
(
"1"
);
//默认
}
else
{
materialExtend
.
setDefaultFlag
(
"0"
);
//非默认
}
this
.
updateMaterialExtend
(
materialExtend
);
}
}
}
return
null
;
...
...
@@ -167,9 +200,9 @@ public class MaterialExtendService {
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
int
updateMaterialExtend
(
MaterialExtend
MaterialExtend
,
HttpServletRequest
request
)
throws
Exception
{
public
int
updateMaterialExtend
(
MaterialExtend
MaterialExtend
)
throws
Exception
{
User
user
=
userService
.
getCurrentUser
();
MaterialExtend
.
setUpdateTime
(
new
Date
().
getTime
());
MaterialExtend
.
setUpdateTime
(
System
.
currentTimeMillis
());
MaterialExtend
.
setUpdateSerial
(
user
.
getLoginName
());
int
res
=
0
;
try
{
...
...
src/main/java/com/jsh/erp/service/material/MaterialService.java
View file @
5774580b
...
...
@@ -157,7 +157,7 @@ public class MaterialService {
mId
=
materials
.
get
(
0
).
getId
();
}
JSONObject
mObj
=
JSON
.
parseObject
(
beanJson
);
materialExtendService
.
saveDetials
(
mObj
.
getString
(
"inserted"
),
mObj
.
getString
(
"deleted"
),
mObj
.
getString
(
"updated"
),
mId
);
materialExtendService
.
saveDetials
(
mObj
.
getString
(
"inserted"
),
mObj
.
getString
(
"deleted"
),
mObj
.
getString
(
"updated"
),
mObj
.
getString
(
"sortList"
),
mId
);
if
(
mObj
.
get
(
"stock"
)!=
null
)
{
String
stockStr
=
mObj
.
getString
(
"stock"
);
JSONArray
stockArr
=
JSONArray
.
parseArray
(
stockStr
);
...
...
@@ -193,7 +193,7 @@ public class MaterialService {
materialMapperEx
.
updateUnitIdNullByPrimaryKey
(
id
);
//将多单位置空
}
JSONObject
mObj
=
JSON
.
parseObject
(
beanJson
);
materialExtendService
.
saveDetials
(
mObj
.
getString
(
"inserted"
),
mObj
.
getString
(
"deleted"
),
mObj
.
getString
(
"updated"
),
id
);
materialExtendService
.
saveDetials
(
mObj
.
getString
(
"inserted"
),
mObj
.
getString
(
"deleted"
),
mObj
.
getString
(
"updated"
),
mObj
.
getString
(
"sortList"
),
id
);
if
(
mObj
.
get
(
"stock"
)!=
null
)
{
String
stockStr
=
mObj
.
getString
(
"stock"
);
JSONArray
stockArr
=
JSONArray
.
parseArray
(
stockStr
);
...
...
src/main/resources/mapper_xml/MaterialExtendMapper.xml
View file @
5774580b
...
...
@@ -10,6 +10,7 @@
<result
column=
"commodity_decimal"
jdbcType=
"DECIMAL"
property=
"commodityDecimal"
/>
<result
column=
"wholesale_decimal"
jdbcType=
"DECIMAL"
property=
"wholesaleDecimal"
/>
<result
column=
"low_decimal"
jdbcType=
"DECIMAL"
property=
"lowDecimal"
/>
<result
column=
"default_flag"
jdbcType=
"VARCHAR"
property=
"defaultFlag"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"create_serial"
jdbcType=
"VARCHAR"
property=
"createSerial"
/>
<result
column=
"update_serial"
jdbcType=
"VARCHAR"
property=
"updateSerial"
/>
...
...
@@ -77,7 +78,8 @@
</sql>
<sql
id=
"Base_Column_List"
>
id, material_id, bar_code, commodity_unit, purchase_decimal, commodity_decimal, wholesale_decimal,
low_decimal, create_time, create_serial, update_serial, update_time, tenant_id, delete_Flag
low_decimal, default_flag, create_time, create_serial, update_serial, update_time,
tenant_id, delete_Flag
</sql>
<select
id=
"selectByExample"
parameterType=
"com.jsh.erp.datasource.entities.MaterialExtendExample"
resultMap=
"BaseResultMap"
>
select
...
...
@@ -112,14 +114,16 @@
<insert
id=
"insert"
parameterType=
"com.jsh.erp.datasource.entities.MaterialExtend"
>
insert into jsh_material_extend (id, material_id, bar_code,
commodity_unit, purchase_decimal, commodity_decimal,
wholesale_decimal, low_decimal, create_time,
create_serial, update_serial, update_time,
tenant_id, delete_Flag)
wholesale_decimal, low_decimal, default_flag,
create_time, create_serial, update_serial,
update_time, tenant_id, delete_Flag
)
values (#{id,jdbcType=BIGINT}, #{materialId,jdbcType=BIGINT}, #{barCode,jdbcType=VARCHAR},
#{commodityUnit,jdbcType=VARCHAR}, #{purchaseDecimal,jdbcType=DECIMAL}, #{commodityDecimal,jdbcType=DECIMAL},
#{wholesaleDecimal,jdbcType=DECIMAL}, #{lowDecimal,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP},
#{createSerial,jdbcType=VARCHAR}, #{updateSerial,jdbcType=VARCHAR}, #{updateTime,jdbcType=BIGINT},
#{tenantId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=VARCHAR})
#{wholesaleDecimal,jdbcType=DECIMAL}, #{lowDecimal,jdbcType=DECIMAL}, #{defaultFlag,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{createSerial,jdbcType=VARCHAR}, #{updateSerial,jdbcType=VARCHAR},
#{updateTime,jdbcType=BIGINT}, #{tenantId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=VARCHAR}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.jsh.erp.datasource.entities.MaterialExtend"
>
insert into jsh_material_extend
...
...
@@ -148,6 +152,9 @@
<if
test=
"lowDecimal != null"
>
low_decimal,
</if>
<if
test=
"defaultFlag != null"
>
default_flag,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
...
...
@@ -192,6 +199,9 @@
<if
test=
"lowDecimal != null"
>
#{lowDecimal,jdbcType=DECIMAL},
</if>
<if
test=
"defaultFlag != null"
>
#{defaultFlag,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
</if>
...
...
@@ -245,6 +255,9 @@
<if
test=
"record.lowDecimal != null"
>
low_decimal = #{record.lowDecimal,jdbcType=DECIMAL},
</if>
<if
test=
"record.defaultFlag != null"
>
default_flag = #{record.defaultFlag,jdbcType=VARCHAR},
</if>
<if
test=
"record.createTime != null"
>
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
...
...
@@ -278,6 +291,7 @@
commodity_decimal = #{record.commodityDecimal,jdbcType=DECIMAL},
wholesale_decimal = #{record.wholesaleDecimal,jdbcType=DECIMAL},
low_decimal = #{record.lowDecimal,jdbcType=DECIMAL},
default_flag = #{record.defaultFlag,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
create_serial = #{record.createSerial,jdbcType=VARCHAR},
update_serial = #{record.updateSerial,jdbcType=VARCHAR},
...
...
@@ -312,6 +326,9 @@
<if
test=
"lowDecimal != null"
>
low_decimal = #{lowDecimal,jdbcType=DECIMAL},
</if>
<if
test=
"defaultFlag != null"
>
default_flag = #{defaultFlag,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
...
...
@@ -342,6 +359,7 @@
commodity_decimal = #{commodityDecimal,jdbcType=DECIMAL},
wholesale_decimal = #{wholesaleDecimal,jdbcType=DECIMAL},
low_decimal = #{lowDecimal,jdbcType=DECIMAL},
default_flag = #{defaultFlag,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
create_serial = #{createSerial,jdbcType=VARCHAR},
update_serial = #{updateSerial,jdbcType=VARCHAR},
...
...
src/main/resources/mapper_xml/MaterialExtendMapperEx.xml
View file @
5774580b
...
...
@@ -10,7 +10,7 @@
from jsh_material_extend d
where d.material_id = '${materialId}'
and ifnull(d.delete_Flag,'0') !='1'
order by d.id asc
order by
d.default_flag desc,
d.id asc
</select>
<select
id=
"getMaxTimeByTenantAndTime"
resultType=
"java.lang.Long"
>
...
...
Write
Preview
Supports
Markdown
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