Commit 919f3ba4 by kangxiaoshan

调整金

parent 4ad08b19
......@@ -26,7 +26,9 @@ import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.List;
......@@ -438,9 +440,9 @@ public class ContractController {
@RequestMapping(value = "/shareincome/export", method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
@AuthKey(AuthMenuEnmm.SHARED_INCOME_E)
public ResponseEntity<byte[]> shareIncomeExport(@CurrentAccount User loginAccount, @PathVariable String platform,
@RequestParam String startDate, @RequestParam String endDate,
String bodyCode, String serchName, HttpServletResponse response, HttpServletRequest request) {
public void shareIncomeExport(@CurrentAccount User loginAccount, @PathVariable String platform,
@RequestParam String startDate, @RequestParam String endDate,
String bodyCode, String serchName, HttpServletResponse response, HttpServletRequest request) {
List<Contract> contracts = service.shareIncomeList(loginAccount, startDate, endDate, platform, bodyCode, serchName);
byte[] content = new byte[0];
......@@ -464,25 +466,32 @@ public class ContractController {
}
}
InputStream in = new ByteArrayInputStream(sb.toString().getBytes());
try {
content = IOUtils.toByteArray(in);
} catch (IOException e) {
e.printStackTrace();
}
String fileName = "contract_shareincome_" + new DateTime().toString("yyyy_MM_dd") + ".csv";
HttpHeaders headers = new HttpHeaders();
response.setHeader("filename", fileName);
response.setHeader("content-disposition", "attachment; filename=" + fileName);
response.setHeader("Content-Type", "text/csv");
response.setContentType("APPLICATION/OCTET-STREAM");
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.INNERUSER.getKey(), platform, "导出分摊收入报表", startDate, endDate, request, platform);
userlog.start();
//返回文件字符串
return new ResponseEntity<byte[]>(content, headers, HttpStatus.CREATED);
OutputStreamWriter osw = null;
String fileName = "分摊收入报表(" + new DateTime(startDate).toString("yyyyMMdd")
+ "_" + new DateTime(endDate).toString("yyyyMMdd") + ").csv";
try {
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("filename", fileName);
response.setHeader("content-disposition", "attachment; filename=" + fileName);
response.setHeader("Content-Type", "text/csv");
response.setContentType("APPLICATION/OCTET-STREAM");
osw = new OutputStreamWriter(response.getOutputStream(), "UTF-8");
// osw.write(new String(new byte[]{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF})+"\n");
osw.write(sb.toString());
osw.flush();
} catch (Exception e) {
logger.error("导出分摊收入报错", e);
} finally {
if (osw != null) {
try {
osw.close();
} catch (IOException e) {
logger.error("导出分摊收入关闭流报错", e);
}
}
}
}
}
......@@ -56,6 +56,7 @@ public class Contract {
private Long firstBackId;//先回款记录的id
private Long adjustmentFund;// 分摊收入调整金额 (*100的结果)
private String adjustmentFundForm; // 表单提交的值(分摊收入调整金额)
private Integer intervalUseDays;//区间使用天数
private Long incomeExcludingTax; //不含税收入 (*100的结果)
private Long intervaIncomeShare;//区间分摊收入(*100的结果)
......@@ -493,6 +494,14 @@ public class Contract {
this.incomeShareAll = incomeShareAll;
}
@Transient
public String getAdjustmentFundForm() {
return adjustmentFundForm;
}
public void setAdjustmentFundForm(String adjustmentFundForm) {
this.adjustmentFundForm = adjustmentFundForm;
}
// public String getCreaterName() {
// return createrName;
......
......@@ -514,7 +514,7 @@ public class ContractServiceImpl implements ContractService {
// }
this.calculateShareIncome(resource);
this.calculateShareIncome(resource);//判断是否计算调整金
resource = contractRepository.save(resource);
......@@ -524,6 +524,14 @@ public class ContractServiceImpl implements ContractService {
}
public void calculateShareIncome(Contract resource) {
if (!StringUtils.isEmpty(resource.getAdjustmentFundForm())) {
//表单有输入值 则优先保存该值
resource.setAdjustmentFund(Long.parseLong(resource.getAdjustmentFundForm()));
return;
}
DateTime formStart = new DateTime(resource.getStartDate());
DateTime contractStart = new DateTime(resource.getStartDate());
DateTime contractEnd = new DateTime(resource.getEndDate());
......@@ -776,10 +784,10 @@ public class ContractServiceImpl implements ContractService {
resource.setCreateName(contract.getCreateName());
resource.setCreateAccount(contract.getCreateAccount());
resource.setCreateTime(contract.getCreateTime());
resource.setModifyTime(new Date());
resource.setDs(contract.getDs());
resource.setProduct(contract.getProduct());
resource.setModifyTime(new Date());
if (null != loginUser) {
resource.setModifyAccount(loginUser.getId());
}
......@@ -2355,6 +2363,10 @@ public class ContractServiceImpl implements ContractService {
List<Contract> contracts = new ArrayList<>();
if ("all".equals(bodyCode)) {
bodyCode = null;
}
List<String> financeBodies = null;
if (RoleEnum.FINANCE.getKey().equals(loginAccount.getRole())) {
Auth auth = authRepository.findByUser(loginAccount.getId());
......
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