|
@@ -24,6 +24,8 @@ import com.fjhx.file.utils.ObsFileUtil;
|
|
|
import com.fjhx.flow.entity.flow.po.FlowExample;
|
|
|
import com.fjhx.flow.enums.FlowStatusEnum;
|
|
|
import com.fjhx.flow.service.flow.FlowExampleService;
|
|
|
+import com.fjhx.wms.entity.stock.po.StockJournalDetails;
|
|
|
+import com.fjhx.wms.service.stock.StockJournalDetailsService;
|
|
|
import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
import com.ruoyi.common.core.domain.BasePo;
|
|
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
|
@@ -60,6 +62,8 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
private ISysDeptService sysDeptService;
|
|
|
@Autowired
|
|
|
private PaymentTypeService paymentTypeService;
|
|
|
+ @Autowired
|
|
|
+ private StockJournalDetailsService stockJournalDetailsService;
|
|
|
|
|
|
@Override
|
|
|
public Page<CostControlVo> getPage(CostControlSelectDto dto) {
|
|
@@ -144,7 +148,12 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
|
|
|
//删除无效数据
|
|
|
List<Long> idList = costControlDetailList.stream().map(BaseIdPo::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- costControlDetailService.remove(q -> q.eq(CostControlDetail::getCostControlId, costControlDto.getId()).notIn(ObjectUtil.isNotEmpty(idList), BaseIdPo::getId, idList));
|
|
|
+ List<CostControlDetail> delList = costControlDetailService.list(q -> q.eq(CostControlDetail::getCostControlId, costControlDto.getId()).notIn(ObjectUtil.isNotEmpty(idList), BaseIdPo::getId, idList));
|
|
|
+ //取消流水结算状态
|
|
|
+ cancelSettlement(delList);
|
|
|
+ //删除数据
|
|
|
+ costControlDetailService.removeBatchByIds(delList);
|
|
|
+
|
|
|
for (CostControlDetailDto costControlDetailDto : costControlDetailList) {
|
|
|
costControlDetailDto.setCostControlId(costControlDto.getId());
|
|
|
costControlDetailService.saveOrUpdate(costControlDetailDto);
|
|
@@ -152,6 +161,14 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
ObsFileUtil.editFile(costControlDetailDto.getFileList(), costControlDetailDto.getId(), 0);
|
|
|
//保存发票附件
|
|
|
ObsFileUtil.editFile(costControlDetailDto.getInvoiceFileList(), costControlDetailDto.getId(), 10);
|
|
|
+
|
|
|
+ //标记流水为结算中
|
|
|
+ String stockJournalDetailsIds = costControlDetailDto.getStockJournalDetailsIds();
|
|
|
+ if (ObjectUtil.isNotEmpty(stockJournalDetailsIds)) {
|
|
|
+ stockJournalDetailsService.update(q -> q
|
|
|
+ .in(StockJournalDetails::getId, stockJournalDetailsIds.split(","))
|
|
|
+ .set(StockJournalDetails::getSettleStatus, 1));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -187,6 +204,9 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
.set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
);
|
|
|
|
|
|
+ //取消流水结算状态
|
|
|
+ cancelSettlement(costControlDetailService.list(q -> q.eq(CostControlDetail::getCostControlId, id)));
|
|
|
+
|
|
|
//销毁审批中的流程
|
|
|
CostControl byId = getById(id);
|
|
|
flowExampleService.update(q -> q
|
|
@@ -221,4 +241,23 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
return arr;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 取消流水结算状态
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void cancelSettlement(List<CostControlDetail> costControlDetailList) {
|
|
|
+ for (CostControlDetail costControlDetail : costControlDetailList) {
|
|
|
+ //标记流水为未结算
|
|
|
+ String stockJournalDetailsIds = costControlDetail.getStockJournalDetailsIds();
|
|
|
+ if (ObjectUtil.isNotEmpty(stockJournalDetailsIds)) {
|
|
|
+ stockJournalDetailsService.update(q -> q
|
|
|
+ .in(StockJournalDetails::getId, stockJournalDetailsIds.split(","))
|
|
|
+ .set(StockJournalDetails::getSettleStatus, 0)
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|