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
37c64788
"jetbrains:/idea/checkout/git" did not exist on "0dfa1f22d02e0c82ab182c09dd55c6eb0c6d88ba"
Commit
37c64788
authored
Jan 29, 2019
by
乾坤平台
Committed by
季圣华
Jan 29, 2019
Browse files
!22 添加出库时开启序列号的商品强制附加使用序列号
Merge pull request !22 from 乾坤平台/master
parents
b55e9d15
88f4420d
Changes
37
Hide whitespace changes
Inline
Side-by-side
src/main/java/com/jsh/erp/datasource/entities/SerialNumber.java
View file @
37c64788
...
...
@@ -33,7 +33,7 @@ public class SerialNumber {
*
* @mbggenerated
*/
private
Boolean
isSell
;
private
String
isSell
;
/**
* This field was generated by MyBatis Generator.
...
...
@@ -49,7 +49,7 @@ public class SerialNumber {
*
* @mbggenerated
*/
private
Boolean
deleteFlag
;
private
String
deleteFlag
;
/**
* This field was generated by MyBatis Generator.
...
...
@@ -82,6 +82,10 @@ public class SerialNumber {
* @mbggenerated
*/
private
Long
updater
;
/**
* 单据主表id,用于跟踪序列号流向
* */
private
Long
depotheadId
;
/**
* This method was generated by MyBatis Generator.
...
...
@@ -163,7 +167,7 @@ public class SerialNumber {
*
* @mbggenerated
*/
public
Boolean
getIsSell
()
{
public
String
getIsSell
()
{
return
isSell
;
}
...
...
@@ -175,7 +179,7 @@ public class SerialNumber {
*
* @mbggenerated
*/
public
void
setIsSell
(
Boolean
isSell
)
{
public
void
setIsSell
(
String
isSell
)
{
this
.
isSell
=
isSell
;
}
...
...
@@ -211,7 +215,7 @@ public class SerialNumber {
*
* @mbggenerated
*/
public
Boolean
getDeleteFlag
()
{
public
String
getDeleteFlag
()
{
return
deleteFlag
;
}
...
...
@@ -223,7 +227,7 @@ public class SerialNumber {
*
* @mbggenerated
*/
public
void
setDeleteFlag
(
Boolean
deleteFlag
)
{
public
void
setDeleteFlag
(
String
deleteFlag
)
{
this
.
deleteFlag
=
deleteFlag
;
}
...
...
@@ -322,4 +326,13 @@ public class SerialNumber {
public
void
setUpdater
(
Long
updater
)
{
this
.
updater
=
updater
;
}
public
Long
getDepotheadId
()
{
return
depotheadId
;
}
public
void
setDepotheadId
(
Long
depotheadId
)
{
this
.
depotheadId
=
depotheadId
;
}
}
\ No newline at end of file
src/main/java/com/jsh/erp/datasource/entities/SerialNumberExample.java
View file @
37c64788
...
...
@@ -395,52 +395,61 @@ public class SerialNumberExample {
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellEqualTo
(
Boolean
value
)
{
public
Criteria
andIsSellEqualTo
(
String
value
)
{
addCriterion
(
"is_Sell ="
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellNotEqualTo
(
Boolean
value
)
{
public
Criteria
andIsSellNotEqualTo
(
String
value
)
{
addCriterion
(
"is_Sell <>"
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellGreaterThan
(
Boolean
value
)
{
public
Criteria
andIsSellGreaterThan
(
String
value
)
{
addCriterion
(
"is_Sell >"
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellGreaterThanOrEqualTo
(
Boolean
value
)
{
public
Criteria
andIsSellGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"is_Sell >="
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellLessThan
(
Boolean
value
)
{
public
Criteria
andIsSellLessThan
(
String
value
)
{
addCriterion
(
"is_Sell <"
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellLessThanOrEqualTo
(
Boolean
value
)
{
public
Criteria
andIsSellLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"is_Sell <="
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellIn
(
List
<
Boolean
>
values
)
{
public
Criteria
andIsSellLike
(
String
value
)
{
addCriterion
(
"isSell like"
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellNotLike
(
String
value
)
{
addCriterion
(
"isSell not like"
,
value
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellIn
(
List
<
String
>
values
)
{
addCriterion
(
"is_Sell in"
,
values
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellNotIn
(
List
<
Boolean
>
values
)
{
public
Criteria
andIsSellNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"is_Sell not in"
,
values
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellBetween
(
Boolean
value1
,
Boolean
value2
)
{
public
Criteria
andIsSellBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"is_Sell between"
,
value1
,
value2
,
"isSell"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsSellNotBetween
(
Boolean
value1
,
Boolean
value2
)
{
public
Criteria
andIsSellNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"is_Sell not between"
,
value1
,
value2
,
"isSell"
);
return
(
Criteria
)
this
;
}
...
...
@@ -525,52 +534,59 @@ public class SerialNumberExample {
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagEqualTo
(
Boolean
value
)
{
public
Criteria
andDeleteFlagEqualTo
(
String
value
)
{
addCriterion
(
"delete_Flag ="
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagNotEqualTo
(
Boolean
value
)
{
public
Criteria
andDeleteFlagNotEqualTo
(
String
value
)
{
addCriterion
(
"delete_Flag <>"
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagGreaterThan
(
Boolean
value
)
{
public
Criteria
andDeleteFlagGreaterThan
(
String
value
)
{
addCriterion
(
"delete_Flag >"
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagGreaterThanOrEqualTo
(
Boolean
value
)
{
public
Criteria
andDeleteFlagGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"delete_Flag >="
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagLessThan
(
Boolean
value
)
{
public
Criteria
andDeleteFlagLessThan
(
String
value
)
{
addCriterion
(
"delete_Flag <"
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagLessThanOrEqualTo
(
Boolean
value
)
{
public
Criteria
andDeleteFlagLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"delete_Flag <="
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagIn
(
List
<
Boolean
>
values
)
{
public
Criteria
andDeleteFlagLike
(
String
value
)
{
addCriterion
(
"deleteFlag like"
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagNotLike
(
String
value
)
{
addCriterion
(
"deleteFlag not like"
,
value
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagIn
(
List
<
String
>
values
)
{
addCriterion
(
"delete_Flag in"
,
values
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagNotIn
(
List
<
Boolean
>
values
)
{
public
Criteria
andDeleteFlagNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"delete_Flag not in"
,
values
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagBetween
(
Boolean
value1
,
Boolean
value2
)
{
public
Criteria
andDeleteFlagBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"delete_Flag between"
,
value1
,
value2
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeleteFlagNotBetween
(
Boolean
value1
,
Boolean
value2
)
{
public
Criteria
andDeleteFlagNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"delete_Flag not between"
,
value1
,
value2
,
"deleteFlag"
);
return
(
Criteria
)
this
;
}
...
...
@@ -814,6 +830,68 @@ public class SerialNumberExample {
addCriterion
(
"updater not between"
,
value1
,
value2
,
"updater"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdIsNull
()
{
addCriterion
(
"depotheadId is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdIsNotNull
()
{
addCriterion
(
"depotheadId is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdEqualTo
(
Long
value
)
{
addCriterion
(
"depotheadId ="
,
value
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdNotEqualTo
(
Long
value
)
{
addCriterion
(
"depotheadId <>"
,
value
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdGreaterThan
(
Long
value
)
{
addCriterion
(
"depotheadId >"
,
value
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdGreaterThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"depotheadId >="
,
value
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdLessThan
(
Long
value
)
{
addCriterion
(
"depotheadId <"
,
value
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdLessThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"depotheadId <="
,
value
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdIn
(
List
<
Long
>
values
)
{
addCriterion
(
"depotheadId in"
,
values
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdNotIn
(
List
<
Long
>
values
)
{
addCriterion
(
"depotheadId not in"
,
values
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"depotheadId between"
,
value1
,
value2
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDepotheadIdNotBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"depotheadId not between"
,
value1
,
value2
,
"depotheadId"
);
return
(
Criteria
)
this
;
}
}
/**
...
...
src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapper.java
View file @
37c64788
...
...
@@ -101,87 +101,6 @@ public interface DepotHeadMapper {
*/
int
updateByPrimaryKey
(
DepotHead
record
);
List
<
DepotHeadVo4List
>
selectByConditionDepotHead
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"number"
)
String
number
,
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"dhIds"
)
String
dhIds
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
countsByDepotHead
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"number"
)
String
number
,
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"dhIds"
)
String
dhIds
);
Long
getMaxId
();
String
findMaterialsListByHeaderId
(
@Param
(
"id"
)
Long
id
);
List
<
DepotHeadVo4InDetail
>
findByAll
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findByAllCount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
);
List
<
DepotHeadVo4InOutMCount
>
findInOutMaterialCount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findInOutMaterialCountTotal
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
);
List
<
DepotHeadVo4StatementAccount
>
findStatementAccount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"organId"
)
Integer
organId
,
@Param
(
"supType"
)
String
supType
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findStatementAccountCount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"organId"
)
Integer
organId
,
@Param
(
"supType"
)
String
supType
);
BigDecimal
findAllMoney
(
@Param
(
"supplierId"
)
Integer
supplierId
,
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"modeName"
)
String
modeName
,
@Param
(
"endTime"
)
String
endTime
);
List
<
DepotHeadVo4List
>
getDetailByNumber
(
@Param
(
"number"
)
String
number
);
}
\ No newline at end of file
src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java
0 → 100644
View file @
37c64788
package
com.jsh.erp.datasource.mappers
;
import
com.jsh.erp.datasource.entities.DepotHead
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4InDetail
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4InOutMCount
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4List
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount
;
import
org.apache.ibatis.annotations.Param
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* Description
*
* @Author: cjl
* @Date: 2019/1/25 14:50
*/
public
interface
DepotHeadMapperEx
{
List
<
DepotHeadVo4List
>
selectByConditionDepotHead
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"number"
)
String
number
,
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"dhIds"
)
String
dhIds
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
countsByDepotHead
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"number"
)
String
number
,
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"dhIds"
)
String
dhIds
);
Long
getMaxId
();
String
findMaterialsListByHeaderId
(
@Param
(
"id"
)
Long
id
);
List
<
DepotHeadVo4InDetail
>
findByAll
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findByAllCount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
);
List
<
DepotHeadVo4InOutMCount
>
findInOutMaterialCount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findInOutMaterialCountTotal
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"type"
)
String
type
,
@Param
(
"pid"
)
Integer
pid
,
@Param
(
"dids"
)
String
dids
,
@Param
(
"oId"
)
Integer
oId
);
List
<
DepotHeadVo4StatementAccount
>
findStatementAccount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"organId"
)
Integer
organId
,
@Param
(
"supType"
)
String
supType
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findStatementAccountCount
(
@Param
(
"beginTime"
)
String
beginTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"organId"
)
Integer
organId
,
@Param
(
"supType"
)
String
supType
);
BigDecimal
findAllMoney
(
@Param
(
"supplierId"
)
Integer
supplierId
,
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"modeName"
)
String
modeName
,
@Param
(
"endTime"
)
String
endTime
);
List
<
DepotHeadVo4List
>
getDetailByNumber
(
@Param
(
"number"
)
String
number
);
/**
* 新增单据主表信息,并反显单据主表id
* */
int
adddepotHead
(
DepotHead
depotHead
);
/**
* 更新单据主表信息
* */
void
updatedepotHead
(
DepotHead
depotHead
);
}
src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapper.java
View file @
37c64788
...
...
@@ -96,123 +96,6 @@ public interface DepotItemMapper {
*/
int
updateByPrimaryKey
(
DepotItem
record
);
List
<
DepotItem
>
selectByConditionDepotItem
(
@Param
(
"name"
)
String
name
,
@Param
(
"type"
)
Integer
type
,
@Param
(
"remark"
)
String
remark
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
countsByDepotItem
(
@Param
(
"name"
)
String
name
,
@Param
(
"type"
)
Integer
type
,
@Param
(
"remark"
)
String
remark
);
List
<
DepotItemVo4HeaderId
>
getHeaderIdByMaterial
(
@Param
(
"materialParam"
)
String
materialParam
,
@Param
(
"depotIds"
)
String
depotIds
);
List
<
DepotItemVo4DetailByTypeAndMId
>
findDetailByTypeAndMaterialIdList
(
@Param
(
"mId"
)
Long
mId
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findDetailByTypeAndMaterialIdCounts
(
@Param
(
"mId"
)
Long
mId
);
List
<
DepotItemVo4Material
>
findStockNumByMaterialIdList
(
@Param
(
"mId"
)
Long
mId
,
@Param
(
"monthTime"
)
String
monthTime
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findStockNumByMaterialIdCounts
(
@Param
(
"mId"
)
Long
mId
,
@Param
(
"monthTime"
)
String
monthTime
);
int
findByTypeAndMaterialIdIn
(
@Param
(
"mId"
)
Long
mId
);
int
findByTypeAndMaterialIdOut
(
@Param
(
"mId"
)
Long
mId
);
List
<
DepotItemVo4WithInfoEx
>
getDetailList
(
@Param
(
"headerId"
)
Long
headerId
);
List
<
DepotItemVo4WithInfoEx
>
findByAll
(
@Param
(
"headIds"
)
String
headIds
,
@Param
(
"materialIds"
)
String
materialIds
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findByAllCount
(
@Param
(
"headIds"
)
String
headIds
,
@Param
(
"materialIds"
)
String
materialIds
);
BigDecimal
findByTypeInIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findByTypeInIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findByTypeOutIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findByTypeOutIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeInIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeInIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeOutIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeOutIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
buyOrSaleNumber
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
,
@Param
(
"sumType"
)
String
sumType
);
BigDecimal
buyOrSalePrice
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
,
@Param
(
"sumType"
)
String
sumType
);
BigDecimal
findGiftByTypeIn
(
@Param
(
"subType"
)
String
subType
,
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
);
BigDecimal
findGiftByTypeOut
(
@Param
(
"subType"
)
String
subType
,
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
);
}
\ No newline at end of file
src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java
0 → 100644
View file @
37c64788
package
com.jsh.erp.datasource.mappers
;
import
com.jsh.erp.datasource.entities.*
;
import
org.apache.ibatis.annotations.Param
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* Description
*
* @Author: cjl
* @Date: 2019/1/24 16:59
*/
public
interface
DepotItemMapperEx
{
List
<
DepotItem
>
selectByConditionDepotItem
(
@Param
(
"name"
)
String
name
,
@Param
(
"type"
)
Integer
type
,
@Param
(
"remark"
)
String
remark
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
countsByDepotItem
(
@Param
(
"name"
)
String
name
,
@Param
(
"type"
)
Integer
type
,
@Param
(
"remark"
)
String
remark
);
List
<
DepotItemVo4HeaderId
>
getHeaderIdByMaterial
(
@Param
(
"materialParam"
)
String
materialParam
,
@Param
(
"depotIds"
)
String
depotIds
);
List
<
DepotItemVo4DetailByTypeAndMId
>
findDetailByTypeAndMaterialIdList
(
@Param
(
"mId"
)
Long
mId
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findDetailByTypeAndMaterialIdCounts
(
@Param
(
"mId"
)
Long
mId
);
List
<
DepotItemVo4Material
>
findStockNumByMaterialIdList
(
@Param
(
"mId"
)
Long
mId
,
@Param
(
"monthTime"
)
String
monthTime
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findStockNumByMaterialIdCounts
(
@Param
(
"mId"
)
Long
mId
,
@Param
(
"monthTime"
)
String
monthTime
);
int
findByTypeAndMaterialIdIn
(
@Param
(
"mId"
)
Long
mId
);
int
findByTypeAndMaterialIdOut
(
@Param
(
"mId"
)
Long
mId
);
List
<
DepotItemVo4WithInfoEx
>
getDetailList
(
@Param
(
"headerId"
)
Long
headerId
);
List
<
DepotItemVo4WithInfoEx
>
findByAll
(
@Param
(
"headIds"
)
String
headIds
,
@Param
(
"materialIds"
)
String
materialIds
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
);
int
findByAllCount
(
@Param
(
"headIds"
)
String
headIds
,
@Param
(
"materialIds"
)
String
materialIds
);
BigDecimal
findByTypeInIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findByTypeInIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findByTypeOutIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findByTypeOutIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeInIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeInIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeOutIsPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
findPriceByTypeOutIsNotPrev
(
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
);
BigDecimal
buyOrSaleNumber
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
,
@Param
(
"sumType"
)
String
sumType
);
BigDecimal
buyOrSalePrice
(
@Param
(
"type"
)
String
type
,
@Param
(
"subType"
)
String
subType
,
@Param
(
"MId"
)
Long
MId
,
@Param
(
"MonthTime"
)
String
MonthTime
,
@Param
(
"sumType"
)
String
sumType
);
BigDecimal
findGiftByTypeIn
(
@Param
(
"subType"
)
String
subType
,
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
);
BigDecimal
findGiftByTypeOut
(
@Param
(
"subType"
)
String
subType
,
@Param
(
"ProjectId"
)
Integer
ProjectId
,
@Param
(
"MId"
)
Long
MId
);
/**
* create by: cjl
* description:
* 通过单据主表id查询所有单据子表数据
* create time: 2019/1/24 16:56
* @Param: depotheadId
* @return java.util.List<com.jsh.erp.datasource.entities.DepotItem>
*/
List
<
DepotItem
>
findDepotItemListBydepotheadId
(
@Param
(
"depotheadId"
)
Long
depotheadId
,
@Param
(
"enableSerialNumber"
)
String
enableSerialNumber
);
/**
* 根据单据主表id删除单据子表数据
* */
int
deleteDepotItemByDepotHeadIds
(
@Param
(
"depotheadIds"
)
Long
[]
depotHeadIds
);
}
src/main/java/com/jsh/erp/datasource/mappers/SerialNumberMapperEx.java
View file @
37c64788
package
com.jsh.erp.datasource.mappers
;
import
com.jsh.erp.datasource.entities.SerialNumber
;
import
com.jsh.erp.datasource.entities.SerialNumberEx
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -42,4 +42,22 @@ public interface SerialNumberMapperEx {
* 未删除为卖出的视为有效
* */
int
findSerialNumberByMaterialId
(
@Param
(
"materialId"
)
Long
materialId
);
/**
* 查询符合条件的序列号数量
* */
int
countSerialNumberByMaterialIdAndDepotheadId
(
@Param
(
"materialId"
)
Long
materialId
,
@Param
(
"depotheadId"
)
Long
depotheadId
,
@Param
(
"isSell"
)
String
isSell
);
/**
* 卖出: update jsh_serial_number set is_Sell='1' ,depothead_Id='depotheadId' where 1=1 and material_Id='materialId'
* and is_Sell !='1' and delete_Flag !='1' {limit 0,count}
* */
int
sellSerialNumber
(
@Param
(
"materialId"
)
Long
materialId
,
@Param
(
"depotheadId"
)
Long
depotheadId
,
@Param
(
"count"
)
Integer
count
,
@Param
(
"updateTime"
)
Date
updateTime
,
@Param
(
"updater"
)
Long
updater
);
/**
* 赎回:update jsh_serial_number set is_Sell='0' where 1=1 and material_Id='materialId'
* and depothead_Id='depotheadId' and is_Sell !='0' and delete_Flag !='1' {limit 0,count}
* */
int
cancelSerialNumber
(
@Param
(
"materialId"
)
Long
materialId
,
@Param
(
"depotheadId"
)
Long
depotheadId
,
@Param
(
"count"
)
Integer
count
,
@Param
(
"updateTime"
)
Date
updateTime
,
@Param
(
"updater"
)
Long
updater
);
/**
* 批量添加序列号
* */
int
batAddSerialNumber
(
@Param
(
"list"
)
List
<
SerialNumberEx
>
list
);
}
src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java
View file @
37c64788
...
...
@@ -2,14 +2,22 @@ package com.jsh.erp.service.depotHead;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.jsh.erp.constants.BusinessConstants
;
import
com.jsh.erp.datasource.entities.DepotHead
;
import
com.jsh.erp.datasource.entities.DepotHeadExample
;
import
com.jsh.erp.datasource.entities.DepotItem
;
import
com.jsh.erp.datasource.entities.User
;
import
com.jsh.erp.datasource.mappers.DepotHeadMapper
;
import
com.jsh.erp.datasource.mappers.DepotHeadMapperEx
;
import
com.jsh.erp.datasource.mappers.DepotItemMapperEx
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4InDetail
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4InOutMCount
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4List
;
import
com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount
;
import
com.jsh.erp.service.depotItem.DepotItemService
;
import
com.jsh.erp.service.serialNumber.SerialNumberService
;
import
com.jsh.erp.service.supplier.SupplierService
;
import
com.jsh.erp.service.user.UserService
;
import
com.jsh.erp.utils.StringUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -33,6 +41,19 @@ public class DepotHeadService {
@Resource
private
DepotHeadMapper
depotHeadMapper
;
@Resource
private
DepotHeadMapperEx
depotHeadMapperEx
;
@Resource
private
UserService
userService
;
@Resource
DepotItemService
depotItemService
;
@Resource
private
SupplierService
supplierService
;
@Resource
private
SerialNumberService
serialNumberService
;
@Resource
DepotItemMapperEx
depotItemMapperEx
;
public
DepotHead
getDepotHead
(
long
id
)
{
return
depotHeadMapper
.
selectByPrimaryKey
(
id
);
...
...
@@ -45,7 +66,7 @@ public class DepotHeadService {
public
List
<
DepotHeadVo4List
>
select
(
String
type
,
String
subType
,
String
number
,
String
beginTime
,
String
endTime
,
String
dhIds
,
int
offset
,
int
rows
)
{
List
<
DepotHeadVo4List
>
resList
=
new
ArrayList
<
DepotHeadVo4List
>();
List
<
DepotHeadVo4List
>
list
=
depotHeadMapper
.
selectByConditionDepotHead
(
type
,
subType
,
number
,
beginTime
,
endTime
,
dhIds
,
offset
,
rows
);
List
<
DepotHeadVo4List
>
list
=
depotHeadMapper
Ex
.
selectByConditionDepotHead
(
type
,
subType
,
number
,
beginTime
,
endTime
,
dhIds
,
offset
,
rows
);
if
(
null
!=
list
)
{
for
(
DepotHeadVo4List
dh
:
list
)
{
if
(
dh
.
getOthermoneylist
()
!=
null
)
{
...
...
@@ -73,7 +94,7 @@ public class DepotHeadService {
public
int
countDepotHead
(
String
type
,
String
subType
,
String
number
,
String
beginTime
,
String
endTime
,
String
dhIds
)
{
return
depotHeadMapper
.
countsByDepotHead
(
type
,
subType
,
number
,
beginTime
,
endTime
,
dhIds
);
return
depotHeadMapper
Ex
.
countsByDepotHead
(
type
,
subType
,
number
,
beginTime
,
endTime
,
dhIds
);
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
...
...
@@ -169,11 +190,11 @@ public class DepotHeadService {
}
public
Long
getMaxId
()
{
return
depotHeadMapper
.
getMaxId
();
return
depotHeadMapper
Ex
.
getMaxId
();
}
public
String
findMaterialsListByHeaderId
(
Long
id
)
{
String
allReturn
=
depotHeadMapper
.
findMaterialsListByHeaderId
(
id
);
String
allReturn
=
depotHeadMapper
Ex
.
findMaterialsListByHeaderId
(
id
);
return
allReturn
;
}
...
...
@@ -194,27 +215,27 @@ public class DepotHeadService {
}
public
List
<
DepotHeadVo4InDetail
>
findByAll
(
String
beginTime
,
String
endTime
,
String
type
,
Integer
pid
,
String
dids
,
Integer
oId
,
Integer
offset
,
Integer
rows
)
{
return
depotHeadMapper
.
findByAll
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
,
offset
,
rows
);
return
depotHeadMapper
Ex
.
findByAll
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
,
offset
,
rows
);
}
public
int
findByAllCount
(
String
beginTime
,
String
endTime
,
String
type
,
Integer
pid
,
String
dids
,
Integer
oId
)
{
return
depotHeadMapper
.
findByAllCount
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
);
return
depotHeadMapper
Ex
.
findByAllCount
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
);
}
public
List
<
DepotHeadVo4InOutMCount
>
findInOutMaterialCount
(
String
beginTime
,
String
endTime
,
String
type
,
Integer
pid
,
String
dids
,
Integer
oId
,
Integer
offset
,
Integer
rows
)
{
return
depotHeadMapper
.
findInOutMaterialCount
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
,
offset
,
rows
);
return
depotHeadMapper
Ex
.
findInOutMaterialCount
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
,
offset
,
rows
);
}
public
int
findInOutMaterialCountTotal
(
String
beginTime
,
String
endTime
,
String
type
,
Integer
pid
,
String
dids
,
Integer
oId
)
{
return
depotHeadMapper
.
findInOutMaterialCountTotal
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
);
return
depotHeadMapper
Ex
.
findInOutMaterialCountTotal
(
beginTime
,
endTime
,
type
,
pid
,
dids
,
oId
);
}
public
List
<
DepotHeadVo4StatementAccount
>
findStatementAccount
(
String
beginTime
,
String
endTime
,
Integer
organId
,
String
supType
,
Integer
offset
,
Integer
rows
)
{
return
depotHeadMapper
.
findStatementAccount
(
beginTime
,
endTime
,
organId
,
supType
,
offset
,
rows
);
return
depotHeadMapper
Ex
.
findStatementAccount
(
beginTime
,
endTime
,
organId
,
supType
,
offset
,
rows
);
}
public
int
findStatementAccountCount
(
String
beginTime
,
String
endTime
,
Integer
organId
,
String
supType
)
{
return
depotHeadMapper
.
findStatementAccountCount
(
beginTime
,
endTime
,
organId
,
supType
);
return
depotHeadMapper
Ex
.
findStatementAccountCount
(
beginTime
,
endTime
,
organId
,
supType
);
}
public
BigDecimal
findAllMoney
(
Integer
supplierId
,
String
type
,
String
subType
,
String
mode
,
String
endTime
)
{
...
...
@@ -224,12 +245,12 @@ public class DepotHeadService {
}
else
if
(
mode
.
equals
(
"合计"
))
{
modeName
=
"DiscountLastMoney"
;
}
return
depotHeadMapper
.
findAllMoney
(
supplierId
,
type
,
subType
,
modeName
,
endTime
);
return
depotHeadMapper
Ex
.
findAllMoney
(
supplierId
,
type
,
subType
,
modeName
,
endTime
);
}
public
List
<
DepotHeadVo4List
>
getDetailByNumber
(
String
number
)
{
List
<
DepotHeadVo4List
>
resList
=
new
ArrayList
<
DepotHeadVo4List
>();
List
<
DepotHeadVo4List
>
list
=
depotHeadMapper
.
getDetailByNumber
(
number
);
List
<
DepotHeadVo4List
>
list
=
depotHeadMapper
Ex
.
getDetailByNumber
(
number
);
if
(
null
!=
list
)
{
for
(
DepotHeadVo4List
dh
:
list
)
{
if
(
dh
.
getOthermoneylist
()
!=
null
)
{
...
...
@@ -254,4 +275,115 @@ public class DepotHeadService {
return
resList
;
}
/**
* create by: cjl
* description:
* 新增单据主表及单据子表信息
* create time: 2019/1/25 14:36
* @Param: beanJson
* @Param: inserted
* @Param: deleted
* @Param: updated
* @return java.lang.String
*/
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
void
addDepotHeadAndDetail
(
String
beanJson
,
String
inserted
,
String
deleted
,
String
updated
)
throws
Exception
{
/**处理单据主表数据*/
DepotHead
depotHead
=
JSONObject
.
parseObject
(
beanJson
,
DepotHead
.
class
);
//判断用户是否已经登录过,登录过不再处理
User
userInfo
=
userService
.
getCurrentUser
();
depotHead
.
setOperpersonname
(
userInfo
==
null
?
null
:
userInfo
.
getUsername
());
depotHead
.
setCreatetime
(
new
Timestamp
(
System
.
currentTimeMillis
()));
depotHead
.
setStatus
(
false
);
depotHeadMapperEx
.
adddepotHead
(
depotHead
);
/**入库和出库处理预付款信息*/
if
(
BusinessConstants
.
PAY_TYPE_PREPAID
.
equals
(
depotHead
.
getPaytype
())){
if
(
depotHead
.
getOrganid
()!=
null
)
{
supplierService
.
updateAdvanceIn
(
depotHead
.
getOrganid
(),
BigDecimal
.
ZERO
.
subtract
(
depotHead
.
getTotalprice
()));
}
}
/**入库和出库处理单据子表信息*/
depotItemService
.
saveDetials
(
inserted
,
deleted
,
updated
,
depotHead
.
getId
());
}
/**
* create by: cjl
* description:
* 更新单据主表及单据子表信息
* create time: 2019/1/28 14:47
* @Param: id
* @Param: beanJson
* @Param: inserted
* @Param: deleted
* @Param: updated
* @Param: preTotalPrice
* @return java.lang.Object
*/
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
void
updateDepotHeadAndDetail
(
Long
id
,
String
beanJson
,
String
inserted
,
String
deleted
,
String
updated
,
BigDecimal
preTotalPrice
)
throws
Exception
{
/**更新单据主表信息*/
DepotHead
depotHead
=
JSONObject
.
parseObject
(
beanJson
,
DepotHead
.
class
);
//判断用户是否已经登录过,登录过不再处理
depotHead
.
setId
(
id
);
User
userInfo
=
userService
.
getCurrentUser
();
depotHead
.
setOperpersonname
(
userInfo
==
null
?
null
:
userInfo
.
getUsername
());
depotHead
.
setOpertime
(
new
Timestamp
(
System
.
currentTimeMillis
()));
depotHeadMapperEx
.
updatedepotHead
(
depotHead
);
/**入库和出库处理预付款信息*/
if
(
BusinessConstants
.
PAY_TYPE_PREPAID
.
equals
(
depotHead
.
getPaytype
())){
if
(
depotHead
.
getOrganid
()!=
null
){
supplierService
.
updateAdvanceIn
(
depotHead
.
getOrganid
(),
BigDecimal
.
ZERO
.
subtract
(
depotHead
.
getTotalprice
().
subtract
(
preTotalPrice
)));
}
}
/**入库和出库处理单据子表信息*/
depotItemService
.
saveDetials
(
inserted
,
deleted
,
updated
,
depotHead
.
getId
());
}
/**
* create by: cjl
* description:
* 删除单据主表及子表信息
* create time: 2019/1/28 17:29
* @Param: id
* @return java.lang.Object
*/
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
void
deleteDepotHeadAndDetail
(
Long
id
)
throws
Exception
{
//查询单据主表信息
DepotHead
depotHead
=
getDepotHead
(
id
);
User
userInfo
=
userService
.
getCurrentUser
();
//删除出库数据回收序列号
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
//查询单据子表列表
List
<
DepotItem
>
depotItemList
=
depotItemMapperEx
.
findDepotItemListBydepotheadId
(
id
,
BusinessConstants
.
ENABLE_SERIAL_NUMBER_ENABLED
);
/**回收序列号*/
if
(
depotItemList
!=
null
&&
depotItemList
.
size
()>
0
){
for
(
DepotItem
depotItem:
depotItemList
){
serialNumberService
.
cancelSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
userInfo
);
}
}
}
/**删除单据子表数据*/
depotItemMapperEx
.
deleteDepotItemByDepotHeadIds
(
new
Long
[]{
id
});
/**删除单据主表信息*/
deleteDepotHead
(
id
);
}
/**
* create by: cjl
* description:
* 批量删除单据主表及子表信息
* create time: 2019/1/28 17:29
* @Param: id
* @return java.lang.Object
*/
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
void
batchDeleteDepotHeadAndDetail
(
String
ids
)
throws
Exception
{
if
(
StringUtil
.
isNotEmpty
(
ids
)){
String
[]
headIds
=
ids
.
split
(
","
);
for
(
int
i
=
0
;
i
<
headIds
.
length
;
i
++){
deleteDepotHeadAndDetail
(
new
Long
(
headIds
[
i
]));
}
}
}
}
src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java
View file @
37c64788
...
...
@@ -2,9 +2,15 @@ package com.jsh.erp.service.depotItem;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.jsh.erp.constants.BusinessConstants
;
import
com.jsh.erp.datasource.entities.*
;
import
com.jsh.erp.datasource.mappers.DepotHeadMapper
;
import
com.jsh.erp.datasource.mappers.DepotItemMapper
;
import
com.jsh.erp.datasource.mappers.DepotItemMapperEx
;
import
com.jsh.erp.datasource.mappers.SerialNumberMapperEx
;
import
com.jsh.erp.service.material.MaterialService
;
import
com.jsh.erp.service.serialNumber.SerialNumberService
;
import
com.jsh.erp.service.user.UserService
;
import
com.jsh.erp.utils.ErpInfo
;
import
com.jsh.erp.utils.QueryUtils
;
import
com.jsh.erp.utils.StringUtil
;
...
...
@@ -17,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -34,7 +41,17 @@ public class DepotItemService {
@Resource
private
DepotItemMapper
depotItemMapper
;
@Resource
private
DepotItemMapperEx
depotItemMapperEx
;
@Resource
private
MaterialService
materialService
;
@Resource
SerialNumberMapperEx
serialNumberMapperEx
;
@Resource
private
DepotHeadMapper
depotHeadMapper
;
@Resource
SerialNumberService
serialNumberService
;
@Resource
private
UserService
userService
;
public
DepotItem
getDepotItem
(
long
id
)
{
return
depotItemMapper
.
selectByPrimaryKey
(
id
);
...
...
@@ -46,11 +63,11 @@ public class DepotItemService {
}
public
List
<
DepotItem
>
select
(
String
name
,
Integer
type
,
String
remark
,
int
offset
,
int
rows
)
{
return
depotItemMapper
.
selectByConditionDepotItem
(
name
,
type
,
remark
,
offset
,
rows
);
return
depotItemMapper
Ex
.
selectByConditionDepotItem
(
name
,
type
,
remark
,
offset
,
rows
);
}
public
int
countDepotItem
(
String
name
,
Integer
type
,
String
remark
)
{
return
depotItemMapper
.
countsByDepotItem
(
name
,
type
,
remark
);
return
depotItemMapper
Ex
.
countsByDepotItem
(
name
,
type
,
remark
);
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
...
...
@@ -87,7 +104,7 @@ public class DepotItemService {
}
public
List
<
DepotItemVo4HeaderId
>
getHeaderIdByMaterial
(
String
materialParam
,
String
depotIds
)
{
return
depotItemMapper
.
getHeaderIdByMaterial
(
materialParam
,
depotIds
);
return
depotItemMapper
Ex
.
getHeaderIdByMaterial
(
materialParam
,
depotIds
);
}
public
List
<
DepotItemVo4DetailByTypeAndMId
>
findDetailByTypeAndMaterialIdList
(
Map
<
String
,
String
>
map
)
{
...
...
@@ -96,7 +113,7 @@ public class DepotItemService {
if
(!
StringUtil
.
isEmpty
(
mIdStr
))
{
mId
=
Long
.
parseLong
(
mIdStr
);
}
return
depotItemMapper
.
findDetailByTypeAndMaterialIdList
(
mId
,
QueryUtils
.
offset
(
map
),
QueryUtils
.
rows
(
map
));
return
depotItemMapper
Ex
.
findDetailByTypeAndMaterialIdList
(
mId
,
QueryUtils
.
offset
(
map
),
QueryUtils
.
rows
(
map
));
}
public
int
findDetailByTypeAndMaterialIdCounts
(
Map
<
String
,
String
>
map
)
{
...
...
@@ -105,7 +122,7 @@ public class DepotItemService {
if
(!
StringUtil
.
isEmpty
(
mIdStr
))
{
mId
=
Long
.
parseLong
(
mIdStr
);
}
return
depotItemMapper
.
findDetailByTypeAndMaterialIdCounts
(
mId
);
return
depotItemMapper
Ex
.
findDetailByTypeAndMaterialIdCounts
(
mId
);
}
public
List
<
DepotItemVo4Material
>
findStockNumByMaterialIdList
(
Map
<
String
,
String
>
map
)
{
...
...
@@ -115,7 +132,7 @@ public class DepotItemService {
mId
=
Long
.
parseLong
(
mIdStr
);
}
String
monthTime
=
map
.
get
(
"monthTime"
);
return
depotItemMapper
.
findStockNumByMaterialIdList
(
mId
,
monthTime
,
QueryUtils
.
offset
(
map
),
QueryUtils
.
rows
(
map
));
return
depotItemMapper
Ex
.
findStockNumByMaterialIdList
(
mId
,
monthTime
,
QueryUtils
.
offset
(
map
),
QueryUtils
.
rows
(
map
));
}
public
int
findStockNumByMaterialIdCounts
(
Map
<
String
,
String
>
map
)
{
...
...
@@ -125,7 +142,7 @@ public class DepotItemService {
mId
=
Long
.
parseLong
(
mIdStr
);
}
String
monthTime
=
map
.
get
(
"monthTime"
);
return
depotItemMapper
.
findStockNumByMaterialIdCounts
(
mId
,
monthTime
);
return
depotItemMapper
Ex
.
findStockNumByMaterialIdCounts
(
mId
,
monthTime
);
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
...
...
@@ -140,36 +157,36 @@ public class DepotItemService {
public
int
findByTypeAndMaterialId
(
String
type
,
Long
mId
)
{
if
(
type
.
equals
(
TYPE
))
{
return
depotItemMapper
.
findByTypeAndMaterialIdIn
(
mId
);
return
depotItemMapper
Ex
.
findByTypeAndMaterialIdIn
(
mId
);
}
else
{
return
depotItemMapper
.
findByTypeAndMaterialIdOut
(
mId
);
return
depotItemMapper
Ex
.
findByTypeAndMaterialIdOut
(
mId
);
}
}
public
List
<
DepotItemVo4WithInfoEx
>
getDetailList
(
Long
headerId
)
{
return
depotItemMapper
.
getDetailList
(
headerId
);
return
depotItemMapper
Ex
.
getDetailList
(
headerId
);
}
public
List
<
DepotItemVo4WithInfoEx
>
findByAll
(
String
headIds
,
String
materialIds
,
Integer
offset
,
Integer
rows
)
{
return
depotItemMapper
.
findByAll
(
headIds
,
materialIds
,
offset
,
rows
);
return
depotItemMapper
Ex
.
findByAll
(
headIds
,
materialIds
,
offset
,
rows
);
}
public
int
findByAllCount
(
String
headIds
,
String
materialIds
)
{
return
depotItemMapper
.
findByAllCount
(
headIds
,
materialIds
);
return
depotItemMapper
Ex
.
findByAllCount
(
headIds
,
materialIds
);
}
public
BigDecimal
findByType
(
String
type
,
Integer
ProjectId
,
Long
MId
,
String
MonthTime
,
Boolean
isPrev
)
{
if
(
TYPE
.
equals
(
type
))
{
if
(
isPrev
)
{
return
depotItemMapper
.
findByTypeInIsPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findByTypeInIsPrev
(
ProjectId
,
MId
,
MonthTime
);
}
else
{
return
depotItemMapper
.
findByTypeInIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findByTypeInIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
}
}
else
{
if
(
isPrev
)
{
return
depotItemMapper
.
findByTypeOutIsPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findByTypeOutIsPrev
(
ProjectId
,
MId
,
MonthTime
);
}
else
{
return
depotItemMapper
.
findByTypeOutIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findByTypeOutIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
}
}
}
...
...
@@ -177,41 +194,64 @@ public class DepotItemService {
public
BigDecimal
findPriceByType
(
String
type
,
Integer
ProjectId
,
Long
MId
,
String
MonthTime
,
Boolean
isPrev
)
{
if
(
TYPE
.
equals
(
type
))
{
if
(
isPrev
)
{
return
depotItemMapper
.
findPriceByTypeInIsPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findPriceByTypeInIsPrev
(
ProjectId
,
MId
,
MonthTime
);
}
else
{
return
depotItemMapper
.
findPriceByTypeInIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findPriceByTypeInIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
}
}
else
{
if
(
isPrev
)
{
return
depotItemMapper
.
findPriceByTypeOutIsPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findPriceByTypeOutIsPrev
(
ProjectId
,
MId
,
MonthTime
);
}
else
{
return
depotItemMapper
.
findPriceByTypeOutIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
return
depotItemMapper
Ex
.
findPriceByTypeOutIsNotPrev
(
ProjectId
,
MId
,
MonthTime
);
}
}
}
public
BigDecimal
buyOrSale
(
String
type
,
String
subType
,
Long
MId
,
String
MonthTime
,
String
sumType
)
{
if
(
SUM_TYPE
.
equals
(
sumType
))
{
return
depotItemMapper
.
buyOrSaleNumber
(
type
,
subType
,
MId
,
MonthTime
,
sumType
);
return
depotItemMapper
Ex
.
buyOrSaleNumber
(
type
,
subType
,
MId
,
MonthTime
,
sumType
);
}
else
{
return
depotItemMapper
.
buyOrSalePrice
(
type
,
subType
,
MId
,
MonthTime
,
sumType
);
return
depotItemMapper
Ex
.
buyOrSalePrice
(
type
,
subType
,
MId
,
MonthTime
,
sumType
);
}
}
public
BigDecimal
findGiftByType
(
String
subType
,
Integer
ProjectId
,
Long
MId
,
String
type
)
{
if
(
IN
.
equals
(
type
))
{
return
depotItemMapper
.
findGiftByTypeIn
(
subType
,
ProjectId
,
MId
);
return
depotItemMapper
Ex
.
findGiftByTypeIn
(
subType
,
ProjectId
,
MId
);
}
else
{
return
depotItemMapper
.
findGiftByTypeOut
(
subType
,
ProjectId
,
MId
);
return
depotItemMapper
Ex
.
findGiftByTypeOut
(
subType
,
ProjectId
,
MId
);
}
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
String
saveDetials
(
String
inserted
,
String
deleted
,
String
updated
,
Long
headerId
)
throws
DataAccessException
{
//转为json
public
String
saveDetials
(
String
inserted
,
String
deleted
,
String
updated
,
Long
headerId
)
throws
Exception
{
//查询单据主表信息
DepotHead
depotHead
=
depotHeadMapper
.
selectByPrimaryKey
(
headerId
);
//获得当前操作人
User
userInfo
=
userService
.
getCurrentUser
();
//转为json
JSONArray
insertedJson
=
JSONArray
.
parseArray
(
inserted
);
JSONArray
deletedJson
=
JSONArray
.
parseArray
(
deleted
);
JSONArray
updatedJson
=
JSONArray
.
parseArray
(
updated
);
/**
* 2019-01-28优先处理删除的
* 删除的可以继续卖,删除的需要将使用的序列号回收
* 插入的需要判断当前货源是否充足
* 更新的需要判断货源是否充足
* */
if
(
null
!=
deletedJson
)
{
for
(
int
i
=
0
;
i
<
deletedJson
.
size
();
i
++)
{
//首先回收序列号,如果是调拨,不用处理序列号
JSONObject
tempDeletedJson
=
JSONObject
.
parseObject
(
deletedJson
.
getString
(
i
));
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
DepotItem
depotItem
=
getDepotItem
(
tempDeletedJson
.
getLong
(
"Id"
));
serialNumberMapperEx
.
cancelSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
new
Date
(),
userInfo
==
null
?
null
:
userInfo
.
getId
());
}
this
.
deleteDepotItem
(
tempDeletedJson
.
getLong
(
"Id"
));
}
}
if
(
null
!=
insertedJson
)
{
for
(
int
i
=
0
;
i
<
insertedJson
.
size
();
i
++)
{
DepotItem
depotItem
=
new
DepotItem
();
...
...
@@ -289,18 +329,25 @@ public class DepotItemService {
depotItem
.
setMtype
(
tempInsertedJson
.
getString
(
"MType"
));
}
this
.
insertDepotItemWithObj
(
depotItem
);
/**出库时处理序列号*/
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
//查询单据子表中开启序列号的数据列表
serialNumberService
.
checkAndUpdateSerialNumber
(
depotItem
,
userInfo
);
}
}
}
if
(
null
!=
deletedJson
)
{
for
(
int
i
=
0
;
i
<
deletedJson
.
size
();
i
++)
{
JSONObject
tempDeletedJson
=
JSONObject
.
parseObject
(
deletedJson
.
getString
(
i
));
this
.
deleteDepotItem
(
tempDeletedJson
.
getLong
(
"Id"
));
}
}
if
(
null
!=
updatedJson
)
{
for
(
int
i
=
0
;
i
<
updatedJson
.
size
();
i
++)
{
JSONObject
tempUpdatedJson
=
JSONObject
.
parseObject
(
updatedJson
.
getString
(
i
));
DepotItem
depotItem
=
this
.
getDepotItem
(
tempUpdatedJson
.
getLong
(
"Id"
));
//首先回收序列号
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
()))
{
serialNumberMapperEx
.
cancelSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
new
Date
(),
userInfo
==
null
?
null
:
userInfo
.
getId
());
}
depotItem
.
setId
(
tempUpdatedJson
.
getLong
(
"Id"
));
depotItem
.
setMaterialid
(
tempUpdatedJson
.
getLong
(
"MaterialId"
));
depotItem
.
setMunit
(
tempUpdatedJson
.
getString
(
"Unit"
));
...
...
@@ -362,6 +409,12 @@ public class DepotItemService {
depotItem
.
setOtherfield5
(
tempUpdatedJson
.
getString
(
"OtherField5"
));
depotItem
.
setMtype
(
tempUpdatedJson
.
getString
(
"MType"
));
this
.
updateDepotItemWithObj
(
depotItem
);
/**出库时处理序列号*/
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
//查询单据子表中开启序列号的数据列表
serialNumberService
.
checkAndUpdateSerialNumber
(
depotItem
,
userInfo
);
}
}
}
return
null
;
...
...
@@ -386,4 +439,5 @@ public class DepotItemService {
}
return
unitName
;
}
}
src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java
View file @
37c64788
...
...
@@ -4,9 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.jsh.erp.constants.BusinessConstants
;
import
com.jsh.erp.constants.ExceptionConstants
;
import
com.jsh.erp.datasource.entities.*
;
import
com.jsh.erp.datasource.mappers.MaterialMapperEx
;
import
com.jsh.erp.datasource.mappers.SerialNumberMapper
;
import
com.jsh.erp.datasource.mappers.SerialNumberMapperEx
;
import
com.jsh.erp.datasource.mappers.*
;
import
com.jsh.erp.exception.BusinessRunTimeException
;
import
com.jsh.erp.service.depotItem.DepotItemService
;
import
com.jsh.erp.service.material.MaterialService
;
...
...
@@ -19,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -39,9 +38,13 @@ public class SerialNumberService {
@Resource
private
MaterialMapperEx
materialMapperEx
;
@Resource
private
MaterialMapper
materialMapper
;
@Resource
private
DepotItemService
depotItemService
;
@Resource
private
UserService
userService
;
@Resource
private
DepotItemMapperEx
depotItemMapperEx
;
public
SerialNumber
getSerialNumber
(
long
id
)
{
...
...
@@ -173,9 +176,9 @@ public class SerialNumberService {
serialNumberEx
.
setMaterialId
(
getSerialNumberMaterialIdByMaterialName
(
serialNumberEx
.
getMaterialName
()));
}
//删除标记,默认未删除
serialNumberEx
.
setDeleteFlag
(
false
);
serialNumberEx
.
setDeleteFlag
(
BusinessConstants
.
DELETE_FLAG_EXISTS
);
//已卖出,默认未否
serialNumberEx
.
setIsSell
(
false
);
serialNumberEx
.
setIsSell
(
BusinessConstants
.
IS_SELL_HOLD
);
Date
date
=
new
Date
();
serialNumberEx
.
setCreateTime
(
date
);
serialNumberEx
.
setUpdateTime
(
date
);
...
...
@@ -208,38 +211,52 @@ public class SerialNumberService {
/**
* create by: cjl
* description:
* 根据商品名称判断给商品添加序列号是否可行
* 1、根据商品名称必须查询到唯一的商品
* 2、该商品必须已经启用序列号
* 3、该商品已绑定序列号数量小于商品现有库存
* 根据商品名称判断商品名称是否有效
* create time: 2019/1/23 17:04
* @Param: materialName
* @return Long 满足使用条件的商品的id
*/
public
Long
getSerialNumberMaterialIdBy
MaterialName
(
String
materialName
){
if
(
StringUtil
.
isNotEmpty
(
materialName
)){
public
Long
check
MaterialName
(
String
materialName
){
if
(
StringUtil
.
isNotEmpty
(
materialName
))
{
List
<
Material
>
mlist
=
materialMapperEx
.
findByMaterialName
(
materialName
);
if
(
mlist
==
null
||
mlist
.
size
()
<
1
){
if
(
mlist
==
null
||
mlist
.
size
()
<
1
)
{
//商品名称不存在
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_NOT_EXISTS_CODE
,
ExceptionConstants
.
MATERIAL_NOT_EXISTS_MSG
);
}
if
(
mlist
.
size
()
>
1
){
if
(
mlist
.
size
()
>
1
)
{
//商品信息不唯一
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_NOT_ONLY_CODE
,
ExceptionConstants
.
MATERIAL_NOT_ONLY_MSG
);
}
//获得唯一商品
if
(
BusinessConstants
.
MATERIAL_NOT_
ENABLE_SERIAL_NUMBER
==
mlist
.
get
(
0
).
getEnableSerialNumber
()){
if
(
BusinessConstants
.
ENABLE_SERIAL_NUMBER
_NOT_ENABLED
.
equals
(
mlist
.
get
(
0
).
getEnableSerialNumber
())
)
{
//商品未开启序列号
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_NOT_ENABLE_SERIAL_NUMBER_CODE
,
ExceptionConstants
.
MATERIAL_NOT_ENABLE_SERIAL_NUMBER_MSG
);
}
return
mlist
.
get
(
0
).
getId
();
}
return
null
;
}
/**
* create by: cjl
* description:
* 根据商品名称判断给商品添加序列号是否可行
* 1、根据商品名称必须查询到唯一的商品
* 2、该商品必须已经启用序列号
* 3、该商品已绑定序列号数量小于商品现有库存
* create time: 2019/1/23 17:04
* @Param: materialName
* @return Long 满足使用条件的商品的id
*/
public
Long
getSerialNumberMaterialIdByMaterialName
(
String
materialName
){
if
(
StringUtil
.
isNotEmpty
(
materialName
)){
//计算商品库存和目前占用的可用序列号数量关系
//库存=入库-出库
//入库数量
Long
materialId
=
mlist
.
get
(
0
).
getId
(
);
Long
materialId
=
checkMaterialName
(
materialName
);
int
inSum
=
depotItemService
.
findByTypeAndMaterialId
(
BusinessConstants
.
DEPOTHEAD_TYPE_STORAGE
,
materialId
);
//出库数量
int
outSum
=
depotItemService
.
findByTypeAndMaterialId
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
,
materialId
);
...
...
@@ -254,4 +271,113 @@ public class SerialNumberService {
return
null
;
}
/**
* create by: cjl
* description:
* 出库时判断序列号库存是否足够,
* 同时将对应的序列号绑定单据
* create time: 2019/1/24 16:24
* @Param: List<DepotItem>
* @return void
*/
public
void
checkAndUpdateSerialNumber
(
DepotItem
depotItem
,
User
userInfo
)
throws
Exception
{
if
(
depotItem
!=
null
){
//查询商品下已分配的可用序列号数量
int
SerialNumberSum
=
serialNumberMapperEx
.
countSerialNumberByMaterialIdAndDepotheadId
(
depotItem
.
getMaterialid
(),
null
,
BusinessConstants
.
IS_SELL_HOLD
);
if
(
depotItem
.
getOpernumber
().
intValue
()>
SerialNumberSum
){
//获取商品名称
Material
material
=
materialMapper
.
selectByPrimaryKey
(
depotItem
.
getMaterialid
());
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_MSG
,
material
==
null
?
""
:
material
.
getName
()));
}
//商品下序列号充足,分配序列号
sellSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
userInfo
);
}
}
/**
*
*
* */
/**
* create by: cjl
* description:
* 卖出序列号
* create time: 2019/1/25 9:17
* @Param: materialId
* @Param: depotheadId
* @Param: isSell 卖出'1'
* @Param: Count 卖出或者赎回的数量
* @return com.jsh.erp.datasource.entities.SerialNumberEx
*/
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
int
sellSerialNumber
(
Long
materialId
,
Long
depotheadId
,
int
count
,
User
user
)
throws
Exception
{
return
serialNumberMapperEx
.
sellSerialNumber
(
materialId
,
depotheadId
,
count
,
new
Date
(),
user
==
null
?
null
:
user
.
getId
());
}
/**
* create by: cjl
* description:
* 赎回序列号
* create time: 2019/1/25 9:17
* @Param: materialId
* @Param: depotheadId
* @Param: isSell 赎回'0'
* @Param: Count 卖出或者赎回的数量
* @return com.jsh.erp.datasource.entities.SerialNumberEx
*/
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
int
cancelSerialNumber
(
Long
materialId
,
Long
depotheadId
,
int
count
,
User
user
)
throws
Exception
{
return
serialNumberMapperEx
.
cancelSerialNumber
(
materialId
,
depotheadId
,
count
,
new
Date
(),
user
==
null
?
null
:
user
.
getId
());
}
/**
* create by: cjl
* description:
*批量添加序列号
* create time: 2019/1/29 15:11
* @Param: materialName
* @Param: serialNumberPrefix
* @Param: batAddTotal
* @Param: remark
* @return java.lang.Object
*/
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
void
batAddSerialNumber
(
String
materialName
,
String
serialNumberPrefix
,
Integer
batAddTotal
,
String
remark
)
{
if
(
StringUtil
.
isNotEmpty
(
materialName
)){
//查询商品id
Long
materialId
=
checkMaterialName
(
materialName
);
List
<
SerialNumberEx
>
list
=
null
;
//当前用户
User
userInfo
=
userService
.
getCurrentUser
();
Long
userId
=
userInfo
==
null
?
null
:
userInfo
.
getId
();
Date
date
=
null
;
Long
million
=
null
;
synchronized
(
this
){
date
=
new
Date
();
million
=
date
.
getTime
();
}
int
insertNum
=
0
;
StringBuffer
prefixBuf
=
new
StringBuffer
(
serialNumberPrefix
).
append
(
million
);
do
{
list
=
new
ArrayList
<
SerialNumberEx
>();
int
forNum
=
BusinessConstants
.
BATCH_INSERT_MAX_NUMBER
>=
batAddTotal
?
batAddTotal:
BusinessConstants
.
BATCH_INSERT_MAX_NUMBER
;
for
(
int
i
=
0
;
i
<
forNum
;
i
++){
insertNum
++;
SerialNumberEx
each
=
new
SerialNumberEx
();
each
.
setMaterialId
(
materialId
);
each
.
setCreator
(
userId
);
each
.
setCreateTime
(
date
);
each
.
setUpdater
(
userId
);
each
.
setUpdateTime
(
date
);
each
.
setRemark
(
remark
);
each
.
setSerialNumber
(
new
StringBuffer
(
prefixBuf
.
toString
()).
append
(
insertNum
).
toString
());
list
.
add
(
each
);
}
serialNumberMapperEx
.
batAddSerialNumber
(
list
);
batAddTotal
-=
BusinessConstants
.
BATCH_INSERT_MAX_NUMBER
;
}
while
(
batAddTotal
>
0
);
}
}
}
src/main/java/com/jsh/erp/service/supplier/SupplierService.java
View file @
37c64788
...
...
@@ -78,8 +78,13 @@ public class SupplierService {
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
int
updateAdvanceIn
(
Long
supplierId
,
BigDecimal
advanceIn
){
Supplier
supplier
=
supplierMapper
.
selectByPrimaryKey
(
supplierId
);
supplier
.
setAdvancein
(
supplier
.
getAdvancein
().
add
(
advanceIn
));
//增加预收款的金额,可能增加的是负值
return
supplierMapper
.
updateByPrimaryKeySelective
(
supplier
);
if
(
supplier
!=
null
){
supplier
.
setAdvancein
(
supplier
.
getAdvancein
().
add
(
advanceIn
));
//增加预收款的金额,可能增加的是负值
return
supplierMapper
.
updateByPrimaryKeySelective
(
supplier
);
}
else
{
return
0
;
}
}
public
List
<
Supplier
>
findBySelectCus
()
{
...
...
src/main/resources/mapper_xml/DepotHeadMapperEx.xml
View file @
37c64788
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.jsh.erp.datasource.mappers.DepotHeadMapper"
>
<mapper
namespace=
"com.jsh.erp.datasource.mappers.DepotHeadMapper
Ex
"
>
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapEx"
type=
"com.jsh.erp.datasource.vo.DepotHeadVo4List"
>
<resultMap
extends=
"
com.jsh.erp.datasource.mappers.DepotHeadMapper.
BaseResultMap"
id=
"ResultMapEx"
type=
"com.jsh.erp.datasource.vo.DepotHeadVo4List"
>
<result
column=
"ProjectName"
jdbcType=
"VARCHAR"
property=
"projectName"
/>
<result
column=
"OrganName"
jdbcType=
"VARCHAR"
property=
"organName"
/>
<result
column=
"HandsPersonName"
jdbcType=
"VARCHAR"
property=
"handsPersonName"
/>
...
...
@@ -282,4 +282,112 @@
</if>
</select>
<insert
id=
"adddepotHead"
parameterType=
"com.jsh.erp.datasource.entities.DepotHead"
useGeneratedKeys=
"true"
keyProperty=
"id"
keyColumn=
"id"
>
insert into jsh_depothead (Type, SubType,
ProjectId, DefaultNumber, Number,
OperPersonName, CreateTime, OperTime,
OrganId, HandsPersonId, AccountId,
ChangeAmount, AllocationProjectId, TotalPrice,
PayType, Remark, Salesman,
AccountIdList, AccountMoneyList, Discount,
DiscountMoney, DiscountLastMoney, OtherMoney,
OtherMoneyList, OtherMoneyItem, AccountDay,
Status)
values (#{type,jdbcType=VARCHAR}, #{subtype,jdbcType=VARCHAR},
#{projectid,jdbcType=BIGINT}, #{defaultnumber,jdbcType=VARCHAR}, #{number,jdbcType=VARCHAR},
#{operpersonname,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}, #{opertime,jdbcType=TIMESTAMP},
#{organid,jdbcType=BIGINT}, #{handspersonid,jdbcType=BIGINT}, #{accountid,jdbcType=BIGINT},
#{changeamount,jdbcType=DECIMAL}, #{allocationprojectid,jdbcType=BIGINT}, #{totalprice,jdbcType=DECIMAL},
#{paytype,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{salesman,jdbcType=VARCHAR},
#{accountidlist,jdbcType=VARCHAR}, #{accountmoneylist,jdbcType=VARCHAR}, #{discount,jdbcType=DECIMAL},
#{discountmoney,jdbcType=DECIMAL}, #{discountlastmoney,jdbcType=DECIMAL}, #{othermoney,jdbcType=DECIMAL},
#{othermoneylist,jdbcType=VARCHAR}, #{othermoneyitem,jdbcType=VARCHAR}, #{accountday,jdbcType=INTEGER},
#{status,jdbcType=BIT})
</insert>
<update
id=
"updatedepotHead"
parameterType=
"com.jsh.erp.datasource.entities.DepotHead"
>
update jsh_depothead
<set>
<if
test=
"type != null"
>
Type = #{type,jdbcType=VARCHAR},
</if>
<if
test=
"subtype != null"
>
SubType = #{subtype,jdbcType=VARCHAR},
</if>
<if
test=
"projectid != null"
>
ProjectId = #{projectid,jdbcType=BIGINT},
</if>
<if
test=
"defaultnumber != null"
>
DefaultNumber = #{defaultnumber,jdbcType=VARCHAR},
</if>
<if
test=
"number != null"
>
Number = #{number,jdbcType=VARCHAR},
</if>
<if
test=
"operpersonname != null"
>
OperPersonName = #{operpersonname,jdbcType=VARCHAR},
</if>
<if
test=
"opertime != null"
>
OperTime = #{opertime,jdbcType=TIMESTAMP},
</if>
<if
test=
"organid != null"
>
OrganId = #{organid,jdbcType=BIGINT},
</if>
<if
test=
"handspersonid != null"
>
HandsPersonId = #{handspersonid,jdbcType=BIGINT},
</if>
<if
test=
"accountid != null"
>
AccountId = #{accountid,jdbcType=BIGINT},
</if>
<if
test=
"changeamount != null"
>
ChangeAmount = #{changeamount,jdbcType=DECIMAL},
</if>
<if
test=
"allocationprojectid != null"
>
AllocationProjectId = #{allocationprojectid,jdbcType=BIGINT},
</if>
<if
test=
"totalprice != null"
>
TotalPrice = #{totalprice,jdbcType=DECIMAL},
</if>
<if
test=
"paytype != null"
>
PayType = #{paytype,jdbcType=VARCHAR},
</if>
<if
test=
"remark != null"
>
Remark = #{remark,jdbcType=VARCHAR},
</if>
<if
test=
"salesman != null"
>
Salesman = #{salesman,jdbcType=VARCHAR},
</if>
<if
test=
"accountidlist != null"
>
AccountIdList = #{accountidlist,jdbcType=VARCHAR},
</if>
<if
test=
"accountmoneylist != null"
>
AccountMoneyList = #{accountmoneylist,jdbcType=VARCHAR},
</if>
<if
test=
"discount != null"
>
Discount = #{discount,jdbcType=DECIMAL},
</if>
<if
test=
"discountmoney != null"
>
DiscountMoney = #{discountmoney,jdbcType=DECIMAL},
</if>
<if
test=
"discountlastmoney != null"
>
DiscountLastMoney = #{discountlastmoney,jdbcType=DECIMAL},
</if>
<if
test=
"othermoney != null"
>
OtherMoney = #{othermoney,jdbcType=DECIMAL},
</if>
<if
test=
"othermoneylist != null"
>
OtherMoneyList = #{othermoneylist,jdbcType=VARCHAR},
</if>
<if
test=
"othermoneyitem != null"
>
OtherMoneyItem = #{othermoneyitem,jdbcType=VARCHAR},
</if>
<if
test=
"accountday != null"
>
AccountDay = #{accountday,jdbcType=INTEGER},
</if>
<if
test=
"status != null"
>
Status = #{status,jdbcType=BIT},
</if>
</set>
where Id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
src/main/resources/mapper_xml/DepotItemMapperEx.xml
View file @
37c64788
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.jsh.erp.datasource.mappers.DepotItemMapper"
>
<mapper
namespace=
"com.jsh.erp.datasource.mappers.DepotItemMapperEx"
>
<resultMap
id=
"HeaderIdResultMap"
type=
"com.jsh.erp.datasource.entities.DepotItemVo4HeaderId"
>
<result
column=
"HeaderId"
jdbcType=
"BIGINT"
property=
"headerid"
/>
</resultMap>
...
...
@@ -12,12 +13,12 @@
<result
column=
"oTime"
jdbcType=
"TIMESTAMP"
property=
"otime"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultAndMaterialMap"
type=
"com.jsh.erp.datasource.entities.DepotItemVo4Material"
>
<resultMap
extends=
"
com.jsh.erp.datasource.mappers.DepotItemMapper.
BaseResultMap"
id=
"ResultAndMaterialMap"
type=
"com.jsh.erp.datasource.entities.DepotItemVo4Material"
>
<result
column=
"mName"
jdbcType=
"VARCHAR"
property=
"mname"
/>
<result
column=
"mModel"
jdbcType=
"VARCHAR"
property=
"mmodel"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultWithInfoExMap"
type=
"com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx"
>
<resultMap
extends=
"
com.jsh.erp.datasource.mappers.DepotItemMapper.
BaseResultMap"
id=
"ResultWithInfoExMap"
type=
"com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx"
>
<result
column=
"MName"
jdbcType=
"VARCHAR"
property=
"MName"
/>
<result
column=
"MModel"
jdbcType=
"VARCHAR"
property=
"MModel"
/>
<result
column=
"MaterialUnit"
jdbcType=
"VARCHAR"
property=
"MaterialUnit"
/>
...
...
@@ -33,7 +34,7 @@
<result
column=
"UName"
jdbcType=
"VARCHAR"
property=
"UName"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultByMaterial"
type=
"com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx"
>
<resultMap
extends=
"
com.jsh.erp.datasource.mappers.DepotItemMapper.
BaseResultMap"
id=
"ResultByMaterial"
type=
"com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx"
>
<result
column=
"MId"
jdbcType=
"VARCHAR"
property=
"MId"
/>
<result
column=
"MName"
jdbcType=
"VARCHAR"
property=
"MName"
/>
<result
column=
"MModel"
jdbcType=
"VARCHAR"
property=
"MModel"
/>
...
...
@@ -41,7 +42,7 @@
<result
column=
"MColor"
jdbcType=
"VARCHAR"
property=
"MColor"
/>
</resultMap>
<select
id=
"selectByConditionDepotItem"
parameterType=
"com.jsh.erp.datasource.entities.DepotItemExample"
resultMap=
"BaseResultMap"
>
<select
id=
"selectByConditionDepotItem"
parameterType=
"com.jsh.erp.datasource.entities.DepotItemExample"
resultMap=
"
com.jsh.erp.datasource.mappers.DepotItemMapper.
BaseResultMap"
>
select *
FROM jsh_depotitem
where 1=1
...
...
@@ -274,4 +275,35 @@
and jsh_depotitem.MaterialId =${MId}
</select>
<select
id=
"findDepotItemListBydepotheadId"
resultType=
"com.jsh.erp.datasource.entities.DepotItem"
>
select
dep.id,dep.headerId,dep.materialid,dep.munit,dep.opernumber,
dep.basicnumber,dep.unitprice,dep.taxunitprice,dep.allprice,dep.remark,
dep.img,dep.incidentals,dep.depotid,dep.anotherdepotid,dep.taxrate,
dep.taxmoney,dep.taxlastmoney,dep.otherfield1,dep.otherfield2,dep.otherfield3,
dep.otherfield4,dep.otherfield5,dep.mtype
from jsh_depotitem dep,jsh_material mat
where 1=1
<if
test=
"depotheadId != null"
>
and HeaderId = #{depotheadId}
</if>
and dep.materialid=mat.id
<if
test=
"enableSerialNumber != null"
>
and mat.enableSerialNumber = #{enableSerialNumber}
</if>
</select>
<delete
id=
"deleteDepotItemByDepotHeadIds"
>
delete from jsh_depotitem
where 1=1
and HeaderId in
(
<foreach
collection=
"depotheadIds"
item=
"depotheadId"
separator=
","
>
#{depotheadId}
</foreach>
)
</delete>
</mapper>
\ No newline at end of file
src/main/resources/mapper_xml/MaterialMapper.xml
View file @
37c64788
...
...
@@ -29,7 +29,7 @@
<result
column=
"OtherField1"
jdbcType=
"VARCHAR"
property=
"otherfield1"
/>
<result
column=
"OtherField2"
jdbcType=
"VARCHAR"
property=
"otherfield2"
/>
<result
column=
"OtherField3"
jdbcType=
"VARCHAR"
property=
"otherfield3"
/>
<result
column=
"enableSerialNumber"
jdbcType=
"
BIT
"
property=
"enableSerialNumber"
/>
<result
column=
"enableSerialNumber"
jdbcType=
"
VARCHAR
"
property=
"enableSerialNumber"
/>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<!--
...
...
@@ -172,7 +172,7 @@
#{lowprice,jdbcType=DECIMAL}, #{presetpriceone,jdbcType=DECIMAL}, #{presetpricetwo,jdbcType=DECIMAL},
#{unitid,jdbcType=BIGINT}, #{firstoutunit,jdbcType=VARCHAR}, #{firstinunit,jdbcType=VARCHAR},
#{pricestrategy,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{otherfield1,jdbcType=VARCHAR},
#{otherfield2,jdbcType=VARCHAR}, #{otherfield3,jdbcType=VARCHAR},#{enableSerialNumber,jdbcType=
BIT
})
#{otherfield2,jdbcType=VARCHAR}, #{otherfield3,jdbcType=VARCHAR},#{enableSerialNumber,jdbcType=
VARCHAR
})
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.jsh.erp.datasource.entities.Material"
>
<!--
...
...
@@ -325,7 +325,7 @@
#{otherfield3,jdbcType=VARCHAR},
</if>
<if
test=
"enableSerialNumber != null"
>
#{enableSerialNumber,jdbcType=
BIT
},
#{enableSerialNumber,jdbcType=
VARCHAR
},
</if>
</trim>
</insert>
...
...
@@ -452,7 +452,7 @@
OtherField1 = #{record.otherfield1,jdbcType=VARCHAR},
OtherField2 = #{record.otherfield2,jdbcType=VARCHAR},
OtherField3 = #{record.otherfield3,jdbcType=VARCHAR}
enableSerialNumber = #{record.enableSerialNumber,jdbcType=
BIT
}
enableSerialNumber = #{record.enableSerialNumber,jdbcType=
VARCHAR
}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
...
...
src/main/resources/mapper_xml/MaterialMapperEx.xml
View file @
37c64788
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.jsh.erp.datasource.mappers.MaterialMapperEx"
>
<resultMap
id=
"BaseResultMap"
type=
"com.jsh.erp.datasource.entities.Material"
>
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
-->
<id
column=
"Id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"CategoryId"
jdbcType=
"BIGINT"
property=
"categoryid"
/>
<result
column=
"Name"
jdbcType=
"VARCHAR"
property=
"name"
/>
<result
column=
"Mfrs"
jdbcType=
"VARCHAR"
property=
"mfrs"
/>
<result
column=
"Packing"
jdbcType=
"DECIMAL"
property=
"packing"
/>
<result
column=
"SafetyStock"
jdbcType=
"DECIMAL"
property=
"safetystock"
/>
<result
column=
"Model"
jdbcType=
"VARCHAR"
property=
"model"
/>
<result
column=
"Standard"
jdbcType=
"VARCHAR"
property=
"standard"
/>
<result
column=
"Color"
jdbcType=
"VARCHAR"
property=
"color"
/>
<result
column=
"Unit"
jdbcType=
"VARCHAR"
property=
"unit"
/>
<result
column=
"Remark"
jdbcType=
"VARCHAR"
property=
"remark"
/>
<result
column=
"RetailPrice"
jdbcType=
"DECIMAL"
property=
"retailprice"
/>
<result
column=
"LowPrice"
jdbcType=
"DECIMAL"
property=
"lowprice"
/>
<result
column=
"PresetPriceOne"
jdbcType=
"DECIMAL"
property=
"presetpriceone"
/>
<result
column=
"PresetPriceTwo"
jdbcType=
"DECIMAL"
property=
"presetpricetwo"
/>
<result
column=
"UnitId"
jdbcType=
"BIGINT"
property=
"unitid"
/>
<result
column=
"FirstOutUnit"
jdbcType=
"VARCHAR"
property=
"firstoutunit"
/>
<result
column=
"FirstInUnit"
jdbcType=
"VARCHAR"
property=
"firstinunit"
/>
<result
column=
"PriceStrategy"
jdbcType=
"VARCHAR"
property=
"pricestrategy"
/>
<result
column=
"Enabled"
jdbcType=
"BIT"
property=
"enabled"
/>
<result
column=
"OtherField1"
jdbcType=
"VARCHAR"
property=
"otherfield1"
/>
<result
column=
"OtherField2"
jdbcType=
"VARCHAR"
property=
"otherfield2"
/>
<result
column=
"OtherField3"
jdbcType=
"VARCHAR"
property=
"otherfield3"
/>
<result
column=
"enableSerialNumber"
jdbcType=
"BIT"
property=
"enableSerialNumber"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapList"
type=
"com.jsh.erp.datasource.entities.MaterialVo4Unit"
>
<resultMap
extends=
"com.jsh.erp.datasource.mappers.MaterialMapper.BaseResultMap"
id=
"ResultMapList"
type=
"com.jsh.erp.datasource.entities.MaterialVo4Unit"
>
<result
column=
"unitName"
jdbcType=
"VARCHAR"
property=
"unitName"
/>
<result
column=
"categoryName"
jdbcType=
"VARCHAR"
property=
"categoryName"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultAndUnitMap"
type=
"com.jsh.erp.datasource.entities.MaterialVo4Unit"
>
<resultMap
extends=
"
com.jsh.erp.datasource.mappers.MaterialMapper.
BaseResultMap"
id=
"ResultAndUnitMap"
type=
"com.jsh.erp.datasource.entities.MaterialVo4Unit"
>
<result
column=
"UName"
jdbcType=
"VARCHAR"
property=
"unitName"
/>
</resultMap>
...
...
src/main/resources/mapper_xml/SerialNumberMapper.xml
View file @
37c64788
...
...
@@ -9,13 +9,14 @@
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"material_Id"
jdbcType=
"BIGINT"
property=
"materialId"
/>
<result
column=
"serial_Number"
jdbcType=
"VARCHAR"
property=
"serialNumber"
/>
<result
column=
"is_Sell"
jdbcType=
"
BIT
"
property=
"isSell"
/>
<result
column=
"is_Sell"
jdbcType=
"
VARCHAR
"
property=
"isSell"
/>
<result
column=
"remark"
jdbcType=
"VARCHAR"
property=
"remark"
/>
<result
column=
"delete_Flag"
jdbcType=
"
BIT
"
property=
"deleteFlag"
/>
<result
column=
"delete_Flag"
jdbcType=
"
VARCHAR
"
property=
"deleteFlag"
/>
<result
column=
"create_Time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"creator"
jdbcType=
"BIGINT"
property=
"creator"
/>
<result
column=
"update_Time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
<result
column=
"updater"
jdbcType=
"BIGINT"
property=
"updater"
/>
<result
column=
"depothead_Id"
jdbcType=
"BIGINT"
property=
"depotheadId"
/>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<!--
...
...
@@ -89,7 +90,7 @@
This element is automatically generated by MyBatis Generator, do not modify.
-->
id, material_Id, serial_Number, is_Sell, remark, delete_Flag, create_Time, creator,
update_Time, updater
update_Time, updater
,depothead_Id
</sql>
<select
id=
"selectByExample"
parameterType=
"com.jsh.erp.datasource.entities.SerialNumberExample"
resultMap=
"BaseResultMap"
>
<!--
...
...
@@ -145,11 +146,11 @@
insert into jsh_serial_number (id, material_Id, serial_Number,
is_Sell, remark, delete_Flag,
create_Time, creator, update_Time,
updater)
updater
,depothead_Id
)
values (#{id,jdbcType=BIGINT}, #{materialId,jdbcType=BIGINT}, #{serialNumber,jdbcType=VARCHAR},
#{isSell,jdbcType=
BIT
}, #{remark,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=
BIT
},
#{isSell,jdbcType=
VARCHAR
}, #{remark,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=
VARCHAR
},
#{createTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP},
#{updater,jdbcType=BIGINT})
#{updater,jdbcType=BIGINT}
,#{depotheadId,jdbcType=BIGINT}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.jsh.erp.datasource.entities.SerialNumber"
>
<!--
...
...
@@ -188,6 +189,9 @@
<if
test=
"updater != null"
>
updater,
</if>
<if
test=
"depotheadId != null"
>
depothead_Id,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
...
...
@@ -200,13 +204,13 @@
#{serialNumber,jdbcType=VARCHAR},
</if>
<if
test=
"isSell != null"
>
#{isSell,jdbcType=
BIT
},
#{isSell,jdbcType=
VARCHAR
},
</if>
<if
test=
"remark != null"
>
#{remark,jdbcType=VARCHAR},
</if>
<if
test=
"deleteFlag != null"
>
#{deleteFlag,jdbcType=
BIT
},
#{deleteFlag,jdbcType=
VARCHAR
},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
...
...
@@ -220,6 +224,9 @@
<if
test=
"updater != null"
>
#{updater,jdbcType=BIGINT},
</if>
<if
test=
"depotheadId != null"
>
#{depotheadId,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select
id=
"countByExample"
parameterType=
"com.jsh.erp.datasource.entities.SerialNumberExample"
resultType=
"java.lang.Integer"
>
...
...
@@ -249,13 +256,13 @@
serial_Number = #{record.serialNumber,jdbcType=VARCHAR},
</if>
<if
test=
"record.isSell != null"
>
is_Sell = #{record.isSell,jdbcType=
BIT
},
is_Sell = #{record.isSell,jdbcType=
VARCHAR
},
</if>
<if
test=
"record.remark != null"
>
remark = #{record.remark,jdbcType=VARCHAR},
</if>
<if
test=
"record.deleteFlag != null"
>
delete_Flag = #{record.deleteFlag,jdbcType=
BIT
},
delete_Flag = #{record.deleteFlag,jdbcType=
VARCHAR
},
</if>
<if
test=
"record.createTime != null"
>
create_Time = #{record.createTime,jdbcType=TIMESTAMP},
...
...
@@ -269,6 +276,9 @@
<if
test=
"record.updater != null"
>
updater = #{record.updater,jdbcType=BIGINT},
</if>
<if
test=
"record.depotheadId != null"
>
depothead_Id = #{record.depotheadId,jdbcType=BIGINT},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
...
@@ -283,13 +293,14 @@
set id = #{record.id,jdbcType=BIGINT},
material_Id = #{record.materialId,jdbcType=BIGINT},
serial_Number = #{record.serialNumber,jdbcType=VARCHAR},
is_Sell = #{record.isSell,jdbcType=
BIT
},
is_Sell = #{record.isSell,jdbcType=
VARCHAR
},
remark = #{record.remark,jdbcType=VARCHAR},
delete_Flag = #{record.deleteFlag,jdbcType=
BIT
},
delete_Flag = #{record.deleteFlag,jdbcType=
VARCHAR
},
create_Time = #{record.createTime,jdbcType=TIMESTAMP},
creator = #{record.creator,jdbcType=BIGINT},
update_Time = #{record.updateTime,jdbcType=TIMESTAMP},
updater = #{record.updater,jdbcType=BIGINT}
updater = #{record.updater,jdbcType=BIGINT},
depothead_Id = #{record.depotheadId,jdbcType=BIGINT}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
...
...
@@ -308,13 +319,13 @@
serial_Number = #{serialNumber,jdbcType=VARCHAR},
</if>
<if
test=
"isSell != null"
>
is_Sell = #{isSell,jdbcType=
BIT
},
is_Sell = #{isSell,jdbcType=
VARCHAR
},
</if>
<if
test=
"remark != null"
>
remark = #{remark,jdbcType=VARCHAR},
</if>
<if
test=
"deleteFlag != null"
>
delete_Flag = #{deleteFlag,jdbcType=
BIT
},
delete_Flag = #{deleteFlag,jdbcType=
VARCHAR
},
</if>
<if
test=
"createTime != null"
>
create_Time = #{createTime,jdbcType=TIMESTAMP},
...
...
@@ -328,6 +339,9 @@
<if
test=
"updater != null"
>
updater = #{updater,jdbcType=BIGINT},
</if>
<if
test=
"depotheadId != null"
>
depothead_Id = #{depotheadId,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
...
...
@@ -339,13 +353,14 @@
update jsh_serial_number
set material_Id = #{materialId,jdbcType=BIGINT},
serial_Number = #{serialNumber,jdbcType=VARCHAR},
is_Sell = #{isSell,jdbcType=
BIT
},
is_Sell = #{isSell,jdbcType=
VARCHAR
},
remark = #{remark,jdbcType=VARCHAR},
delete_Flag = #{deleteFlag,jdbcType=
BIT
},
delete_Flag = #{deleteFlag,jdbcType=
VARCHAR
},
create_Time = #{createTime,jdbcType=TIMESTAMP},
creator = #{creator,jdbcType=BIGINT},
update_Time = #{updateTime,jdbcType=TIMESTAMP},
updater = #{updater,jdbcType=BIGINT}
updater = #{updater,jdbcType=BIGINT},
depothead_Id = #{depotheadId,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
src/main/resources/mapper_xml/SerialNumberMapperEx.xml
View file @
37c64788
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.jsh.erp.datasource.mappers.SerialNumberMapperEx"
>
<resultMap
id=
"
BaseResultMap"
type=
"com.jsh.erp.datasource.entities.SerialNumberEx"
>
<resultMap
extends=
"com.jsh.erp.datasource.mappers.SerialNumberMapper.BaseResultMap"
id=
"SerialNumberEx
BaseResultMap"
type=
"com.jsh.erp.datasource.entities.SerialNumberEx"
>
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"material_Id"
jdbcType=
"BIGINT"
property=
"materialId"
/>
<result
column=
"materialName"
jdbcType=
"VARCHAR"
property=
"materialName"
/>
<result
column=
"serial_Number"
jdbcType=
"VARCHAR"
property=
"serialNumber"
/>
<result
column=
"is_Sell"
jdbcType=
"BIT"
property=
"isSell"
/>
<result
column=
"remark"
jdbcType=
"VARCHAR"
property=
"remark"
/>
<result
column=
"delete_Flag"
jdbcType=
"BIT"
property=
"deleteFlag"
/>
<result
column=
"create_Time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_Time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
<result
column=
"creator"
jdbcType=
"BIGINT"
property=
"creator"
/>
<result
column=
"updater"
jdbcType=
"BIGINT"
property=
"updater"
/>
<result
column=
"creatorName"
jdbcType=
"VARCHAR"
property=
"creatorName"
/>
<result
column=
"updaterName"
jdbcType=
"VARCHAR"
property=
"updaterName"
/>
</resultMap>
<select
id=
"selectByConditionSerialNumber"
resultMap=
"BaseResultMap"
>
<select
id=
"selectByConditionSerialNumber"
resultMap=
"
SerialNumberEx
BaseResultMap"
>
select
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.update_Time,mat.name as materialName,null as creator,null as updater,null as creatorName, null as updaterName
ser.update_Time,mat.name as materialName,null as creator,null as updater,null as creatorName,
null as updaterName,ser.depothead_Id
FROM jsh_serial_number ser
left JOIN jsh_material mat on mat.id = ser.material_Id
where 1=1
...
...
@@ -52,11 +44,11 @@
</if>
order by ser.id desc
</select>
<select
id=
"findById"
resultMap=
"BaseResultMap"
>
<select
id=
"findById"
resultMap=
"
SerialNumberEx
BaseResultMap"
>
SELECT
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.update_Time,ser.creator,ser.updater,mat.name as materialName,cr.username as creatorName,
ur.username as updaterName
ur.username as updaterName
,ser.depothead_Id
FROM jsh_serial_number ser
left JOIN jsh_material mat on mat.id = ser.material_Id
left join jsh_user cr on ser.creator=cr.id
...
...
@@ -65,10 +57,10 @@
and ser.id=#{id}
order by ser.id desc
</select>
<select
id=
"findBySerialNumber"
resultMap=
"BaseResultMap"
>
<select
id=
"findBySerialNumber"
resultMap=
"
SerialNumberEx
BaseResultMap"
>
SELECT
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.update_Time,ser.creator,ser.updater
ser.update_Time,ser.creator,ser.updater
,ser.depothead_Id
FROM jsh_serial_number ser
where 1=1
<if
test=
"serialNumber != null"
>
...
...
@@ -80,10 +72,10 @@
useGeneratedKeys=
"true"
keyProperty=
"id"
keyColumn=
"id"
>
insert into jsh_serial_number
(material_Id, serial_Number, is_Sell, remark,delete_Flag,
create_Time, creator,update_Time, updater)
create_Time, creator,update_Time, updater
,depothead_Id
)
values
(#{materialId},#{serialNumber},#{isSell},#{remark},#{deleteFlag},
#{createTime},#{creator},#{updateTime},#{updater}
#{createTime},#{creator},#{updateTime},#{updater}
,#{depotheadId}
)
</insert>
<update
id=
"updateSerialNumber"
parameterType=
"com.jsh.erp.datasource.entities.SerialNumberEx"
>
...
...
@@ -96,13 +88,13 @@
serial_Number = #{serialNumber,jdbcType=VARCHAR},
</if>
<if
test=
"isSell != null"
>
is_Sell = #{isSell,jdbcType=
BIT
},
is_Sell = #{isSell,jdbcType=
VARCHAR
},
</if>
<if
test=
"remark != null"
>
remark = #{remark,jdbcType=VARCHAR},
</if>
<if
test=
"deleteFlag != null"
>
delete_Flag = #{deleteFlag,jdbcType=
BIT
},
delete_Flag = #{deleteFlag,jdbcType=
VARCHAR
},
</if>
<if
test=
"updateTime != null"
>
update_Time = #{updateTime,jdbcType=TIMESTAMP},
...
...
@@ -110,9 +102,13 @@
<if
test=
"updater != null"
>
updater = #{updater,jdbcType=BIGINT},
</if>
<if
test=
"depotheadId != null"
>
depothead_Id = #{depotheadId,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<select
id=
"findSerialNumberByMaterialId"
resultType=
"java.lang.Integer"
>
SELECT
count(ser.id)
...
...
@@ -124,5 +120,105 @@
and ser.delete_Flag !='1'
and ser.is_Sell !='1'
</select>
<select
id=
"countSerialNumberByMaterialIdAndDepotheadId"
resultType=
"java.lang.Integer"
>
SELECT
count(ser.id)
FROM jsh_serial_number ser
where 1=1
<if
test=
"materialId != null"
>
and ser.material_Id=#{materialId}
</if>
<if
test=
"depotheadId != null"
>
and ser.depothead_Id=#{depotheadId}
</if>
and ser.is_Sell =#{isSell,jdbcType=VARCHAR}
and ser.delete_Flag !='1'
</select>
<update
id=
"sellSerialNumber"
>
update jsh_serial_number
<set>
is_Sell = '1',
<if
test=
"depotheadId !=null "
>
depothead_Id = #{depotheadId},
</if>
<if
test=
"updateTime !=null "
>
update_Time = #{updateTime},
</if>
<if
test=
"updater != null"
>
updater = #{updater},
</if>
</set>
where 1=1
<if
test=
"materialId != null"
>
and material_Id = #{materialId}
</if>
and is_Sell != '1'
<if
test=
"count != null"
>
and id in
( select batchSN.id from
( select selFrom.id from jsh_serial_number selFrom
where 1=1
<if
test=
"materialId != null"
>
and selFrom.material_Id = #{materialId}
</if>
and selFrom.is_Sell != '1'
limit 0,#{count}
) batchSN
)
</if>
</update>
<update
id=
"cancelSerialNumber"
>
update jsh_serial_number
<set>
is_Sell = '0',
<if
test=
"updateTime !=null "
>
update_Time = #{updateTime},
</if>
<if
test=
"updater != null"
>
updater = #{updater},
</if>
</set>
where 1=1
<if
test=
"materialId != null"
>
and material_Id = #{materialId}
</if>
<if
test=
"depotheadId !=null "
>
and depothead_Id = #{depotheadId,jdbcType=BIGINT}
</if>
and is_Sell != '0'
<if
test=
"count != null"
>
and id in
( select batchSN.id from
( select selFrom.id from jsh_serial_number selFrom
where 1=1
<if
test=
"materialId != null"
>
and selFrom.material_Id = #{materialId}
</if>
<if
test=
"depotheadId !=null "
>
and selFrom.depothead_Id = #{depotheadId,jdbcType=BIGINT}
</if>
and selFrom.is_Sell !='0'
limit 0,#{count}
) batchSN
)
</if>
</update>
<insert
id=
"batAddSerialNumber"
useGeneratedKeys=
"true"
keyProperty=
"id"
keyColumn=
"id"
>
insert into jsh_serial_number
(material_Id, serial_Number, is_Sell, remark,delete_Flag,
create_Time, creator,update_Time, updater)
values
<foreach
collection=
'list'
item=
'each'
separator=
','
>
(#{each.materialId},#{each.serialNumber},'0',#{each.remark},'0',
#{each.createTime},#{each.creator},#{each.updateTime},#{each.updater}
)
</foreach>
</insert>
</mapper>
\ No newline at end of file
Prev
1
2
Next
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