Przeglądaj źródła

update

Signed-off-by: anderx <312518615@qq.com>
anderx 5 lat temu
rodzic
commit
027d594712

+ 2 - 3
src/main/java/com/goafanti/common/mapper/ThirdPartyCompanyMapper.xml

@@ -506,14 +506,13 @@
   </select>
   
    <select id="selectPaymentList" resultType="com.goafanti.organization.bo.outPaymentList">
-			select a.id, c.contract_no contractNo,b.order_no orderNo,d.buyer_name userName, d.dep_name depName,f.party_amount costAmount,
-		a.choose_type chooseType,a.payment_amount paymentAmount,a.application_amount applicationAmount,a.tid,
+		select a.id, c.contract_no contractNo,b.order_no orderNo,d.buyer_name userName, d.dep_name depName,f.party_amount costAmount,
+		a.choose_type chooseType,a.payment_amount paymentAmount,a.application_amount applicationAmount,a.tid,a.company_name companyName, 
 		date_format(a.create_time,'%Y-%m-%d %H:%i:%S')createTime,a.aname,d.finance_name financeName,b.cname,
 		b.commodity_name pname,b.project_status projectStatus,a.status,bp.`type` projectType
 		from t_order_payment a left join t_order_task b on a.tid=b.id left join t_order_new c on b.order_no=c.order_no
 		left join business_project bp on b.commodity_id=bp.id
 		left join t_order_mid d on b.order_no=d.order_no left join t_task_mid f on a.tid=f.tid
-		where 1=1
 		<if test="lvl==0">
 		and c.finance_id= #{aid}
 		</if>

+ 7 - 0
src/main/java/com/goafanti/organization/bo/outPaymentList.java

@@ -6,6 +6,7 @@ public class outPaymentList {
 		private String orderNo;
 		private String userName;
 		private String depName;
+		private String companyName;
 		private String costAmount;
 		private Integer chooseType;
 		private String paymentAmount;
@@ -128,5 +129,11 @@ public class outPaymentList {
 		public void setId(Integer id) {
 			this.id = id;
 		}
+		public String getCompanyName() {
+			return companyName;
+		}
+		public void setCompanyName(String companyName) {
+			this.companyName = companyName;
+		}
 		
 }

+ 23 - 0
src/main/java/com/goafanti/organization/controller/ThirdPartyCompanyApiController.java

@@ -2,9 +2,11 @@ package com.goafanti.organization.controller;
 
 
 
+import java.io.IOException;
 import java.math.BigDecimal;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
 import org.springframework.validation.BindingResult;
@@ -21,6 +23,7 @@ import com.goafanti.common.model.SoftWritingPrice;
 import com.goafanti.common.model.TOrderPayment;
 import com.goafanti.common.model.ThirdPartyCompany;
 import com.goafanti.common.utils.StringUtils;
+import com.goafanti.order.bo.inuptTaskHoursListBo;
 import com.goafanti.organization.bo.InputNodeList;
 import com.goafanti.organization.bo.InputPaymentList;
 import com.goafanti.organization.bo.InputPaymentNode;
@@ -680,4 +683,24 @@ public class ThirdPartyCompanyApiController extends BaseApiController{
 		return res;
 	}
 	
+	
+	/**
+	 * 	导出付款审核表
+	 * @throws IOException 
+	 */
+	@RequestMapping(value = "/exportPaymentList", method = RequestMethod.GET)
+	public Result exportPaymentList(HttpServletResponse response,InputPaymentList ip) throws IOException{
+		Result res=new Result();
+		try {
+			thirdPartyCompanyService.exportPaymentList( response, ip);
+		} catch (Exception e) {
+			res.getError().add(buildError("格式不正确"));
+			e.printStackTrace();
+			return res;
+		}
+     res.data(1); 
+	return res;
+		
+	}
+	
 }

+ 5 - 0
src/main/java/com/goafanti/organization/service/ThirdPartyCompanyService.java

@@ -1,8 +1,11 @@
 package com.goafanti.organization.service;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
+import javax.servlet.http.HttpServletResponse;
+
 import com.goafanti.common.model.CompanyLibrary;
 import com.goafanti.common.model.OfficialFeePrice;
 import com.goafanti.common.model.PatentPrice;
@@ -106,5 +109,7 @@ public interface ThirdPartyCompanyService {
 
 	void checkGetAmount(TOrderPayment p);
 
+	void exportPaymentList(HttpServletResponse response, InputPaymentList ip)  throws IOException;
+
 
 }

+ 95 - 2
src/main/java/com/goafanti/organization/service/impl/ThirdPartyCompanyServiceImpl.java

@@ -1,7 +1,10 @@
 package com.goafanti.organization.service.impl;
 
+import java.io.IOException;
+import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -10,13 +13,19 @@ import java.util.Map;
 import java.util.UUID;
 
 import javax.mail.MessagingException;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.common.bo.EmailBo;
+import com.goafanti.common.bo.Error;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.CompanyLibraryMapper;
@@ -32,6 +41,7 @@ import com.goafanti.common.dao.TOrderPaymentMapper;
 import com.goafanti.common.dao.TOrderTaskMapper;
 import com.goafanti.common.dao.ThirdPartyCompanyMapper;
 import com.goafanti.common.enums.NoticeStatus;
+import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.CompanyLibrary;
 import com.goafanti.common.model.Notice;
 import com.goafanti.common.model.OfficialFeePrice;
@@ -43,13 +53,16 @@ import com.goafanti.common.model.TOrderPayment;
 import com.goafanti.common.model.TOrderTask;
 import com.goafanti.common.model.ThirdPartyCompany;
 import com.goafanti.common.utils.DateUtils;
+import com.goafanti.common.utils.ExportExcelUtil;
 import com.goafanti.common.utils.SendEmailUtil;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.OrderOutsourceDtails;
 import com.goafanti.order.bo.TOrderTaskDetailBo;
+import com.goafanti.order.bo.TOrderTaskListBo;
 import com.goafanti.order.enums.NewOrderDunType;
+import com.goafanti.order.enums.ProjectNewStage;
 import com.goafanti.organization.bo.InputNodeList;
 import com.goafanti.organization.bo.InputPaymentList;
 import com.goafanti.organization.bo.InputPaymentNode;
@@ -64,6 +77,7 @@ import com.goafanti.organization.bo.outPaymentList;
 import com.goafanti.organization.bo.outProjectBo;
 import com.goafanti.organization.bo.outOrderPayment;
 import com.goafanti.organization.service.ThirdPartyCompanyService;
+import com.goafanti.techproject.enums.TaskState;
 
 @Service
 public class ThirdPartyCompanyServiceImpl extends  BaseMybatisDao<ThirdPartyCompanyMapper> implements ThirdPartyCompanyService {
@@ -202,6 +216,8 @@ public class ThirdPartyCompanyServiceImpl extends  BaseMybatisDao<ThirdPartyComp
 	public List<OutThirdPartyCompany> selectCompany(Integer tid) {
  		List<OutThirdPartyCompany> list=thirdPartyCompanyMapper.selectByTid(tid);
 		if (!TokenManager.hasRole(AFTConstants.FINANCE)&&
+				!TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)&&
+				!TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)&&
 				!TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)) {
 			outProjectBo op =null;
 			if(!list.isEmpty()) op=tOrderOutsourceMapper.selectByTid(tid);
@@ -303,7 +319,10 @@ public class ThirdPartyCompanyServiceImpl extends  BaseMybatisDao<ThirdPartyComp
 			}
 			 op.setInitialTotalAmount(new BigDecimal( op.getInitialUnitPrice()).multiply(new BigDecimal(op.getInitialQuantity())).toString());
 		}
-	if (!TokenManager.hasRole(AFTConstants.FINANCE)&&!TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)) {
+	if (!TokenManager.hasRole(AFTConstants.FINANCE)&&
+			!TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)&&
+			!TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)&&
+			!TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)) {
 		outProjectBo ob=tOrderOutsourceMapper.selectByTid(tp.getTid());
 		if (ob!=null &&ob.getStartType()!=null&& ob.getStartType()==1) {
 			if((ob.getProjectType()==1&&ob.getPatentType()==0)||(ob.getProjectType()==2)) {
@@ -404,7 +423,10 @@ public class ThirdPartyCompanyServiceImpl extends  BaseMybatisDao<ThirdPartyComp
 	@Override
 	public List<outOrderPayment> selectOrderPayment(Integer id) {
 		List<outOrderPayment> list=tOrderPaymentMapper.selectByTid(id);
-		if (!TokenManager.hasRole(AFTConstants.FINANCE)&&!TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)) {
+		if (!TokenManager.hasRole(AFTConstants.FINANCE)&&
+				!TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)&&
+				!TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)&&
+				!TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)) {
 			outProjectBo op =null;
 			if(!list.isEmpty()) op=tOrderOutsourceMapper.selectByTid(id);
 			if (op!=null &&op.getStartType()!=null&&op.getStartType()==1) {
@@ -837,4 +859,75 @@ public class ThirdPartyCompanyServiceImpl extends  BaseMybatisDao<ThirdPartyComp
 		}
 		
 	}
+
+
+
+
+
+	@Override
+	public void exportPaymentList(HttpServletResponse response, InputPaymentList ip) throws IOException {
+		OutputStream out = response.getOutputStream();
+		try {
+			@SuppressWarnings("unchecked")
+			List<outPaymentList> list=(List<outPaymentList>) selectPaymentList(ip).getList();
+			//支付编号	项目编号	项目名称	项目状态	分类名称	合同编号	订单编号	客户名称	部门名称	付款类型	本次申请金额	已支付	申请人	财务名称	状态	创建时间
+    		String[] comment = {"支付编号","项目编号","项目名称","项目状态","分类名称","合同编号","订单编号","客户名称","部门名称","第三方机构名称","付款类型","本次申请金额",
+    				"已支付","申请人","财务名称","状态","创建时间"};
+    		String fileName ="财务成本列表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+    		//type 0 变更
+    		XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"财务成本列表");
+    		//根据列表编写文档
+    		XSSFSheet sheet =wb.getSheetAt(0);
+    		for (outPaymentList ob : (List<outPaymentList>)list) {
+    			//新增一行
+    			XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
+    			for (int i = 0; i < comment.length; i++) {
+    				//当前列的只
+    				String o = "";
+    				switch (comment[i]) {
+//    "支付编号","项目编号","项目名称","项目状态","分类名称","合同编号","订单编号","客户名称","部门名称","第三方机构名称","付款类型","本次申请金额",
+//    				"已支付","申请人","财务名称","状态","创建时间"
+    				case "支付编号": o = ob.getId().toString(); break;
+    				case "项目编号": o = ob.getTid().toString(); break;
+    				case "项目名称": o = ob.getPname(); break;
+    				case "项目状态": o = ProjectNewStage.getValueByCode(ob.getProjectStatus()); break;
+    				case "分类名称": o = ob.getCname(); break;
+    				case "合同编号": o = ob.getContractNo(); break;
+    				case "订单编号": o = ob.getOrderNo(); break;
+    				case "客户名称": o = ob.getCname(); break;
+    				case "部门名称": o = ob.getDepName(); break;
+    				case "第三方机构名称": o = ob.getCname(); break;
+    				case "付款类型": o = ob.getChooseType()==0?"第三方成本":
+    						ob.getChooseType()==1?"催款节点":ob.getChooseType()==2?"官费":""; 
+    					break;
+    				case "本次申请金额": o = ob.getApplicationAmount().toString(); break;
+    				case "已支付": o = ob.getPaymentAmount(); break;
+    				case "申请人": o = ob.getAname(); break;
+    				case "财务名称": o = ob.getFinanceName(); break;
+    				case "状态": o = ob.getStatus()==0?"审核":ob.getStatus()==1?"待支付":
+    						ob.getStatus()==2?"驳回":ob.getStatus()==3?"已支付":"";
+    					break;
+    				case "创建时间": o = ob.getCreateTime(); break;
+    				default: o = ""; break;
+    				}
+    				XSSFCell c = r.createCell(i);
+    				c.setCellValue(o);
+    			}
+    		}
+    		//返回名称及参数
+			 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
+			 response.setContentType("application/octet-stream;charset=utf-8");
+    		 // 返回数据流
+			 wb.write(out); 
+			 out.flush();
+			 out.close();
+		} catch (Exception e) {
+			e.printStackTrace();
+			throw new BusinessException(new Error("表格生成错误。"));
+		}finally {
+			out.flush(); 
+			 out.close(); 
+		}
+		
+	}
 }

+ 2 - 2
src/main/resources/props/config_local.properties

@@ -64,12 +64,12 @@ user_remind_days=15
 portal.host=//sf.jishutao.com/portal/2.0.6
 avatar.upload.host=//sb.jishutao.com/upload
 #连接开发
-#static.host=//sb.jishutao.com:3000/1.1.51
+#static.host=//sb.jishutao.com:3000/1.1.52
 #avatar.host=//sb.jishutao.com
 
 #连测试
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.1.51
+static.host=//static.jishutao.com/1.1.52
 
 upload.path=F:/data/public/upload
 upload.private.path=F:/data/private/upload

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -59,7 +59,7 @@ user.private.max=1000
 #客户释放提醒
 user_remind_days=15
 
-static.host=//static.jishutao.com/1.1.51
+static.host=//static.jishutao.com/1.1.52
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
 avatar.upload.host=//static.jishutao.com/upload