|
|
@@ -5,10 +5,8 @@ import com.goafanti.admin.service.DepartmentService;
|
|
|
import com.goafanti.common.constant.AFTConstants;
|
|
|
import com.goafanti.common.dao.*;
|
|
|
import com.goafanti.common.enums.NoticeStatus;
|
|
|
-import com.goafanti.common.model.Admin;
|
|
|
-import com.goafanti.common.model.InvoiceLog;
|
|
|
-import com.goafanti.common.model.TOrderInvoice;
|
|
|
-import com.goafanti.common.model.TOrderNew;
|
|
|
+import com.goafanti.common.model.*;
|
|
|
+import com.goafanti.common.utils.DateUtils;
|
|
|
import com.goafanti.core.mybatis.BaseMybatisDao;
|
|
|
import com.goafanti.core.mybatis.page.Pagination;
|
|
|
import com.goafanti.core.shiro.token.TokenManager;
|
|
|
@@ -42,6 +40,8 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
|
|
|
private InvoiceLogMapper invoiceLogMapper;
|
|
|
@Autowired
|
|
|
private DepartmentService departmentService;
|
|
|
+ @Autowired
|
|
|
+ private FinanceCountMapper financeCountMapper;
|
|
|
|
|
|
@Override
|
|
|
public int createServiceOrder(TOrderInvoice o) {
|
|
|
@@ -53,6 +53,13 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
|
|
|
pushOrderInvoiceExamine(o);
|
|
|
Integer i=tOrderInvoiceMapper.insertSelective(o);
|
|
|
addInvoiceLog(o.getId(),0);
|
|
|
+ //非特批直接发到财务
|
|
|
+ if (o.getApproval()==0){
|
|
|
+ String startTime = DateUtils.formatDate(o.getCreateTime(),AFTConstants.YYYYMMDD);
|
|
|
+ Admin admin = adminMapper.selectOrderByFinanacial(o.getOrderNo());
|
|
|
+ FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getId(), startTime);
|
|
|
+ addFinanceCount(startTime, admin, financeCount);
|
|
|
+ }
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
@@ -113,6 +120,12 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
|
|
|
if (o.getApproval()==2)o.setApproval(1);
|
|
|
int i=tOrderInvoiceMapper.updateByPrimaryKeySelective(o);
|
|
|
pushOrderInvoiceExamine(o);
|
|
|
+ if (o.getApproval()==0){
|
|
|
+ String startTime = DateUtils.formatDate(o.getCreateTime(),AFTConstants.YYYYMMDD);
|
|
|
+ Admin admin = adminMapper.selectOrderByFinanacial(o.getOrderNo());
|
|
|
+ FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getId(), startTime);
|
|
|
+ addFinanceCount(startTime, admin, financeCount);
|
|
|
+ }
|
|
|
return i;
|
|
|
}
|
|
|
/**
|
|
|
@@ -268,6 +281,7 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
|
|
|
//重新计算开票金额
|
|
|
addInvoiceLog(id,1);
|
|
|
}
|
|
|
+ pushInvoiceFinancialCount(t2,examine);
|
|
|
TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(t2.getOrderNo());
|
|
|
pushGeneralSendNoticeAndEmail(aids, type,order, TokenManager.getAdminId(),0);
|
|
|
tOrderInvoiceMapper.updateByPrimaryKeySelective(t);
|
|
|
@@ -275,9 +289,52 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param t2 开票信息
|
|
|
+ * @param examine 2通过 3拒绝
|
|
|
+ */
|
|
|
+ private void pushInvoiceFinancialCount(TOrderInvoice t2, Integer examine) {
|
|
|
+ String startTime = DateUtils.formatDate(t2.getCreateTime(),AFTConstants.YYYYMMDD);
|
|
|
+ Admin admin = adminMapper.selectOrderByFinanacial(t2.getOrderNo());
|
|
|
+ FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getId(), startTime);
|
|
|
+ if (examine==2){
|
|
|
+ //特批通过和特批是财务审核
|
|
|
+ if (t2.getApproval()==2||t2.getApproval()==0){
|
|
|
+ FinanceCount newFinanceCount=new FinanceCount();
|
|
|
+ newFinanceCount.setId(financeCount.getId());
|
|
|
+ newFinanceCount.setInvoiceUnauditedCount(financeCount.getInvoiceUnauditedCount()-1);
|
|
|
+ financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
|
|
|
+ //特批审核是审核完到财务
|
|
|
+ }else if (t2.getApproval()==1){
|
|
|
+ addFinanceCount(startTime, admin, financeCount);
|
|
|
+ }
|
|
|
|
|
|
+ }else if (examine==3){
|
|
|
+ if (t2.getApproval()==2||t2.getApproval()==0){
|
|
|
+ FinanceCount newFinanceCount=new FinanceCount();
|
|
|
+ newFinanceCount.setId(financeCount.getId());
|
|
|
+ newFinanceCount.setInvoiceCount(financeCount.getInvoiceCount()-1);
|
|
|
+ newFinanceCount.setInvoiceUnauditedCount(financeCount.getInvoiceUnauditedCount()-1);
|
|
|
+ financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
+ private void addFinanceCount(String startTime, Admin admin, FinanceCount financeCount) {
|
|
|
+ if (financeCount ==null){
|
|
|
+ financeCount =FinanceCount.initialization(admin.getId(), startTime);
|
|
|
+ financeCount.setInvoiceCount(1);
|
|
|
+ financeCount.setInvoiceUnauditedCount(1);
|
|
|
+ financeCountMapper.insertSelective(financeCount);
|
|
|
+ }else {
|
|
|
+ FinanceCount newFinanceCount=new FinanceCount();
|
|
|
+ newFinanceCount.setId(financeCount.getId());
|
|
|
+ newFinanceCount.setInvoiceCount(financeCount.getInvoiceCount()+1);
|
|
|
+ newFinanceCount.setInvoiceUnauditedCount(financeCount.getInvoiceUnauditedCount()+1);
|
|
|
+ financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|