Commit 4b06a432 authored by 卜远杰's avatar 卜远杰

优化人员新增

parent b76f6404
......@@ -77,10 +77,121 @@
<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.invoiceTitle}" maxlength="500" required
name="productName" 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
value="$!{data.status}" maxlength="500" required
name="status" 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
value="$!{data.invoiceContent}" maxlength="500" required
name="invoiceContent" 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
value="$!{data.invoiceType}" maxlength="500" required
name="invoiceType" 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
value="$!{data.invoiceForm}" maxlength="500" required
name="invoiceForm" 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
value="$!{data.invoiceContent}" maxlength="500" required
name="invoiceContent" 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
value="$!{data.clerkId}" maxlength="500" required
name="clerkId" placeholder="开票人"
>
</div>
<div class="form-group form-md-line-input col-md-12">
<label>openId</label>
<input type="text" required class="form-control pull-right" readonly
value="$!{data.openId}" maxlength="500" required
name="openId" placeholder="openId"
>
</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.operator}" maxlength="500" required
name="operator" placeholder="operator"
>
</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.orderId}" maxlength="500" required
name="orderId" 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
value="$!{data.pushMode}" maxlength="500" required
name="pushMode" 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
value="$!{data.email}" maxlength="500" required
name="email" 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
value="$!{data.invoiceSerialNum}" maxlength="500" required
name="invoiceSerialNum" 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
value="$!{data.description}" maxlength="500" required
name="description" placeholder="创建时间"
>
</div>
<div class="box-footer">
#if($shiro.hasPermission("qy:invoice:edit"))
<input class="btn btn-primary" id="save" value="保存" type="submit">
#end
<a href="#springUrl('/a/invoice/list')" class="btn btn-default">取消</a>
</div>
</form>
......
......@@ -103,6 +103,8 @@
<td>发票类型</td>
<td>来源</td>
<td>开票人</td>
<td>openId</td>
<td>操作人</td>
<td>订单编码</td>
<td>推送方式</td>
<td>推送邮箱</td>
......@@ -225,6 +227,11 @@
{
"mData":"clerkId"
},
{
"mData":"openId"
},{
"mData":"operator"
},
{
"mData":"orderId"
},
......@@ -239,6 +246,8 @@
},
{
"mData": "createTime"
},{
"mData":"id"
}],
"aoColumnDefs": [
{ // set default column settings
......@@ -291,7 +300,7 @@
},
{
"aTargets": [9],
"aTargets": [11],
"mData": "pushMode",
"mRender": function (a, b, c, d) {
if (a == 0){
......@@ -304,12 +313,30 @@
},
{
"aTargets": [12],
"aTargets": [14],
"mData": "createTime",
"mRender": function (a, b, c, d) {
return formatDates(a, "yyyy-MM-dd HH:mm:ss");
}
},
{
"aTargets": [15],
"mData": "id",
"mRender": function (a, b, c, d) {
var html = '#if($shiro.hasPermission("qy:invoice:edit"))';
html += '<div class="btn-group" style="min-width: 100px;">\n' +
'<button type="button" class="btn btn-success btn-flat">操作</button>\n' +
'<button type="button" class="btn btn-success btn-flat dropdown-toggle" data-toggle="dropdown">\n' +
' <span class="caret"></span>\n' +
' <span class="sr-only">Toggle Dropdown</span>\n' +
'</button>\n' +
'<ul class="dropdown-menu" role="menu" style="min-width: 100px;">\n';
html += '<li><a href="#springUrl("/a/invoice/form?id=' + a + '")">查看</a></li>';
html += '</ul>';
html += '#end';
return html;
}
}
]
});
......
......@@ -23,6 +23,8 @@
<result column="description" property="description"/>
<result column="create_by" property="createBy"/>
<result column="update_by" property="updateBy"/>
<result column="operator" property="operator"/>
<result column="openId" property="openId"/>
</resultMap>
<sql id="sqlWhere">
......@@ -72,7 +74,9 @@
update_time,
description,
create_by,
update_by
update_by,
operator,
open_id
</sql>
......@@ -103,7 +107,9 @@
now(),
#{description, jdbcType=VARCHAR},
#{createBy, jdbcType=BIGINT},
#{updateBy, jdbcType=BIGINT}
#{updateBy, jdbcType=BIGINT},
#{operator, jdbcType=VARCHAR},
#{openId, jdbcType=VARCHAR}
)
</insert>
......@@ -189,6 +195,12 @@
<if test="updateBy != null">
update_by = #{updateBy, jdbcType=BIGINT},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=VARCHAR},
</if>
<if test="openId != null">
open_id = #{openId,jdbcType=VARCHAR},
</if>
</set>
where id=#{id,jdbcType=BIGINT}
</update>
......
......@@ -69,6 +69,14 @@ public class Invoice implements Serializable {
private Long createBy;
/** 更新人 */
private Long updateBy;
/**
* openId
*/
private String openId;
/**
* 操作者
*/
private String operator;
public Invoice() {
this.delFlag = false;
......
......@@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.List;
......@@ -64,6 +65,22 @@ public class InvoiceController {
public String form(HttpServletRequest request, String id, Model model) {
if (!StringUtils.isEmpty(id)) {
Invoice invoice = invoiceService.fetchById(id);
if (!StringUtils.isEmpty(invoice.getInvoiceType())){
invoice.setInvoiceType(invoice.getInvoiceType().equals("1") ? "蓝票" : "红票");
}
if (!StringUtils.isEmpty(invoice.getInvoiceForm())){
invoice.setInvoiceForm(invoice.getInvoiceForm().equals("0") ? "移动端" : "后台");
}
if (!StringUtils.isEmpty(invoice.getPushMode())){
invoice.setPushMode(invoice.getPushMode().equals("0") ? "邮箱" : "");
}
if (!StringUtils.isEmpty(invoice.getStatus())){
invoice.setStatus(invoice.getStatus().equals("0") ? "个人" : "企业");
}
if (invoice.getCreateTime() != null){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
invoice.setDescription(format.format(invoice.getCreateTime()));
}
model.addAttribute("data", invoice);
}
return "invoice/invoiceform";
......
......@@ -55,7 +55,6 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
private InvoiceService invoiceService;
@Override
public GenericDao<Order> getGenericMapper() {
return orderMapper;
......@@ -311,7 +310,14 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
for (Order order : list){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
order.setCreateTimeStr(format.format(order.getCreateTime()));
String str = invoiceUtil.startInvoice(order,order.getNickName(),invoiceDto.getEmail(),"0","0");
//抬头类型为企业设置发票税号
String unitTax = null;
if(invoiceDto.getType().equals("1")){
unitTax = invoiceDto.getUnitTaxNumber();
}
String str = invoiceUtil.startInvoice(order,order.getNickName(),invoiceDto.getEmail(),invoiceDto.getType(),"0",unitTax);
JSONObject json = JSON.parseObject(str);
if ( org.apache.commons.lang3.StringUtils.isNotBlank(json.getString("code")) && json.getString("code").equals("E0000")){
//开票成功 添加一条开票记录
......@@ -320,9 +326,10 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
Invoice invoice = new Invoice();
//发票抬头
if(invoiceDto.getType().equals("1")){
//抬头类型为公司则设置发票抬头
invoice.setInvoiceTitle(invoiceDto.getInvoiceTitle());
//抬头类型为公司则发票税号
invoice.setUnitTaxNumber(invoiceDto.getUnitTaxNumber());
}
invoice.setInvoiceTitle(invoiceDto.getInvoiceTitle());
invoice.setInvoiceContent(invoiceDto.getInvoiceContent());
invoice.setInvoiceType("1");
invoice.setInvoiceForm("1");
......@@ -333,6 +340,8 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
invoice.setStatus("0");
invoice.setInvoiceSerialNum(invoiceSerialNum);
invoice.setAccountsId(mpAccountsEntity.getId());
invoice.setOpenId(order.getOpenid());
invoice.setOperator(order.getNickName());
invoiceService.save(invoice);
jsonObject.put("errorNo", 0);
}else{
......
......@@ -3,6 +3,7 @@ package com.cftech.order.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cftech.core.util.StringUtils;
import com.cftech.core.util.SystemConfig;
import com.cftech.order.model.Order;
import com.cftech.product.model.Product;
......@@ -35,9 +36,10 @@ public class InvoiceUtil {
* @param email 邮箱
* @param type 0:
* @param from 0:移动端 1:后台
* @param unitTax 单位税号 移动端发票抬头为公司需要填写税号
* @return
*/
public String startInvoice (Order orderObj,String clerk,String email,String type,String from){
public String startInvoice (Order orderObj,String clerk,String email,String type,String from,String unitTax){
NNOpenSDK sdk = NNOpenSDK.getIntance();
......@@ -73,9 +75,13 @@ public class InvoiceUtil {
//收款人 非必填
order.put("payee",SystemConfig.p.getProperty("PAYEE"));
//购方地址 非必填
order.put("buyerAddress",orderObj.getAddress());
order.put("buyerAddress",orderObj.getAddressDes());
//购方税号(企业要填,个人可为空)
order.put("buyerTaxNum","");
if (StringUtils.isNotBlank(unitTax)){
order.put("buyerTaxNum",unitTax);
}else{
order.put("buyerTaxNum","");
}
//开票类型:1:蓝票;2:红票 必填
order.put("invoiceType","1");
//发票种类:p,普通发票(电票)(默认);c,普通发票(纸票);s,专用发票;e,收购发票(电票);f,收购发票(纸质);r,普通发票(卷式) 非必填
......@@ -87,7 +93,7 @@ public class InvoiceUtil {
//销方电话 必填
order.put("salerTel",SystemConfig.p.getProperty("SALER_TEL"));
//订单号 (每个企业唯一) 必填
order.put("orderNo","OD19980115"); //todo
order.put("orderNo","OD19980119"); //todo
// 开票完成回传发票信息地址 非必填
order.put("callBackUrl","http:127.0.0.1/invoice/callback/");
// 购方名称 必填
......
......@@ -27,6 +27,7 @@ import com.cftech.order.utils.DoubleJSONFilter;
import com.cftech.order.utils.InvoiceUtil;
import com.cftech.orderdetail.web.OrderDetailsController;
import com.cftech.sys.security.UserUtils;
import com.cftech.sys.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
......@@ -87,6 +88,9 @@ public class OrderController {
@Autowired
private QyMsgUtil qyMsgUtil;
@Autowired
private UserService userService;
//列表页面
@RequiresPermissions(value = ORDER_VIEW)
@RequestMapping("/list")
......@@ -256,7 +260,7 @@ public class OrderController {
for (Order order : list){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
order.setCreateTimeStr(format.format(order.getCreateTime()));
String str = invoiceUtil.startInvoice(order,String.valueOf(userid),email,"0","1");
String str = invoiceUtil.startInvoice(order,String.valueOf(userid),email,"0","1",null);
JSONObject json = JSON.parseObject(str);
if ( StringUtils.isNotBlank(json.getString("code")) && json.getString("code").equals("E0000")){
//开票成功 添加一条开票记录
......@@ -264,7 +268,7 @@ public class OrderController {
String invoiceSerialNum = json.getJSONObject("result").getString("invoiceSerialNum");
Invoice invoice = new Invoice();
//发票抬头
//invoice.setInvoiceTitle("0");
invoice.setInvoiceTitle(order.getNickName());
invoice.setInvoiceContent("商品费用");
invoice.setInvoiceType("1");
invoice.setInvoiceForm("1");
......@@ -275,6 +279,9 @@ public class OrderController {
invoice.setStatus("0");
invoice.setInvoiceSerialNum(invoiceSerialNum);
invoice.setAccountsId(accountsId);
invoice.setOpenId(order.getOpenid());
String userName = userService.fetchAuthById(userid).getWxUserName();
invoice.setOperator(StringUtils.isEmpty(userName) ? "":userName);
invoiceService.save(invoice);
jsonObject.put("errorNo", 0);
}else{
......
......@@ -229,7 +229,7 @@
#if($shiro.hasPermission("sys:qyuser:edit"))
<input class="btn btn-primary" id="save" value="保存" type="submit">
#end
<a href="#springUrl('/a/orgunit/list')" class="btn btn-default">取消</a>
<a href="#springUrl('/a/qyuser/list')" class="btn btn-default">取消</a>
</div>
</form>
<!-- /.box-body -->
......@@ -296,7 +296,7 @@
var coverPP = null;
var initPicsSel = function () {
var smallimg = "$!{data.img}";
var smallimg = "$!{data.description}";
coverPP = new uePicPicker({
tarId: 'img',
title: '客服名片',
......@@ -577,7 +577,7 @@
location.href = "#springUrl('/a/qyuser/form')";
},
cancel: function () {
location.href = "#springUrl('/a/orgunit/list')";
location.href = "#springUrl('/a/qyuser/list')";
}
});
} else if (returnobj.errorNo == 0) { //修改成功
......@@ -585,7 +585,7 @@
message: "更新成功",
btntext: "确定",
success: function () {
location.href = "#springUrl('/a/orgunit/list')";
location.href = "#springUrl('/a/qyuser/list')";
}
});
} else if (returnobj.errorNo == 3) {
......
......@@ -165,7 +165,7 @@
#if($shiro.hasPermission("sys:qyuser:edit"))
<!--<a onclick="syncWx();" class="btn btn-success">同步微信</a>-->
<a href="#springUrl('/a/qyuser/form')" class="btn btn-primary">新增</a>
<a onclick="addUser()" class="btn btn-primary">新增</a>
<a onclick="importExcel();" class="btn btn-primary">导入</a>
#end
</div>
......@@ -410,6 +410,12 @@
initOrgTree();
});
//新增用户
function addUser(){
var orgId = $("[name='orgId']").val();
location.href = "#springUrl('/a/qyuser/form')?orgId="+orgId;
}
var orgTreeUri = "#springUrl('/a/orgunit/treeDataNoAuth')";
function initOrgTree() {
......
......@@ -26,6 +26,7 @@ import com.cftech.sys.model.User;
import com.cftech.sys.security.PermissionSign;
import com.cftech.sys.security.UserUtils;
import com.cftech.sys.service.UserService;
import javafx.scene.shape.QuadCurve;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -87,7 +88,7 @@ public class QyuserController {
//返回编辑页面(新增、修改)
@RequiresPermissions(value = PermissionSign.QYUSER_VIEW)
@RequestMapping(value = "/form", method = {RequestMethod.GET, RequestMethod.POST})
public String form(HttpServletRequest request, String id, Model model) {
public String form(HttpServletRequest request, String id, Model model , String orgId) {
Long accountId = Long.parseLong(qyAccounts);
if (!StringUtils.isEmpty(id)) {
Qyuser qyuser = qyuserService.fetchById(id);
......@@ -103,7 +104,13 @@ public class QyuserController {
model.addAttribute("data", qyuser);
model.addAttribute("accountId", qyuser.getAccountsId());
} else {
if (!StringUtils.isEmpty(orgId)){
Qyuser qyuser = new Qyuser();
qyuser.setOrgId(Long.valueOf(orgId));
OrgUnit orgUnit = orgUnitService.fetchById(orgId);
model.addAttribute("orgName", orgUnit.getOrgName());
model.addAttribute("data", qyuser);
}
model.addAttribute("accountId", accountId);
}
return "managerqyuser/qyuseradd";
......
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