Commit fde53c67 by huluobin

费用单回调更新

parent 110a62e1
...@@ -12,7 +12,6 @@ import com.blt.other.other_cost.vo.ApplyMoneyDetail; ...@@ -12,7 +12,6 @@ import com.blt.other.other_cost.vo.ApplyMoneyDetail;
import com.blt.other.other_cost.vo.CashierCallbackUrlVo; import com.blt.other.other_cost.vo.CashierCallbackUrlVo;
import com.blt.other.other_database.model.*; import com.blt.other.other_database.model.*;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -26,12 +25,17 @@ import org.springframework.http.MediaType; ...@@ -26,12 +25,17 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
...@@ -87,32 +91,34 @@ public class CostCheckController { ...@@ -87,32 +91,34 @@ public class CostCheckController {
/** /**
* 获取财务审核系统费用单列表 * 获取财务审核系统费用单列表
*
* @param request * @param request
* @param response * @param response
* @return * @return
*/ */
@GetMapping("getCostCheckList") @GetMapping("getCostCheckList")
public Map<String,Object> getCostCheckList(HttpServletRequest request, HttpServletResponse response){ public Map<String, Object> getCostCheckList(HttpServletRequest request, HttpServletResponse response) {
AxiosUtil.setCors(response,request); AxiosUtil.setCors(response, request);
String pageNum = request.getParameter("pageNum"); String pageNum = request.getParameter("pageNum");
String pageSize = request.getParameter("pageSize"); String pageSize = request.getParameter("pageSize");
String costStatus = request.getParameter("costStatus"); String costStatus = request.getParameter("costStatus");
Map<String, Object> result = costService.getCostByStatus(Integer.parseInt(pageNum),Integer.parseInt(pageSize),Integer.parseInt(costStatus)); Map<String, Object> result = costService.getCostByStatus(Integer.parseInt(pageNum), Integer.parseInt(pageSize), Integer.parseInt(costStatus));
result.put("msg","sussecc"); result.put("msg", "sussecc");
return result; return result;
} }
/** /**
* 审核通过 * 审核通过
*
* @param request * @param request
* @param response * @param response
* @return * @return
*/ */
@PostMapping("pass") @PostMapping("pass")
public Map<String,Object> pass(HttpServletRequest request, HttpServletResponse response) { public Map<String, Object> pass(HttpServletRequest request, HttpServletResponse response) {
AxiosUtil.setCors(response, request); AxiosUtil.setCors(response, request);
Map<String, Object> map = null; Map<String, Object> map = null;
String costNo = request.getParameter("costNo"); String costNo = request.getParameter("costNo");
...@@ -124,36 +130,37 @@ public class CostCheckController { ...@@ -124,36 +130,37 @@ public class CostCheckController {
*/ */
if (null != costStatus && costStatus.equals(4)) { if (null != costStatus && costStatus.equals(4)) {
map = new HashMap<>(); map = new HashMap<>();
map.put("msg","error"); map.put("msg", "error");
map.put("result",0); map.put("result", 0);
map.put("finance",false); map.put("finance", false);
costLogService.save(costNo,Integer.parseInt(updateuserid),"尝试修改已支付费用单,被拦截"); costLogService.save(costNo, Integer.parseInt(updateuserid), "尝试修改已支付费用单,被拦截");
return map; return map;
} }
costLogService.save(costNo,Integer.parseInt(updateuserid),"费用系统财务审核通过"); costLogService.save(costNo, Integer.parseInt(updateuserid), "费用系统财务审核通过");
// 审核通过,自动提交到出纳付款 // 审核通过,自动提交到出纳付款
boolean toFinance = tofinanceMethod(costNo); boolean toFinance = tofinanceMethod(costNo);
if (toFinance){ if (toFinance) {
costLogService.save(costNo,Integer.parseInt(updateuserid),"出纳自动审核通过"); costLogService.save(costNo, Integer.parseInt(updateuserid), "出纳自动审核通过");
map = changeStatus(costNo, 2); map = changeStatus(costNo, 2);
}else { } else {
costLogService.save(costNo,Integer.parseInt(updateuserid),"出纳审核失败"); costLogService.save(costNo, Integer.parseInt(updateuserid), "出纳审核失败");
map = new HashMap<>(); map = new HashMap<>();
} }
map.put("finance",toFinance); map.put("finance", toFinance);
return map; return map;
} }
/** /**
* 驳回审核 * 驳回审核
*
* @param request * @param request
* @param response * @param response
* @return * @return
*/ */
@PostMapping("reject") @PostMapping("reject")
public Map<String,Object> reject(HttpServletRequest request, HttpServletResponse response) { public Map<String, Object> reject(HttpServletRequest request, HttpServletResponse response) {
AxiosUtil.setCors(response, request); AxiosUtil.setCors(response, request);
String costNo = request.getParameter("costNo"); String costNo = request.getParameter("costNo");
...@@ -165,7 +172,7 @@ public class CostCheckController { ...@@ -165,7 +172,7 @@ public class CostCheckController {
costDomain.setRejectTime(new Date()); costDomain.setRejectTime(new Date());
Map<String, Object> stringObjectMap = costService.upadateCost(costDomain); Map<String, Object> stringObjectMap = costService.upadateCost(costDomain);
Map<String, Object> map = changeStatus(costNo, 3); Map<String, Object> map = changeStatus(costNo, 3);
costLogService.save(costNo,Integer.parseInt(updateuserid),"费用系统财务审核驳回:"+rejectReason); costLogService.save(costNo, Integer.parseInt(updateuserid), "费用系统财务审核驳回:" + rejectReason);
return map; return map;
...@@ -173,29 +180,30 @@ public class CostCheckController { ...@@ -173,29 +180,30 @@ public class CostCheckController {
/** /**
* 财务审核回调接口 * 财务审核回调接口
*
* @param request * @param request
* @return * @return
*/ */
@PostMapping(value = "ApplyCallbackUrl",consumes ="application/json") @PostMapping(value = "ApplyCallbackUrl", consumes = "application/json")
public String applyCallbackUrl(HttpServletRequest request){ public String applyCallbackUrl(HttpServletRequest request) {
String result = null; String result = null;
String line = null; String line = null;
try { try {
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream())); BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
line = br.readLine(); line = br.readLine();
} catch (IOException e) { } catch (IOException e) {
logger.error(IpUtil.getIpAddr(request)+" CostApplyCallbackUrl "+" 费用系统财务审核反馈信息获取失败"); logger.error(IpUtil.getIpAddr(request) + " CostApplyCallbackUrl " + " 费用系统财务审核反馈信息获取失败");
result = "{result:false,msg:\"发生错误\"}"; result = "{result:false,msg:\"发生错误\"}";
return result; return result;
} }
line = line.replace("\\",""); line = line.replace("\\", "");
// 格式化为标准 json 格式 // 格式化为标准 json 格式
int data = line.lastIndexOf("Data"); int data = line.lastIndexOf("Data");
int id = line.lastIndexOf("id"); int id = line.lastIndexOf("id");
String substring1 = line.substring(0,data + 6); String substring1 = line.substring(0, data + 6);
String substring2 = line.substring(data + 7, id - 4); String substring2 = line.substring(data + 7, id - 4);
String substring3 = line.substring(id - 3, line.length()); String substring3 = line.substring(id - 3, line.length());
line = substring1+substring2+substring3; line = substring1 + substring2 + substring3;
line = line.toLowerCase(); line = line.toLowerCase();
//保存为 bean,并且将反馈信息保存到数据库 //保存为 bean,并且将反馈信息保存到数据库
...@@ -203,25 +211,25 @@ public class CostCheckController { ...@@ -203,25 +211,25 @@ public class CostCheckController {
ApplyCallbackUrlVo applyCallbackUrlVo = null; ApplyCallbackUrlVo applyCallbackUrlVo = null;
try { try {
applyCallbackUrlVo = mapper.readValue(line, ApplyCallbackUrlVo.class); applyCallbackUrlVo = mapper.readValue(line, ApplyCallbackUrlVo.class);
if (null == applyCallbackUrlVo){ if (null == applyCallbackUrlVo) {
logger.error("保存财务审核信息发生错误:"+line); logger.error("保存财务审核信息发生错误:" + line);
result = "{result:false,msg:\"发生错误\"}"; result = "{result:false,msg:\"发生错误\"}";
return result; return result;
} }
// 执行保存反馈信息流程 // 执行保存反馈信息流程
CostApplycallbackDomain applycallbackDomain = new CostApplycallbackDomain(); CostApplycallbackDomain applycallbackDomain = new CostApplycallbackDomain();
BeanUtils.copyProperties(applyCallbackUrlVo.getData().getData(),applycallbackDomain); BeanUtils.copyProperties(applyCallbackUrlVo.getData().getData(), applycallbackDomain);
String costNo = applyCallbackUrlVo.getId().toUpperCase(); String costNo = applyCallbackUrlVo.getId().toUpperCase();
if (null != costNo && costNo.contains("-")){ if (null != costNo && costNo.contains("-")) {
costNo = costNo.split("-")[0]; costNo = costNo.split("-")[0];
} }
applycallbackDomain.setCostNo(costNo); applycallbackDomain.setCostNo(costNo);
applycallbackDomain.setMessage(applyCallbackUrlVo.getData().getMessage().toUpperCase()); applycallbackDomain.setMessage(applyCallbackUrlVo.getData().getMessage().toUpperCase());
applycallbackDomain.setApplyno(applycallbackDomain.getApplyno().toUpperCase()); applycallbackDomain.setApplyno(applycallbackDomain.getApplyno().toUpperCase());
Integer integer = costApplycallbackService.saveApplycallbackResponse(applycallbackDomain); Integer integer = costApplycallbackService.saveApplycallbackResponse(applycallbackDomain);
logger.warn("保存财务审核信息成功:"+integer+" "+line); logger.warn("保存财务审核信息成功:" + integer + " " + line);
} catch (IOException e) { } catch (IOException e) {
logger.error("保存财务审核信息发生错误:"+line); logger.error("保存财务审核信息发生错误:" + line);
result = "{result:false,msg:\"发生错误\"}"; result = "{result:false,msg:\"发生错误\"}";
return result; return result;
} }
...@@ -231,67 +239,68 @@ public class CostCheckController { ...@@ -231,67 +239,68 @@ public class CostCheckController {
/** /**
* 财务付款回调接口 * 财务付款回调接口
*
* @param request * @param request
* @return * @return
*/ */
@PostMapping(value = "CashierCallbackUrl",consumes ="application/json") @PostMapping(value = "CashierCallbackUrl", consumes = "application/json")
public String cashierCallbackUrl(HttpServletRequest request) { public String cashierCallbackUrl(HttpServletRequest request) {
String result = null; String result = null;
// 将状态改为审核通过、已付款 // 将状态改为审核通过、已付款
logger.warn("费用系统出纳回调"+IpUtil.getIpAddr(request) + " CashierCallbackUrl "); logger.warn("费用系统出纳回调" + IpUtil.getIpAddr(request) + " CashierCallbackUrl ");
String line = null; String line = null;
try { try {
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream())); BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
line = br.readLine(); line = br.readLine();
line = line.replace("\\",""); line = line.replace("\\", "");
// 格式化为标准 json 格式 // 格式化为标准 json 格式
int data = line.lastIndexOf("Data"); int data = line.lastIndexOf("Data");
int id = line.lastIndexOf("id"); int id = line.lastIndexOf("id");
String substring1 = line.substring(0,data + 6); String substring1 = line.substring(0, data + 6);
String substring2 = line.substring(data + 7, id - 4); String substring2 = line.substring(data + 7, id - 4);
String substring3 = line.substring(id - 3, line.length()); String substring3 = line.substring(id - 3, line.length());
line = substring1+substring2+substring3; line = substring1 + substring2 + substring3;
line = line.toLowerCase(); line = line.toLowerCase();
line = line.replace("_",""); line = line.replace("_", "");
logger.warn("费用系统支付反馈信息:"+line); logger.warn("费用系统支付反馈信息:" + line);
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
CashierCallbackUrlVo cashierCallbackUrlVo = null; CashierCallbackUrlVo cashierCallbackUrlVo = null;
CostCashiercallbackDomain costCashiercallbackDomain = new CostCashiercallbackDomain(); CostCashiercallbackDomain costCashiercallbackDomain = new CostCashiercallbackDomain();
BigDecimal toRmbRate = null; // 转人民币汇率 BigDecimal toRmbRate = null; // 转人民币汇率
try { try {
cashierCallbackUrlVo = mapper.readValue(line,CashierCallbackUrlVo.class); cashierCallbackUrlVo = mapper.readValue(line, CashierCallbackUrlVo.class);
if (cashierCallbackUrlVo == null){ if (cashierCallbackUrlVo == null) {
logger.error("费用系统保存出纳付款信息发生错误:"+line); logger.error("费用系统保存出纳付款信息发生错误:" + line);
result = "{result:false,msg:\"发生错误\"}"; result = "{result:false,msg:\"发生错误\"}";
return result; return result;
} }
BeanUtils.copyProperties(cashierCallbackUrlVo.getData(),costCashiercallbackDomain); BeanUtils.copyProperties(cashierCallbackUrlVo.getData(), costCashiercallbackDomain);
BeanUtils.copyProperties(cashierCallbackUrlVo.getData().getData(),costCashiercallbackDomain); BeanUtils.copyProperties(cashierCallbackUrlVo.getData().getData(), costCashiercallbackDomain);
BeanUtils.copyProperties(cashierCallbackUrlVo.getData().getData().getPaydetail(),costCashiercallbackDomain); BeanUtils.copyProperties(cashierCallbackUrlVo.getData().getData().getPaydetail(), costCashiercallbackDomain);
String costNo = cashierCallbackUrlVo.getId().toUpperCase(); String costNo = cashierCallbackUrlVo.getId().toUpperCase();
if (null != costNo && costNo.contains("-")){ if (null != costNo && costNo.contains("-")) {
String[] split = costNo.split("-"); String[] split = costNo.split("-");
costNo=split[0]; costNo = split[0];
} }
costCashiercallbackDomain.setCostNo(costNo); costCashiercallbackDomain.setCostNo(costNo);
costCashiercallbackDomain.setMessage(costCashiercallbackDomain.getMessage().toUpperCase()); costCashiercallbackDomain.setMessage(costCashiercallbackDomain.getMessage().toUpperCase());
costCashiercallbackDomain.setPayno(costCashiercallbackDomain.getPayno().toUpperCase()); costCashiercallbackDomain.setPayno(costCashiercallbackDomain.getPayno().toUpperCase());
// 被出纳驳回 // 被出纳驳回
if (costCashiercallbackDomain.getMessage().contains("被驳回")){ if (costCashiercallbackDomain.getMessage().contains("被驳回")) {
boolean b = finansysReject(costCashiercallbackDomain); boolean b = finansysReject(costCashiercallbackDomain);
if (b){ if (b) {
logger.info("出纳驳回,费用单状态更改成功"+costCashiercallbackDomain); logger.info("出纳驳回,费用单状态更改成功" + costCashiercallbackDomain);
costLogService.save(costNo, costCashiercallbackDomain.getPayuserid(),"被出纳驳回:"+costCashiercallbackDomain.getPaynote()); costLogService.save(costNo, costCashiercallbackDomain.getPayuserid(), "被出纳驳回:" + costCashiercallbackDomain.getPaynote());
}else { } else {
logger.info("出纳驳回,费用单状态更改失败"+costCashiercallbackDomain); logger.info("出纳驳回,费用单状态更改失败" + costCashiercallbackDomain);
} }
result = "{result:true,msg:\"出纳驳回\"}"; result = "{result:true,msg:\"出纳驳回\"}";
return result; return result;
}else{ } else {
// 获取xx货币-->CNY的汇率 // 获取xx货币-->CNY的汇率
toRmbRate = CurUtils.getCur(costCashiercallbackDomain.getCashierunitcode().toUpperCase(), "CNY", getExchangeRateApi); toRmbRate = CurUtils.getCur(costCashiercallbackDomain.getCashierunitcode().toUpperCase(), "CNY", getExchangeRateApi);
costCashiercallbackDomain.setToRmbRate(toRmbRate); costCashiercallbackDomain.setToRmbRate(toRmbRate);
...@@ -299,34 +308,36 @@ public class CostCheckController { ...@@ -299,34 +308,36 @@ public class CostCheckController {
// 保存出纳付款记录 // 保存出纳付款记录
Integer integer = costCashiercallbackService.saveCostCashiercallbackResponse(costCashiercallbackDomain); Integer integer = costCashiercallbackService.saveCostCashiercallbackResponse(costCashiercallbackDomain);
logger.warn("保存出纳付款信息成功:"+integer+" "+costCashiercallbackDomain); logger.warn("保存出纳付款信息成功:" + integer + " " + costCashiercallbackDomain);
} catch (IOException e) { } catch (IOException e) {
logger.error("保存出纳付款信息发生错误:"+line); logger.error("保存出纳付款信息发生错误:" + line);
result = "{result:false,msg:\"发生错误\"}"; result = "{result:false,msg:\"发生错误\"}";
return result; return result;
} }
// 付款成功,更改费用单信息,否则返回失败 // 付款成功,更改费用单信息,否则返回失败
CostDomain costDomain = costService.getCostDomainByNo(costCashiercallbackDomain.getCostNo()); CostDomain costDomain = costService.getCostDomainByNo(costCashiercallbackDomain.getCostNo());
costDomain.setCostStatus(4); costDomain.setCostStatus(4);
if (null != costDomain && null != costDomain.getIsLend()){
if (costDomain.getIsLend() == 1){ if (null != costDomain.getIsLend()) {
if (costDomain.getIsLend() == 1 && BigDecimal.ZERO.compareTo(costDomain.getHadPay()) >= 0)){
costDomain.setLendStatus(1); costDomain.setLendStatus(1);
} }
} }
costDomain.setPayUserId(costCashiercallbackDomain.getPayuserid()); costDomain.setPayUserId(costCashiercallbackDomain.getPayuserid());
costDomain.setPayTime(new Date()); costDomain.setPayTime(new Date());
costDomain.setAmountRmb(costCashiercallbackDomain.getCashierpaymoneyrmb()); costDomain.setAmountRmb(costCashiercallbackDomain.getCashierpaymoneyrmb());
costDomain.setToRmbRate(toRmbRate); costDomain.setToRmbRate(toRmbRate);
Map<String, Object> map = costService.upadateCost(costDomain); Map<String, Object> map = costService.upadateCost(costDomain);
if (null != map ) { if (null != map) {
result = "{result:true,msg:\"保存成功\"}"; result = "{result:true,msg:\"保存成功\"}";
costLogService.save(costCashiercallbackDomain.getCostNo(), costCashiercallbackDomain.getPayuserid(),"出纳收/付款成功:"+costCashiercallbackDomain.getPaynote()); costLogService.save(costCashiercallbackDomain.getCostNo(), costCashiercallbackDomain.getPayuserid(), "出纳收/付款成功:" + costCashiercallbackDomain.getPaynote());
}else { } else {
result = "{result:false,msg:\"发生错误\"}"; result = "{result:false,msg:\"发生错误\"}";
} }
} catch (IOException e) { } catch (IOException e) {
logger.error(IpUtil.getIpAddr(request)+" CashierCallbackUrl "+" 出纳付款反馈信息获取失败"); logger.error(IpUtil.getIpAddr(request) + " CashierCallbackUrl " + " 出纳付款反馈信息获取失败");
result = "{result:false,msg:\"发生错误\"}"; result = "{result:false,msg:\"发生错误\"}";
return result; return result;
} }
...@@ -335,6 +346,7 @@ public class CostCheckController { ...@@ -335,6 +346,7 @@ public class CostCheckController {
/** /**
* 出纳驳回 * 出纳驳回
*
* @param domain * @param domain
* @return * @return
*/ */
...@@ -349,7 +361,7 @@ public class CostCheckController { ...@@ -349,7 +361,7 @@ public class CostCheckController {
String oldDetailKey = oldCost.getDetailKey(); String oldDetailKey = oldCost.getDetailKey();
CostDomain costDomain = new CostDomain(); CostDomain costDomain = new CostDomain();
costDomain.setId(oldCost.getId()); costDomain.setId(oldCost.getId());
if (null !=oldDetailKey && oldDetailKey.contains("-")) { if (null != oldDetailKey && oldDetailKey.contains("-")) {
String[] split = oldDetailKey.split("-"); String[] split = oldDetailKey.split("-");
if (null != split && split.length > 1) { if (null != split && split.length > 1) {
Integer i = Integer.parseInt(split[1]) + 1; Integer i = Integer.parseInt(split[1]) + 1;
...@@ -363,7 +375,7 @@ public class CostCheckController { ...@@ -363,7 +375,7 @@ public class CostCheckController {
costDomain.setRejectType(2); costDomain.setRejectType(2);
Integer result = costService.updateById(costDomain); Integer result = costService.updateById(costDomain);
// if (null != result && result >= 1) { // if (null != result && result >= 1) {
// 如果是付款费用,改变子项目的费用单 // 如果是付款费用,改变子项目的费用单
// if (1 == oldCost.getCostForm()) { // if (1 == oldCost.getCostForm()) {
// List<CostDetailDomain> costDetailListByCostNo = costDetailService.getCostDetailListByCostNo(oldNo); // List<CostDetailDomain> costDetailListByCostNo = costDetailService.getCostDetailListByCostNo(oldNo);
// if (null != costDetailListByCostNo && costDetailListByCostNo.size() >= 1){ // if (null != costDetailListByCostNo && costDetailListByCostNo.size() >= 1){
...@@ -381,19 +393,20 @@ public class CostCheckController { ...@@ -381,19 +393,20 @@ public class CostCheckController {
/** /**
* 改变费用单状态 * 改变费用单状态
*
* @param costNo * @param costNo
* @param costStatus * @param costStatus
* @return * @return
*/ */
private Map<String,Object> changeStatus(String costNo,Integer costStatus){ private Map<String, Object> changeStatus(String costNo, Integer costStatus) {
CostDomain costDomain = costService.getCostDomainByNo(costNo); CostDomain costDomain = costService.getCostDomainByNo(costNo);
costDomain.setCostNo(costNo); costDomain.setCostNo(costNo);
costDomain.setCostStatus(costStatus); costDomain.setCostStatus(costStatus);
if(costStatus == 2){ if (costStatus == 2) {
costDomain.setAuditTime(new Date()); costDomain.setAuditTime(new Date());
} }
if (null != costDomain && null != costDomain.getIsLend()){ if (null != costDomain && null != costDomain.getIsLend()) {
if (1 == costDomain.getIsLend() && 4 == costStatus){ if (1 == costDomain.getIsLend() && 4 == costStatus) {
costDomain.setLendStatus(1); costDomain.setLendStatus(1);
} }
} }
...@@ -406,10 +419,11 @@ public class CostCheckController { ...@@ -406,10 +419,11 @@ public class CostCheckController {
/** /**
* 提交出纳系统 * 提交出纳系统
*
* @param costNo * @param costNo
* @return * @return
*/ */
public boolean tofinanceMethod(String costNo){ public boolean tofinanceMethod(String costNo) {
// 获取费用单信息 // 获取费用单信息
List<ApplyMoneyDetail> applyMoneyDetailList = new ArrayList<>(); List<ApplyMoneyDetail> applyMoneyDetailList = new ArrayList<>();
ApplyMoneyDetail applyMoneyDetail = new ApplyMoneyDetail(); ApplyMoneyDetail applyMoneyDetail = new ApplyMoneyDetail();
...@@ -422,14 +436,14 @@ public class CostCheckController { ...@@ -422,14 +436,14 @@ public class CostCheckController {
requestEntity.add("CompanyMainName", cost.getCompanyName()); // 公司主体(CompanyMainName)不可为空; requestEntity.add("CompanyMainName", cost.getCompanyName()); // 公司主体(CompanyMainName)不可为空;
// 借支单补差额的付款单,单独设置回调地址; // 借支单补差额的付款单,单独设置回调地址;
requestEntity.add("Title",cost.getCostNo()); requestEntity.add("Title", cost.getCostNo());
if (costNo.startsWith("S")){ if (costNo.startsWith("S")) {
logger.info("补差额的付款单:"+costNo); logger.info("补差额的付款单:" + costNo);
applyMoneyDetail.setName("借支单补差额"); applyMoneyDetail.setName("借支单补差额");
requestEntity.add("ApplyCallbackUrl", lendCostApplyCallBackUrlPost); // 审核回调地址(ApplyCallbackUrl)不可为空; requestEntity.add("ApplyCallbackUrl", lendCostApplyCallBackUrlPost); // 审核回调地址(ApplyCallbackUrl)不可为空;
requestEntity.add("CashierCallbackUrl", lendCostCashierCallbackUrlPost); // 出纳回调地址(CashierCallbackUrl)不可为空; requestEntity.add("CashierCallbackUrl", lendCostCashierCallbackUrlPost); // 出纳回调地址(CashierCallbackUrl)不可为空;
}else { } else {
requestEntity.add("ApplyCallbackUrl", costApplyCallbackUrlPost); // 审核回调地址(ApplyCallbackUrl)不可为空; requestEntity.add("ApplyCallbackUrl", costApplyCallbackUrlPost); // 审核回调地址(ApplyCallbackUrl)不可为空;
requestEntity.add("CashierCallbackUrl", costCashierCallbackUrlPost); // 出纳回调地址(CashierCallbackUrl)不可为空; requestEntity.add("CashierCallbackUrl", costCashierCallbackUrlPost); // 出纳回调地址(CashierCallbackUrl)不可为空;
} }
...@@ -454,10 +468,10 @@ public class CostCheckController { ...@@ -454,10 +468,10 @@ public class CostCheckController {
if (1 == cost.getCostForm()) { if (1 == cost.getCostForm()) {
requestEntity.add("ApplyType", "" + 1); // 申请类型(ApplyType)不存在;申请类型:1#付款;2#收款;3#无需付款; requestEntity.add("ApplyType", "" + 1); // 申请类型(ApplyType)不存在;申请类型:1#付款;2#收款;3#无需付款;
applyMoneyDetail.setName("费用单付款"); applyMoneyDetail.setName("费用单付款");
}else if (2 == cost.getCostForm()){ } else if (2 == cost.getCostForm()) {
requestEntity.add("ApplyType", "" + 2); // 申请类型(ApplyType)不存在;申请类型:1#付款;2#收款;3#无需付款; requestEntity.add("ApplyType", "" + 2); // 申请类型(ApplyType)不存在;申请类型:1#付款;2#收款;3#无需付款;
applyMoneyDetail.setName("费用单收款"); applyMoneyDetail.setName("费用单收款");
}else if (3 == cost.getCostForm() && 1 == cost.getIsLend()){ } else if (3 == cost.getCostForm() && 1 == cost.getIsLend()) {
requestEntity.add("ApplyType", "" + 1); // 申请类型(ApplyType)不存在;申请类型:1#付款;2#收款;3#无需付款; requestEntity.add("ApplyType", "" + 1); // 申请类型(ApplyType)不存在;申请类型:1#付款;2#收款;3#无需付款;
applyMoneyDetail.setName("借支单付款"); applyMoneyDetail.setName("借支单付款");
} }
...@@ -471,7 +485,7 @@ public class CostCheckController { ...@@ -471,7 +485,7 @@ public class CostCheckController {
// 设置 detailKey // 设置 detailKey
String detailKey = cost.getDetailKey(); String detailKey = cost.getDetailKey();
if (null == detailKey || !detailKey.contains("F")){ if (null == detailKey || !detailKey.contains("F")) {
detailKey = cost.getCostNo(); detailKey = cost.getCostNo();
} }
requestEntity.add("DetailKey", detailKey); // 回调必要的key参数(DetailKey)不能为空; requestEntity.add("DetailKey", detailKey); // 回调必要的key参数(DetailKey)不能为空;
...@@ -479,13 +493,13 @@ public class CostCheckController { ...@@ -479,13 +493,13 @@ public class CostCheckController {
requestEntity.add("TypeName", cost.getTypeName()); requestEntity.add("TypeName", cost.getTypeName());
Map<String, Object> map = requestEntity.toSingleValueMap(); Map<String, Object> map = requestEntity.toSingleValueMap();
String s = JSON.toJSONString(map); String s = JSON.toJSONString(map);
logger.info(cost.getCostNo()+" 费用单提交财务审核信息:"+s); logger.info(cost.getCostNo() + " 费用单提交财务审核信息:" + s);
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON); headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<String>(s, headers); HttpEntity<String> entity = new HttpEntity<String>(s, headers);
ResponseEntity<String> response = restTemplate.postForEntity(postApplyApi, entity, String.class); ResponseEntity<String> response = restTemplate.postForEntity(postApplyApi, entity, String.class);
logger.info(cost.getCostNo()+" 费用单提交审核反馈信息:"+response); logger.info(cost.getCostNo() + " 费用单提交审核反馈信息:" + response);
String strBody = null; String strBody = null;
if (null != response && response.getStatusCodeValue() == 200) { if (null != response && response.getStatusCodeValue() == 200) {
...@@ -493,7 +507,7 @@ public class CostCheckController { ...@@ -493,7 +507,7 @@ public class CostCheckController {
strBody = strBody.replace("\\", ""); strBody = strBody.replace("\\", "");
strBody = strBody.toLowerCase(); strBody = strBody.toLowerCase();
if (strBody.contains("申请单已存在")) { if (strBody.contains("申请单已存在")) {
logger.info(cost.getCostNo()+" 申请单已存在:" + strBody); logger.info(cost.getCostNo() + " 申请单已存在:" + strBody);
return true; return true;
} else if (strBody.contains("创建")) { } else if (strBody.contains("创建")) {
// 将 strBody 保存到数据库 costTofinance 表 // 将 strBody 保存到数据库 costTofinance 表
...@@ -526,16 +540,18 @@ public class CostCheckController { ...@@ -526,16 +540,18 @@ public class CostCheckController {
} }
return false; return false;
} }
// ================================== 结束费用 ====================================================== // ================================== 结束费用 ======================================================
@PostMapping("finish") @PostMapping("finish")
public Map<String,Object> finish(HttpServletRequest request,HttpServletResponse response){ public Map<String, Object> finish(HttpServletRequest request, HttpServletResponse response) {
AxiosUtil.setCors(response,request); AxiosUtil.setCors(response, request);
String costNo = request.getParameter("costNo"); String costNo = request.getParameter("costNo");
Map<String, Object> map = changeStatus(costNo, 7); Map<String, Object> map = changeStatus(costNo, 7);
return map; return map;
} }
// ================================== 文件下载 ====================================================== // ================================== 文件下载 ======================================================
@GetMapping("download") @GetMapping("download")
public ResponseEntity<InputStreamResource> download(HttpServletRequest request, HttpServletResponse response) throws IOException { public ResponseEntity<InputStreamResource> download(HttpServletRequest request, HttpServletResponse response) throws IOException {
...@@ -546,10 +562,10 @@ public class CostCheckController { ...@@ -546,10 +562,10 @@ public class CostCheckController {
CostDto cost = (CostDto) costByCostNo.get("cost"); CostDto cost = (CostDto) costByCostNo.get("cost");
String filePath = null; String filePath = null;
String fileName = null; String fileName = null;
if ("file".equals(fileType)){ if ("file".equals(fileType)) {
filePath = cost.getFilePath(); filePath = cost.getFilePath();
fileName = cost.getFileName(); fileName = cost.getFileName();
}else if ("morFile".equals(fileType)){ } else if ("morFile".equals(fileType)) {
filePath = cost.getMorFilePath(); filePath = cost.getMorFilePath();
fileName = cost.getMorFileName(); fileName = cost.getMorFileName();
} }
...@@ -557,7 +573,7 @@ public class CostCheckController { ...@@ -557,7 +573,7 @@ public class CostCheckController {
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate"); headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
// new String(fileName.getBytes("UTF-8"),"iso-8859-1") 解决文件下载的时候文件名乱码的问题 // new String(fileName.getBytes("UTF-8"),"iso-8859-1") 解决文件下载的时候文件名乱码的问题
headers.add("Content-Disposition", String.format("attachment; filename=\"%s\"", new String(fileName.getBytes("UTF-8"),"iso-8859-1"))); headers.add("Content-Disposition", String.format("attachment; filename=\"%s\"", new String(fileName.getBytes("UTF-8"), "iso-8859-1")));
headers.add("Pragma", "no-cache"); headers.add("Pragma", "no-cache");
headers.add("Expires", "0"); headers.add("Expires", "0");
...@@ -571,23 +587,24 @@ public class CostCheckController { ...@@ -571,23 +587,24 @@ public class CostCheckController {
/** /**
* 借支单结清 * 借支单结清
*
* @param response * @param response
* @param request * @param request
* @return * @return
*/ */
@PostMapping("/finishLend") @PostMapping("/finishLend")
public Map<String,Object> finishLend(HttpServletResponse response,HttpServletRequest request){ public Map<String, Object> finishLend(HttpServletResponse response, HttpServletRequest request) {
AxiosUtil.setCors(response,request); AxiosUtil.setCors(response, request);
Map<String,Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
String costNo = request.getParameter("costNo"); String costNo = request.getParameter("costNo");
String updateuserid = request.getParameter("updateuserid"); String updateuserid = request.getParameter("updateuserid");
CostDomain costDomain = new CostDomain(); CostDomain costDomain = new CostDomain();
costDomain.setCostNo(costNo); costDomain.setCostNo(costNo);
costDomain.setLendStatus(4); costDomain.setLendStatus(4);
result = costService.upadateCost(costDomain); result = costService.upadateCost(costDomain);
result.put("success",true); result.put("success", true);
result.put("msg","已结清"); result.put("msg", "已结清");
costLogService.save(costNo,Integer.parseInt(updateuserid),"操作结清"); costLogService.save(costNo, Integer.parseInt(updateuserid), "操作结清");
return result; return result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment