|
|
@@ -1,46 +1,14 @@
|
|
|
package com.goafanti.organization.service.impl;
|
|
|
|
|
|
-import java.lang.reflect.InvocationTargetException;
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.UUID;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-
|
|
|
-import com.goafanti.admin.service.DepartmentService;
|
|
|
-import com.goafanti.common.error.BusinessException;
|
|
|
-import com.goafanti.common.model.*;
|
|
|
-import com.goafanti.order.enums.ProjectType;
|
|
|
-import org.apache.commons.beanutils.BeanUtils;
|
|
|
-import org.apache.commons.collections4.map.HashedMap;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
import com.goafanti.admin.bo.AdminListBo;
|
|
|
+import com.goafanti.admin.service.DepartmentService;
|
|
|
import com.goafanti.common.bo.EmailBo;
|
|
|
import com.goafanti.common.bo.Result;
|
|
|
import com.goafanti.common.constant.AFTConstants;
|
|
|
-import com.goafanti.common.dao.AdminMapper;
|
|
|
-import com.goafanti.common.dao.CompanyLibraryMapper;
|
|
|
-import com.goafanti.common.dao.FinancialPaymentMapper;
|
|
|
-import com.goafanti.common.dao.OfficialFeePriceMapper;
|
|
|
-import com.goafanti.common.dao.PatentPriceMapper;
|
|
|
-import com.goafanti.common.dao.PaymentLogMapper;
|
|
|
-import com.goafanti.common.dao.PaymentNodeMapper;
|
|
|
-import com.goafanti.common.dao.SoftWritingPriceMapper;
|
|
|
-import com.goafanti.common.dao.TOrderMidMapper;
|
|
|
-import com.goafanti.common.dao.TOrderOutsourceMapper;
|
|
|
-import com.goafanti.common.dao.TOrderPaymentMapper;
|
|
|
-import com.goafanti.common.dao.TOrderTaskMapper;
|
|
|
-import com.goafanti.common.dao.TTaskMidMapper;
|
|
|
-import com.goafanti.common.dao.ThirdPartyCompanyMapper;
|
|
|
+import com.goafanti.common.dao.*;
|
|
|
import com.goafanti.common.enums.NoticeStatus;
|
|
|
+import com.goafanti.common.error.BusinessException;
|
|
|
+import com.goafanti.common.model.*;
|
|
|
import com.goafanti.common.utils.AsyncUtils;
|
|
|
import com.goafanti.common.utils.DateUtils;
|
|
|
import com.goafanti.common.utils.excel.NewExcelUtil;
|
|
|
@@ -50,23 +18,18 @@ import com.goafanti.core.shiro.token.TokenManager;
|
|
|
import com.goafanti.order.bo.TOrderTaskDetailBo;
|
|
|
import com.goafanti.order.enums.NewOrderDunType;
|
|
|
import com.goafanti.order.enums.NewProjectStatus;
|
|
|
-import com.goafanti.organization.bo.InputNodeList;
|
|
|
-import com.goafanti.organization.bo.InputPaymentList;
|
|
|
-import com.goafanti.organization.bo.InputPaymentNode;
|
|
|
-import com.goafanti.organization.bo.InuptFinancialPayment;
|
|
|
-import com.goafanti.organization.bo.NoticeInformationBo;
|
|
|
-import com.goafanti.organization.bo.OutPaymentLog;
|
|
|
-import com.goafanti.organization.bo.OutPaymentNode;
|
|
|
-import com.goafanti.organization.bo.OutThirdPartyCompany;
|
|
|
-import com.goafanti.organization.bo.ProjectTypePuls;
|
|
|
-import com.goafanti.organization.bo.outFinancialPayment;
|
|
|
-import com.goafanti.organization.bo.outNodeList;
|
|
|
-import com.goafanti.organization.bo.outPaymentList;
|
|
|
-import com.goafanti.organization.bo.outPaymentListFinance;
|
|
|
-import com.goafanti.organization.bo.outPaymentListPatent;
|
|
|
-import com.goafanti.organization.bo.outProjectBo;
|
|
|
-import com.goafanti.organization.bo.outOrderPayment;
|
|
|
+import com.goafanti.organization.bo.*;
|
|
|
import com.goafanti.organization.service.ThirdPartyCompanyService;
|
|
|
+import org.apache.commons.beanutils.BeanUtils;
|
|
|
+import org.apache.commons.collections4.map.HashedMap;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class ThirdPartyCompanyServiceImpl extends BaseMybatisDao<ThirdPartyCompanyMapper> implements ThirdPartyCompanyService {
|
|
|
@@ -103,6 +66,8 @@ public class ThirdPartyCompanyServiceImpl extends BaseMybatisDao<ThirdPartyComp
|
|
|
private DepartmentService departmentService;
|
|
|
@Autowired
|
|
|
private AsyncUtils asyncUtils;
|
|
|
+ @Autowired
|
|
|
+ private FinanceCountMapper financeCountMapper;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -355,9 +320,27 @@ public class ThirdPartyCompanyServiceImpl extends BaseMybatisDao<ThirdPartyComp
|
|
|
addNoticAndSendEmail(ni,a,NoticeStatus.PAYMENT_NODE.getCode());
|
|
|
PaymentLog pl=new PaymentLog(p.getId(),0,"发起付款:"+p.getRemarks(),a.getId(),a.getName());
|
|
|
paymentLogMapper.insertSelective(pl);
|
|
|
+ AddFinanceCount(ni.getFinanceId(),new Date());
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+ private void AddFinanceCount(String aid, Date date) {
|
|
|
+ String startTime= DateUtils.formatDate(date,AFTConstants.YYYYMMDD);
|
|
|
+ FinanceCount financeCount = financeCountMapper.selectByAidAndDates(aid, startTime);
|
|
|
+ if (financeCount==null){
|
|
|
+ financeCount=FinanceCount.initialization(aid,startTime);
|
|
|
+ financeCount.setPaymentCount(1);
|
|
|
+ financeCount.setPaymentUnauditedCount(1);
|
|
|
+ financeCountMapper.insertSelective(financeCount);
|
|
|
+ }else {
|
|
|
+ FinanceCount newFinanceCount=new FinanceCount();
|
|
|
+ newFinanceCount.setId(financeCount.getId());
|
|
|
+ newFinanceCount.setPaymentCount(financeCount.getPaymentCount()+1);
|
|
|
+ newFinanceCount.setPaymentUnauditedCount(financeCount.getPaymentUnauditedCount()+1);
|
|
|
+ financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public outOrderPayment OrderPaymentDetails(Integer id) {
|
|
|
@@ -417,6 +400,8 @@ public class ThirdPartyCompanyServiceImpl extends BaseMybatisDao<ThirdPartyComp
|
|
|
tp.setQuantity(p.getQuantity());
|
|
|
Integer type=NoticeStatus.PAYMENT_NODE.getCode();
|
|
|
String auditStr="重新发起付款:";
|
|
|
+ TOrderPayment useTP=tOrderPaymentMapper.selectByPrimaryKey(p.getId());
|
|
|
+ NoticeInformationBo ni=financialPaymentMapper.selectBypidGetNotice(p.getId());
|
|
|
//状态 0审核 1待支付 2驳回 3已支付 4取消
|
|
|
if (p.getStatus()==0) {
|
|
|
tp.setApplicationAmount(p.getApplicationAmount());
|
|
|
@@ -424,14 +409,17 @@ public class ThirdPartyCompanyServiceImpl extends BaseMybatisDao<ThirdPartyComp
|
|
|
tp.setPaymentType(p.getPaymentType());
|
|
|
tp.setPaymentAmount(p.getPaymentAmount());
|
|
|
tp.setPaymentStatus(p.getPaymentStatus());
|
|
|
+ AddFinanceCount(ni.getFinanceId(),useTP.getCreateTime());
|
|
|
}else if (p.getStatus()==1) {
|
|
|
type= NoticeStatus.PAYMENT_YES.getCode();
|
|
|
tp.setApplicationAmount(p.getApplicationAmount());
|
|
|
auditStr="审核通过:";
|
|
|
+ subtractionFinanceCount(ni.getFinanceId(),useTP.getCreateTime(),0);
|
|
|
}else if(p.getStatus()==2) {
|
|
|
type= NoticeStatus.PAYMENT_NO.getCode();
|
|
|
tp.setApplicationAmount(p.getApplicationAmount());
|
|
|
auditStr="审核驳回:";
|
|
|
+ subtractionFinanceCount(ni.getFinanceId(),useTP.getCreateTime(),1);
|
|
|
}else if (p.getStatus()==3) {
|
|
|
type=NoticeStatus.PAYMENT_COMPLETE.getCode();
|
|
|
if (p.getPaymentAmount()==null||p.getPaymentAmount().compareTo(new BigDecimal(0))==0) {
|
|
|
@@ -444,7 +432,6 @@ public class ThirdPartyCompanyServiceImpl extends BaseMybatisDao<ThirdPartyComp
|
|
|
}else if(p.getStatus()==4) {
|
|
|
auditStr="付款取消";
|
|
|
}
|
|
|
- NoticeInformationBo ni=financialPaymentMapper.selectBypidGetNotice(p.getId());
|
|
|
AdminListBo a =adminMapper.getDeptNameByAid(TokenManager.getAdminId());
|
|
|
addNoticAndSendEmail(ni,a,type);
|
|
|
PaymentLog pl=new PaymentLog(p.getId(),p.getStatus(),auditStr+p.getAuditNotes()==null?"":p.getAuditNotes(),a.getId(),a.getName());
|
|
|
@@ -452,6 +439,28 @@ public class ThirdPartyCompanyServiceImpl extends BaseMybatisDao<ThirdPartyComp
|
|
|
return tOrderPaymentMapper.updateByPrimaryKeySelective(tp);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param aid
|
|
|
+ * @param createTime
|
|
|
+ * @param type 0未审核减少
|
|
|
+ */
|
|
|
+ private void subtractionFinanceCount(String aid, Date createTime, Integer type) {
|
|
|
+ String startTime= DateUtils.formatDate(createTime,AFTConstants.YYYYMMDD);
|
|
|
+ FinanceCount financeCount = financeCountMapper.selectByAidAndDates(aid, startTime);
|
|
|
+ FinanceCount newFinanceCount =new FinanceCount();
|
|
|
+ newFinanceCount.setId(financeCount.getId());
|
|
|
+ if (type==0){
|
|
|
+ newFinanceCount.setPaymentUnauditedCount(financeCount.getPaymentUnauditedCount()-1);
|
|
|
+ } else if (type==1){
|
|
|
+ newFinanceCount.setPaymentCount(financeCount.getPaymentCount()-1);
|
|
|
+ newFinanceCount.setPaymentUnauditedCount(financeCount.getPaymentUnauditedCount()-1);
|
|
|
+ }else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private void confirmPayment(TOrderPayment p) {
|
|
|
//如果确定支付
|