|
@@ -1,12 +1,16 @@
|
|
|
package com.dayou.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.dayou.common.BaseEntity;
|
|
|
+import com.dayou.dto.ItemAddFinanceInvoiceDTO;
|
|
|
import com.dayou.dto.MajorProductionSimpleDTO;
|
|
|
import com.dayou.entity.FinanceInvoice;
|
|
|
+import com.dayou.entity.Item;
|
|
|
import com.dayou.entity.MajorProduction;
|
|
|
+import com.dayou.entity.OrderFund;
|
|
|
import com.dayou.enums.FinanceInvoiceState;
|
|
|
import com.dayou.enums.ReportStatus;
|
|
|
import com.dayou.exception.ErrorCode;
|
|
@@ -14,6 +18,8 @@ import com.dayou.mapper.FinanceInvoiceMapper;
|
|
|
import com.dayou.mapper.MajorProductionMapper;
|
|
|
import com.dayou.service.IFinanceInvoiceService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.dayou.service.IItemService;
|
|
|
+import com.dayou.service.IOrderFundService;
|
|
|
import com.dayou.utils.LoginContext;
|
|
|
import com.dayou.vo.FinanceInvoiceVo;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -41,6 +47,8 @@ import java.util.stream.Collectors;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import com.dayou.enums.BatchTaskTypeEnum;
|
|
|
|
|
|
+import static com.dayou.enums.MainBusinessEnum.ITEM_BUSINESS;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 财务开票 服务实现类
|
|
@@ -59,6 +67,12 @@ public class FinanceInvoiceServiceImpl extends ServiceImpl<FinanceInvoiceMapper,
|
|
|
@Autowired
|
|
|
private MajorProductionMapper majorProductionMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IItemService iItemService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IOrderFundService orderFundService;
|
|
|
+
|
|
|
@Override
|
|
|
@SuppressWarnings("unchecked")
|
|
|
public Page<FinanceInvoiceVo> selectPage(Page page,FinanceInvoice financeInvoice,String keyword){
|
|
@@ -89,6 +103,37 @@ public class FinanceInvoiceServiceImpl extends ServiceImpl<FinanceInvoiceMapper,
|
|
|
return this.save(financeInvoice);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 新增土规项目开票申请
|
|
|
+ * @param dto 开票信息
|
|
|
+ * @return orderFundId
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Long itemAdd(ItemAddFinanceInvoiceDTO dto) {
|
|
|
+ //检查是否有订单收款记录
|
|
|
+ Item item = iItemService.getById(dto.getItemId());
|
|
|
+
|
|
|
+ // orderFundId为null的话就新增一条
|
|
|
+ if (ObjectUtil.isNull(dto.getOrderFundId())) {
|
|
|
+ //创建订单收款记录
|
|
|
+ OrderFund orderFund = new OrderFund();
|
|
|
+ orderFund.setShouldAmount(item.getAmount());
|
|
|
+ orderFund.setOrderName(item.getName());
|
|
|
+ orderFund.setOrderId(item.getBusinessNo());
|
|
|
+ orderFund.setBusinessId(item.getId());
|
|
|
+ orderFund.setBusinessType(ITEM_BUSINESS.name());
|
|
|
+ orderFundService.add(orderFund);
|
|
|
+ dto.setOrderFundId(orderFund.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 新增开票记录
|
|
|
+ FinanceInvoice financeInvoice = BeanUtil.toBean(dto, FinanceInvoice.class);
|
|
|
+ financeInvoice.setOrderFundId(dto.getOrderFundId());
|
|
|
+ add(financeInvoice);
|
|
|
+ return dto.getOrderFundId();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Boolean update(FinanceInvoice financeInvoice){
|
|
|
// financeInvoice.setCheckerId(LoginContext.getCurrentUserId());
|