Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
isoft_psa
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王飞
isoft_psa
Commits
f2431b08
Commit
f2431b08
authored
Mar 26, 2025
by
ZhangRunSong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:物资导出
parent
f2dfe881
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
923 additions
and
311 deletions
+923
-311
BaseEntity.java
...rc/main/java/com/ruoyi/common/core/domain/BaseEntity.java
+1
-0
PsaMaterialController.java
.../com/ruoyi/material/controller/PsaMaterialController.java
+2
-1
PsaMaterial.java
.../src/main/java/com/ruoyi/material/domain/PsaMaterial.java
+18
-10
PsaMaterialMapper.java
...ain/java/com/ruoyi/material/mapper/PsaMaterialMapper.java
+4
-0
PsaMaterialServiceImpl.java
...m/ruoyi/material/service/impl/PsaMaterialServiceImpl.java
+1
-0
PsaMaterialApplyController.java
.../materialapply/controller/PsaMaterialApplyController.java
+13
-1
PsaMaterialApply.java
...java/com/ruoyi/materialapply/domain/PsaMaterialApply.java
+12
-114
PsaMaterialApplyDetail.java
...om/ruoyi/materialapply/domain/PsaMaterialApplyDetail.java
+8
-56
IPsaMaterialApplyService.java
...ruoyi/materialapply/service/IPsaMaterialApplyService.java
+10
-1
PsaMaterialApplyServiceImpl.java
...terialapply/service/impl/PsaMaterialApplyServiceImpl.java
+33
-2
PsaMaterialEntryController.java
.../materialentry/controller/PsaMaterialEntryController.java
+1
-1
PsaMaterialEntry.java
...java/com/ruoyi/materialentry/domain/PsaMaterialEntry.java
+12
-117
PsaMaterialReturnController.java
...aterialreturn/controller/PsaMaterialReturnController.java
+118
-0
PsaMaterialReturn.java
...va/com/ruoyi/materialreturn/domain/PsaMaterialReturn.java
+65
-0
PsaMaterialReturnDetail.java
.../ruoyi/materialreturn/domain/PsaMaterialReturnDetail.java
+47
-0
PsaMaterialReturnMapper.java
.../ruoyi/materialreturn/mapper/PsaMaterialReturnMapper.java
+91
-0
IPsaMaterialReturnService.java
...oyi/materialreturn/service/IPsaMaterialReturnService.java
+70
-0
PsaMaterialReturnServiceImpl.java
...rialreturn/service/impl/PsaMaterialReturnServiceImpl.java
+174
-0
PsaMaterialApplyMapper.xml
...main/resources/mapper/material/PsaMaterialApplyMapper.xml
+17
-6
PsaMaterialEntryMapper.xml
...main/resources/mapper/material/PsaMaterialEntryMapper.xml
+19
-1
PsaMaterialMapper.xml
.../src/main/resources/mapper/material/PsaMaterialMapper.xml
+30
-1
PsaMaterialReturnMapper.xml
...ain/resources/mapper/material/PsaMaterialReturnMapper.xml
+177
-0
No files found.
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
View file @
f2431b08
...
@@ -7,6 +7,7 @@ import java.util.Map;
...
@@ -7,6 +7,7 @@ import java.util.Map;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.ruoyi.common.annotation.Excel
;
/**
/**
* Entity基类
* Entity基类
...
...
ruoyi-psa/src/main/java/com/ruoyi/material/controller/PsaMaterialController.java
View file @
f2431b08
...
@@ -82,7 +82,7 @@ public class PsaMaterialController extends BaseController
...
@@ -82,7 +82,7 @@ public class PsaMaterialController extends BaseController
{
{
List
<
PsaMaterial
>
list
=
psaMaterialService
.
selectPsaMaterialList
(
psaMaterial
);
List
<
PsaMaterial
>
list
=
psaMaterialService
.
selectPsaMaterialList
(
psaMaterial
);
ExcelUtil
<
PsaMaterial
>
util
=
new
ExcelUtil
<
PsaMaterial
>(
PsaMaterial
.
class
);
ExcelUtil
<
PsaMaterial
>
util
=
new
ExcelUtil
<
PsaMaterial
>(
PsaMaterial
.
class
);
util
.
exportExcel
(
response
,
list
,
"物品信息数据"
);
util
.
exportExcel
(
response
,
list
,
"物品信息数据"
,
"基础物品信息"
);
}
}
/**
/**
...
@@ -103,6 +103,7 @@ public class PsaMaterialController extends BaseController
...
@@ -103,6 +103,7 @@ public class PsaMaterialController extends BaseController
@PostMapping
@PostMapping
public
AjaxResult
add
(
@RequestBody
PsaMaterialNewDTO
psaMaterialNewDTO
)
public
AjaxResult
add
(
@RequestBody
PsaMaterialNewDTO
psaMaterialNewDTO
)
{
{
return
toAjax
(
psaMaterialService
.
insertPsaMaterial
(
psaMaterialNewDTO
));
return
toAjax
(
psaMaterialService
.
insertPsaMaterial
(
psaMaterialNewDTO
));
}
}
...
...
ruoyi-psa/src/main/java/com/ruoyi/material/domain/PsaMaterial.java
View file @
f2431b08
...
@@ -26,27 +26,34 @@ public class PsaMaterial extends BaseEntity
...
@@ -26,27 +26,34 @@ public class PsaMaterial extends BaseEntity
@Excel
(
name
=
"物品编号"
)
@Excel
(
name
=
"物品编号"
)
private
String
itemCode
;
private
String
itemCode
;
/** 物品id */
@Excel
(
name
=
"物品id"
)
private
Long
itemId
;
/** 物品类型id */
/** 物品类型id */
@Excel
(
name
=
"物品类型id"
)
private
Long
typeId
;
private
Long
typeId
;
/** 库存数量 */
@Excel
(
name
=
"物品类型"
)
@Excel
(
name
=
"库存数量"
)
private
String
typeName
;
private
Long
stock
;
@Excel
(
name
=
"物品名称"
)
private
String
materialName
;
/** 物品id */
private
Long
itemId
;
/** 单位 */
/** 单位 */
@Excel
(
name
=
"单位"
)
@Excel
(
name
=
"单位"
)
private
String
unit
;
private
String
unit
;
/** 库存数量 */
@Excel
(
name
=
"库存数量"
)
private
Long
stock
;
/** 提交人 */
/** 提交人 */
@Excel
(
name
=
"创建人"
)
private
String
createBy
;
private
String
createBy
;
/** 备注 */
@Excel
(
name
=
"申请备注"
)
private
String
remark
;
/** 草稿箱 */
/** 草稿箱 */
@Excel
(
name
=
"草稿箱"
)
private
String
draft
;
private
String
draft
;
/** 删除 */
/** 删除 */
...
@@ -54,6 +61,7 @@ public class PsaMaterial extends BaseEntity
...
@@ -54,6 +61,7 @@ public class PsaMaterial extends BaseEntity
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
...
...
ruoyi-psa/src/main/java/com/ruoyi/material/mapper/PsaMaterialMapper.java
View file @
f2431b08
...
@@ -7,6 +7,7 @@ import com.ruoyi.material.domain.PsaMaterialTypeDetail;
...
@@ -7,6 +7,7 @@ import com.ruoyi.material.domain.PsaMaterialTypeDetail;
import
com.ruoyi.material.domain.dto.EditMaterialDTO
;
import
com.ruoyi.material.domain.dto.EditMaterialDTO
;
import
com.ruoyi.material.domain.dto.MaterialQueryDTO
;
import
com.ruoyi.material.domain.dto.MaterialQueryDTO
;
import
com.ruoyi.material.domain.dto.PsaMaterialNewDTO
;
import
com.ruoyi.material.domain.dto.PsaMaterialNewDTO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Update
;
import
org.apache.ibatis.annotations.Update
;
...
@@ -17,6 +18,7 @@ import org.apache.ibatis.annotations.Update;
...
@@ -17,6 +18,7 @@ import org.apache.ibatis.annotations.Update;
* @author ruoyi
* @author ruoyi
* @date 2025-03-12
* @date 2025-03-12
*/
*/
@Mapper
public
interface
PsaMaterialMapper
public
interface
PsaMaterialMapper
{
{
/**
/**
...
@@ -98,4 +100,6 @@ public interface PsaMaterialMapper
...
@@ -98,4 +100,6 @@ public interface PsaMaterialMapper
void
addStock
(
@Param
(
"materialId"
)
Long
materialId
,
@Param
(
"entryQuantity"
)
Long
entryQuantity
);
void
addStock
(
@Param
(
"materialId"
)
Long
materialId
,
@Param
(
"entryQuantity"
)
Long
entryQuantity
);
void
minusStock
(
@Param
(
"materialId"
)
Long
materialId
,
@Param
(
"minusQuantity"
)
Long
minusQuantity
);
void
minusStock
(
@Param
(
"materialId"
)
Long
materialId
,
@Param
(
"minusQuantity"
)
Long
minusQuantity
);
Long
getPsaMaterialId
(
@Param
(
"materialTypeId"
)
Long
materialTypeId
,
@Param
(
"materialTypeDetailId"
)
Long
materialTypeDetailId
);
}
}
ruoyi-psa/src/main/java/com/ruoyi/material/service/impl/PsaMaterialServiceImpl.java
View file @
f2431b08
...
@@ -82,6 +82,7 @@ public class PsaMaterialServiceImpl implements IPsaMaterialService
...
@@ -82,6 +82,7 @@ public class PsaMaterialServiceImpl implements IPsaMaterialService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
@Transactional
public
int
insertPsaMaterial
(
PsaMaterialNewDTO
psaMaterialNewDTO
)
public
int
insertPsaMaterial
(
PsaMaterialNewDTO
psaMaterialNewDTO
)
{
{
PsaMaterial
psaMaterial
=
new
PsaMaterial
();
PsaMaterial
psaMaterial
=
new
PsaMaterial
();
...
...
ruoyi-psa/src/main/java/com/ruoyi/materialapply/controller/PsaMaterialApplyController.java
View file @
f2431b08
...
@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
import
com.ruoyi.materialapply.domain.ProjectUser
;
import
com.ruoyi.materialapply.domain.ProjectUser
;
import
com.ruoyi.materialapply.domain.PsaMaterialApply
;
import
com.ruoyi.materialapply.domain.PsaMaterialApply
;
import
com.ruoyi.materialapply.service.IPsaMaterialApplyService
;
import
com.ruoyi.materialapply.service.IPsaMaterialApplyService
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturn
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
@@ -56,7 +57,7 @@ public class PsaMaterialApplyController extends BaseController
...
@@ -56,7 +57,7 @@ public class PsaMaterialApplyController extends BaseController
{
{
List
<
PsaMaterialApply
>
list
=
psaMaterialApplyService
.
selectPsaMaterialApplyList
(
psaMaterialApply
);
List
<
PsaMaterialApply
>
list
=
psaMaterialApplyService
.
selectPsaMaterialApplyList
(
psaMaterialApply
);
ExcelUtil
<
PsaMaterialApply
>
util
=
new
ExcelUtil
<
PsaMaterialApply
>(
PsaMaterialApply
.
class
);
ExcelUtil
<
PsaMaterialApply
>
util
=
new
ExcelUtil
<
PsaMaterialApply
>(
PsaMaterialApply
.
class
);
util
.
exportExcel
(
response
,
list
,
"物品借用申请数据"
);
util
.
exportExcel
(
response
,
list
,
"物品借用申请数据"
,
"物品借用记录"
);
}
}
/**
/**
...
@@ -91,6 +92,17 @@ public class PsaMaterialApplyController extends BaseController
...
@@ -91,6 +92,17 @@ public class PsaMaterialApplyController extends BaseController
return
toAjax
(
psaMaterialApplyService
.
updatePsaMaterialApply
(
psaMaterialApply
));
return
toAjax
(
psaMaterialApplyService
.
updatePsaMaterialApply
(
psaMaterialApply
));
}
}
/**
* 审核借用申请
*/
@PreAuthorize
(
"@ss.hasPermi('material:apply:check')"
)
@Log
(
title
=
"物品归还审核"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
(
"/check"
)
public
AjaxResult
check
(
@RequestBody
PsaMaterialApply
psaMaterialApply
)
{
return
toAjax
(
psaMaterialApplyService
.
checkPsaMaterialReturn
(
psaMaterialApply
));
}
/**
/**
* 删除物品借用申请
* 删除物品借用申请
*/
*/
...
...
ruoyi-psa/src/main/java/com/ruoyi/materialapply/domain/PsaMaterialApply.java
View file @
f2431b08
...
@@ -2,9 +2,12 @@ package com.ruoyi.materialapply.domain;
...
@@ -2,9 +2,12 @@ package com.ruoyi.materialapply.domain;
import
java.util.List
;
import
java.util.List
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.stream.Collectors
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.annotation.Excel
;
...
@@ -16,6 +19,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
...
@@ -16,6 +19,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
* @author ruoyi
* @author ruoyi
* @date 2025-03-18
* @date 2025-03-18
*/
*/
@Data
public
class
PsaMaterialApply
extends
BaseEntity
public
class
PsaMaterialApply
extends
BaseEntity
{
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
@@ -24,18 +28,19 @@ public class PsaMaterialApply extends BaseEntity
...
@@ -24,18 +28,19 @@ public class PsaMaterialApply extends BaseEntity
private
Long
id
;
private
Long
id
;
/** 项目ID */
/** 项目ID */
@Excel
(
name
=
"项目ID"
)
private
Long
projectId
;
private
Long
projectId
;
/** 项目名称 */
@Excel
(
name
=
"项目名称"
)
private
String
projectName
;
/** 申请人userID */
/** 申请人userID */
private
Long
userId
;
private
Long
userId
;
/** 申请人姓名 */
/** 申请人姓名 */
@Excel
(
name
=
"申请人姓名"
)
@Excel
(
name
=
"申请人姓名"
)
private
String
userName
;
private
String
userName
;
/** 审批状态 */
/** 审批状态 */
@Excel
(
name
=
"审批状态"
)
@Excel
(
name
=
"审批状态"
,
dictType
=
"material_status"
)
private
String
checkStatus
;
private
String
checkStatus
;
/** 审批时间 */
/** 审批时间 */
...
@@ -49,121 +54,14 @@ public class PsaMaterialApply extends BaseEntity
...
@@ -49,121 +54,14 @@ public class PsaMaterialApply extends BaseEntity
/** 删除 */
/** 删除 */
private
String
delFlag
;
private
String
delFlag
;
/** 备注 */
@Excel
(
name
=
"申请备注"
)
private
String
remark
;
/** 物品借用细节信息 */
/** 物品借用细节信息 */
@JsonProperty
(
"items"
)
@JsonProperty
(
"items"
)
@Excel
(
name
=
"物品明细"
)
private
List
<
PsaMaterialApplyDetail
>
psaMaterialApplyDetailList
;
private
List
<
PsaMaterialApplyDetail
>
psaMaterialApplyDetailList
;
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getId
()
{
return
id
;
}
public
void
setProjectId
(
Long
projectId
)
{
this
.
projectId
=
projectId
;
}
public
Long
getProjectId
()
{
return
projectId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
Long
getUserId
()
{
return
userId
;
}
public
void
setUserName
(
String
userName
)
{
this
.
userName
=
userName
;
}
public
String
getUserName
()
{
return
userName
;
}
public
void
setCheckStatus
(
String
checkStatus
)
{
this
.
checkStatus
=
checkStatus
;
}
public
String
getCheckStatus
()
{
return
checkStatus
;
}
public
void
setApprovalDate
(
Date
approvalDate
)
{
this
.
approvalDate
=
approvalDate
;
}
public
Date
getApprovalDate
()
{
return
approvalDate
;
}
public
void
setApprovalAdvice
(
String
approvalAdvice
)
{
this
.
approvalAdvice
=
approvalAdvice
;
}
public
String
getApprovalAdvice
()
{
return
approvalAdvice
;
}
public
void
setDraft
(
String
draft
)
{
this
.
draft
=
draft
;
}
public
String
getDraft
()
{
return
draft
;
}
public
void
setDelFlag
(
String
delFlag
)
{
this
.
delFlag
=
delFlag
;
}
public
String
getDelFlag
()
{
return
delFlag
;
}
public
List
<
PsaMaterialApplyDetail
>
getPsaMaterialApplyDetailList
()
{
return
psaMaterialApplyDetailList
;
}
public
void
setPsaMaterialApplyDetailList
(
List
<
PsaMaterialApplyDetail
>
psaMaterialApplyDetailList
)
{
this
.
psaMaterialApplyDetailList
=
psaMaterialApplyDetailList
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"projectId"
,
getProjectId
())
.
append
(
"userId"
,
getUserId
())
.
append
(
"userName"
,
getUserName
())
.
append
(
"remark"
,
getRemark
())
.
append
(
"checkStatus"
,
getCheckStatus
())
.
append
(
"approvalDate"
,
getApprovalDate
())
.
append
(
"approvalAdvice"
,
getApprovalAdvice
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"updateBy"
,
getUpdateBy
())
.
append
(
"draft"
,
getDraft
())
.
append
(
"delFlag"
,
getDelFlag
())
.
append
(
"psaMaterialApplyDetailList"
,
getPsaMaterialApplyDetailList
())
.
toString
();
}
}
}
ruoyi-psa/src/main/java/com/ruoyi/materialapply/domain/PsaMaterialApplyDetail.java
View file @
f2431b08
package
com
.
ruoyi
.
materialapply
.
domain
;
package
com
.
ruoyi
.
materialapply
.
domain
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.annotation.Excel
;
...
@@ -12,6 +13,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
...
@@ -12,6 +13,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
* @author ruoyi
* @author ruoyi
* @date 2025-03-18
* @date 2025-03-18
*/
*/
@Data
public
class
PsaMaterialApplyDetail
public
class
PsaMaterialApplyDetail
{
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
@@ -20,78 +22,28 @@ public class PsaMaterialApplyDetail
...
@@ -20,78 +22,28 @@ public class PsaMaterialApplyDetail
private
Long
id
;
private
Long
id
;
/** 申请表ID */
/** 申请表ID */
@Excel
(
name
=
"申请表ID"
)
private
Long
applyId
;
private
Long
applyId
;
/** 类型ID */
/** 类型ID */
@Excel
(
name
=
"类型ID"
)
@JsonProperty
(
"type"
)
@JsonProperty
(
"type"
)
private
Long
materialTypeId
;
private
Long
materialTypeId
;
/** 物品ID */
/** 物品ID */
@JsonProperty
(
"material_detail"
)
@JsonProperty
(
"material_detail"
)
@Excel
(
name
=
"物品ID"
)
private
Long
materialTypeDetailId
;
private
Long
materialTypeDetailId
;
@Excel
(
name
=
"物品名称"
)
private
String
materialName
;
/** 申请个数 */
/** 申请个数 */
@Excel
(
name
=
"申请个数"
)
@Excel
(
name
=
"申请个数"
)
@JsonProperty
(
"quantity"
)
@JsonProperty
(
"quantity"
)
private
Long
applyNumber
;
private
Long
applyNumber
;
public
void
setId
(
Long
id
)
private
Long
stock
;
{
this
.
id
=
id
;
}
public
Long
getId
()
{
return
id
;
}
public
void
setApplyId
(
Long
applyId
)
{
this
.
applyId
=
applyId
;
}
public
Long
getApplyId
()
{
return
applyId
;
}
public
void
setMaterialTypeId
(
Long
materialTypeId
)
{
this
.
materialTypeId
=
materialTypeId
;
}
public
Long
getMaterialTypeId
()
{
return
materialTypeId
;
}
public
void
setMaterialTypeDetailId
(
Long
materialTypeDetailId
)
{
this
.
materialTypeDetailId
=
materialTypeDetailId
;
}
public
Long
getMaterialTypeDetailId
()
private
String
unit
;
{
return
materialTypeDetailId
;
}
public
void
setApplyNumber
(
Long
applyNumber
)
{
this
.
applyNumber
=
applyNumber
;
}
public
Long
getApplyNumber
()
{
return
applyNumber
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"applyId"
,
getApplyId
())
.
append
(
"materialTypeId"
,
getMaterialTypeId
())
.
append
(
"materialTypeDetailId"
,
getMaterialTypeDetailId
())
.
append
(
"applyNumber"
,
getApplyNumber
())
.
toString
();
}
}
}
ruoyi-psa/src/main/java/com/ruoyi/materialapply/service/IPsaMaterialApplyService.java
View file @
f2431b08
...
@@ -39,11 +39,18 @@ public interface IPsaMaterialApplyService
...
@@ -39,11 +39,18 @@ public interface IPsaMaterialApplyService
/**
/**
* 修改物品借用申请
* 修改物品借用申请
*
*
* @param psaMaterialApply 物品借用申请
* @param psaMaterialApply 物品借用申请
* @return 结果
* @return 结果
*/
*/
public
int
updatePsaMaterialApply
(
PsaMaterialApply
psaMaterialApply
);
public
int
updatePsaMaterialApply
(
PsaMaterialApply
psaMaterialApply
);
/**
* 借用审核
*
* @param psaMaterialApply 物品借用申请
* @return 结果
*/
int
checkPsaMaterialReturn
(
PsaMaterialApply
psaMaterialApply
);
/**
/**
* 批量删除物品借用申请
* 批量删除物品借用申请
...
@@ -63,4 +70,6 @@ public interface IPsaMaterialApplyService
...
@@ -63,4 +70,6 @@ public interface IPsaMaterialApplyService
List
<
ProjectUser
>
selectPorjectUser
();
List
<
ProjectUser
>
selectPorjectUser
();
}
}
ruoyi-psa/src/main/java/com/ruoyi/materialapply/service/impl/PsaMaterialApplyServiceImpl.java
View file @
f2431b08
package
com
.
ruoyi
.
materialapply
.
service
.
impl
;
package
com
.
ruoyi
.
materialapply
.
service
.
impl
;
import
java.security.Security
;
import
java.util.List
;
import
java.util.List
;
import
cn.hutool.core.util.StrUtil
;
import
com.ruoyi.attendance.enums.AttendanceDelFlag
;
import
com.ruoyi.attendance.enums.AttendanceDelFlag
;
import
com.ruoyi.attendance.enums.AttendanceDraft
;
import
com.ruoyi.attendance.enums.AttendanceDraft
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.material.mapper.PsaMaterialMapper
;
import
com.ruoyi.materialapply.domain.ProjectUser
;
import
com.ruoyi.materialapply.domain.ProjectUser
;
import
com.ruoyi.materialapply.domain.PsaMaterialApply
;
import
com.ruoyi.materialapply.domain.PsaMaterialApply
;
import
com.ruoyi.materialapply.domain.PsaMaterialApplyDetail
;
import
com.ruoyi.materialapply.domain.PsaMaterialApplyDetail
;
import
com.ruoyi.materialapply.enums.MaterialApplyStatus
;
import
com.ruoyi.materialapply.enums.MaterialApplyStatus
;
import
com.ruoyi.materialapply.mapper.PsaMaterialApplyMapper
;
import
com.ruoyi.materialapply.mapper.PsaMaterialApplyMapper
;
import
com.ruoyi.materialapply.service.IPsaMaterialApplyService
;
import
com.ruoyi.materialapply.service.IPsaMaterialApplyService
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturnDetail
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -32,6 +35,9 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
...
@@ -32,6 +35,9 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
@Autowired
@Autowired
private
PsaMaterialApplyMapper
psaMaterialApplyMapper
;
private
PsaMaterialApplyMapper
psaMaterialApplyMapper
;
@Autowired
private
PsaMaterialMapper
psaMaterialMapper
;
/**
/**
* 查询物品借用申请
* 查询物品借用申请
*
*
...
@@ -53,6 +59,9 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
...
@@ -53,6 +59,9 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
@Override
@Override
public
List
<
PsaMaterialApply
>
selectPsaMaterialApplyList
(
PsaMaterialApply
psaMaterialApply
)
public
List
<
PsaMaterialApply
>
selectPsaMaterialApplyList
(
PsaMaterialApply
psaMaterialApply
)
{
{
if
(
StrUtil
.
isBlank
(
psaMaterialApply
.
getDraft
())){
psaMaterialApply
.
setDraft
(
AttendanceDraft
.
NO
.
getValue
());
}
return
psaMaterialApplyMapper
.
selectPsaMaterialApplyList
(
psaMaterialApply
);
return
psaMaterialApplyMapper
.
selectPsaMaterialApplyList
(
psaMaterialApply
);
}
}
...
@@ -69,7 +78,9 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
...
@@ -69,7 +78,9 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
psaMaterialApply
.
setCheckStatus
(
MaterialApplyStatus
.
DSH
.
getValue
());
psaMaterialApply
.
setCheckStatus
(
MaterialApplyStatus
.
DSH
.
getValue
());
psaMaterialApply
.
setCreateBy
(
SecurityUtils
.
getUsername
());
psaMaterialApply
.
setCreateBy
(
SecurityUtils
.
getUsername
());
psaMaterialApply
.
setCreateTime
(
DateUtils
.
getNowDate
());
psaMaterialApply
.
setCreateTime
(
DateUtils
.
getNowDate
());
psaMaterialApply
.
setDraft
(
AttendanceDraft
.
NO
.
getValue
());
if
(
StrUtil
.
isBlank
(
psaMaterialApply
.
getDraft
())){
psaMaterialApply
.
setDraft
(
AttendanceDraft
.
NO
.
getValue
());
}
psaMaterialApply
.
setDelFlag
(
AttendanceDelFlag
.
EXIST
.
getValue
());
psaMaterialApply
.
setDelFlag
(
AttendanceDelFlag
.
EXIST
.
getValue
());
int
rows
=
psaMaterialApplyMapper
.
insertPsaMaterialApply
(
psaMaterialApply
);
int
rows
=
psaMaterialApplyMapper
.
insertPsaMaterialApply
(
psaMaterialApply
);
insertPsaMaterialApplyDetail
(
psaMaterialApply
);
insertPsaMaterialApplyDetail
(
psaMaterialApply
);
...
@@ -92,6 +103,26 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
...
@@ -92,6 +103,26 @@ public class PsaMaterialApplyServiceImpl implements IPsaMaterialApplyService
return
psaMaterialApplyMapper
.
updatePsaMaterialApply
(
psaMaterialApply
);
return
psaMaterialApplyMapper
.
updatePsaMaterialApply
(
psaMaterialApply
);
}
}
@Override
public
int
checkPsaMaterialReturn
(
PsaMaterialApply
psaMaterialApply
)
{
psaMaterialApply
.
setApprovalDate
(
DateUtils
.
getNowDate
());
if
(
psaMaterialApply
.
getCheckStatus
().
equals
(
MaterialApplyStatus
.
TG
.
getValue
())){
List
<
PsaMaterialApplyDetail
>
psaMaterialApplyDetailList
=
psaMaterialApply
.
getPsaMaterialApplyDetailList
();
for
(
PsaMaterialApplyDetail
detail
:
psaMaterialApplyDetailList
)
{
// 获取物料ID
Long
id
=
psaMaterialMapper
.
getPsaMaterialId
(
detail
.
getMaterialTypeId
(),
detail
.
getMaterialTypeDetailId
()
);
// 扣除库存
psaMaterialMapper
.
minusStock
(
id
,
detail
.
getApplyNumber
());
}
}
return
psaMaterialApplyMapper
.
updatePsaMaterialApply
(
psaMaterialApply
);
}
/**
/**
* 批量删除物品借用申请
* 批量删除物品借用申请
*
*
...
...
ruoyi-psa/src/main/java/com/ruoyi/materialentry/controller/PsaMaterialEntryController.java
View file @
f2431b08
...
@@ -71,7 +71,7 @@ public class PsaMaterialEntryController extends BaseController
...
@@ -71,7 +71,7 @@ public class PsaMaterialEntryController extends BaseController
{
{
List
<
PsaMaterialEntry
>
list
=
psaMaterialEntryService
.
selectPsaMaterialEntryList
(
psaMaterialEntry
);
List
<
PsaMaterialEntry
>
list
=
psaMaterialEntryService
.
selectPsaMaterialEntryList
(
psaMaterialEntry
);
ExcelUtil
<
PsaMaterialEntry
>
util
=
new
ExcelUtil
<
PsaMaterialEntry
>(
PsaMaterialEntry
.
class
);
ExcelUtil
<
PsaMaterialEntry
>
util
=
new
ExcelUtil
<
PsaMaterialEntry
>(
PsaMaterialEntry
.
class
);
util
.
exportExcel
(
response
,
list
,
"物品入库信息数据"
);
util
.
exportExcel
(
response
,
list
,
"物品入库信息数据"
,
"物品入库记录"
);
}
}
/**
/**
...
...
ruoyi-psa/src/main/java/com/ruoyi/materialentry/domain/PsaMaterialEntry.java
View file @
f2431b08
package
com
.
ruoyi
.
materialentry
.
domain
;
package
com
.
ruoyi
.
materialentry
.
domain
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.annotation.Excel
;
...
@@ -11,6 +12,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
...
@@ -11,6 +12,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
* @author ruoyi
* @author ruoyi
* @date 2025-03-13
* @date 2025-03-13
*/
*/
@Data
public
class
PsaMaterialEntry
extends
BaseEntity
public
class
PsaMaterialEntry
extends
BaseEntity
{
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
@@ -19,24 +21,26 @@ public class PsaMaterialEntry extends BaseEntity
...
@@ -19,24 +21,26 @@ public class PsaMaterialEntry extends BaseEntity
private
Long
id
;
private
Long
id
;
/** 入库方式 */
/** 入库方式 */
@Excel
(
name
=
"入库方式"
)
@Excel
(
name
=
"入库方式"
,
dictType
=
"entry_type"
)
private
String
entryMethod
;
private
String
entryMethod
;
/** 物品ID */
/** 物品ID */
@Excel
(
name
=
"物品ID"
)
private
Long
materialId
;
private
Long
materialId
;
/** 报销ID */
/** 报销ID */
@Excel
(
name
=
"报销ID"
)
@Excel
(
name
=
"报销ID"
,
defaultValue
=
"无"
)
private
Long
expenseId
;
private
Long
expenseId
;
/** 物类ID */
/** 物类ID */
@Excel
(
name
=
"物类ID"
)
private
Long
typeId
;
private
Long
typeId
;
/** 类下物ID */
/** 类下物ID */
@Excel
(
name
=
"类下物ID"
)
private
Long
itemId
;
private
Long
itemId
;
/** 物品名称 */
@Excel
(
name
=
"物品类型"
)
private
String
typeName
;
/** 物品名称 */
/** 物品名称 */
@Excel
(
name
=
"物品名称"
)
@Excel
(
name
=
"物品名称"
)
...
@@ -45,123 +49,14 @@ public class PsaMaterialEntry extends BaseEntity
...
@@ -45,123 +49,14 @@ public class PsaMaterialEntry extends BaseEntity
/** 入库数量 */
/** 入库数量 */
@Excel
(
name
=
"入库数量"
)
@Excel
(
name
=
"入库数量"
)
private
Long
entryQuantity
;
private
Long
entryQuantity
;
/** 备注 */
@Excel
(
name
=
"申请备注"
)
private
String
remark
;
/** 草稿箱 */
/** 草稿箱 */
@Excel
(
name
=
"草稿箱"
)
private
String
draft
;
private
String
draft
;
/** 删除 */
/** 删除 */
private
String
delFlag
;
private
String
delFlag
;
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getId
()
{
return
id
;
}
public
void
setEntryMethod
(
String
entryMethod
)
{
this
.
entryMethod
=
entryMethod
;
}
public
String
getEntryMethod
()
{
return
entryMethod
;
}
public
void
setMaterialId
(
Long
materialId
)
{
this
.
materialId
=
materialId
;
}
public
Long
getMaterialId
()
{
return
materialId
;
}
public
void
setExpenseId
(
Long
expenseId
)
{
this
.
expenseId
=
expenseId
;
}
public
Long
getExpenseId
()
{
return
expenseId
;
}
public
void
setTypeId
(
Long
typeId
)
{
this
.
typeId
=
typeId
;
}
public
Long
getTypeId
()
{
return
typeId
;
}
public
void
setItemId
(
Long
itemId
)
{
this
.
itemId
=
itemId
;
}
public
Long
getItemId
()
{
return
itemId
;
}
public
void
setItemName
(
String
itemName
)
{
this
.
itemName
=
itemName
;
}
public
String
getItemName
()
{
return
itemName
;
}
public
void
setEntryQuantity
(
Long
entryQuantity
)
{
this
.
entryQuantity
=
entryQuantity
;
}
public
Long
getEntryQuantity
()
{
return
entryQuantity
;
}
public
void
setDraft
(
String
draft
)
{
this
.
draft
=
draft
;
}
public
String
getDraft
()
{
return
draft
;
}
public
void
setDelFlag
(
String
delFlag
)
{
this
.
delFlag
=
delFlag
;
}
public
String
getDelFlag
()
{
return
delFlag
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"entryMethod"
,
getEntryMethod
())
.
append
(
"materialId"
,
getMaterialId
())
.
append
(
"expenseId"
,
getExpenseId
())
.
append
(
"typeId"
,
getTypeId
())
.
append
(
"itemId"
,
getItemId
())
.
append
(
"itemName"
,
getItemName
())
.
append
(
"entryQuantity"
,
getEntryQuantity
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"updateBy"
,
getUpdateBy
())
.
append
(
"remark"
,
getRemark
())
.
append
(
"draft"
,
getDraft
())
.
append
(
"delFlag"
,
getDelFlag
())
.
toString
();
}
}
}
ruoyi-psa/src/main/java/com/ruoyi/materialreturn/controller/PsaMaterialReturnController.java
0 → 100644
View file @
f2431b08
package
com
.
ruoyi
.
materialreturn
.
controller
;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturn
;
import
com.ruoyi.materialreturn.service.IPsaMaterialReturnService
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.core.page.TableDataInfo
;
/**
* 物品归还申请Controller
*
* @author fangjianyu
* @date 2025-03-25
*/
@RestController
@RequestMapping
(
"/material/return"
)
public
class
PsaMaterialReturnController
extends
BaseController
{
@Autowired
private
IPsaMaterialReturnService
psaMaterialReturnService
;
/**
* 查询物品归还申请列表
*/
@PreAuthorize
(
"@ss.hasPermi('material:return:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
PsaMaterialReturn
psaMaterialReturn
)
{
startPage
();
List
<
PsaMaterialReturn
>
list
=
psaMaterialReturnService
.
selectPsaMaterialReturnList
(
psaMaterialReturn
);
return
getDataTable
(
list
);
}
/**
* 导出物品归还申请列表
*/
@PreAuthorize
(
"@ss.hasPermi('material:return:export')"
)
@Log
(
title
=
"物品归还申请"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
PsaMaterialReturn
psaMaterialReturn
)
{
List
<
PsaMaterialReturn
>
list
=
psaMaterialReturnService
.
selectPsaMaterialReturnList
(
psaMaterialReturn
);
ExcelUtil
<
PsaMaterialReturn
>
util
=
new
ExcelUtil
<
PsaMaterialReturn
>(
PsaMaterialReturn
.
class
);
util
.
exportExcel
(
response
,
list
,
"物品归还申请数据"
,
"物品归还记录"
);
}
/**
* 获取物品归还申请详细信息
*/
@PreAuthorize
(
"@ss.hasPermi('material:return:query')"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
psaMaterialReturnService
.
selectPsaMaterialReturnById
(
id
));
}
/**
* 新增物品归还申请
*/
@PreAuthorize
(
"@ss.hasPermi('material:return:add')"
)
@Log
(
title
=
"物品归还申请"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
PsaMaterialReturn
psaMaterialReturn
)
{
return
toAjax
(
psaMaterialReturnService
.
insertPsaMaterialReturn
(
psaMaterialReturn
));
}
/**
* 修改物品归还申请
*/
@PreAuthorize
(
"@ss.hasPermi('material:return:edit')"
)
@Log
(
title
=
"物品归还申请"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
PsaMaterialReturn
psaMaterialReturn
)
{
return
toAjax
(
psaMaterialReturnService
.
updatePsaMaterialReturn
(
psaMaterialReturn
));
}
/**
* 审核归还申请
*/
@PreAuthorize
(
"@ss.hasPermi('material:return:check')"
)
@Log
(
title
=
"物品归还审核"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
(
"/check"
)
public
AjaxResult
check
(
@RequestBody
PsaMaterialReturn
psaMaterialReturn
)
{
return
toAjax
(
psaMaterialReturnService
.
checkPsaMaterialReturn
(
psaMaterialReturn
));
}
/**
* 删除物品归还申请
*/
@PreAuthorize
(
"@ss.hasPermi('material:return:remove')"
)
@Log
(
title
=
"物品归还申请"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
psaMaterialReturnService
.
deletePsaMaterialReturnByIds
(
ids
));
}
}
ruoyi-psa/src/main/java/com/ruoyi/materialreturn/domain/PsaMaterialReturn.java
0 → 100644
View file @
f2431b08
package
com
.
ruoyi
.
materialreturn
.
domain
;
import
java.util.List
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.core.domain.BaseEntity
;
/**
* 物品归还申请对象 psa_material_return
*
* @author fangjianyu
* @date 2025-03-25
*/
@Data
public
class
PsaMaterialReturn
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 归还ID */
private
Long
id
;
/** 项目ID */
private
Long
projectId
;
@Excel
(
name
=
"项目名称"
)
private
String
projectName
;
/** 归还人userID */
private
Long
userId
;
/** 申请人姓名 */
@Excel
(
name
=
"申请人姓名"
)
private
String
userName
;
/** 审批状态 */
@Excel
(
name
=
"审批状态"
,
dictType
=
"material_status"
)
private
String
checkStatus
;
/** 审批时间 */
private
Date
approvalDate
;
/** 审批意见 */
private
String
approvalAdvice
;
/** 草稿箱 */
private
String
draft
;
/** 删除 */
private
String
delFlag
;
/** 备注 */
@Excel
(
name
=
"申请备注"
)
private
String
remark
;
/** 物品归还细节信息 */
@JsonProperty
(
"items"
)
@Excel
(
name
=
"物品明细"
)
private
List
<
PsaMaterialReturnDetail
>
psaMaterialReturnDetailList
;
}
ruoyi-psa/src/main/java/com/ruoyi/materialreturn/domain/PsaMaterialReturnDetail.java
0 → 100644
View file @
f2431b08
package
com
.
ruoyi
.
materialreturn
.
domain
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.core.domain.BaseEntity
;
/**
* 物品归还细节对象 psa_material_return_detail
*
* @author fangjianyu
* @date 2025-03-25
*/
@Data
public
class
PsaMaterialReturnDetail
{
private
static
final
long
serialVersionUID
=
1L
;
/** 主键 */
private
Long
id
;
/** 归还表ID */
private
Long
returnId
;
/** 类型ID */
@JsonProperty
(
"type"
)
private
Long
materialTypeId
;
/** 物品ID */
@JsonProperty
(
"material_detail"
)
private
Long
materialTypeDetailId
;
@Excel
(
name
=
"物品名称"
)
private
String
materialName
;
/** 归还个数 */
@Excel
(
name
=
"归还个数"
)
@JsonProperty
(
"quantity"
)
private
Long
returnNumber
;
}
ruoyi-psa/src/main/java/com/ruoyi/materialreturn/mapper/PsaMaterialReturnMapper.java
0 → 100644
View file @
f2431b08
package
com
.
ruoyi
.
materialreturn
.
mapper
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturn
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturnDetail
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* 物品归还申请Mapper接口
*
* @author fangjianyu
* @date 2025-03-25
*/
@Mapper
public
interface
PsaMaterialReturnMapper
{
/**
* 查询物品归还申请
*
* @param id 物品归还申请主键
* @return 物品归还申请
*/
public
PsaMaterialReturn
selectPsaMaterialReturnById
(
Long
id
);
/**
* 查询物品归还申请列表
*
* @param psaMaterialReturn 物品归还申请
* @return 物品归还申请集合
*/
public
List
<
PsaMaterialReturn
>
selectPsaMaterialReturnList
(
PsaMaterialReturn
psaMaterialReturn
);
/**
* 新增物品归还申请
*
* @param psaMaterialReturn 物品归还申请
* @return 结果
*/
public
int
insertPsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
);
/**
* 修改物品归还申请
*
* @param psaMaterialReturn 物品归还申请
* @return 结果
*/
public
int
updatePsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
);
/**
* 删除物品归还申请
*
* @param id 物品归还申请主键
* @return 结果
*/
public
int
deletePsaMaterialReturnById
(
Long
id
);
/**
* 批量删除物品归还申请
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deletePsaMaterialReturnByIds
(
Long
[]
ids
);
/**
* 批量删除物品归还细节
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deletePsaMaterialReturnDetailByReturnIds
(
Long
[]
ids
);
/**
* 批量新增物品归还细节
*
* @param psaMaterialReturnDetailList 物品归还细节列表
* @return 结果
*/
public
int
batchPsaMaterialReturnDetail
(
List
<
PsaMaterialReturnDetail
>
psaMaterialReturnDetailList
);
/**
* 通过物品归还申请主键删除物品归还细节信息
*
* @param id 物品归还申请ID
* @return 结果
*/
public
int
deletePsaMaterialReturnDetailByReturnId
(
Long
id
);
}
ruoyi-psa/src/main/java/com/ruoyi/materialreturn/service/IPsaMaterialReturnService.java
0 → 100644
View file @
f2431b08
package
com
.
ruoyi
.
materialreturn
.
service
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturn
;
import
java.util.List
;
/**
* 物品归还申请Service接口
*
* @author fangjianyu
* @date 2025-03-25
*/
public
interface
IPsaMaterialReturnService
{
/**
* 查询物品归还申请
*
* @param id 物品归还申请主键
* @return 物品归还申请
*/
public
PsaMaterialReturn
selectPsaMaterialReturnById
(
Long
id
);
/**
* 查询物品归还申请列表
*
* @param psaMaterialReturn 物品归还申请
* @return 物品归还申请集合
*/
public
List
<
PsaMaterialReturn
>
selectPsaMaterialReturnList
(
PsaMaterialReturn
psaMaterialReturn
);
/**
* 新增物品归还申请
*
* @param psaMaterialReturn 物品归还申请
* @return 结果
*/
public
int
insertPsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
);
/**
* 修改物品归还申请
*
* @param psaMaterialReturn 物品归还申请
* @return 结果
*/
public
int
updatePsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
);
/**
* 批量删除物品归还申请
*
* @param ids 需要删除的物品归还申请主键集合
* @return 结果
*/
public
int
deletePsaMaterialReturnByIds
(
Long
[]
ids
);
/**
* 删除物品归还申请信息
*
* @param id 物品归还申请主键
* @return 结果
*/
public
int
deletePsaMaterialReturnById
(
Long
id
);
/**
* 审核归还
*
* @param psaMaterialReturn 物品归还
* @return 结果
*/
int
checkPsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
);
}
ruoyi-psa/src/main/java/com/ruoyi/materialreturn/service/impl/PsaMaterialReturnServiceImpl.java
0 → 100644
View file @
f2431b08
package
com
.
ruoyi
.
materialreturn
.
service
.
impl
;
import
java.util.List
;
import
com.ruoyi.attendance.enums.AttendanceDelFlag
;
import
com.ruoyi.attendance.enums.AttendanceDraft
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.material.mapper.PsaMaterialMapper
;
import
com.ruoyi.materialapply.enums.MaterialApplyStatus
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturn
;
import
com.ruoyi.materialreturn.domain.PsaMaterialReturnDetail
;
import
com.ruoyi.materialreturn.mapper.PsaMaterialReturnMapper
;
import
com.ruoyi.materialreturn.service.IPsaMaterialReturnService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
com.ruoyi.common.utils.StringUtils
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* 物品归还申请Service业务层处理
*
* @author fangjianyu
* @date 2025-03-25
*/
@Service
public
class
PsaMaterialReturnServiceImpl
implements
IPsaMaterialReturnService
{
@Autowired
private
PsaMaterialReturnMapper
psaMaterialReturnMapper
;
@Autowired
private
PsaMaterialMapper
psaMaterialMapper
;
/**
* 查询物品归还申请
*
* @param id 物品归还申请主键
* @return 物品归还申请
*/
@Override
public
PsaMaterialReturn
selectPsaMaterialReturnById
(
Long
id
)
{
return
psaMaterialReturnMapper
.
selectPsaMaterialReturnById
(
id
);
}
/**
* 查询物品归还申请列表
*
* @param psaMaterialReturn 物品归还申请
* @return 物品归还申请
*/
@Override
public
List
<
PsaMaterialReturn
>
selectPsaMaterialReturnList
(
PsaMaterialReturn
psaMaterialReturn
)
{
return
psaMaterialReturnMapper
.
selectPsaMaterialReturnList
(
psaMaterialReturn
);
}
/**
* 新增物品归还申请
*
* @param psaMaterialReturn 物品归还申请
* @return 结果
*/
@Transactional
@Override
public
int
insertPsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
)
{
psaMaterialReturn
.
setCreateBy
(
SecurityUtils
.
getUsername
());
psaMaterialReturn
.
setCheckStatus
(
MaterialApplyStatus
.
DSH
.
getValue
());
psaMaterialReturn
.
setDraft
(
AttendanceDraft
.
NO
.
getValue
());
psaMaterialReturn
.
setDelFlag
(
AttendanceDelFlag
.
EXIST
.
getValue
());
psaMaterialReturn
.
setCreateTime
(
DateUtils
.
getNowDate
());
int
rows
=
psaMaterialReturnMapper
.
insertPsaMaterialReturn
(
psaMaterialReturn
);
insertPsaMaterialReturnDetail
(
psaMaterialReturn
);
return
rows
;
}
/**
* 修改物品归还申请
*
* @param psaMaterialReturn 物品归还申请
* @return 结果
*/
@Transactional
@Override
public
int
updatePsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
)
{
psaMaterialReturn
.
setUpdateTime
(
DateUtils
.
getNowDate
());
psaMaterialReturnMapper
.
deletePsaMaterialReturnDetailByReturnId
(
psaMaterialReturn
.
getId
());
insertPsaMaterialReturnDetail
(
psaMaterialReturn
);
return
psaMaterialReturnMapper
.
updatePsaMaterialReturn
(
psaMaterialReturn
);
}
/**
* 审核物品归还
*
* @param psaMaterialReturn 物品归还申请
* @return 结果
*/
@Override
public
int
checkPsaMaterialReturn
(
PsaMaterialReturn
psaMaterialReturn
)
{
psaMaterialReturn
.
setApprovalDate
(
DateUtils
.
getNowDate
());
if
(
psaMaterialReturn
.
getCheckStatus
().
equals
(
MaterialApplyStatus
.
TG
.
getValue
()))
{
// 通过归还,加库存
List
<
PsaMaterialReturnDetail
>
psaMaterialReturnDetailList
=
psaMaterialReturn
.
getPsaMaterialReturnDetailList
();
// 遍历物料归还明细列表
for
(
PsaMaterialReturnDetail
detail
:
psaMaterialReturnDetailList
)
{
// 获取物料ID
Long
id
=
psaMaterialMapper
.
getPsaMaterialId
(
detail
.
getMaterialTypeId
(),
detail
.
getMaterialTypeDetailId
()
);
// 增加库存
psaMaterialMapper
.
addStock
(
id
,
detail
.
getReturnNumber
());
}
}
return
psaMaterialReturnMapper
.
updatePsaMaterialReturn
(
psaMaterialReturn
);
}
/**
* 批量删除物品归还申请
*
* @param ids 需要删除的物品归还申请主键
* @return 结果
*/
@Transactional
@Override
public
int
deletePsaMaterialReturnByIds
(
Long
[]
ids
)
{
psaMaterialReturnMapper
.
deletePsaMaterialReturnDetailByReturnIds
(
ids
);
return
psaMaterialReturnMapper
.
deletePsaMaterialReturnByIds
(
ids
);
}
/**
* 删除物品归还申请信息
*
* @param id 物品归还申请主键
* @return 结果
*/
@Transactional
@Override
public
int
deletePsaMaterialReturnById
(
Long
id
)
{
psaMaterialReturnMapper
.
deletePsaMaterialReturnDetailByReturnId
(
id
);
return
psaMaterialReturnMapper
.
deletePsaMaterialReturnById
(
id
);
}
/**
* 新增物品归还细节信息
*
* @param psaMaterialReturn 物品归还申请对象
*/
public
void
insertPsaMaterialReturnDetail
(
PsaMaterialReturn
psaMaterialReturn
)
{
List
<
PsaMaterialReturnDetail
>
psaMaterialReturnDetailList
=
psaMaterialReturn
.
getPsaMaterialReturnDetailList
();
Long
id
=
psaMaterialReturn
.
getId
();
if
(
StringUtils
.
isNotNull
(
psaMaterialReturnDetailList
))
{
List
<
PsaMaterialReturnDetail
>
list
=
new
ArrayList
<
PsaMaterialReturnDetail
>();
for
(
PsaMaterialReturnDetail
psaMaterialReturnDetail
:
psaMaterialReturnDetailList
)
{
psaMaterialReturnDetail
.
setReturnId
(
id
);
list
.
add
(
psaMaterialReturnDetail
);
}
if
(
list
.
size
()
>
0
)
{
psaMaterialReturnMapper
.
batchPsaMaterialReturnDetail
(
list
);
}
}
}
}
ruoyi-psa/src/main/resources/mapper/material/PsaMaterialApplyMapper.xml
View file @
f2431b08
...
@@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"draft"
column=
"draft"
/>
<result
property=
"draft"
column=
"draft"
/>
<result
property=
"delFlag"
column=
"del_flag"
/>
<result
property=
"delFlag"
column=
"del_flag"
/>
<result
property=
"projectName"
column=
"project_name"
/>
<!-- 子表集合映射 -->
<!-- 子表集合映射 -->
<collection
property=
"psaMaterialApplyDetailList"
ofType=
"PsaMaterialApplyDetail"
>
<collection
property=
"psaMaterialApplyDetailList"
ofType=
"PsaMaterialApplyDetail"
>
<id
property=
"id"
column=
"detail_id"
/>
<id
property=
"id"
column=
"detail_id"
/>
...
@@ -26,6 +27,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -26,6 +27,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"materialTypeId"
column=
"type"
/>
<result
property=
"materialTypeId"
column=
"type"
/>
<result
property=
"materialTypeDetailId"
column=
"material_detail"
/>
<result
property=
"materialTypeDetailId"
column=
"material_detail"
/>
<result
property=
"applyNumber"
column=
"quantity"
/>
<result
property=
"applyNumber"
column=
"quantity"
/>
<result
property=
"materialName"
column=
"material_name"
/>
<result
property=
"stock"
column=
"stock"
/>
<result
property=
"unit"
column=
"unit"
/>
</collection>
</collection>
</resultMap>
</resultMap>
...
@@ -66,9 +70,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -66,9 +70,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
d.apply_id,
d.apply_id,
d.material_type_id AS type,
d.material_type_id AS type,
d.material_type_detail_id AS material_detail,
d.material_type_detail_id AS material_detail,
d.apply_number AS quantity
d.apply_number AS quantity,
p.project_name,
mtd.material_name,
pm.stock,
pm.unit
FROM psa_material_apply a
FROM psa_material_apply a
LEFT JOIN psa_material_apply_detail d ON a.id = d.apply_id
LEFT JOIN psa_material_apply_detail d ON a.id = d.apply_id
LEFT JOIN project_manage p ON a.project_id = p.id
LEFT JOIN psa_material_type_detail mtd ON d.material_type_detail_id = mtd.id
LEFT JOIN psa_material pm ON pm.item_id = mtd.id and pm.type_id = mtd.type_id
</sql>
</sql>
<select
id=
"selectPsaMaterialApplyList"
parameterType=
"PsaMaterialApply"
resultMap=
"PsaMaterialApplyResult"
>
<select
id=
"selectPsaMaterialApplyList"
parameterType=
"PsaMaterialApply"
resultMap=
"PsaMaterialApplyResult"
>
...
@@ -78,13 +89,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -78,13 +89,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"userName != null and userName != ''"
>
and user_name like concat('%', #{userName}, '%')
</if>
<if
test=
"userName != null and userName != ''"
>
and user_name like concat('%', #{userName}, '%')
</if>
<if
test=
"checkStatus != null and checkStatus != ''"
>
and check_status = #{checkStatus}
</if>
<if
test=
"checkStatus != null and checkStatus != ''"
>
and check_status = #{checkStatus}
</if>
<if
test=
"createTime != null "
>
and date(create_time) = #{createTime}
</if>
<if
test=
"createTime != null "
>
and date(create_time) = #{createTime}
</if>
<if
test=
"draft != null "
>
and a.draft = #{draft}
</if>
</where>
</where>
</select>
</select>
<select
id=
"selectPsaMaterialApplyById"
parameterType=
"Long"
resultMap=
"PsaMaterialApplyPsaMaterialApplyDetailResult"
>
<select
id=
"selectPsaMaterialApplyById"
parameterType=
"Long"
resultMap=
"PsaMaterialApplyResult"
>
select id, project_id, user_id, user_name, remark, check_status, approval_date, approval_advice, create_time, update_time, create_by, update_by, draft, del_flag
<include
refid=
"selectPsaMaterialApplyVo"
/>
from psa_material_apply
where a.id = #{id}
where id = #{id}
</select>
</select>
<select
id=
"selectPsaMaterialApplyDetailList"
resultMap=
"PsaMaterialApplyDetailResult"
>
<select
id=
"selectPsaMaterialApplyDetailList"
resultMap=
"PsaMaterialApplyDetailResult"
>
...
...
ruoyi-psa/src/main/resources/mapper/material/PsaMaterialEntryMapper.xml
View file @
f2431b08
...
@@ -20,10 +20,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -20,10 +20,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"draft"
column=
"draft"
/>
<result
property=
"draft"
column=
"draft"
/>
<result
property=
"delFlag"
column=
"del_flag"
/>
<result
property=
"delFlag"
column=
"del_flag"
/>
<result
property=
"typeName"
column=
"type_name"
/>
</resultMap>
</resultMap>
<sql
id=
"selectPsaMaterialEntryVo"
>
<sql
id=
"selectPsaMaterialEntryVo"
>
select id, entry_method, material_id, expense_id, type_id, item_id, item_name, entry_quantity, create_time, update_time, create_by, update_by, remark, draft, del_flag from psa_material_entry
select pe.id,
pe.entry_method,
pe.material_id,
pe.expense_id,
pe.type_id,
pe.item_id,
pe.item_name,
pe.entry_quantity,
pe.create_time,
pe.update_time,
pe.create_by,
pe.update_by,
pe.remark,
pe.draft,
pe.del_flag,
pmt.type_name
from psa_material_entry pe
left join psa_material_type pmt on pe.type_id = pmt.id
</sql>
</sql>
<select
id=
"selectPsaMaterialEntryList"
parameterType=
"PsaMaterialEntry"
resultMap=
"PsaMaterialEntryResult"
>
<select
id=
"selectPsaMaterialEntryList"
parameterType=
"PsaMaterialEntry"
resultMap=
"PsaMaterialEntryResult"
>
...
...
ruoyi-psa/src/main/resources/mapper/material/PsaMaterialMapper.xml
View file @
f2431b08
...
@@ -18,6 +18,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -18,6 +18,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"draft"
column=
"draft"
/>
<result
property=
"draft"
column=
"draft"
/>
<result
property=
"delFlag"
column=
"del_flag"
/>
<result
property=
"delFlag"
column=
"del_flag"
/>
<result
property=
"materialName"
column=
"material_name"
/>
<result
property=
"typeName"
column=
"type_name"
/>
</resultMap>
</resultMap>
<resultMap
type=
"PsaMaterialType"
id=
"PsaMaterialTypeResult"
>
<resultMap
type=
"PsaMaterialType"
id=
"PsaMaterialTypeResult"
>
...
@@ -36,7 +38,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -36,7 +38,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
</resultMap>
<sql
id=
"selectPsaMaterialVo"
>
<sql
id=
"selectPsaMaterialVo"
>
select material_id, item_code, item_id, type_id, stock, unit, create_time, update_time, create_by, update_by, remark, draft, del_flag from psa_material
select pm.material_id,
pm.item_code,
pm.item_id,
pm.type_id,
pm.stock,
pm.unit,
pm.create_time,
pm.update_time,
pm.create_by,
pm.update_by,
pm.remark,
pm.draft,
pm.del_flag,
pmd.material_name,
pmt.type_name
from psa_material pm
LEFT JOIN psa_material_type_detail pmd ON pm.item_id = pmd.id
LEFT JOIN psa_material_type pmt ON pm.type_id = pmt.id
</sql>
</sql>
<sql
id=
"selectPsaMateriaTypelVo"
>
<sql
id=
"selectPsaMateriaTypelVo"
>
select id, type_name from psa_material_type
select id, type_name from psa_material_type
...
@@ -97,6 +116,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -97,6 +116,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</where>
</select>
</select>
<select
id=
"getPsaMaterialId"
resultType=
"java.lang.Long"
>
select material_id from psa_material where type_id = #{materialTypeId} and item_id = #{materialTypeDetailId}
</select>
<insert
id=
"insertPsaMaterial"
parameterType=
"PsaMaterial"
useGeneratedKeys=
"true"
keyProperty=
"materialId"
>
<insert
id=
"insertPsaMaterial"
parameterType=
"PsaMaterial"
useGeneratedKeys=
"true"
keyProperty=
"materialId"
>
...
@@ -187,4 +209,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -187,4 +209,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<delete
id=
"deletePsaMaterialDetailById"
parameterType=
"Long"
>
<delete
id=
"deletePsaMaterialDetailById"
parameterType=
"Long"
>
delete from psa_material_type_detail where id = #{itemId}
delete from psa_material_type_detail where id = #{itemId}
</delete>
</delete>
<!-- 根据item_id查询物品详情 -->
<select
id=
"selectMaterialDetailById"
resultType=
"com.ruoyi.material.domain.PsaMaterialTypeDetail"
>
SELECT id, type_id, material_name
FROM psa_material_type_detail
WHERE id = #{item_id}
</select>
</mapper>
</mapper>
\ No newline at end of file
ruoyi-psa/src/main/resources/mapper/material/PsaMaterialReturnMapper.xml
0 → 100644
View file @
f2431b08
<?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.ruoyi.materialreturn.mapper.PsaMaterialReturnMapper"
>
<resultMap
type=
"PsaMaterialReturn"
id=
"PsaMaterialReturnResult"
>
<id
property=
"id"
column=
"id"
/>
<!-- <result property="id" column="id" />-->
<result
property=
"projectId"
column=
"project_id"
/>
<result
property=
"userId"
column=
"user_id"
/>
<result
property=
"userName"
column=
"user_name"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"checkStatus"
column=
"check_status"
/>
<result
property=
"approvalDate"
column=
"approval_date"
/>
<result
property=
"approvalAdvice"
column=
"approval_advice"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"draft"
column=
"draft"
/>
<result
property=
"delFlag"
column=
"del_flag"
/>
<result
property=
"projectName"
column=
"project_name"
/>
<collection
property=
"psaMaterialReturnDetailList"
ofType=
"psaMaterialReturnDetail"
>
<id
property=
"id"
column=
"detail_id"
/>
<result
property=
"returnId"
column=
"return_id"
/>
<result
property=
"materialTypeId"
column=
"type"
/>
<result
property=
"materialTypeDetailId"
column=
"material_detail"
/>
<result
property=
"returnNumber"
column=
"quantity"
/>
<result
property=
"materialName"
column=
"material_name"
/>
</collection>
</resultMap>
<resultMap
id=
"PsaMaterialReturnPsaMaterialReturnDetailResult"
type=
"PsaMaterialReturn"
extends=
"PsaMaterialReturnResult"
>
<collection
property=
"psaMaterialReturnDetailList"
ofType=
"PsaMaterialReturnDetail"
column=
"id"
select=
"selectPsaMaterialReturnDetailList"
/>
</resultMap>
<resultMap
type=
"PsaMaterialReturnDetail"
id=
"PsaMaterialReturnDetailResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"returnId"
column=
"return_id"
/>
<result
property=
"materialTypeId"
column=
"material_type_id"
/>
<result
property=
"materialTypeDetailId"
column=
"material_type_detail_id"
/>
<result
property=
"returnNumber"
column=
"return_number"
/>
</resultMap>
<sql
id=
"selectPsaMaterialReturnVo"
>
select r.id,
r.project_id,
r.user_id,
r.user_name,
r.remark,
r.check_status,
r.approval_date,
r.approval_advice,
r.create_time,
r.update_time,
r.create_by,
r.update_by,
r.draft,
r.del_flag,
d.id AS detail_id,
d.return_id,
d.material_type_id AS type,
d.material_type_detail_id AS material_detail,
d.return_number AS quantity,
p.project_name,
mtd.material_name
from psa_material_return r
LEFT JOIN psa_material_return_detail d ON r.id = d.return_id
left join project_manage p ON r.project_id = p.id
LEFT JOIN psa_material_type_detail mtd ON d.material_type_detail_id = mtd.id
</sql>
<select
id=
"selectPsaMaterialReturnList"
parameterType=
"PsaMaterialReturn"
resultMap=
"PsaMaterialReturnResult"
>
<include
refid=
"selectPsaMaterialReturnVo"
/>
<where>
<if
test=
"projectId != null "
>
and project_id = #{projectId}
</if>
<if
test=
"userName != null and userName != ''"
>
and user_name like concat('%', #{userName}, '%')
</if>
<if
test=
"checkStatus != null and checkStatus != ''"
>
and check_status = #{checkStatus}
</if>
</where>
</select>
<select
id=
"selectPsaMaterialReturnById"
parameterType=
"Long"
resultMap=
"PsaMaterialReturnPsaMaterialReturnDetailResult"
>
select id, project_id, user_id, user_name, remark, check_status, approval_date, approval_advice, create_time, update_time, create_by, update_by, draft, del_flag
from psa_material_return
where id = #{id}
</select>
<select
id=
"selectPsaMaterialReturnDetailList"
resultMap=
"PsaMaterialReturnDetailResult"
>
select id, return_id, material_type_id, material_type_detail_id, return_number
from psa_material_return_detail
where return_id = #{return_id}
</select>
<insert
id=
"insertPsaMaterialReturn"
parameterType=
"PsaMaterialReturn"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into psa_material_return
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"projectId != null"
>
project_id,
</if>
<if
test=
"userId != null"
>
user_id,
</if>
<if
test=
"userName != null"
>
user_name,
</if>
<if
test=
"remark != null"
>
remark,
</if>
<if
test=
"checkStatus != null"
>
check_status,
</if>
<if
test=
"approvalDate != null"
>
approval_date,
</if>
<if
test=
"approvalAdvice != null"
>
approval_advice,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
<if
test=
"createBy != null"
>
create_by,
</if>
<if
test=
"updateBy != null"
>
update_by,
</if>
<if
test=
"draft != null"
>
draft,
</if>
<if
test=
"delFlag != null"
>
del_flag,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"projectId != null"
>
#{projectId},
</if>
<if
test=
"userId != null"
>
#{userId},
</if>
<if
test=
"userName != null"
>
#{userName},
</if>
<if
test=
"remark != null"
>
#{remark},
</if>
<if
test=
"checkStatus != null"
>
#{checkStatus},
</if>
<if
test=
"approvalDate != null"
>
#{approvalDate},
</if>
<if
test=
"approvalAdvice != null"
>
#{approvalAdvice},
</if>
<if
test=
"createTime != null"
>
#{createTime},
</if>
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
<if
test=
"createBy != null"
>
#{createBy},
</if>
<if
test=
"updateBy != null"
>
#{updateBy},
</if>
<if
test=
"draft != null"
>
#{draft},
</if>
<if
test=
"delFlag != null"
>
#{delFlag},
</if>
</trim>
</insert>
<update
id=
"updatePsaMaterialReturn"
parameterType=
"PsaMaterialReturn"
>
update psa_material_return
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"projectId != null"
>
project_id = #{projectId},
</if>
<if
test=
"userId != null"
>
user_id = #{userId},
</if>
<if
test=
"userName != null"
>
user_name = #{userName},
</if>
<if
test=
"remark != null"
>
remark = #{remark},
</if>
<if
test=
"checkStatus != null"
>
check_status = #{checkStatus},
</if>
<if
test=
"approvalDate != null"
>
approval_date = #{approvalDate},
</if>
<if
test=
"approvalAdvice != null"
>
approval_advice = #{approvalAdvice},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"createBy != null"
>
create_by = #{createBy},
</if>
<if
test=
"updateBy != null"
>
update_by = #{updateBy},
</if>
<if
test=
"draft != null"
>
draft = #{draft},
</if>
<if
test=
"delFlag != null"
>
del_flag = #{delFlag},
</if>
</trim>
where id = #{id}
</update>
<delete
id=
"deletePsaMaterialReturnById"
parameterType=
"Long"
>
delete from psa_material_return where id = #{id}
</delete>
<delete
id=
"deletePsaMaterialReturnByIds"
parameterType=
"String"
>
delete from psa_material_return where id in
<foreach
item=
"id"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</delete>
<delete
id=
"deletePsaMaterialReturnDetailByReturnIds"
parameterType=
"String"
>
delete from psa_material_return_detail where return_id in
<foreach
item=
"returnId"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{returnId}
</foreach>
</delete>
<delete
id=
"deletePsaMaterialReturnDetailByReturnId"
parameterType=
"Long"
>
delete from psa_material_return_detail where return_id = #{returnId}
</delete>
<insert
id=
"batchPsaMaterialReturnDetail"
>
insert into psa_material_return_detail( id, return_id, material_type_id, material_type_detail_id, return_number) values
<foreach
item=
"item"
index=
"index"
collection=
"list"
separator=
","
>
( #{item.id}, #{item.returnId}, #{item.materialTypeId}, #{item.materialTypeDetailId}, #{item.returnNumber})
</foreach>
</insert>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment