|
|
@@ -30,6 +30,7 @@ import lombok.AllArgsConstructor;
|
|
|
import org.glassfish.jersey.server.internal.process.MappableException;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
@@ -62,6 +63,8 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
|
|
|
|
|
|
private final TextbookClaimUserMapper textbookClaimUserMapper;
|
|
|
|
|
|
+ private final ClaimItemSubscriptionItemMapper claimItemSubscriptionItemMapper;
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean add(WfTextbookClaim wfTextbookClaim) {
|
|
|
@@ -211,24 +214,41 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
|
|
|
throw new MyException("未找到申领项详细数据");
|
|
|
}
|
|
|
|
|
|
- TextbookSubscriptionItem textbookSubscriptionItem = textbookSubscriptionItemMapper.selectById(textbookClaimItem.getTextbookSubscriptionItemId());
|
|
|
- if (ObjectUtil.isNull(textbookSubscriptionItem)) {
|
|
|
- throw new MyException("未找到征订项详细数据");
|
|
|
- }
|
|
|
-
|
|
|
- Textbook textbook = textbookMapper.selectById(textbookSubscriptionItem.getTextbookId());
|
|
|
+ Textbook textbook = textbookMapper.selectById(textbookClaimItem.getTextbookId());
|
|
|
if (ObjectUtil.isNull(textbook)) {
|
|
|
throw new MyException("未找到相关教材数据");
|
|
|
}
|
|
|
|
|
|
//判断总发放数量是否超出该申请项的申请数量
|
|
|
Integer issueNumber = ObjectUtil.isNull(wfTextbookClaimItem.getIssueNumber()) ? 0 : wfTextbookClaimItem.getIssueNumber();//已发放
|
|
|
- Integer confirmNumber = ObjectUtil.isNull(textbookClaimItem.getConfirmNumber()) ? 0 : textbookClaimItem.getConfirmNumber();//本次发放
|
|
|
Integer applicantNumber = ObjectUtil.isNull(wfTextbookClaimItem.getApplicantNumber()) ? 0 : wfTextbookClaimItem.getApplicantNumber();//申领总数量
|
|
|
+ Integer confirmNumber = ObjectUtil.isNull(textbookClaimItem.getConfirmTotalNumber()) ? 0 : textbookClaimItem.getConfirmTotalNumber();//本次发放
|
|
|
if (issueNumber + confirmNumber > applicantNumber) {
|
|
|
throw new MyException(textbook.getBookName() + "发放总数量超出申领数量");
|
|
|
}
|
|
|
|
|
|
+ for (ConfirmDistributeDto.TextbookSubscriptionItems textbookSubscriptionItems : textbookClaimItem.getTextbookSubscriptionItems()){
|
|
|
+ TextbookSubscriptionItem textbookSubscriptionItem = textbookSubscriptionItemMapper.selectById(textbookSubscriptionItems.getTextbookSubscriptionItemId());
|
|
|
+ if (ObjectUtils.isEmpty(textbookSubscriptionItem)) {
|
|
|
+ throw new MyException("未找到征订项详细数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ //更新教材征订中的的库存数量
|
|
|
+ textbookSubscriptionItemMapper.updateById(new TextbookSubscriptionItem() {{
|
|
|
+ setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
+ setModifyDate(new Date());
|
|
|
+ setId(textbookSubscriptionItem.getId());
|
|
|
+ setOutStockNum(ObjectUtil.isNull(textbookSubscriptionItem.getOutStockNum()) ? 0 : textbookSubscriptionItem.getOutStockNum()
|
|
|
+ + confirmNumber);
|
|
|
+ }});
|
|
|
+
|
|
|
+ claimItemSubscriptionItemMapper.insert(new ClaimItemSubscriptionItem(){{
|
|
|
+ setWfTextbookClaimItemId(wfTextbookClaimItem.getId());
|
|
|
+ setTextbookSubscriptionItemId(textbookSubscriptionItem.getId());
|
|
|
+ setIssueNumber(confirmNumber);
|
|
|
+ }});
|
|
|
+ }
|
|
|
+
|
|
|
//增加出库记录
|
|
|
textbookIssueRecordMapper.insert(new TextbookIssueRecord() {{
|
|
|
setCreateDate(new Date());
|
|
|
@@ -258,14 +278,6 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
|
|
|
|
|
|
}});
|
|
|
|
|
|
- //更新教材管理中的库存数量
|
|
|
- textbookSubscriptionItemMapper.updateById(new TextbookSubscriptionItem() {{
|
|
|
- setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
- setModifyDate(new Date());
|
|
|
- setId(textbookSubscriptionItem.getId());
|
|
|
- setOutStockNum(confirmNumber);
|
|
|
- }});
|
|
|
-
|
|
|
//更新申领项中的已经发放数量
|
|
|
wfTextbookClaimWfTextbookClaimItemMapper.updateById(new WfTextbookClaimItem() {{
|
|
|
setModifyUserId(StpUtil.getLoginIdAsLong());
|