Commit 97255f1c authored by 卜远杰's avatar 卜远杰

移动端查看发票接口

parent 18b037aa
......@@ -77,6 +77,14 @@
<div class="box-body">
</div>
<div class="form-group form-md-line-input col-md-12">
<label>开票编码</label>
<input type="text" required class="form-control pull-right" readonly
value="$!{data.number}" maxlength="500" required
name="number" placeholder="开票编码"
>
</div>
<div class="form-group form-md-line-input col-md-12">
<label>发票抬头</label>
<input type="text" required class="form-control pull-right" readonly
......
......@@ -96,6 +96,7 @@
<thead>
<tr>
<td hidden="true">Id</td>
<td>开票编码</td>
<td>发票抬头</td>
<td>抬头类型</td>
<td>发票内容</td>
......@@ -206,6 +207,9 @@
{
"mData": "id"
},
{
"mData":"number"
},
{
"mData":"invoiceTitle"
},
......@@ -256,7 +260,7 @@
},
{
"aTargets": [2] ,
"aTargets": [3] ,
"mData" : "status",
"mRender" : function (a, b, c, d){
if (a == 0){
......@@ -270,7 +274,7 @@
},
{
"aTargets": [5],
"aTargets": [6],
"mData": "invoiceType",
"mRender": function (a, b, c, d) {
if (a == 1){
......@@ -285,7 +289,7 @@
},
{
"aTargets": [6],
"aTargets": [7],
"mData": "invoiceForm",
"mRender": function (a, b, c, d) {
if (a == 0){
......@@ -300,7 +304,7 @@
},
{
"aTargets": [11],
"aTargets": [12],
"mData": "pushMode",
"mRender": function (a, b, c, d) {
if (a == 0){
......@@ -313,14 +317,14 @@
},
{
"aTargets": [14],
"aTargets": [15],
"mData": "createTime",
"mRender": function (a, b, c, d) {
return formatDates(a, "yyyy-MM-dd HH:mm:ss");
}
},
{
"aTargets": [15],
"aTargets": [16],
"mData": "id",
"mRender": function (a, b, c, d) {
var html = '#if($shiro.hasPermission("qy:invoice:edit"))';
......
......@@ -2,6 +2,10 @@ package com.cftech.invoice.dao;
import com.cftech.invoice.model.Invoice;
import com.cftech.core.generic.GenericDao;
import com.cftech.invoice.model.InvoiceDetail;
import java.util.List;
import java.util.Map;
/**
* 开票信息Mapper
......@@ -11,4 +15,11 @@ import com.cftech.core.generic.GenericDao;
*/
public interface InvoiceMapper extends GenericDao<Invoice> {
/**
* 移动端查看发票
* @param param
* @return
*/
List<InvoiceDetail> selectInvoiceDetail(Map<String,Object> param);
}
\ No newline at end of file
......@@ -28,6 +28,21 @@
<result column="number" property="number"/>
</resultMap>
<resultMap id="resultMapDetail" type="com.cftech.invoice.model.InvoiceDetail">
<id column="id" property="id"/>
<result column="number" property="number"/>
<result column="createTime" property="createTime"/>
<result column="confirm" property="confirm"/>
<result column="status" property="status"/>
<result column="totalAmount" property="totalAmount"/>
<result column="productName" property="productName"/>
<result column="format" property="format"/>
<result column="unit" property="unit"/>
<result column="price" property="price"/>
<result column="productImg" property="productImg"/>
<result column="isRs" property="isRs"/>
</resultMap>
<sql id="sqlWhere">
<if test="conds!=null">
<trim prefix="WHERE" prefixOverrides="AND|OR">
......@@ -138,6 +153,30 @@
<if test="limit>0">limit #{offset},#{limit}</if>
</select>
<select id="selectInvoiceDetail" parameterType="java.util.Map" resultMap="resultMapDetail">
SELECT
o.id id,
o.number number,
o.create_time createTime,
o.confirm confirm,
o.`status` status,
o.total_amount totalAmount,
p.product_name productName,
p.format format,
p.unit unit,
p.price price,
p.product_img productImg,
p.is_rs isRs
FROM
t_order o
LEFT JOIN t_order_details d ON d.order_id = o.id
AND d.del_flag = 0
LEFT JOIN t_aidea_product p ON d.drugs_id = p.id
AND p.del_flag = 0
<include refid="sqlWhere"/>
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
</select>
<update id="update" parameterType="com.cftech.invoice.model.Invoice">
update t_aidea_invoice
<set>
......
package com.cftech.invoice.model;
import com.sun.tools.corba.se.idl.StringGen;
import lombok.Data;
/**
*
* 移动端查看发票实体类
* @author BuYJ
*/
@Data
public class InvoiceDetail {
/**
* 订单ID
*/
private String id;
/**
* 订单编码
*/
private String number;
/**
* 订单下单时间
*/
private String createTime;
/**
* 是否开票 有值则已开票 反之则未
*/
private String confirm;
/**
* 订单状态 0:待确认 1:待付款 2:待发货 3:待收货 4:已完成(已成交) 5:已取消
*/
private String status;
/**
* 开票金额
*/
private String totalAmount;
/**
* 产品名称
*/
private String productName;
/**
* 产品规格
*/
private String format;
/**
* 产品单位
*/
private String unit;
/**
* 产品单价
*/
private String price;
/**
* 产品图片
*/
private String productImg;
/**
* 是否RS
*/
private String isRs;
/**
* 移动端传的APPID
*/
private String appId;
}
package com.cftech.invoice.service;
import com.alibaba.fastjson.JSONObject;
import com.cftech.core.sql.Conds;
import com.cftech.core.sql.Sort;
import com.cftech.invoice.model.Invoice;
import com.cftech.core.generic.GenericService;
import com.cftech.invoice.model.InvoiceDetail;
import java.util.List;
import java.util.Map;
/**
* 开票信息Service
*
......@@ -11,4 +19,10 @@ import com.cftech.core.generic.GenericService;
public interface InvoiceService extends GenericService<Invoice> {
/**
* 移动端查看发票
* @param invoiceDetail
* @return
*/
JSONObject selectInvoiceDetail(InvoiceDetail invoiceDetail);
}
package com.cftech.invoice.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cftech.accounts.model.MpAccountsEntity;
import com.cftech.accounts.service.MpAccountsService;
import com.cftech.core.scope.OrderType;
import com.cftech.core.sql.Sort;
import com.cftech.core.util.StringUtils;
import com.cftech.invoice.model.Invoice;
import com.cftech.invoice.dao.InvoiceMapper;
import com.cftech.invoice.model.InvoiceDetail;
import com.cftech.invoice.service.InvoiceService;
import com.cftech.core.generic.GenericDao;
import com.cftech.core.generic.GenericServiceImpl;
......@@ -10,6 +17,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 开票信息ServiceImpl
*
......@@ -23,9 +34,48 @@ public class InvoiceServiceImpl extends GenericServiceImpl<Invoice> implements I
@Qualifier("invoiceMapper")
private InvoiceMapper invoiceMapper;
@Autowired
private MpAccountsService mpAccountsService;
@Override
public GenericDao<Invoice> getGenericMapper() {
return invoiceMapper;
}
@Override
public JSONObject selectInvoiceDetail(InvoiceDetail invoiceDetail) {
JSONObject jsonObject = new JSONObject();
MpAccountsEntity mpAccountsEntity = null;
if (StringUtils.isNotBlank(invoiceDetail.getAppId())){
mpAccountsEntity = mpAccountsService.getMpAccountsAppid(invoiceDetail.getAppId());
}else{
jsonObject.put("errorNo","2");
jsonObject.put("errorMsg","appId不能为空");
}
try {
Map<String, Object> params = new HashMap<String, Object>();
Conds conds = new Conds();
conds.equal("o.accounts_id",mpAccountsEntity.getId());
conds.equal("o.del_flag",0);
if(StringUtils.isNotBlank(invoiceDetail.getId())){
conds.equal("o.id",invoiceDetail.getId());
}
Sort sort = new Sort("d.create_time", OrderType.DESC);
params.put("conds", conds);
params.put("sort", sort);
List<InvoiceDetail> list = invoiceMapper.selectInvoiceDetail(params);
jsonObject.put("errorNo","0");
if(list.size() > 0){
jsonObject.put("data",list);
}else{
jsonObject.put("data",null);
}
}catch (Exception e){
jsonObject.put("errorNo","1");
jsonObject.put("errorMsg","程序异常");
}
return jsonObject;
}
}
\ No newline at end of file
package com.cftech.invoice.web;
import com.alibaba.fastjson.JSONObject;
import com.cftech.invoice.model.InvoiceDetail;
import com.cftech.invoice.service.InvoiceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
@RequestMapping("mobile/data/invoice")
public class MobileInvoiceController {
@Autowired
private InvoiceService invoiceService;
/**
* 查看发票详情接口
* @param invoiceDetail (传订单ID 和appId)
* @return
*/
@RequestMapping(value = "/invoiceDetail", method = {RequestMethod.POST}, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public JSONObject invoiceDetail (@RequestBody InvoiceDetail invoiceDetail){
return invoiceService.selectInvoiceDetail(invoiceDetail);
}
}
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cftech.accounts.model.MpAccountsEntity;
import com.cftech.accounts.service.MpAccountsService;
import com.cftech.base.codingrule.utils.CodingruleUtils;
import com.cftech.core.sql.Sort;
import com.cftech.core.util.Constants;
import com.cftech.core.util.StringUtils;
......@@ -54,6 +55,9 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
@Autowired
private InvoiceService invoiceService;
@Autowired
private CodingruleUtils codingruleUtils;
@Override
public GenericDao<Order> getGenericMapper() {
......@@ -329,6 +333,7 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
//抬头类型为公司则发票税号
invoice.setUnitTaxNumber(invoiceDto.getUnitTaxNumber());
}
invoice.setNumber(codingruleUtils.getNumber(mpAccountsEntity.getId(), Invoice.class.getName()));
invoice.setInvoiceTitle(invoiceDto.getInvoiceTitle());
invoice.setInvoiceContent(invoiceDto.getInvoiceContent());
invoice.setInvoiceType("1");
......@@ -343,13 +348,18 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
invoice.setOpenId(order.getOpenid());
invoice.setOperator(order.getNickName());
invoiceService.save(invoice);
jsonObject.put("errorNo", 0);
//更新是否开票状态
order.setConfirm(invoiceSerialNum);
orderMapper.update(order);
}else{
jsonObject.put("errorNo", 1);
jsonObject.put("errorMsg", org.apache.commons.lang3.StringUtils.isEmpty(json.getString("describe")) ? json.getString("message") : json.getString("describe"));
return jsonObject;
}
}
}
jsonObject.put("errorNo", 0);
}catch (Exception e){
e.printStackTrace();
jsonObject.put("errorNo","1");
......
......@@ -94,7 +94,7 @@ public class InvoiceUtil {
//销方电话 必填
order.put("salerTel",SystemConfig.p.getProperty("SALER_TEL"));
//订单号 (每个企业唯一) 必填
order.put("orderNo", orderObj.getNumber()); //todo
order.put("orderNo", "OD199812132"); //todo
// 开票完成回传发票信息地址 非必填
order.put("callBackUrl","http:127.0.0.1/invoice/callback/");
// 购方名称 必填
......
......@@ -288,12 +288,18 @@ public class OrderController {
String userName = userService.fetchAuthById(userid).getWxUserName();
invoice.setOperator(StringUtils.isEmpty(userName) ? "":userName);
invoiceService.save(invoice);
jsonObject.put("errorNo", 0);
//更新是否开票状态
order.setConfirm(invoiceSerialNum);
orderService.update(order);
}else{
jsonObject.put("errorNo", 1);
jsonObject.put("errorMsg",StringUtils.isEmpty(json.getString("describe")) ? json.getString("message") : json.getString("describe"));
return jsonObject;
}
}
jsonObject.put("errorNo", 0);
}
} catch (Exception e) {
......
......@@ -79,7 +79,7 @@
<module>workshop-module-web</module>
<module>schaeffler-modules</module>
<module>aidea-modules</module>
<module>authentication-module-web</module>
<!-- <module>authentication-module-web</module>-->
</modules>
......@@ -925,7 +925,7 @@
</exclusions>
</dependency>
<dependency>
<!--<dependency>
<groupId>sf.csim</groupId>
<artifactId>printer-api</artifactId>
<version>1.0.3</version>
......@@ -935,7 +935,7 @@
<groupId>sf.csim</groupId>
<artifactId>waybill-api</artifactId>
<version>V1.1.1</version>
</dependency>
</dependency>-->
</dependencies>
<build>
......
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