Commit a0df5fc8 by caosy

发票改版

parent 93365012
......@@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import org.jsoup.helper.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
......@@ -25,6 +26,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.alibaba.fastjson.JSON;
......@@ -87,35 +89,38 @@ public class InvoiceRequestController {
*/
@RequestMapping(value = "/create", method = RequestMethod.POST)
public String createVoucher(@Valid @ModelAttribute("dto") InvoiceRquestDto dto,
BindingResult bindingResult, ModelMap model, HttpServletResponse res) {
// dto.setRequestPerson(SpringSecurityUtil.getCurrentUserName());
// InvoiceRequestBean bean = new InvoiceRequestBean();
// BeanConverter.copyProperties(bean, dto);
// invoiceRequestService.add("", bean);
// return "redirect:list";
//InvoiceOrderInfoBean invoiceOrderInfo = null;
BindingResult bindingResult, ModelMap model, HttpServletResponse res, RedirectAttributes redirectAttributes) {
dto.setRequestPerson(SpringSecurityUtil.getCurrentUserName());
InvoiceRequestBean bean = new InvoiceRequestBean();
InvoiceOrderInfoBean invoiceOrder = new InvoiceOrderInfoBean();
//List<String> invoiceOrders = new ArrayList<String>();
String orders = "";
for (InvoiceOrderInfoBean invoiceOrderInfoBean : dto.getInvoiceOrderInfoBeans()) {
invoiceOrder = invoiceRequestService.findInvoiceInfoByOrderNo("",invoiceOrderInfoBean.getOrderNo());
if(invoiceOrder!=null){
//invoiceOrders.add(invoiceOrder.getOrderNo());
invoiceOrderInfoBean.setCompanyIndex(dto.getCompanyIndex());
invoiceOrderInfoBean.setOrderNo(invoiceOrderInfoBean.getOrderNo().replaceAll(" ", ""));
invoiceOrder = invoiceRequestService.findInvoiceInfoByOrderNo("",invoiceOrderInfoBean);
if(!StringUtil.isBlank(invoiceOrder.getMsg())){
orders+=invoiceOrder.getOrderNo()+",";
break;
}else{
invoiceOrderInfoBean.setBasePrice(invoiceOrder.getBasePrice());
invoiceOrderInfoBean.setCostPrice(invoiceOrder.getCostPrice());
invoiceOrderInfoBean.setAmount(String.valueOf(invoiceOrder.getCostPrice()));
invoiceOrderInfoBean.setCourseName(invoiceOrder.getCourseName());
}
}
if(orders!="" && !"".equals(orders)){
model.addAttribute("orderValue", "该订单号或者支付凭证号已存在"+orders);
dto.setMsg(invoiceOrder.getMsg());
redirectAttributes.addFlashAttribute("dto", dto);
return "redirect:create";
}else{
BeanConverter.copyProperties(bean, dto);
invoiceRequestService.add("", bean);
return "redirect:list";
}
}
......
......@@ -48,7 +48,9 @@ public class InvoiceRquestDto {
//开票申请人
private String requestPerson;
//销售员备注
//销售员备注
private String salesRemark;
//寄送方式:到付、寄送
......@@ -56,6 +58,14 @@ public class InvoiceRquestDto {
//到付,付款信息
private String payInfo;
//开票公司
private String billingCompany;
private String companyIndex;
private String msg;
private List<InvoiceOrderInfoBean> invoiceOrderInfoBeans;
......@@ -198,6 +208,31 @@ public class InvoiceRquestDto {
this.payInfo = payInfo;
}
public String getBillingCompany() {
return billingCompany;
}
public void setBillingCompany(String billingCompany) {
this.billingCompany = billingCompany;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCompanyIndex() {
return companyIndex;
}
public void setCompanyIndex(String companyIndex) {
this.companyIndex = companyIndex;
}
}
......@@ -2,6 +2,7 @@ package com.ctrip.fun.admin.service.basic;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
......@@ -66,11 +67,13 @@ public class InvoiceRequestExcelExportService extends AbstractExcelExportService
XSSFRow headRow = sheet.createRow(0);
XSSFCell cell = null;
List<String> titleList = new ArrayList<String>();
titleList.add("发票申请ID");titleList.add("快递费用归属部门");titleList.add("提交人");titleList.add("发票抬头");titleList.add("纳税识别号");
titleList.add("发票寄送地址");titleList.add("寄送联系人");titleList.add("联系方式");titleList.add("开票备注");
titleList.add("未开票原因");titleList.add("快递单号");titleList.add("寄出时间");titleList.add("寄送方式");titleList.add("发票寄送费凭证");
titleList.add("订单号");titleList.add("开票金额");titleList.add("球场");
// List<String> titleList = new ArrayList<String>();
// titleList.add("发票申请ID");titleList.add("快递费用归属部门");titleList.add("提交人");titleList.add("发票抬头");titleList.add("纳税识别号");
// titleList.add("发票寄送地址");titleList.add("寄送联系人");titleList.add("联系方式");titleList.add("开票备注");
// titleList.add("未开票原因");titleList.add("快递单号");titleList.add("寄出时间");titleList.add("寄送方式");titleList.add("发票寄送费凭证");
// titleList.add("订单号");titleList.add("开票金额");titleList.add("球场");
List<String> titleList = Arrays.asList("发票申请ID","快递费用归属部门","提交人","发票抬头","纳税识别号","发票寄送地址","寄送联系人","联系方式",
"开票备注","未开票原因","快递单号","寄出时间","寄送方式","发票寄送费凭证","订单号","开票金额","成本","开票单位");
for (int i = 0; i < titleList.size(); i++) {
cell = headRow.createCell(i);
......@@ -118,9 +121,11 @@ public class InvoiceRequestExcelExportService extends AbstractExcelExportService
XSSFCell cell_orderNo = row.createCell(14);
cell_orderNo.setCellValue(invoiceOrderInfoBean.getOrderNo()==null?"":invoiceOrderInfoBean.getOrderNo());
XSSFCell cell_Amount = row.createCell(15);
cell_Amount.setCellValue(invoiceOrderInfoBean.getAmount()==null?"":invoiceOrderInfoBean.getAmount());
cell_Amount.setCellFormula(invoiceOrderInfoBean.getCostPrice().toString()==null?"":invoiceOrderInfoBean.getCostPrice().toString());
XSSFCell cell_CourseName = row.createCell(16);
cell_CourseName.setCellValue(invoiceOrderInfoBean.getCourseName()==null?"":invoiceOrderInfoBean.getCourseName());
cell_CourseName.setCellFormula(invoiceOrderInfoBean.getBasePrice().toString()==null?"":invoiceOrderInfoBean.getBasePrice().toString());
XSSFCell cell_billingCompany = row.createCell(17);
cell_billingCompany.setCellValue(item.getBillingCompany());
}
for(int i=0;i<14;i++){
......
......@@ -82,12 +82,12 @@ public class InvoiceRequestService extends BaseService {
* @return InvoiceOrderInfoBean
* @author lsj
*/
public InvoiceOrderInfoBean findInvoiceInfoByOrderNo(String userId,String orderNoOrNum){
public InvoiceOrderInfoBean findInvoiceInfoByOrderNo(String userId,InvoiceOrderInfoBean bean){
String uri = super.getServiceUri("uri.invoiceRequest.findInvoiceInfoByOrderNo");
InvoiceOrderInfoBean invoiceRequestBean = null;
Request<String> request = new Request<String>(userId, orderNoOrNum);
HttpEntity<Request<String>> entity = new HttpEntity<Request<String>>(request);
Request<InvoiceOrderInfoBean> request = new Request<InvoiceOrderInfoBean>(userId, bean);
HttpEntity<Request<InvoiceOrderInfoBean>> entity = new HttpEntity<Request<InvoiceOrderInfoBean>>(request);
Response<InvoiceOrderInfoBean> response = super.exchange(uri, HttpMethod.POST, entity, new ParameterizedTypeReference<Response<InvoiceOrderInfoBean>>() {
}).getBody();
......
......@@ -21,6 +21,7 @@ $(function(){
var index = $("#rowsOfOrder").children().length;
$("#submitCheck").click(function(){
var costOfDepart = $("#costOfDepart").val();
var billingCompany = $("#billingCompany").val();
var invoiceTitle = $("#invoiceTitle").val();
var taxIdNum = $("#taxIdNum").val();
......@@ -30,8 +31,7 @@ $("#submitCheck").click(function(){
var road = $("#road").val();
var room = $("#room").val();
var contactName = $("#contactName").val();
var contactTel = $("#contactTel").val();
var payInfo = $("#payInfo").val();
......@@ -40,7 +40,10 @@ $("#submitCheck").click(function(){
var sendWay = $("input[name='sendWay']:checked").val();
if(billingCompany==""){
alert("请填入开票公司");
return;
}
if(costOfDepart==""){
alert("请填入快递费用归属部门");
return;
......@@ -54,35 +57,8 @@ $("#submitCheck").click(function(){
return;
}
if(province==""){
alert("请填入邮寄地址省份部分");
return;
}
if(city==""){
alert("请填入邮寄地址城市部分");
return;
}
if(county==""){
alert("请填入邮寄地址区县部分");
return;
}
if(road==""){
alert("请填入邮寄地址道路部分");
return;
}
if(room==""){
alert("请填入邮寄地址门牌号部分");
return;
}
if(contactName==""){
alert("请填入寄送联系人");
return;
}
if(contactTel==""){
alert("请填入联系方式");
return;
}
if(sendWay==2){
if(payInfo==""){
......@@ -104,7 +80,7 @@ $("#submitCheck").click(function(){
$("#addOrder").click(function(){
$("#rowsOfOrder").append("<tr> <td style='width:10%'><input type='checkbox'></td> <td style='width:10%'><input name='invoiceOrderInfoBeans["+index+"].orderNo' title='非订单号格式:入社费(张三20190101-12:30)'></td><td style='width:5%'><input name='invoiceOrderInfoBeans["+index+"].amount'></td><td style='width:16%'><input name='invoiceOrderInfoBeans["+index+"].courseName'></td></tr>");
$("#rowsOfOrder").append("<tr> <td style='width:10%'><input type='checkbox'></td> <td style='width:10%'><input name='invoiceOrderInfoBeans["+index+"].orderNo' title='非订单号格式:入社费(张三20190101-12:30)'></td></tr>");
index++;
});
......@@ -141,14 +117,16 @@ $("#deleteOrder").click(function(){
<form id="telTaskForm" class="form-inline form-horizontal" action="${action}" method="post">
<div id="course_container">
<div class="row-fluid show-grid">
<h3 class="open span12" data-collapse-summary="" aria-expanded="true">录入发票信息</h3>
<h3 class="open span12" data-collapse-summary="" aria-expanded="true">录入发票信息<span style ="color:red" >(开票金额 不包含劵金额、余额)</span></h3>
<div class="feature_content">
<@form.hidden "dto.id"/>
<!--<@form.textInput path="dto.costOfDepart" attributes="class=\"input-medium\"" label="快递费用归属部门" required = true />-->
<@form.singleSelect path="dto.costOfDepart" options=enums["com.ctrip.fun.common.vo.product.InvoiceStatusEnum"] attributes="" label="快递费用归属部门" required=true/>
<@form.singleSelect path="dto.companyIndex" options=enums["com.ctrip.fun.common.vo.basic.InvoiceCompanyEnum"] attributes="" label="开票公司" required=true/>
<@form.textInput path="dto.invoiceTitle" attributes="class=\"input-medium\"" label="发票抬头" required = true />
<@form.textInput path="dto.taxIdNum" attributes="class=\"input-medium\"" label="纳税识别号" required = true />
<div class="long_content_div control-group ">
<!-- <div class="long_content_div control-group ">
<label class="control-label" for="contactAddress">发票寄送地址</label>
<div class="controls">
<input type="text" id="province" placeholder="省" class="input-medium" " style='width:50px'>
......@@ -157,29 +135,37 @@ $("#deleteOrder").click(function(){
<input type="text" id="road" placeholder="路" class="input-medium" " style='width:90px'>
<input type="text" id="room" placeholder="门牌号和房间号" class="input-medium" " style='width:120px'>
</div>
</div>
<@form.hidden "dto.contactAddress"/>
</div>
-->
<!-- <@form.hidden "dto.contactAddress"/>
<@form.textInput path="dto.contactName" attributes="class=\"input-medium\"" label="寄送联系人" required = true />
<@form.textInput path="dto.contactTel" attributes="class=\"input-medium\"" label="联系方式" required = true />
<@form.textInput path="dto.invoiceRemark" attributes="class=\"input-medium\"" label="发票备注" required = true />
<@form.textInput path="dto.salesRemark" attributes="class=\"input-medium\"" label="销售备注" required = true />
<@form.textInput path="dto.contactTel" attributes="class=\"input-medium\"" label="联系方式" required = true />
-->
<@form.textInput path="dto.invoiceRemark" attributes="class=\"input-medium\"" label="发票备注" />
<!-- <@form.textInput path="dto.salesRemark" attributes="class=\"input-medium\"" label="销售备注" />
<div class="long_content_div control-group ">
<label class="control-label" for="contactAddress">递送方式</label>
<div class="controls">
<input id="sendWay_Id_1" name="sendWay" type="radio" value="2" checked=true />寄送
<input id="sendWay_Id_3" name="sendWay" type="radio" value="3" checked=true />电子发票
<input id="sendWay_Id_1" name="sendWay" type="radio" value="2" />寄送
<input id="sendWay_Id_2" name="sendWay" type="radio" value="1" <#if sendWay??> <#if sendWay=="1">checked=true</#if> </#if> />到付
</div>
</div>
<div class="long_content_div control-group ">
<label class="control-label" for="payInfo">付款信息</label>
<div class="controls">
<input id="payInfo" name="payInfo" type="text" placeholder='微信:10654321111111233' value="${payInfo!}" />
<#if dto.msg ??><span style ="color:red" >${dto.msg}</span></#if>
</div>
</div>
-->
<div class="long_content_div control-group ">
<#if dto.msg ??><span style ="color:red" >${dto.msg}</span></#if>
</div>
<table class="table table-bordered table-striped widthShow" style="width:70%" enctype="multipart/form-data">
<thead>
......@@ -194,15 +180,23 @@ $("#deleteOrder").click(function(){
</tr>
<tr>
<td style="width:10%">删除勾选</td>
<td style="width:10%">订单号/赛事活动(<font color="red">唯一</font>属性)</td>
<td style="width:5%">开票金额</td>
<td style="width:16%">球场名称</td>
<td style="width:10%">订单号/赛事活动</td>
<#if dto.id ?? >
<td style="width:5%">开票金额(<font color="red">开票金额不包含劵金额、余额</font>)</td>
<td style="width:16%">订单名称</td>
</#if>
</tr>
</thead>
<tbody id="rowsOfOrder">
<#if dto.id ?? >
<#if dto.invoiceOrderInfoBeans ?? >
<#list dto.invoiceOrderInfoBeans as item>
<tr> <td style="width:10%"><input type='checkbox' /></td> <td style='width:10%'><input name='invoiceOrderInfoBeans[${item_index}].orderNo' value=${item.orderNo} ></td><td style='width:5%'><input name='invoiceOrderInfoBeans[${item_index}].amount' value=${item.amount}></td><td style='width:16%'><input name='invoiceOrderInfoBeans[${item_index}].courseName' value=${item.courseName}></td></tr>
<tr> <td style="width:10%"><input type='checkbox' /></td>
<td style='width:10%'><input name='invoiceOrderInfoBeans[${item_index}].orderNo' value=${item.orderNo} ></td>
<#if dto.id ?? >
<td style='width:5%'><input name='invoiceOrderInfoBeans[${item_index}].amount' value=${item.amount}></td>
<td style='width:16%'><input name='invoiceOrderInfoBeans[${item_index}].courseName' value=${item.courseName}></td>
</#if>
</tr>
</#list>
</#if>
</tbody>
......
......@@ -91,17 +91,18 @@ function financeUpdate(){
<thead>
<tr>
<th style="width: 50px;">申请ID</th>
<th style="width: 50px;">寄送联系人</th>
<th style="width: 50px;">联系方式</th>
<!-- <th style="width: 50px;">寄送联系人</th>
<th style="width: 50px;">联系方式</th>-->
<th style="width: 60px;">提交人</th>
<th style="width: 60px;">中文名</th>
<th style="width: 60px;">提交日期</th>
<th style="width: 50px;">处理状态</th>
<th style="width: 38px;">未开票原因</th>
<th style="width: 38px;">运单号</th>
<th style="width: 38px;">寄送时间</th>
<th style="width: 38px;">寄送方式</th>
<th style="width: 38px;">寄送费凭证</th>
<!-- <th style="width: 38px;">寄送方式</th>
<th style="width: 38px;">寄送费凭证</th>-->
<th style="width: 38px;">详情查看</th>
<th style="width: 38px;">财务处理</th>
......@@ -113,9 +114,10 @@ function financeUpdate(){
<#list list as item>
<tr>
<td>${item.id!}</td>
<td>${item.contactName!}</td>
<td>${item.contactTel!}</td>
<!--<td>${item.contactName!}</td>
<td>${item.contactTel!}</td>-->
<td>${item.requestPerson!}</td>
<td>${item.nickName!}</td>
<td>${(item.createTime?string('yyyy-MM-dd hh:mm:ss'))!}</td>
<#if item.status==1>
<td>待处理</td>
......@@ -127,16 +129,7 @@ function financeUpdate(){
<td>${item.refusedReason!}</td>
<td>${item.expressNo!}</td>
<td>${item.sendTime!}</td>
<#if item.sendWay=="1">
<td>到付</td>
<#elseif item.sendWay=="2">
<td>寄送</td>
<#else>
<td>未知</td>
</#if>
<td>${item.payInfo!}</td>
<td> <a href="/invoiceRequest/edit?id=${item.id!}" >查看</a> </td>
<td> <a href='javascript:void(0);' onclick="changeMobilePhoneToEdit('${item.id!}')" >处理</a> </td>
......@@ -146,10 +139,13 @@ function financeUpdate(){
</tbody>
</table>
<form method="post" id="parseForm" action='/invoiceRequest/excelImport' enctype="multipart/form-data"><br> 
<#if "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "jingchaoh">
<a href="${excelpath}">excel导出</a> 
</#if>
<input type="file" name="financeFile" style="margin-left:50px"/>
<input type="button" value="解析数据" onclick='submitParseForm()' />
</form>
......
......@@ -54,7 +54,7 @@
<a href="javascript:;" onclick="javascript:$('#cancelForm').attr('action','/order/confirmPaied').submit();" class="btn btn-primary btn-large">确认打款</a>
<#if orderBean.canRefund = 2 >
<#if "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "xiaoxuanliu" || "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "zhou.ting" || "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "junfengz" || "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "beisuoh" || "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "jingchaoh">
<#if "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "chuanyue" || "${Session['SPRING_SECURITY_CONTEXT'].authentication.name}" == "jingchaoh">
<a href="javascript:;" onclick="refund()" class="btn btn-primary btn-large">退单</a>
</#if>
</#if>
......
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 sign in to comment