|
|
@@ -1,33 +1,20 @@
|
|
|
package com.xjrsoft.module.textbook.service.impl;
|
|
|
|
|
|
-import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
-import com.xjrsoft.common.enums.IssueModeEnum;
|
|
|
-import com.xjrsoft.common.enums.RecedeTypeEnum;
|
|
|
-import com.xjrsoft.common.enums.WarehouseModeEnum;
|
|
|
-import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
-import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
-import com.xjrsoft.module.textbook.entity.Textbook;
|
|
|
-import com.xjrsoft.module.textbook.entity.TextbookIssueRecord;
|
|
|
-import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
|
|
|
-import com.xjrsoft.module.textbook.entity.WfTextbookRecede;
|
|
|
-import com.xjrsoft.module.textbook.entity.WfTextbookRecedeItem;
|
|
|
-import com.xjrsoft.module.textbook.mapper.TextbookIssueRecordMapper;
|
|
|
-import com.xjrsoft.module.textbook.mapper.TextbookMapper;
|
|
|
-import com.xjrsoft.module.textbook.mapper.TextbookWarehouseRecordMapper;
|
|
|
-import com.xjrsoft.module.textbook.mapper.WfTextbookRecedeItemMapper;
|
|
|
-import com.xjrsoft.module.textbook.mapper.WfTextbookRecedeMapper;
|
|
|
+import com.xjrsoft.common.enums.DeleteMark;
|
|
|
+import com.xjrsoft.module.textbook.entity.*;
|
|
|
+import com.xjrsoft.module.textbook.mapper.*;
|
|
|
import com.xjrsoft.module.textbook.service.IWfTextbookRecedeService;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -46,8 +33,6 @@ public class WfTextbookRecedeServiceImpl extends MPJBaseServiceImpl<WfTextbookRe
|
|
|
|
|
|
private final TextbookMapper textbookTextbookMapper;
|
|
|
|
|
|
- private final BaseClassMapper baseClassMapper;
|
|
|
-
|
|
|
private final TextbookWarehouseRecordMapper textbookWarehouseRecordMapper;
|
|
|
|
|
|
private final TextbookIssueRecordMapper textbookIssueRecordMapper;
|
|
|
@@ -112,70 +97,93 @@ public class WfTextbookRecedeServiceImpl extends MPJBaseServiceImpl<WfTextbookRe
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public Boolean dataHandle(Long formId) {
|
|
|
- WfTextbookRecede wfTextbookRecede = this.getById(formId);
|
|
|
- if(ObjectUtil.isNotNull(wfTextbookRecede)){
|
|
|
- LambdaQueryWrapper<WfTextbookRecedeItem> queryWrapperItem = new LambdaQueryWrapper<>();
|
|
|
- queryWrapperItem
|
|
|
- .eq(WfTextbookRecedeItem::getWfTextbookRecedeId, wfTextbookRecede.getId());
|
|
|
- List<WfTextbookRecedeItem> wfTextbookRecedeItemList = wfTextbookRecedeWfTextbookRecedeItemMapper.selectList(queryWrapperItem);
|
|
|
- if(ObjectUtil.isNotNull(wfTextbookRecedeItemList)){
|
|
|
+ WfTextbookRecede wfTextbookRecede = this.getByIdDeep(formId);
|
|
|
+
|
|
|
+ if(ObjectUtils.isNotEmpty(wfTextbookRecede)){
|
|
|
+ List<WfTextbookRecedeItem> wfTextbookRecedeItemList = wfTextbookRecede.getWfTextbookRecedeItemList();
|
|
|
+ if(ObjectUtils.isNotEmpty(wfTextbookRecedeItemList)){
|
|
|
+ // 获取本学期所有的入库记录
|
|
|
+ List<TextbookWarehouseRecord> textbookWarehouseRecords = textbookWarehouseRecordMapper.selectList(
|
|
|
+ Wrappers.lambdaQuery(TextbookWarehouseRecord.class)
|
|
|
+ .eq(TextbookWarehouseRecord::getBaseSemesterId, wfTextbookRecede.getBaseSemesterId())
|
|
|
+ .eq(TextbookWarehouseRecord::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ );
|
|
|
+
|
|
|
+ Map<Long, TextbookWarehouseRecord> textbookWarehouseRecordMap = textbookWarehouseRecords.stream()
|
|
|
+ .collect(Collectors.toMap(TextbookWarehouseRecord::getId, t -> t, (t1, t2) -> t1))
|
|
|
+ ;
|
|
|
+
|
|
|
+ // 获取本学期所有的入库记录
|
|
|
+ List<TextbookIssueRecord> textbookIssueRecords = textbookIssueRecordMapper.selectList(
|
|
|
+ Wrappers.lambdaQuery(TextbookIssueRecord.class)
|
|
|
+ .eq(TextbookIssueRecord::getBaseSemesterId, wfTextbookRecede.getBaseSemesterId())
|
|
|
+ .eq(TextbookIssueRecord::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ );
|
|
|
+
|
|
|
+ Map<Long, TextbookIssueRecord> textbookIssueRecordMap = textbookIssueRecords.stream()
|
|
|
+ .collect(Collectors.toMap(TextbookIssueRecord::getId, t -> t, (t1, t2) -> t1))
|
|
|
+ ;
|
|
|
+
|
|
|
//遍历每一个退书申请项
|
|
|
+ TextbookWarehouseRecord textbookWarehouseRecord;
|
|
|
+ TextbookIssueRecord textbookIssueRecord;
|
|
|
for (WfTextbookRecedeItem wfTextbookRecedeItem : wfTextbookRecedeItemList) {
|
|
|
- //获取所退书籍的信息
|
|
|
- Textbook textbook = textbookTextbookMapper.selectById(wfTextbookRecedeItem.getTextbookId());
|
|
|
- //退书类型是到教务处
|
|
|
- if(ObjectUtil.isNotNull(textbook) && wfTextbookRecede.getRecedeType().equals(RecedeTypeEnum.RecedeDeansOffice.getCode())){
|
|
|
- //修改库存
|
|
|
- textbookTextbookMapper.updateById(new Textbook(){{
|
|
|
- setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
- setModifyDate(new Date());
|
|
|
- setId(wfTextbookRecedeItem.getTextbookId());
|
|
|
-// setStock((ObjectUtil.isNull(textbook.getStock())?0:textbook.getStock()) + (ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber()));
|
|
|
- }});
|
|
|
- //增加入库记录
|
|
|
- textbookWarehouseRecordMapper.insert(new TextbookWarehouseRecord(){{
|
|
|
- setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
- setCreateDate(new Date());
|
|
|
- setTextbookId(wfTextbookRecedeItem.getTextbookId());
|
|
|
- setDataId(wfTextbookRecede.getId());
|
|
|
- setDataItemId(wfTextbookRecedeItem.getId());
|
|
|
- setWarehouseMode(WarehouseModeEnum.WmRecede.getCode());
|
|
|
- setWarehouseNumber(ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber());
|
|
|
- if(wfTextbookRecede.getClassId() != null && wfTextbookRecede.getClassId() > 0){
|
|
|
- BaseClass c = baseClassMapper.selectById(wfTextbookRecede.getClassId());
|
|
|
- setSource(c.getName());
|
|
|
- }
|
|
|
- QueryWrapper<TextbookWarehouseRecord> queryWrapperSortcode = new QueryWrapper<>();
|
|
|
- queryWrapperSortcode.select("IFNULL(MAX(sort_code),0) as sortCode");
|
|
|
- TextbookWarehouseRecord t = textbookWarehouseRecordMapper.selectOne(queryWrapperSortcode);
|
|
|
- setSortCode(t.getSortCode()+1);
|
|
|
- }});
|
|
|
- }
|
|
|
-
|
|
|
- //退书类型是到书店
|
|
|
- if(ObjectUtil.isNotNull(textbook) && wfTextbookRecede.getRecedeType().equals(RecedeTypeEnum.RecedeBookstore.getCode())){
|
|
|
- //修改库存
|
|
|
- textbookTextbookMapper.updateById(new Textbook(){{
|
|
|
- setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
- setModifyDate(new Date());
|
|
|
- setId(wfTextbookRecedeItem.getTextbookId());
|
|
|
-// setStock((ObjectUtil.isNull(textbook.getStock())?0:textbook.getStock()) - (ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber()) );
|
|
|
- }});
|
|
|
- //增加出库记录
|
|
|
- textbookIssueRecordMapper.insert(new TextbookIssueRecord(){{
|
|
|
- setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
- setCreateDate(new Date());
|
|
|
- setTextbookId(wfTextbookRecedeItem.getTextbookId());
|
|
|
- setDataId(wfTextbookRecede.getId());
|
|
|
- setDataItemId(wfTextbookRecedeItem.getId());
|
|
|
- setIssueMode(IssueModeEnum.ImRecede.getCode());
|
|
|
- setIssueNumber(ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber());
|
|
|
- QueryWrapper<TextbookIssueRecord> queryWrapperSortcode = new QueryWrapper<>();
|
|
|
- queryWrapperSortcode.select("IFNULL(MAX(sort_code),0) as sortCode");
|
|
|
- TextbookIssueRecord t = textbookIssueRecordMapper.selectOne(queryWrapperSortcode);
|
|
|
- setSortCode(t.getSortCode()+1);
|
|
|
- }});
|
|
|
- }
|
|
|
+ textbookIssueRecord = textbookIssueRecordMap.get(wfTextbookRecedeItem.getTextbookIssueRecordId());
|
|
|
+
|
|
|
+
|
|
|
+// //退书类型是到教务处
|
|
|
+// if(ObjectUtil.isNotNull(textbook) && wfTextbookRecede.getRecedeType().equals(RecedeTypeEnum.RecedeDeansOffice.getCode())){
|
|
|
+// //修改库存
|
|
|
+// textbookTextbookMapper.updateById(new Textbook(){{
|
|
|
+// setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
+// setModifyDate(new Date());
|
|
|
+// setId(wfTextbookRecedeItem.getTextbookId());
|
|
|
+//// setStock((ObjectUtil.isNull(textbook.getStock())?0:textbook.getStock()) + (ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber()));
|
|
|
+// }});
|
|
|
+// //增加入库记录
|
|
|
+// textbookWarehouseRecordMapper.insert(new TextbookWarehouseRecord(){{
|
|
|
+// setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
+// setCreateDate(new Date());
|
|
|
+// setTextbookId(wfTextbookRecedeItem.getTextbookId());
|
|
|
+// setDataId(wfTextbookRecede.getId());
|
|
|
+// setDataItemId(wfTextbookRecedeItem.getId());
|
|
|
+// setWarehouseMode(WarehouseModeEnum.WmRecede.getCode());
|
|
|
+// setWarehouseNumber(ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber());
|
|
|
+// if(wfTextbookRecede.getClassId() != null && wfTextbookRecede.getClassId() > 0){
|
|
|
+// BaseClass c = baseClassMapper.selectById(wfTextbookRecede.getClassId());
|
|
|
+// setSource(c.getName());
|
|
|
+// }
|
|
|
+// QueryWrapper<TextbookWarehouseRecord> queryWrapperSortcode = new QueryWrapper<>();
|
|
|
+// queryWrapperSortcode.select("IFNULL(MAX(sort_code),0) as sortCode");
|
|
|
+// TextbookWarehouseRecord t = textbookWarehouseRecordMapper.selectOne(queryWrapperSortcode);
|
|
|
+// setSortCode(t.getSortCode()+1);
|
|
|
+// }});
|
|
|
+// }
|
|
|
+//
|
|
|
+// //退书类型是到书店
|
|
|
+// if(ObjectUtil.isNotNull(textbook) && wfTextbookRecede.getRecedeType().equals(RecedeTypeEnum.RecedeBookstore.getCode())){
|
|
|
+// //修改库存
|
|
|
+// textbookTextbookMapper.updateById(new Textbook(){{
|
|
|
+// setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
+// setModifyDate(new Date());
|
|
|
+// setId(wfTextbookRecedeItem.getTextbookId());
|
|
|
+//// setStock((ObjectUtil.isNull(textbook.getStock())?0:textbook.getStock()) - (ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber()) );
|
|
|
+// }});
|
|
|
+// //增加出库记录
|
|
|
+// textbookIssueRecordMapper.insert(new TextbookIssueRecord(){{
|
|
|
+// setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
+// setCreateDate(new Date());
|
|
|
+// setTextbookId(wfTextbookRecedeItem.getTextbookId());
|
|
|
+// setDataId(wfTextbookRecede.getId());
|
|
|
+// setDataItemId(wfTextbookRecedeItem.getId());
|
|
|
+// setIssueMode(IssueModeEnum.ImRecede.getCode());
|
|
|
+// setIssueNumber(ObjectUtil.isNull(wfTextbookRecedeItem.getNumber())?0:wfTextbookRecedeItem.getNumber());
|
|
|
+// QueryWrapper<TextbookIssueRecord> queryWrapperSortcode = new QueryWrapper<>();
|
|
|
+// queryWrapperSortcode.select("IFNULL(MAX(sort_code),0) as sortCode");
|
|
|
+// TextbookIssueRecord t = textbookIssueRecordMapper.selectOne(queryWrapperSortcode);
|
|
|
+// setSortCode(t.getSortCode()+1);
|
|
|
+// }});
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
}
|