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
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
Show 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
{
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
);
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