厂家管理

This commit is contained in:
ifish7
2017-08-14 17:23:31 +08:00
parent 89162eb3e7
commit 7de1489e10
24 changed files with 2821 additions and 19 deletions
@@ -0,0 +1,197 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.bean;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* 设备操作记录表(电子厂查看)(tbl_operate_record)
*
* @author bianj
* @version 1.0.0 2017-08-07
*/
@Entity
@Table(name = "tbl_operate_record")
public class Tbl_Operate_record implements java.io.Serializable {
/**
* 版本号
*/
private static final long serialVersionUID = -8474976960691862171L;
/**
* id
*/
@Id
@Column(name = "record_id", unique = true, nullable = false, length = 10)
private Integer recordId;
/**
* 数量
*/
@Column(name = "record_number", nullable = false, length = 10)
private Integer recordNumber;
/**
* IP
*/
@Column(name = "record_ip", nullable = true, length = 30)
private String recordIp;
/**
* 电子厂代码
*/
@Column(name = "factory_code", nullable = true, length = 20)
private String factoryCode;
/**
* 操作类型
*/
@Column(name = "record_type", nullable = true, length = 20)
private String recordType;
/**
* 操作时间
*/
@Column(name = "create_time", nullable = true)
private Date createTime;
/**
* 编号
*/
@Column(name = "create_code", nullable = true, length = 50)
private String createCode;
/**
* 获取id
*
* @return id
*/
public Integer getRecordId() {
return this.recordId;
}
/**
* 设置id
*
* @param recordId id
*/
public void setRecordId(Integer recordId) {
this.recordId = recordId;
}
/**
* 获取数量
*
* @return 数量
*/
public Integer getRecordNumber() {
return this.recordNumber;
}
/**
* 设置数量
*
* @param recordNumber 数量
*/
public void setRecordNumber(Integer recordNumber) {
this.recordNumber = recordNumber;
}
/**
* 获取IP
*
* @return IP
*/
public String getRecordIp() {
return this.recordIp;
}
/**
* 设置IP
*
* @param recordIp IP
*/
public void setRecordIp(String recordIp) {
this.recordIp = recordIp;
}
/**
* 获取电子厂代码
*
* @return 电子厂代码
*/
public String getFactoryCode() {
return this.factoryCode;
}
/**
* 设置电子厂代码
*
* @param factoryCode 电子厂代码
*/
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
/**
* 获取操作类型
*
* @return 操作类型
*/
public String getRecordType() {
return this.recordType;
}
/**
* 设置操作类型
*
* @param recordType 操作类型
*/
public void setRecordType(String recordType) {
this.recordType = recordType;
}
/**
* 获取操作时间
*
* @return 操作时间
*/
public Date getCreateTime() {
return this.createTime;
}
/**
* 设置操作时间
*
* @param createTime 操作时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取编号
*
* @return 编号
*/
public String getCreateCode() {
return this.createCode;
}
/**
* 设置编号
*
* @param createCode 编号
*/
public void setCreateCode(String createCode) {
this.createCode = createCode;
}
}
@@ -0,0 +1,173 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.bean;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* 收款账号信息(tbl_payee_info)
*
* @author bianj
* @version 1.0.0 2017-08-07
*/
@Entity
@Table(name = "tbl_payee_info")
public class Tbl_Payee_Info implements java.io.Serializable {
/**
* 版本号
*/
private static final long serialVersionUID = -6173960043483971734L;
/**
* ID
*/
@Id
@Column(name = "payee_id", unique = true, nullable = false, length = 10)
private Integer payeeId;
/**
* 支付帐号
*/
@Column(name = "account_no", nullable = false, length = 50)
private String accountNo;
/**
* 银行卡号
*/
@Column(name = "bakn_card", nullable = false, length = 50)
private String baknCard;
/**
* 户名
*/
@Column(name = "account_name", nullable = false, length = 50)
private String accountName;
/**
* 银行
*/
@Column(name = "bank_name", nullable = false, length = 50)
private String bankName;
/**
* 创建时间
*/
@Column(name = "create_time", nullable = true)
private Date createTime;
/**
* 获取ID
*
* @return ID
*/
public Integer getPayeeId() {
return this.payeeId;
}
/**
* 设置ID
*
* @param payeeId ID
*/
public void setPayeeId(Integer payeeId) {
this.payeeId = payeeId;
}
/**
* 获取支付帐号
*
* @return 支付帐号
*/
public String getAccountNo() {
return this.accountNo;
}
/**
* 设置支付帐号
*
* @param accountNo 支付帐号
*/
public void setAccountNo(String accountNo) {
this.accountNo = accountNo;
}
/**
* 获取银行卡号
*
* @return 银行卡号
*/
public String getBaknCard() {
return this.baknCard;
}
/**
* 设置银行卡号
*
* @param baknCard 银行卡号
*/
public void setBaknCard(String baknCard) {
this.baknCard = baknCard;
}
/**
* 获取户名
*
* @return 户名
*/
public String getAccountName() {
return this.accountName;
}
/**
* 设置户名
*
* @param accountName 户名
*/
public void setAccountName(String accountName) {
this.accountName = accountName;
}
/**
* 获取银行
*
* @return 银行
*/
public String getBankName() {
return this.bankName;
}
/**
* 设置银行
*
* @param bankName 银行
*/
public void setBankName(String bankName) {
this.bankName = bankName;
}
/**
* 获取创建时间
*
* @return 创建时间
*/
public Date getCreateTime() {
return this.createTime;
}
/**
* 设置创建时间
*
* @param createTime 创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
@@ -24,7 +24,7 @@ public class Tbl_Security_User {
/**
* 版本号
*/
private static final long serialVersionUID = -8984570421187661490L;
private static final long serialVersionUID = 1605694509520575278L;
/**
* 用户id
@@ -63,10 +63,16 @@ public class Tbl_Security_User {
@Column(name = "rolename", nullable = false, length = 20)
private String rolename;
/**
* 是否启用,1启用,0不启用
*/
@Column(name = "status", nullable = true, length = 1)
private String status;
/**
* 厂家代码
*/
@Column(name = "code", nullable = false, length = 20)
@Column(name = "code", nullable = true, length = 20)
private String code;
/**
@@ -183,6 +189,24 @@ public class Tbl_Security_User {
this.rolename = rolename;
}
/**
* 获取是否启用,1启用,0不启用
*
* @return 是否启用
*/
public String getStatus() {
return this.status;
}
/**
* 设置是否启用,1启用,0不启用
*
* @param status 是否启用,1启用,0不启用
*/
public void setStatus(String status) {
this.status = status;
}
/**
* 获取厂家代码
*
@@ -0,0 +1,98 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.controller;
import com.ifish.bean.Tbl_Security_User;
import com.ifish.helper.AdminHelperI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
/**
*
* @author Administrator
*/
@Controller
public class Admin {
@Autowired
private AdminHelperI adminHelperI;
/**
* 合作账号管理页面
*
* @return
*/
@RequestMapping(value = {"/adminUserList"}, method = RequestMethod.GET)
public ModelAndView getUserList() {
return adminHelperI.getUserList();
}
/**
* 用户管理页面数据
*
* @param draw
* @param role
* @param username
* @param start
* @param length
* @return
*/
@RequestMapping(value = {"/adminuserlistdate"}, method = RequestMethod.POST)
@ResponseBody
public Object getUserListDate(String draw, String role, String username, Integer start, Integer length) {
return adminHelperI.getUserListDate(draw, role, username, start, length);
}
/**
* 插入一条后台用户
*
* @param tbl_Security_User
* @return
*/
@RequestMapping(value = {"/insertSecurityUser"}, method = RequestMethod.POST)
@ResponseBody
public Object insertUser(Tbl_Security_User tbl_Security_User) {
return adminHelperI.insertUser(tbl_Security_User);
}
/**
* 修改一条后台用户信息
*
* @param tbl_Security_User
* @return
*/
@RequestMapping(value = {"/updateSecurityUser"}, method = RequestMethod.POST)
@ResponseBody
public Object updateUser(Tbl_Security_User tbl_Security_User) {
return adminHelperI.updateUser(tbl_Security_User);
}
/**
* 菜单导航管理页面
*
* @return
*/
@RequestMapping(value = {"/menuManage"}, method = RequestMethod.GET)
public ModelAndView getMenuManage() {
return adminHelperI.getMenuManage();
}
/**
* 删除一条后台账户信息
*
* @param id
* @return
*/
@RequestMapping(value = {"/deleteSecurityUser"}, method = RequestMethod.POST)
@ResponseBody
public Object deleteSecurityUser(Integer id) {
return adminHelperI.deleteSecurityUser(id);
}
}
@@ -6,6 +6,7 @@
package com.ifish.controller;
import com.ifish.bean.Tbl_Factory_List;
import com.ifish.bean.Tbl_Payee_Info;
import com.ifish.helper.FactoryHelperI;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
@@ -111,7 +112,86 @@ public class Factory {
* @return
*/
@RequestMapping(value = {"/querylist"}, method = RequestMethod.GET)
public ModelAndView querylist() {
return factoryHelperI.addFactory();
public ModelAndView querylist(String factoryCode, String brandCode, String isblacklist, String createTimeBefore, String createTimeAfter) {
return factoryHelperI.querylist(factoryCode, brandCode, isblacklist, createTimeBefore, createTimeAfter);
}
/**
* 授权统计查询页
*
* @param factoryCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@RequestMapping(value = {"/authorizationQuery"}, method = RequestMethod.GET)
public ModelAndView authorizationQuery(String factoryCode, String createTimeBefore, String createTimeAfter) {
return factoryHelperI.authorizationQuery(factoryCode, createTimeBefore, createTimeAfter);
}
/**
* 账单列表
*
* @return
*/
@RequestMapping(value = {"/paylist"}, method = RequestMethod.GET)
public ModelAndView paylist() {
return factoryHelperI.paylist();
}
/**
* 账单列表页数据
*
* @param factoryCode
* @return
*/
@RequestMapping(value = {"/paylistdata"}, method = RequestMethod.POST)
@ResponseBody
public Object paylistData(String factoryCode, String draw, Integer start, Integer length) {
return factoryHelperI.paylistData(factoryCode, draw, start, length);
}
/**
* 修改账单收费状态
*
* @param code
* @param month
* @return
*/
@RequestMapping(value = {"/changePayStatus"}, method = RequestMethod.POST, produces = "text/html;charset=utf-8")
@ResponseBody
public Object changePayStatus(String code, String month) {
return factoryHelperI.changePayStatus(code, month);
}
/**
* 修改收款账号信息
*
* @param tbl_Payee_Info
* @return
*/
@RequestMapping(value = {"/updatePayeeInfo"}, method = RequestMethod.POST, produces = "text/html;charset=utf-8")
@ResponseBody
public Object updatePayeeInfo(Tbl_Payee_Info tbl_Payee_Info) {
return factoryHelperI.updatePayeeInfo(tbl_Payee_Info);
}
/**
* 账单详情页面
*
* @param factoryCode
* @param billMonth
* @return
*/
@RequestMapping(value = {"/paydetail"}, method = RequestMethod.GET)
public ModelAndView paydetail(String factoryCode, String billMonth) {
return factoryHelperI.paydetail(factoryCode, billMonth);
}
@RequestMapping(value = {"/paydetailDate"}, method = RequestMethod.POST)
@ResponseBody
public Object paydetailDate(String factoryCode, String billMonth, String draw, Integer start, Integer length) {
return factoryHelperI.paydetailDate(factoryCode, billMonth, draw, start, length);
}
}
@@ -0,0 +1,184 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.helper;
import com.ifish.bean.Tbl_Security_User;
import com.ifish.mapper.Tbl_User_Mapper;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
/**
*
* @author Administrator
*/
@Component
public class AdminHelper implements AdminHelperI {
@Autowired
private Tbl_User_Mapper tbl_User_Mapper;
/**
* 合作账号管理页面
*
* @return
*/
@Override
public ModelAndView getUserList() {
ModelAndView mv = new ModelAndView();
mv.setViewName("adminuserlist");
mv.addObject("title", "用户管理");
mv.addObject("myjs", "<!-- Other plugins ( load only nessesary plugins for every page) -->\n"
+ " <script src=\"static/assets/plugins/core/moment/moment.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/sparklines/jquery.sparkline.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/pie-chart/jquery.easy-pie-chart.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/icheck/jquery.icheck.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tags/jquery.tagsinput.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tinymce/tinymce.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/tables/jquery.dataTables.js\"></script>\n"
+ "<link href=\"static/assets/plugins/tables/jquery.dataTables.css\" rel=\"stylesheet\">"
+ "<link href=\"static/assets/plugins/tables/dataTables.bootstrap.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/plugins/tables/dataTables.bootstrap.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/highlight/highlight.pack.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/countTo/jquery.countTo.js\"></script>\n"
+ " <script src=\"static/assets/js/jquery.sprFlat.js\"></script>\n"
+ " <script src=\"static/switchery/switchery.min.js\"></script>\n"
+ "<link href=\"static/switchery/switchery.min.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/js/app.js\"></script>");
return mv;
}
/**
* 根据条件获取后台账号列表
*
* @param darw
* @param role
* @param username
* @param start
* @param length
* @return
*/
@Override
public Object getUserListDate(String draw, String role, String username, Integer start, Integer length) {
List<Map> list = tbl_User_Mapper.getSecurity_UsersList(role, username, start, length);
for (Map map : list) {
if (map.get("factoryname") == null) {
map.put("factoryname", "");
}
}
Integer allCount = tbl_User_Mapper.getAllSecurity_user();
Integer count = 0;
if (StringUtils.isBlank(role) && StringUtils.isBlank(username)) {
count = allCount;
} else {
count = tbl_User_Mapper.getSecurity_UsersListCount(role, username);
}
Map map = new HashMap();
map.put("data", list);
map.put("draw", draw);
map.put("recordsTotal", count);
map.put("recordsFiltered", count);
return map;
}
/**
* 菜单导航管理页面
*
* @return
*/
@Override
public ModelAndView getMenuManage() {
ModelAndView mv = new ModelAndView();
mv.setViewName("menuManage");
mv.addObject("title", "菜单管理");
mv.addObject("myjs", "<!-- Other plugins ( load only nessesary plugins for every page) -->\n"
+ " <script src=\"static/assets/plugins/core/moment/moment.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/sparklines/jquery.sparkline.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/pie-chart/jquery.easy-pie-chart.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/icheck/jquery.icheck.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tags/jquery.tagsinput.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tinymce/tinymce.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/tables/jquery.dataTables.js\"></script>\n"
+ "<link href=\"static/assets/plugins/tables/jquery.dataTables.css\" rel=\"stylesheet\">"
+ "<link href=\"static/assets/plugins/tables/dataTables.bootstrap.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/plugins/tables/dataTables.bootstrap.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/highlight/highlight.pack.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/countTo/jquery.countTo.js\"></script>\n"
+ " <script src=\"static/assets/js/jquery.sprFlat.js\"></script>\n"
+ " <script src=\"static/switchery/switchery.min.js\"></script>\n"
+ "<link href=\"static/switchery/switchery.min.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/js/app.js\"></script>");
return mv;
}
/**
* 插入一条后台用户
*
* @param tbl_Security_User
* @return
*/
@Override
public Object insertUser(Tbl_Security_User tbl_Security_User) {
try {
if (tbl_Security_User.getId() != null && tbl_Security_User.getId() >= 0) {
return "失败";
}
int i = tbl_User_Mapper.insertSecurityUser(tbl_Security_User);
if (i > 0) {
return "成功";
}
} catch (Exception e) {
}
return "失败";
}
/**
* 修改一条后台用户
*
* @param tbl_Security_User
* @return
*/
@Override
public Object updateUser(Tbl_Security_User tbl_Security_User) {
try {
if (tbl_Security_User.getId() == null || tbl_Security_User.getId() <= 0) {
return "失败";
}
int i = tbl_User_Mapper.updateSecurityUser(tbl_Security_User);
if (i > 0) {
return "成功";
}
} catch (Exception e) {
}
return "失败";
}
/**
* 删除一条后台账号信息
*
* @param id
* @return
*/
@Override
public Object deleteSecurityUser(Integer id) {
try {
if (id > 0) {
int i = tbl_User_Mapper.deleteScurityUserById(id);
if (i > 0) {
return "成功";
}
}
} catch (Exception e) {
}
return "失败";
}
}
@@ -0,0 +1,66 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.helper;
import com.ifish.bean.Tbl_Security_User;
import org.springframework.web.servlet.ModelAndView;
/**
*
* @author Administrator
*/
public interface AdminHelperI {
/**
* 合作账号管理页面
*
* @return
*/
public ModelAndView getUserList();
/**
* 根据条件获取后台账号列表
*
* @param darw
* @param role
* @param username
* @param start
* @param length
* @return
*/
public Object getUserListDate(String draw, String role, String username, Integer start, Integer length);
/**
* 菜单导航管理页面
*
* @return
*/
public ModelAndView getMenuManage();
/**
* 插入一条后台用户
*
* @param tbl_Security_User
* @return
*/
public Object insertUser(Tbl_Security_User tbl_Security_User);
/**
* 修改一条后台用户
*
* @param tbl_Security_User
* @return
*/
public Object updateUser(Tbl_Security_User tbl_Security_User);
/**
* 删除一条后台账号信息
*
* @param id
* @return
*/
public Object deleteSecurityUser(Integer id);
}
@@ -7,9 +7,17 @@ package com.ifish.helper;
import com.ifish.bean.Tbl_Factory_List;
import com.ifish.bean.Tbl_HardWare_Type;
import com.ifish.bean.Tbl_Operate_record;
import com.ifish.bean.Tbl_Payee_Info;
import com.ifish.mapper.Tbl_Device_Mapper;
import com.ifish.mapper.Tbl_Factory_List_Mapper;
import com.ifish.mapper.Tbl_Pay_Bill_Mapper;
import com.ifish.util.IfishUtil;
import java.text.Format;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -29,6 +37,12 @@ public class FactoryHelper implements FactoryHelperI {
@Autowired
private Tbl_Factory_List_Mapper tbl_Factory_List_Mapper;
@Autowired
private Tbl_Device_Mapper tbl_Device_Mapper;
@Autowired
private Tbl_Pay_Bill_Mapper tbl_Pay_Bill_Mapper;
/**
* 电子厂列表
*
@@ -294,4 +308,323 @@ public class FactoryHelper implements FactoryHelperI {
+ " <script src=\"static/assets/js/app.js\"></script>");
return mv;
}
/**
* 查询统计
*
* @param factoryCode
* @param brandCode
* @param isblacklist
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@Override
public ModelAndView querylist(String factoryCode, String brandCode, String isblacklist, String createTimeBefore, String createTimeAfter) {
ModelAndView mv = new ModelAndView();
mv.setViewName("querylist");
mv.addObject("title", "查询统计");
mv.addObject("pagetitle", "查询统计");
List<Map> list = tbl_Factory_List_Mapper.getFactoryListData(0, 1000);
mv.addObject("factorylist", list);
List<Map> list1 = tbl_Factory_List_Mapper.getAllVenderList();
mv.addObject("venderlist", list1);
mv.addObject("factoryCode", factoryCode);
mv.addObject("brandCode", brandCode);
mv.addObject("isblacklist", isblacklist);
mv.addObject("createTimeBefore", createTimeBefore);
mv.addObject("createTimeAfter", createTimeAfter);
mv.addObject("map", querylistData(factoryCode, brandCode, isblacklist, createTimeBefore, createTimeAfter));
mv.addObject("myjs", "<!-- Other plugins ( load only nessesary plugins for every page) -->\n"
+ " <script src=\"static/assets/plugins/core/moment/moment.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/sparklines/jquery.sparkline.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/pie-chart/jquery.easy-pie-chart.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/icheck/jquery.icheck.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tags/jquery.tagsinput.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tinymce/tinymce.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/highlight/highlight.pack.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/countTo/jquery.countTo.js\"></script>\n"
+ " <script src=\"static/assets/js/jquery.sprFlat.js\"></script>\n"
+ " <script src=\"static/assets/js/app.js\"></script>\n"
+ " <script src=\"static/assets/js/pages/blank.js\"></script>");
return mv;
}
/**
* 查询统计页面数据输出
*
* @param factoryCode
* @param brandCode
* @param isblacklist
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
public Map querylistData(String factoryCode, String brandCode, String isblacklist, String createTimeBefore, String createTimeAfter) {
Map map = new HashMap();
//百分比
NumberFormat numberFormat = NumberFormat.getInstance();
//设置精确到小数点后0位
numberFormat.setMaximumFractionDigits(0);
int deviceCount = tbl_Device_Mapper.getDeviceAllCount(isblacklist, factoryCode, brandCode, createTimeBefore, createTimeAfter);
map.put("deviceCount", deviceCount);
Integer bindNumber = tbl_Device_Mapper.getDeviceQueryBindNumber(isblacklist, factoryCode, brandCode, createTimeBefore, createTimeAfter);
map.put("bindNumber", bindNumber);
String bindPrice = numberFormat.format(Float.valueOf(bindNumber) / (float) deviceCount * 100);
map.put("bindPrice", bindPrice);
if (StringUtils.isBlank(factoryCode)) {
List<Map> factorylist = tbl_Device_Mapper.getDeviceQueryNumberByFactory(isblacklist, brandCode, createTimeBefore, createTimeAfter);
for (Map map1 : factorylist) {
String factorybindPrice = numberFormat.format(Float.valueOf(map1.get("deviceNumber").toString()) / (float) deviceCount * 100);
map1.put("factorybindPrice", factorybindPrice);
}
map.put("factory", factorylist);
}
if (StringUtils.isBlank(brandCode)) {
List<Map> venderlist = tbl_Device_Mapper.getDeviceQueryNumberByVender(isblacklist, factoryCode, createTimeBefore, createTimeAfter);
for (Map map1 : venderlist) {
String venderbindPrice = numberFormat.format(Float.valueOf(map1.get("deviceNumber").toString()) / (float) deviceCount * 100);
map1.put("venderbindPrice", venderbindPrice);
}
map.put("vender", venderlist);
}
List<Map> hardwareTypelist = tbl_Device_Mapper.getDeviceQueryNumberByFHardWardType(isblacklist, factoryCode, brandCode, createTimeBefore, createTimeAfter);
for (Map map1 : hardwareTypelist) {
String hardbindPrice = numberFormat.format(Float.valueOf(map1.get("deviceNumber").toString()) / (float) deviceCount * 100);
map1.put("hardbindPrice", hardbindPrice);
}
map.put("hard", hardwareTypelist);
return map;
}
/**
* 授权统计查询页面
*
* @param factoryCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@Override
public ModelAndView authorizationQuery(String factoryCode, String createTimeBefore, String createTimeAfter) {
ModelAndView mv = new ModelAndView();
mv.setViewName("authorization");
mv.addObject("title", "授权统计");
mv.addObject("pagetitle", "授权统计");
List<Map> list = tbl_Factory_List_Mapper.getFactoryListData(0, 1000);
mv.addObject("factorylist", list);
mv.addObject("map", authorizationData(factoryCode, createTimeBefore, createTimeAfter));
mv.addObject("myjs", "<!-- Other plugins ( load only nessesary plugins for every page) -->\n"
+ " <script src=\"static/assets/plugins/core/moment/moment.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/sparklines/jquery.sparkline.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/pie-chart/jquery.easy-pie-chart.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/icheck/jquery.icheck.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tags/jquery.tagsinput.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tinymce/tinymce.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/highlight/highlight.pack.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/countTo/jquery.countTo.js\"></script>\n"
+ " <script src=\"static/assets/js/jquery.sprFlat.js\"></script>\n"
+ " <script src=\"static/assets/js/app.js\"></script>\n"
+ " <script src=\"static/assets/js/pages/blank.js\"></script>");
return mv;
}
/**
* 获取授权统计页面数据
*
* @param factoryCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
public Map authorizationData(String factoryCode, String createTimeBefore, String createTimeAfter) {
Map map = new HashMap();
if (StringUtils.isBlank(createTimeBefore) && StringUtils.isBlank(createTimeAfter)) {
//获取上个月数据
Format format = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
//上个月第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
createTimeBefore = format.format(calendar.getTime());
//上个月最后一天
int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
calendar.set(Calendar.DAY_OF_MONTH, maxDay);
createTimeAfter = format.format(calendar.getTime());
}
if (StringUtils.isBlank(factoryCode)) {
List<Map> list = tbl_Device_Mapper.getAuthorizationByFactory(createTimeBefore, createTimeAfter);
map.put("factorylist", list);
} else {
List<Map> list = tbl_Device_Mapper.getAuthorizationByDate(createTimeBefore, createTimeAfter, factoryCode);
map.put("datalist", list);
}
return map;
}
/**
* 账单列表
*
* @return
*/
@Override
public ModelAndView paylist() {
ModelAndView mv = new ModelAndView();
mv.setViewName("paylist");
mv.addObject("title", "账单列表");
mv.addObject("pagetitle", "账单列表");
List<Map> list = tbl_Factory_List_Mapper.getFactoryListData(0, 1000);
mv.addObject("factorylist", list);
Tbl_Payee_Info payeeInfo = tbl_Pay_Bill_Mapper.getPayeeInfoById("1");
mv.addObject("payeeInfo", payeeInfo);
mv.addObject("myjs", "<!-- Other plugins ( load only nessesary plugins for every page) -->\n"
+ " <script src=\"static/assets/plugins/core/moment/moment.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/sparklines/jquery.sparkline.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/pie-chart/jquery.easy-pie-chart.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/icheck/jquery.icheck.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tags/jquery.tagsinput.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tinymce/tinymce.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/tables/jquery.dataTables.js\"></script>\n"
+ "<link href=\"static/assets/plugins/tables/jquery.dataTables.css\" rel=\"stylesheet\">"
+ "<link href=\"static/assets/plugins/tables/dataTables.bootstrap.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/plugins/tables/dataTables.bootstrap.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/highlight/highlight.pack.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/countTo/jquery.countTo.js\"></script>\n"
+ " <script src=\"static/assets/js/jquery.sprFlat.js\"></script>\n"
+ " <script src=\"static/switchery/switchery.min.js\"></script>\n"
+ "<link href=\"static/switchery/switchery.min.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/js/app.js\"></script>");
return mv;
}
/**
* 账单列表页面数据
*
* @param code
* @return
*/
@Override
public Object paylistData(String code, String draw, Integer start, Integer length) {
List<Map> list = tbl_Pay_Bill_Mapper.getPayListData(code, start, length);
for (Map map : list) {
String data = IfishUtil.format((Date) map.get("payDate"));
map.put("payDate", data);
}
Integer allCount = tbl_Pay_Bill_Mapper.getPayListAllCount();
Integer count = 0;
if (StringUtils.isNotBlank(code)) {
count = tbl_Pay_Bill_Mapper.getPayListCountByFactory(code);
} else {
count = allCount;
}
Map map = new HashMap();
map.put("data", list);
map.put("draw", draw);
map.put("recordsTotal", allCount);
map.put("recordsFiltered", count);
return map;
}
/**
* 账单认收费,修改状态
*
* @param code
* @param month
* @return
*/
@Override
public Object changePayStatus(String code, String month) {
try {
Integer status = tbl_Pay_Bill_Mapper.updatePayStatus(code, month);
if (status > 0) {
tbl_Pay_Bill_Mapper.updateDeivceIsChange(code, month);
return "成功";
}
} catch (Exception e) {
}
return "失败";
}
/**
* 修改收款账号信息
*
* @param tbl_Payee_Info
* @return
*/
@Override
public Object updatePayeeInfo(Tbl_Payee_Info tbl_Payee_Info) {
try {
int i = tbl_Pay_Bill_Mapper.updatePayeeInfo(tbl_Payee_Info);
if (i > 0) {
return "成功";
}
} catch (Exception e) {
}
return "失败";
}
/**
* 账单详情页面
*
* @param factoryCode
* @param billMonth
* @return
*/
@Override
public ModelAndView paydetail(String factoryCode, String billMonth) {
ModelAndView mv = new ModelAndView();
mv.setViewName("paydetail");
mv.addObject("title", "账单详情");
mv.addObject("pagetitle", "账单详情");
mv.addObject("factoryCode", factoryCode);
mv.addObject("billMonth", billMonth);
mv.addObject("myjs", "<!-- Other plugins ( load only nessesary plugins for every page) -->\n"
+ " <script src=\"static/assets/plugins/core/moment/moment.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/sparklines/jquery.sparkline.js\"></script>\n"
+ " <script src=\"static/assets/plugins/charts/pie-chart/jquery.easy-pie-chart.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/icheck/jquery.icheck.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tags/jquery.tagsinput.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/forms/tinymce/tinymce.min.js\"></script>\n"
+ " <script src=\"static/assets/plugins/tables/jquery.dataTables.js\"></script>\n"
+ "<link href=\"static/assets/plugins/tables/jquery.dataTables.css\" rel=\"stylesheet\">"
+ "<link href=\"static/assets/plugins/tables/dataTables.bootstrap.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/plugins/tables/dataTables.bootstrap.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/highlight/highlight.pack.js\"></script>\n"
+ " <script src=\"static/assets/plugins/misc/countTo/jquery.countTo.js\"></script>\n"
+ " <script src=\"static/assets/js/jquery.sprFlat.js\"></script>\n"
+ " <script src=\"static/switchery/switchery.min.js\"></script>\n"
+ "<link href=\"static/switchery/switchery.min.css\" rel=\"stylesheet\">"
+ " <script src=\"static/assets/js/app.js\"></script>");
return mv;
}
/**
* 账单详情页面数据
*
* @param factoryCode
* @param billMonth
* @param draw
* @param start
* @param length
* @return
*/
@Override
public Object paydetailDate(String factoryCode, String billMonth, String draw, Integer start, Integer length) {
Map map = new HashMap();
List<Tbl_Operate_record> list = tbl_Pay_Bill_Mapper.getOperate_records(factoryCode, billMonth, start, length);
Integer count = tbl_Pay_Bill_Mapper.getOperate_recordsCount(factoryCode, billMonth);
map.put("data", list);
map.put("draw", draw);
map.put("recordsTotal", count);
map.put("recordsFiltered", count);
return map;
}
}
@@ -6,6 +6,7 @@
package com.ifish.helper;
import com.ifish.bean.Tbl_Factory_List;
import com.ifish.bean.Tbl_Payee_Info;
import org.springframework.web.servlet.ModelAndView;
/**
@@ -71,4 +72,74 @@ public interface FactoryHelperI {
* @return
*/
public ModelAndView addFactory();
/**
* 查询统计
*
* @return
*/
public ModelAndView querylist(String factoryCode, String brandCode, String isblacklist, String createTimeBefore, String createTimeAfter);
/**
* 授权统计查询页面
*
* @param factoryCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
public ModelAndView authorizationQuery(String factoryCode, String createTimeBefore, String createTimeAfter);
/**
* 账单列表
*
* @return
*/
public ModelAndView paylist();
/**
* 账单列表页面数据
*
* @param code
* @return
*/
public Object paylistData(String code, String draw, Integer start, Integer length);
/**
* 账单认收费,修改状态
*
* @param code
* @param month
* @return
*/
public Object changePayStatus(String code, String month);
/**
* 修改收款账号信息
*
* @param tbl_Payee_Info
* @return
*/
public Object updatePayeeInfo(Tbl_Payee_Info tbl_Payee_Info);
/**
* 账单详情页面
*
* @param factoryCode
* @param billMonth
* @return
*/
public ModelAndView paydetail(String factoryCode, String billMonth);
/**
* 账单详情页面数据
*
* @param factoryCode
* @param billMonth
* @param draw
* @param start
* @param length
* @return
*/
public Object paydetailDate(String factoryCode, String billMonth, String draw, Integer start, Integer length);
}
@@ -10,11 +10,13 @@ import com.ifish.bean.Tbl_Device;
import com.ifish.bean.Tbl_Device_Statistics;
import com.ifish.bean.Tbl_Device_User;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectKey;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
@@ -206,4 +208,87 @@ public interface Tbl_Device_Mapper {
@Update("UPDATE tbl_activa_code set is_used='1' WHERE active_code = #{code}")
Integer updateTblActivaCodeIsUse(@Param("code") String activa_Code);
/**
* 根据电子厂统计设备信息
*
* @param isblacklist
* @param brandCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@SelectProvider(type = Tbl_Device_MapperSql.class, method = "getDeviceQueryNumberByFactory")
List<Map> getDeviceQueryNumberByFactory(@Param("isblacklist") String isblacklist, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter);
/**
* 根据鱼缸厂统计设备信息
*
* @param isblacklist
* @param factoryCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@SelectProvider(type = Tbl_Device_MapperSql.class, method = "getDeviceQueryNumberByVender")
List<Map> getDeviceQueryNumberByVender(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter);
/**
* 根据设备类型统计设备信息
*
* @param isblacklist
* @param factoryCode
* @param brandCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@SelectProvider(type = Tbl_Device_MapperSql.class, method = "getDeviceQueryNumberByFHardWardType")
List<Map> getDeviceQueryNumberByFHardWardType(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter);
/**
* 查询设备总数
*
* @param isblacklist
* @param factoryCode
* @param brandCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@SelectProvider(type = Tbl_Device_MapperSql.class, method = "getDeviceAllCount")
Integer getDeviceAllCount(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter);
/**
* 统计设备绑定数量
*
* @param isblacklist
* @param factoryCode
* @param brandCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@SelectProvider(type = Tbl_Device_MapperSql.class, method = "getDeviceQueryBindNumber")
Integer getDeviceQueryBindNumber(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter);
/**
* 获取电子厂授权统计
*
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
@SelectProvider(type = Tbl_Device_MapperSql.class, method = "getAuthorizationByFactory")
List<Map> getAuthorizationByFactory(@Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter);
/**
* 获取对应电子厂对应时间的授权统计
*
* @param createTimeBefore
* @param createTimeAfter
* @param factoryCode
* @return
*/
@SelectProvider(type = Tbl_Device_MapperSql.class, method = "getAuthorizationByDate")
List<Map> getAuthorizationByDate(@Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter, @Param("factoryCode") String factoryCode);
}
@@ -272,4 +272,201 @@ public class Tbl_Device_MapperSql {
sb.append(" WHERE device_id = #{device.deviceId}");
return sb.toString();
}
/**
* 根据电子厂统计设备
*
* @param isblacklist
* @param brandCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
public String getDeviceQueryNumberByFactory(@Param("isblacklist") String isblacklist, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter) {
StringBuilder sb = new StringBuilder();
sb.append(" SELECT d.factory_code AS factoryCode,f.factory_name AS factoryName,count(*) AS deviceNumber");
sb.append(" FROM tbl_device d ");
sb.append(" LEFT JOIN tbl_factory_list f ON d.factory_code=f.factory_code ");
sb.append(" LEFT JOIN tbl_device_statistics ts ON d.device_id = ts.device_id ");
sb.append(" where d.is_camera='0'");
if (StringUtils.isNotBlank(brandCode)) {
sb.append(" AND d.brand_code=#{brandCode}");
}
if (StringUtils.isNotBlank(isblacklist)) {
sb.append(" AND d.is_blacklist = #{isblacklist}");
}
if (StringUtils.isNotBlank(createTimeBefore) && StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date BETWEEN #{createTimeBefore} AND #{createTimeAfter}");
} else if (StringUtils.isNotBlank(createTimeBefore)) {
sb.append(" AND ts.create_date >= #{createTimeBefore}");
} else if (StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date >= #{createTimeAfter}");
}
sb.append(" GROUP BY d.factory_code ORDER BY deviceNumber DESC");
return sb.toString();
}
/**
* 根据鱼缸厂统计设备信息
*
* @return
*/
public String getDeviceQueryNumberByVender(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter) {
StringBuilder sb = new StringBuilder();
sb.append(" SELECT d.brand_code AS brandCode,v.brand_name AS brandName,count(*) AS deviceNumber ");
sb.append(" FROM tbl_device d ");
sb.append(" LEFT JOIN tbl_vender_list v ON d.brand_code=v.brand_code ");
sb.append(" LEFT JOIN tbl_device_statistics ts ON d.device_id = ts.device_id ");
sb.append(" where d.is_camera='0'");
if (StringUtils.isNotBlank(factoryCode)) {
sb.append(" AND d.factory_code=#{factoryCode}");
}
if (StringUtils.isNotBlank(isblacklist)) {
sb.append(" AND d.is_blacklist = #{isblacklist}");
}
if (StringUtils.isNotBlank(createTimeBefore) && StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date BETWEEN #{createTimeBefore} AND #{createTimeAfter}");
} else if (StringUtils.isNotBlank(createTimeBefore)) {
sb.append(" AND ts.create_date >= #{createTimeBefore}");
} else if (StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date >= #{createTimeAfter}");
}
sb.append(" GROUP BY d.brand_code ORDER BY deviceNumber DESC");
return sb.toString();
}
/**
* 根据设备类型统计设备信息
*
* @return
*/
public String getDeviceQueryNumberByFHardWardType(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter) {
StringBuilder sb = new StringBuilder();
sb.append(" SELECT d.hardware_type AS hardwareType,h.hardware_name AS hardwareName,count(*) AS deviceNumber ");
sb.append(" FROM tbl_device d ");
sb.append(" LEFT JOIN tbl_hardware_type h ON d.hardware_type=h.hardware_type ");
sb.append(" LEFT JOIN tbl_device_statistics ts ON d.device_id = ts.device_id ");
sb.append(" where d.is_camera='0'");
if (StringUtils.isNotBlank(factoryCode)) {
sb.append(" AND d.factory_code=#{factoryCode}");
}
if (StringUtils.isNotBlank(brandCode)) {
sb.append(" AND d.brand_code=#{brandCode}");
}
if (StringUtils.isNotBlank(isblacklist)) {
sb.append(" AND d.is_blacklist = #{isblacklist}");
}
if (StringUtils.isNotBlank(createTimeBefore) && StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date BETWEEN #{createTimeBefore} AND #{createTimeAfter}");
} else if (StringUtils.isNotBlank(createTimeBefore)) {
sb.append(" AND ts.create_date >= #{createTimeBefore}");
} else if (StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date >= #{createTimeAfter}");
}
sb.append(" GROUP BY d.hardware_type ORDER BY deviceNumber DESC");
return sb.toString();
}
/**
* 查询设备总数
*
* @param isblacklist
* @param factoryCode
* @param brandCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
public String getDeviceAllCount(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter) {
StringBuilder sb = new StringBuilder();
sb.append(" SELECT count(1) from tbl_device d ");
sb.append(" LEFT JOIN tbl_device_statistics ts ON d.device_id = ts.device_id ");
sb.append(" where d.is_camera='0'");
if (StringUtils.isNotBlank(factoryCode)) {
sb.append(" AND d.factory_code=#{factoryCode}");
}
if (StringUtils.isNotBlank(brandCode)) {
sb.append(" AND d.brand_code=#{brandCode}");
}
if (StringUtils.isNotBlank(isblacklist)) {
sb.append(" AND d.is_blacklist = #{isblacklist}");
}
if (StringUtils.isNotBlank(createTimeBefore) && StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date BETWEEN #{createTimeBefore} AND #{createTimeAfter}");
} else if (StringUtils.isNotBlank(createTimeBefore)) {
sb.append(" AND ts.create_date >= #{createTimeBefore}");
} else if (StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date >= #{createTimeAfter}");
}
return sb.toString();
}
/**
* 统计设备绑定数量
*
* @param isblacklist
* @param factoryCode
* @param brandCode
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
public String getDeviceQueryBindNumber(@Param("isblacklist") String isblacklist, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter) {
StringBuilder sb = new StringBuilder();
sb.append(" SELECT count(1) from tbl_device_user u ");
sb.append(" LEFT JOIN tbl_device d ON u.device_id=d.device_id ");
sb.append(" LEFT JOIN tbl_device_statistics ts ON d.device_id = ts.device_id ");
sb.append(" where d.is_camera='0'");
if (StringUtils.isNotBlank(factoryCode)) {
sb.append(" AND d.factory_code=#{factoryCode}");
}
if (StringUtils.isNotBlank(brandCode)) {
sb.append(" AND d.brand_code=#{brandCode}");
}
if (StringUtils.isNotBlank(isblacklist)) {
sb.append(" AND d.is_blacklist = #{isblacklist}");
}
if (StringUtils.isNotBlank(createTimeBefore) && StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date BETWEEN #{createTimeBefore} AND #{createTimeAfter}");
} else if (StringUtils.isNotBlank(createTimeBefore)) {
sb.append(" AND ts.create_date >= #{createTimeBefore}");
} else if (StringUtils.isNotBlank(createTimeAfter)) {
sb.append(" AND ts.create_date >= #{createTimeAfter}");
}
return sb.toString();
}
/**
* 获取电子厂授权统计
*
* @param createTimeBefore
* @param createTimeAfter
* @return
*/
public String getAuthorizationByFactory(@Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter) {
StringBuilder sb = new StringBuilder();
sb.append("SELECT d.factory_code AS factoryCode,f.factory_name AS factoryName,count(*) AS deviceNumber FROM tbl_device d ");
sb.append(" LEFT JOIN tbl_factory_list f ON f.factory_code=d.factory_code");
sb.append(" LEFT JOIN tbl_device_statistics ts ON d.device_id=ts.device_id ");
sb.append(" WHERE d.is_blacklist='0' AND d.is_camera='0' AND date_format(ts.authorize_time,'%Y-%m-%d') BETWEEN #{createTimeBefore} AND #{createTimeAfter} ");
sb.append(" GROUP BY d.factory_code ORDER BY deviceNumber DESC");
return sb.toString();
}
/**
* 获取对应电子厂对应时间的授权统计
*
* @param createTimeBefore
* @param createTimeAfter
* @param factoryCode
* @return
*/
public String getAuthorizationByDate(@Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter, @Param("factoryCode") String factoryCode) {
StringBuilder sb = new StringBuilder();
sb.append("SELECT date_format(ts.authorize_time,'%Y-%m-%d') as date,count(*) AS deviceNumber FROM tbl_device d LEFT JOIN tbl_factory_list f ON f.factory_code=d.factory_code ");
sb.append(" LEFT JOIN tbl_device_statistics ts ON ts.device_id = d.device_id WHERE d.is_blacklist=0 AND d.is_camera='0'");
sb.append(" AND d.factory_code= #{factoryCode} AND date_format(ts.authorize_time,'%Y-%m-%d') BETWEEN #{createTimeBefore} AND #{createTimeAfter} ");
sb.append(" GROUP BY date ORDER BY ts.authorize_time DESC");
return sb.toString();
}
}
@@ -0,0 +1,109 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.mapper;
import com.ifish.bean.Tbl_Operate_record;
import com.ifish.bean.Tbl_Payee_Info;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
/**
*
* @author Administrator
*/
public interface Tbl_Pay_Bill_Mapper {
/**
* 获取账单列表数据
*
* @param factory
* @param start
* @param length
* @return
*/
@SelectProvider(type = Tbl_Pay_Bill_MapperSql.class, method = "getPayListData")
List<Map> getPayListData(@Param("code") String factory, Integer start, Integer length);
/**
* 获取账单列表总数
*/
@Select("Select count(1) from tbl_pay_bill")
Integer getPayListAllCount();
/**
* 根据电子厂代码获取账单列表所属数量
*
* @param factoryCode
* @return
*/
@Select("Select count(1) from tbl_pay_bill WHERE factory_code = #{code}")
Integer getPayListCountByFactory(@Param("code") String factoryCode);
/**
* 修改账单收费状态
*
* @param code
* @param month
* @return
*/
@Update("Update tbl_pay_bill set pay_status = '1' WHERE factory_code = #{code} and bill_month = #{month}")
Integer updatePayStatus(@Param("code") String code, @Param("month") String month);
/**
* 修改设备收费信息
*
* @param code
* @param month
* @return
*/
@Update("UPDATE tbl_device SET is_charge='1' where factory_code=#{code} and is_blacklist='0' and date_format(authorize_time,'%Y-%m')=#{month}")
Integer updateDeivceIsChange(@Param("code") String code, @Param("month") String month);
/**
* 获取银行卡信息
*
* @param id
* @return
*/
@Select("select * from tbl_payee_info where payee_id = #{id}")
Tbl_Payee_Info getPayeeInfoById(@Param("id") String id);
/**
* 修改收款账号信息
*
* @param payee_Info
* @return
*/
@UpdateProvider(type = Tbl_Pay_Bill_MapperSql.class, method = "updatePayeeInfo")
Integer updatePayeeInfo(@Param("payeeInfo") Tbl_Payee_Info payee_Info);
/**
* 获取厂商分配记录详情
*
* @param factoryCode
* @param billMonth
* @param start
* @param length
* @return
*/
@SelectProvider(type = Tbl_Pay_Bill_MapperSql.class, method = "getOperate_records")
List<Tbl_Operate_record> getOperate_records(@Param("code") String factoryCode, @Param("date") String billMonth, Integer start, Integer length);
/**
* 获取厂商分配记录数量
*
* @param factoryCode
* @param billMonth
* @return
*/
@Select("Select count(1) from tbl_operate_record where record_type='1' and factory_code = #{code} AND #{date}=date_format(create_time,'%Y-%m')")
Integer getOperate_recordsCount(@Param("code") String factoryCode, @Param("date") String billMonth);
}
@@ -0,0 +1,88 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.mapper;
import com.ifish.bean.Tbl_Payee_Info;
import com.sun.org.apache.xerces.internal.impl.dv.XSSimpleType;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
/**
*
* @author Administrator
*/
public class Tbl_Pay_Bill_MapperSql {
/**
* 获取账单列表数据
*
* @param factory
* @param start
* @param length
* @return
*/
public String getPayListData(@Param("code") String factory, Integer start, Integer length) {
StringBuilder sb = new StringBuilder();
sb.append("SELECT factory_name factoryName,a.factory_code factoryCode,bill_month billMonth,authorize_number number,pay_money money,pay_date payDate,pay_status payStatus, a.create_time createTime,a.is_tax isTax from tbl_pay_bill a ");
sb.append(" LEFT JOIN tbl_factory_list b ON a.factory_code = b.factory_code ");
if (StringUtils.isNotBlank(factory)) {
sb.append(" WHERE a.factory_code = #{code}");
}
sb.append("ORDER BY a.create_time DESC LIMIT ").append(start).append(",").append(length);
return sb.toString();
}
public String updatePayeeInfo(@Param("payeeInfo") Tbl_Payee_Info payee_Info) {
StringBuilder sb = new StringBuilder();
sb.append("UPDATE tbl_payee_info set ");
if (StringUtils.isNotBlank(payee_Info.getAccountName())) {
sb.append("account_name = #{payeeInfo.accountName},");
}
if (StringUtils.isNotBlank(payee_Info.getAccountNo())) {
sb.append("account_no = #{payeeInfo.accountNo},");
}
if (StringUtils.isNotBlank(payee_Info.getBaknCard())) {
sb.append("bakn_card = #{payeeInfo.baknCard},");
}
if (StringUtils.isNotBlank(payee_Info.getBankName())) {
sb.append("bank_name = #{payeeInfo.bankName},");
}
if (sb.lastIndexOf(",") == sb.length() - 1) {
sb.deleteCharAt(sb.length() - 1);
}
sb.append(" WHERE payee_id = #{payeeInfo.payeeId}");
return sb.toString();
}
/**
* 获取厂商分配记录详情
*
* @param factoryCode
* @param billMonth
* @param start
* @param length
* @return
*/
public String getOperate_records(@Param("code") String factoryCode, @Param("date") String billMonth, Integer start, Integer length) {
StringBuilder sb = new StringBuilder();
sb.append("Select * from tbl_operate_record where record_type = '1' ");
if (StringUtils.isNotBlank(factoryCode)) {
sb.append(" and factory_code = #{code}");
}
if (StringUtils.isNotBlank(billMonth)) {
sb.append(" AND #{date}=date_format(create_time,'%Y-%m')");
}
sb.append(" ORDER BY create_time DESC limit ").append(start).append(",").append(length);
return sb.toString();
}
}
@@ -9,6 +9,7 @@ import com.ifish.bean.Tbl_Security_User;
import com.ifish.bean.Tbl_User;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;
@@ -114,6 +115,61 @@ public interface Tbl_User_Mapper {
@Select("SELECT * FROM tbl_security_user where username=#{user}")
Tbl_Security_User getSecurity_UserByUserName(@Param("user") String userName);
/**
* 根据条件获取后台账号列表
*
* @param rola
* @param username
* @return
*/
@SelectProvider(type = Tbl_User_MapperSql.class, method = "getSecurity_UsersList")
List<Map> getSecurity_UsersList(@Param("role") String role, String username, Integer start, Integer length);
/**
* 根据条件获取后台账号列表
*
* @param rola
* @param username
* @return
*/
@SelectProvider(type = Tbl_User_MapperSql.class, method = "getSecurity_UsersListCount")
Integer getSecurity_UsersListCount(@Param("role") String role, String username);
/**
* 获取后台账号总数
*
* @return
*/
@Select("SELECT COUNT(1) from tbl_security_user")
Integer getAllSecurity_user();
/**
* 插入一条后台用户
*
* @param tbl_Security_User
* @return
*/
@Insert("INSERT INTO tbl_security_user(username,password,email,role,rolename,status,code,create_time) VALUES (#{user.username}#{user.password}#{user.email}#{user.role}#{user.rolename}#{user.status}#{user.code},NOW())")
Integer insertSecurityUser(@Param("user") Tbl_Security_User tbl_Security_User);
/**
* 修改一条后台用户信息
*
* @param tbl_Security_User
* @return
*/
@UpdateProvider(type = Tbl_User_MapperSql.class, method = "updateSecurityUser")
Integer updateSecurityUser(@Param("user") Tbl_Security_User tbl_Security_User);
/**
* 根据ID删除一条后台账号信息
*
* @param id
* @return
*/
@Delete("delete from tbl_security_user where id= #{id}")
Integer deleteScurityUserById(@Param("id") Integer id);
/**
* 根据条件查询用户列表
*
@@ -5,6 +5,7 @@
*/
package com.ifish.mapper;
import com.ifish.bean.Tbl_Security_User;
import com.ifish.bean.Tbl_User;
import org.apache.ibatis.annotations.Param;
import org.apache.commons.lang3.StringUtils;
@@ -214,4 +215,81 @@ public class Tbl_User_MapperSql {
return sb.toString();
}
/**
* 根据条件获取后台账号列表
*
* @param rola
* @param username
* @return
*/
public String getSecurity_UsersList(@Param("role") String role, String username, Integer start, Integer length) {
StringBuilder sb = new StringBuilder();
sb.append("SELECT a.id,a.username,a.rolename,b.factory_name factoryname,a.`status` FROM tbl_security_user a LEFT JOIN tbl_factory_list b ON a.code = b.factory_code where 1=1");
if (StringUtils.isNotBlank(role)) {
sb.append(" and role = #{role}");
}
if (StringUtils.isNotBlank(username)) {
sb.append(" and username like '%" + username + "%'");
}
sb.append(" ORDER BY role DESC Limit " + start + "," + length);
return sb.toString();
}
/**
* 根据条件获取后台账号列表数量
*
* @param rola
* @param username
* @return
*/
public String getSecurity_UsersListCount(@Param("role") String role, String username) {
StringBuilder sb = new StringBuilder();
sb.append("SELECT count(1) FROM tbl_security_user where 1=1");
if (StringUtils.isNotBlank(role)) {
sb.append(" and role = #{role}");
}
if (StringUtils.isNotBlank(username)) {
sb.append(" and username like '%" + username + "%'");
}
return sb.toString();
}
/**
* 修改一条后台用户信息
*
* @param tbl_Security_User
* @return
*/
public String updateSecurityUser(@Param("user") Tbl_Security_User tbl_Security_User) {
StringBuilder sb = new StringBuilder();
sb.append("UPDATE tbl_security_user set");
if (StringUtils.isNotBlank(tbl_Security_User.getCode())) {
sb.append(" code = #{user.code}");
}
if (StringUtils.isNotBlank(tbl_Security_User.getEmail())) {
sb.append(" email = #{user.email}");
}
if (StringUtils.isNotBlank(tbl_Security_User.getPassword())) {
sb.append(" password = #{user.password}");
}
if (StringUtils.isNotBlank(tbl_Security_User.getRole())) {
sb.append(" role = #{user.role}");
}
if (StringUtils.isNotBlank(tbl_Security_User.getRolename())) {
sb.append(" rolename = #{user.rolename}");
}
if (StringUtils.isNotBlank(tbl_Security_User.getStatus())) {
sb.append(" status = #{user.status}");
}
if (StringUtils.isNotBlank(tbl_Security_User.getUsername())) {
sb.append(" username = #{user.username}");
}
sb.append(" WHERE id = #{user.id}");
return sb.toString();
}
}
+4 -4
View File
@@ -135,18 +135,18 @@
</li>
<li><a href="querylist"><i class="im-dribbble"></i> 查询统计</a>
</li>
<li><a href="form-wizard.html"><i class="im-dribbble3"></i> 授权统计</a>
<li><a href="authorizationQuery"><i class="im-dribbble3"></i> 授权统计</a>
</li>
<li><a href="form-wizard.html"><i class="im-coin"></i> 账单列表</a>
<li><a href="paylist"><i class="im-coin"></i> 账单列表</a>
</li>
</ul>
</li>
<li>
<a href="#"> 系统管理 <i class="ec-cog"></i></a>
<ul class="nav sub">
<li><a href="forms.html"><i class="ec-pencil2"></i> 系统用户</a>
<li><a href="adminUserList"><i class="ec-pencil2"></i> 系统用户</a>
</li>
<li><a href="form-validation.html"><i class="im-checkbox-checked"></i> 菜单管理</a>
<li><a href="menuManage"><i class="im-checkbox-checked"></i> 菜单管理</a>
</li>
<li><a href="form-wizard.html"><i class="im-wand"></i> 版本管理</a>
</li>
+25
View File
@@ -11,6 +11,16 @@
<put-attribute name="footer" value="/WEB-INF/layout/footer.jsp" />
</definition>
<!-- 管理员新建用户 -->
<definition name="adminuserlist" extends="base">
<put-attribute name="body" value="/WEB-INF/views/admin/userlist.jsp" />
</definition>
<!-- 管理员管理菜单导航 -->
<definition name="menuManage" extends="base">
<put-attribute name="body" value="/WEB-INF/views/admin/menuManage.jsp" />
</definition>
<!-- 登录页 -->
<definition name="login" extends="min">
<put-attribute name="body" value="/WEB-INF/views/login.jsp" />
@@ -60,4 +70,19 @@
<definition name="querylist" extends="base">
<put-attribute name="body" value="/WEB-INF/views/query/list.jsp" />
</definition>
<!-- 厂家管理授权统计 -->
<definition name="authorization" extends="base">
<put-attribute name="body" value="/WEB-INF/views/query/authorization.jsp" />
</definition>
<!-- 账单列表 -->
<definition name="paylist" extends="base">
<put-attribute name="body" value="/WEB-INF/views/pay/list.jsp" />
</definition>
<!-- 账单详情 -->
<definition name="paydetail" extends="base">
<put-attribute name="body" value="/WEB-INF/views/pay/detail.jsp" />
</definition>
</tiles-definitions>
@@ -0,0 +1,17 @@
<%--
Document : menuManage
Created on : 2017-8-14, 15:05:09
Author : Administrator
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
@@ -0,0 +1,176 @@
<%--
Document : userlist
Created on : 2017-8-14, 15:03:29
Author : Administrator
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<table class="dataTable cell-border" id="datatable" >
<thead>
<tr>
<th>用户名</th>
<th>角色</th>
<th>隶属</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
</table>
<script>
function changeIsTax(a, code) {
var isTax = a.checked ? "1" : "0";
$.ajax({
url: 'updateSecurityUser',
type: 'post',
data: {"id": code, "status": isTax},
success: function (data) {
console.log(data);
},
error: function (data) {
console.log(data);
}
});
}
function deleteSecurityUser(id) {
if (window.confirm('你确定要删除吗?')) {
$.ajax({
url: 'deleteSecurityUser',
type: 'post',
data: {"id": id},
success: function (data) {
location.reload();
},
error: function (data) {
console.log(data);
}
});
} else {
//alert("取消");
return false;
}
}
$(document).ready(function () {
var a = $('#crumb');
a.children()[1].remove();
a.append('<li>账单详情<li>');
var b = $('.hasSub')[3];
b.children[0].className = 'expand active-state';
b.children[1].className = 'nav sub show';
b.children[0].children[0].style.transform = 'rotate(-180deg)';
b.children[1].children[4].children[0].className = 'active';
var table = $('#datatable').on('draw.dt', function () {
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
elems.forEach(function (html) {
var switchery = new Switchery(html);
});
}).DataTable({
//记录用户状态
stateSave: true,
//中文自定义
language: {
"sProcessing": "处理中...",
"sLengthMenu": "显示 _MENU_ 项结果",
"sZeroRecords": "没有匹配结果",
"sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
"sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
"sInfoPostFix": "",
"sSearch": "搜索:",
"sUrl": "",
"sEmptyTable": "表中数据为空",
"sLoadingRecords": "载入中...",
"sInfoThousands": ",",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "上页",
"sNext": "下页",
"sLast": "末页"
},
"oAria": {
"sSortAscending": ": 以升序排列此列",
"sSortDescending": ": 以降序排列此列"
}
},
//是否显示排序
bSort: false,
//是否显示过滤搜索
bFilter: false,
//页脚展示风格
pagingType: "full_numbers",
//是否启动服务器数据处理
serverSide: true,
autoWidth: false,
//ajax获取服务器数据
ajax: {
url: 'adminuserlistdate',
type: 'post',
data: function (d) {
d.role = $('#role').val();
d.username = $('#username').val();
}
},
//数据展示
columns: [
{
"data": "username",
},
{
"data": "rolename",
},
{
"data": "factoryname",
render: function (data, type, row, meta) {
if (row.factoryname !== '无' && row.factoryname !== null) {
return row.factoryname;
} else {
return "";
}
}
},
{
"data": "status",
"createdCell": function (td, cellData, rowData, row, col) {
if (row < 1) {
$(td).css('background-color', '#e4e9eb');
}
},
render: function (data, type, row, meta) {
var str = "";
if (row.status === '1') {
str = '<div class="onoffswitch switch noStyle"><input type="checkbox" onclick="changeIsTax(this,\'' + row.id + '\');" class="switch noStyle onoffswitch-checkbox" name="switch" id="switch" value="option1" checked="checked"><label for="switch" class="onoffswitch-label"><div class="onoffswitch-inner" style=""></div><div class="onoffswitch-switch" style=""></div></label></div>';
} else {
str = '<div class="onoffswitch switch noStyle"><input type="checkbox" onclick="changeIsTax(this,\'' + row.id + '\');" class="switch noStyle onoffswitch-checkbox" name="switch" id="switch" value="option1" ><label for="switch" class="onoffswitch-label"><div class="onoffswitch-inner" style=""></div><div class="onoffswitch-switch" style=""></div></label></div>';
}
return str;
}
},
{
"data": "status",
render: function (data, type, row, meta) {
var str = "";
if (row.role === '4') {
str = '<div><button class="btn btn-xs btn-primary" onclick="resetPwd(1,&quot;admin&quot;)"><i class="icon-refresh"></i>重置</button></div>';
} else {
str = '<div><button class="btn btn-xs btn-primary" onclick="resetPwd(16,&quot;ruixin&quot;)"><i class="ec-refresh"></i>重置</button> <button class="btn btn-xs btn-primary" onclick="editSysUser(16,&quot;ruixin&quot;,&quot;ROLE_FACTORY&quot;,&quot;0a&quot;)"><i class="fa-edit"></i>修改</button> <button class="btn btn-xs btn-danger" onclick="deleteSecurityUser(\'' + row.id + '\')"><i class="fa-trash"></i>删除</button></div>';
}
return str;
}
}
]
});
$(document).keyup(function (event) {
if (event.keyCode == 13) {
table.ajax.reload(null, true);
}
});
$("#datatable_length").append('&nbsp;&nbsp;&nbsp;&nbsp;<label><a href="addFactory" target="_blank" class="btn btn-primary"><i class="fa-edit"></i><span class="no-text-shadow">创建用户</span></a></label>');
});
</script>
@@ -143,7 +143,7 @@
"data": "userId",
"width": "28px",
render: function (data, type, row, meta) {
var str = "<a href='userDetail?userId=" + row.userId + "' target='_blank' title='查看报表' class='label label-success'><span class='im-profile'></span></a>";
var str = "<a href='querylist' target='_blank' title='查看报表' class='label label-success'><span class='im-profile'></span></a>";
str = str + "<a href='updateFactoryDetail?code=" + row.factoryCode + "' target='_blank' title='修改' class='label label-primary'><span class='fa-edit'></span></a>";
str = str + "<a href='javascript:void(0);' onclick='deleteFactory(\"" + row.factoryCode + "\")' target='_blank' title='删除' class='label label-danger'><span class='im-profile'></span></a>";
return str;
@@ -0,0 +1,198 @@
<%--
Document : detail
Created on : 2017-8-14, 13:41:42
Author : Administrator
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<input type="hidden" value="${factoryCode}" id="factoryCode">
<input type="hidden" value="${billMonth}" id="billMonth">
<table class="dataTable cell-border" id="datatable" >
<thead>
<tr>
<th>操作类型</th>
<th>数量</th>
<th>操作IP</th>
<th>操作时间</th>
</tr>
</thead>
</table>
<script>
function Format(now, mask)
{
var d = now;
var zeroize = function (value, length)
{
if (!length)
length = 2;
value = String(value);
for (var i = 0, zeros = ''; i < (length - value.length); i++)
{
zeros += '0';
}
return zeros + value;
};
return mask.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])\1?|[lLZ])\b/g, function ($0)
{
switch ($0)
{
case 'd':
return d.getDate();
case 'dd':
return zeroize(d.getDate());
case 'ddd':
return ['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'][d.getDay()];
case 'dddd':
return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][d.getDay()];
case 'M':
return d.getMonth() + 1;
case 'MM':
return zeroize(d.getMonth() + 1);
case 'MMM':
return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()];
case 'MMMM':
return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][d.getMonth()];
case 'yy':
return String(d.getFullYear()).substr(2);
case 'yyyy':
return d.getFullYear();
case 'h':
return d.getHours() % 12 || 12;
case 'hh':
return zeroize(d.getHours() % 12 || 12);
case 'H':
return d.getHours();
case 'HH':
return zeroize(d.getHours());
case 'm':
return d.getMinutes();
case 'mm':
return zeroize(d.getMinutes());
case 's':
return d.getSeconds();
case 'ss':
return zeroize(d.getSeconds());
case 'l':
return zeroize(d.getMilliseconds(), 3);
case 'L':
var m = d.getMilliseconds();
if (m > 99)
m = Math.round(m / 10);
return zeroize(m);
case 'tt':
return d.getHours() < 12 ? 'am' : 'pm';
case 'TT':
return d.getHours() < 12 ? 'AM' : 'PM';
case 'Z':
return d.toUTCString().match(/[A-Z]+$/);
// Return quoted strings with the surrounding quotes removed
default:
return $0.substr(1, $0.length - 2);
}
});
}
$(document).ready(function () {
var a = $('#crumb');
a.children()[1].remove();
a.append('<li>账单详情<li>');
var b = $('.hasSub')[3];
b.children[0].className = 'expand active-state';
b.children[1].className = 'nav sub show';
b.children[0].children[0].style.transform = 'rotate(-180deg)';
b.children[1].children[4].children[0].className = 'active';
var table = $('#datatable').on('draw.dt', function () {
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
elems.forEach(function (html) {
var switchery = new Switchery(html);
});
}).DataTable({
//记录用户状态
stateSave: true,
//中文自定义
language: {
"sProcessing": "处理中...",
"sLengthMenu": "显示 _MENU_ 项结果",
"sZeroRecords": "没有匹配结果",
"sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
"sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
"sInfoPostFix": "",
"sSearch": "搜索:",
"sUrl": "",
"sEmptyTable": "表中数据为空",
"sLoadingRecords": "载入中...",
"sInfoThousands": ",",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "上页",
"sNext": "下页",
"sLast": "末页"
},
"oAria": {
"sSortAscending": ": 以升序排列此列",
"sSortDescending": ": 以降序排列此列"
}
},
//是否显示排序
bSort: false,
//是否显示过滤搜索
bFilter: false,
//页脚展示风格
pagingType: "full_numbers",
//是否启动服务器数据处理
serverSide: true,
autoWidth: false,
"lengthChange": false,
//ajax获取服务器数据
ajax: {
url: 'paydetailDate',
type: 'post',
data: function (d) {
d.factoryCode = $('#factoryCode').val();
d.billMonth = $('#billMonth').val();
}
},
//数据展示
columns: [
{
"data": "recordType",
render: function (data, type, row, meta) {
var str = "";
if (row.recordType == '1') {
str = '授权';
} else {
str = '分配';
}
return str;
}
},
{
"data": "recordNumber",
},
{
"data": "recordIp",
},
{
"data": "createTime",
render: function (data, type, row, meta) {
var str = "";
str = new Date(row.createTime);
return Format(str, "yyyy-MM-dd HH:mm");
}
}
]
});
$(document).keyup(function (event) {
if (event.keyCode == 13) {
table.ajax.reload(null, true);
}
});
});
</script>
+236
View File
@@ -0,0 +1,236 @@
<%--
Document : list
Created on : 2017-8-14, 9:14:56
Author : Administrator
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<form id="updateform">
<table style="width:50%">
<colgroup><col width="30%">
</colgroup>
<tbody>
<tr>
<td align="right">支付宝:</td>
<td>
<input type="hidden" name="payeeId" id="payeeId" value="${payeeInfo.payeeId}">
<input type="text" name="accountNo" id="accountNo" value="${payeeInfo.accountNo}" class="col-xs-8" maxlength="50" disabled="disabled">
</td>
</tr>
<tr>
<td align="right">银行卡号:</td>
<td><input type="text" name="baknCard" id="baknCard" value="${payeeInfo.baknCard}" class="col-xs-8" maxlength="50" disabled="disabled"></td>
</tr>
<tr>
<td align="right">户名:</td>
<td><input type="text" name="accountName" id="accountName" value="${payeeInfo.accountName}" class="col-xs-8" maxlength="50" disabled="disabled"></td>
</tr>
<tr>
<td align="right">银行:</td>
<td><input type="text" name="bankName" id="bankName" value="${payeeInfo.bankName}" class="col-xs-8" maxlength="50" disabled="disabled"></td>
</tr>
<tr>
<td colspan="2" align="center">
<button class="btn btn-sm btn-info" type="button" id="editBtn">编辑</button>
<button class="btn btn-sm btn-info" type="button" id="cancelBtn" style="display: none;">取消</button>
<button class="btn btn-sm btn-info" type="submit" onclick="updatePayeeInfo();" id="saveBtn" disabled="disabled">保存</button>
</td>
</tr>
</tbody>
</table>
</form>
<div id="searchDiv" style="float: left">
<label>电子厂:</label>
<select id="factoryCode" name="factoryCode" class="input-medium searchClass">
<option value="">请选择</option>
<c:forEach var="item" items="${factorylist}">
<option value="${item.factoryCode}">${item.factoryName}</option>
</c:forEach>
</select>
</div>
<table class="dataTable cell-border" id="datatable" >
<thead>
<tr>
<th>电子厂</th>
<th>月份</th>
<th>授权数量</th>
<th>是否收税</th>
<th>支付金额</th>
<th>支付时间</th>
<th>支付状态</th>
<th>详情</th>
</tr>
</thead>
</table>
<script>
function onoffCharge(code, month) {
$.ajax({
url: 'changePayStatus',
type: 'post',
data: {"code": code, "month": month},
success: function (data) {
console.log(data);
location.reload();
},
error: function (data) {
console.log(data);
location.reload();
}
});
}
function updatePayeeInfo() {
if (window.confirm('你确定要修改吗?')) {
$.ajax({
url: 'updatePayeeInfo',
type: 'post',
data: {"payeeId": $('#payeeId').val(), "accountNo": $('#accountNo').val(), "baknCard": $('#baknCard').val(), "accountName": $('#accountName').val(), "bankName": $('#bankName').val()},
success: function (data) {
location.reload();
},
error: function (data) {
console.log(data);
}
});
} else {
//alert("取消");
return false;
}
}
$(document).ready(function () {
var table = $('#datatable').on('draw.dt', function () {
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
elems.forEach(function (html) {
var switchery = new Switchery(html);
});
}).DataTable({
//记录用户状态
stateSave: true,
//中文自定义
language: {
"sProcessing": "处理中...",
"sLengthMenu": "显示 _MENU_ 项结果",
"sZeroRecords": "没有匹配结果",
"sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
"sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
"sInfoPostFix": "",
"sSearch": "搜索:",
"sUrl": "",
"sEmptyTable": "表中数据为空",
"sLoadingRecords": "载入中...",
"sInfoThousands": ",",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "上页",
"sNext": "下页",
"sLast": "末页"
},
"oAria": {
"sSortAscending": ": 以升序排列此列",
"sSortDescending": ": 以降序排列此列"
}
},
//是否显示排序
bSort: false,
//是否显示过滤搜索
bFilter: false,
//页脚展示风格
pagingType: "full_numbers",
//是否启动服务器数据处理
serverSide: true,
autoWidth: false,
"lengthChange": false,
//ajax获取服务器数据
ajax: {
url: 'paylistdata',
type: 'post',
data: function (d) {
d.factoryCode = $('#factoryCode').val();
}
},
//数据展示
columns: [
{
"data": "factoryName",
},
{
"data": "billMonth",
},
{
"data": "number",
},
{
"data": "isTax",
},
{
"data": "money",
},
{
"data": "payDate",
},
{
"data": "payStatus",
render: function (data, type, row, meta) {
var str = "";
if (row.payStatus === '0') {
str = '<span class="badge">未支付</span>';
} else {
str = '<span class="badge badge-success mr10 mb10" style="background-color: #71d398;">已支付</span>';
}
return str;
}
},
{
"data": "payStatus",
render: function (data, type, row, meta) {
var str = "";
if (row.payStatus === '0') {
str = "<a href='javascript:void(0);' onclick='onoffCharge(\"" + row.factoryCode + "\",\"" + row.billMonth + "\")' class='btn btn-xs btn-success'> <i class='im-tag'></i><span class='no-text-shadow'>收费</span></a>";
str += '<a href="paydetail?factoryCode=' + row.factoryCode + '&amp;billMonth=' + row.billMonth + '" class="btn btn-xs btn-info"><i class="im-tag"></i><span class="no-text-shadow">详情</span></a>'
} else {
str = '<a href="paydetail?factoryCode=' + row.factoryCode + '&amp;billMonth=' + row.billMonth + '" class="btn btn-xs btn-info"><i class="im-tag"></i><span class="no-text-shadow">详情</span></a>';
}
return str;
}
}
]
});
$('#factoryCode').change(function () {
table.ajax.reload(null, true);
});
$('#editBtn').click(function () {
$("*[name='accountNo']").removeAttr("disabled");
$("*[name='baknCard']").removeAttr("disabled");
$("*[name='accountName']").removeAttr("disabled");
$("*[name='bankName']").removeAttr("disabled");
$("*[name='cancelBtn']").removeAttr("disabled");
$('#saveBtn').removeAttr("disabled");
$('#editBtn').css("display", "none");
$('#cancelBtn').css("display", "inline-block");
});
$('#cancelBtn').click(function () {
$("*[name='accountNo']").attr("disabled", true);
$("*[name='baknCard']").attr("disabled", true);
$("*[name='accountName']").attr("disabled", true);
$("*[name='bankName']").attr("disabled", true);
$("*[name='cancelBtn']").attr("disabled", true);
$('#saveBtn').attr("disabled", true);
$('#editBtn').css("display", "inline-block");
$('#cancelBtn').css("display", "none");
});
$(document).keyup(function (event) {
if (event.keyCode == 13) {
table.ajax.reload(null, true);
}
});
});
</script>
@@ -0,0 +1,107 @@
<%--
Document : authorization
Created on : 2017-8-10, 15:48:31
Author : Administrator
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html>
<div style="margin-left: 100px;">
<form id="querylist" action="authorizationQuery" method="get" style="float:left">
<label>电子厂:</label>
<select id="factoryCode" name="factoryCode" class="input-medium searchClass">
<option value="">请选择</option>
<c:forEach var="item" items="${factorylist}">
<option value="${item.factoryCode}">${item.factoryName}</option>
</c:forEach>
</select>
<label>授权日期:</label>
<input type="text" id="createTimeBefore" name="createTimeBefore" class="input-medium searchClass" maxlength="20">~~<input type="text" id="createTimeAfter" name="createTimeAfter" class="input-medium searchClass" maxlength="20">
</form>
<div style="margin-left:1000px;margin-top: -20px">
<button type="button" class="btn btn-sm btn-info" onclick="select();"><i class="fa-search"></i> 查询</button>
<button id="reset" type="reset" class="btn btn-sm btn-info" onclick="refreshTable()" style="margin-right:20px;"><i class="fa-undo"></i> 重置</button>
</div>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
<c:if test="${map.factorylist != null && fn:length(map.factorylist) > 0}">
<c:forEach var="item" items="${map.factorylist}">
<div class="sidebar-panel" style="border:1px dashed #000;width: 185px;height: 76px;float: left">
<div class="sidebar-panel-content" >
<div class="pie-chart3 easyPieChart" data-percent="${item.factorybindPrice}" style="float: left">
<span class="percent">${item.factorybindPrice}%</span>
</div>
<div style="margin-left:75px;margin-top: 11px;">
<div>
<span class="txt" style="color:#9abc32">${item.deviceNumber}个</span>
</div>
<div>
<c:choose>
<c:when test="${item.factoryName==null}">
<span class="txt">未知</span>
</c:when>
<c:otherwise>
<span class="txt">${item.factoryName}</span>
</c:otherwise>
</c:choose>
</div>
</div>
</div>
</div>
</c:forEach>
</c:if>
<c:if test="${map.datalist != null && fn:length(map.datalist) > 0}">
<div class="sidebar-panel" style="border:1px dashed #000;width: 185px;height: 76px;float: left">
<div class="sidebar-panel-content" >
<div class="pie-chart3 easyPieChart" data-percent="${item.factorybindPrice}" style="float: left">
<span class="percent">${item.factorybindPrice}%</span>
</div>
<div style="margin-left:75px;margin-top: 11px;">
<div>
<span class="txt" style="color:#9abc32">${item.deviceNumber}个</span>
</div>
<div>
<span class="txt">${item.date}</span>
</div>
</div>
</div>
</div>
</c:if>
</div>
<script>
function select() {
$('#querylist').submit();
}
function refreshTable() {
$('#createTimeBefore').val('');
$('#createTimeAfter').val('');
$('#factoryCode').val('');
}
$(document).ready(function () {
$('.pie-chart3').easyPieChart({
barColor: '#9abc32',
scaleColor: false,
lineCap: 'butt',
lineWidth: 10,
animate: 500,
size: 60
});
//日期控件
$('#createTimeBefore,#createTimeAfter').datepicker({
format: "yyyy-mm-dd"
});
$('#createTimeBefore').val('${createTimeBefore}');
$('#createTimeAfter').val('${createTimeAfter}');
$('#factoryCode').val('${factoryCode}');
});
</script>
+213 -9
View File
@@ -4,14 +4,218 @@
Author : Administrator
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
<div style="margin-left: 100px;">
<form id="querylist" action="querylist" method="get" style="float:left">
<label>分配日期:</label>
<input type="text" id="createTimeBefore" name="createTimeBefore" class="input-medium searchClass" maxlength="20">~~<input type="text" id="createTimeAfter" name="createTimeAfter" class="input-medium searchClass" maxlength="20">
<label>电子厂:</label>
<select id="factoryCode" name="factoryCode" class="input-medium searchClass">
<option value="">请选择</option>
<c:forEach var="item" items="${factorylist}">
<option value="${item.factoryCode}">${item.factoryName}</option>
</c:forEach>
</select>
<label>鱼缸厂:</label>
<select id="brandCode" name="brandCode" class="input-medium searchClass">
<option value="">请选择</option>
<c:forEach var="item" items="${venderlist}">
<option value="${item.brandCode}">${item.brandName}</option>
</c:forEach>
</select>
<label>授权状态:</label>
<select id="isblacklist" name="isblacklist" class="input-medium searchClass">
<option value="">请选择</option>
<option value="1">已授权</option>
<option value="0">未授权</option>
</select>
</form>
<div style="margin-left:1000px;margin-top: -20px">
<button type="button" class="btn btn-sm btn-info" onclick="select();"><i class="fa-search"></i> 查询</button>
<button id="reset" type="reset" class="btn btn-sm btn-info" onclick="refreshTable()" style="margin-right:20px;"><i class="fa-undo"></i> 重置</button>
</div>
</div>
<div style="width: 1641px;float: left">
<c:if test="${map.factory != null && fn:length(map.factory) > 0}">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
<!-- col-lg-3 start here -->
<div style="float: left;align-content: center">
<h1 style='margin-left: 100px'>按电子厂统计</h1>
<c:forEach var="item" items="${map.factory}">
<div class="col-lg-2 col-md-4 col-sm-6 col-xs-12" style="width:186px;float: left">
<div class="sidebar-panel" style="border:1px dashed #000;width: 185px;height: 76px;float: left">
<div class="sidebar-panel-content" >
<div class="pie-chart3 easyPieChart" data-percent="${item.factorybindPrice}" style="float: left">
<span class="percent">${item.factorybindPrice}%</span>
</div>
<div style="margin-left:75px;margin-top: 11px;">
<div>
<span class="txt" style="color:#9abc32">${item.deviceNumber}个</span>
</div>
<div>
<c:choose>
<c:when test="${item.factoryName==null}">
<span class="txt">未知</span>
</c:when>
<c:otherwise>
<span class="txt">${item.factoryName}</span>
</c:otherwise>
</c:choose>
</div>
</div>
</div>
</div>
</div>
</c:forEach>
</div>
</div>
</c:if>
<c:if test="${map.vender != null && fn:length(map.vender) > 0}">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
<!-- col-lg-3 start here -->
<div style="float: left;align-content: center">
<h1 style='margin-left: 100px'>按鱼缸厂统计</h1>
<c:forEach var="item" items="${map.vender}">
<div class="col-lg-2 col-md-4 col-sm-6 col-xs-12" style="width:186px;float: left">
<div class="sidebar-panel" style="border:1px dashed #000;width: 185px;height: 76px;float: left">
<div class="sidebar-panel-content" >
<div class="pie-chart3 easyPieChart" data-percent="${item.venderbindPrice}" style="float: left">
<span class="percent">${item.venderbindPrice}%</span>
</div>
<div style="margin-left:75px;margin-top: 11px;">
<div>
<span class="txt" style="color:#9abc32">${item.deviceNumber}个</span>
</div>
<div>
<c:choose>
<c:when test="${item.brandName==null}">
<span class="txt">未知</span>
</c:when>
<c:otherwise>
<span class="txt">${item.brandName}</span>
</c:otherwise>
</c:choose>
</div>
</div>
</div>
</div>
</div>
</c:forEach>
</div>
</div>
</c:if>
<c:if test="${map.hard != null && fn:length(map.hard) > 0}">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
<!-- col-lg-3 start here -->
<div style="float: left;align-content: center">
<h1 style='margin-left: 100px'>按设备类型统计</h1>
<c:forEach var="item" items="${map.hard}">
<div class="col-lg-2 col-md-4 col-sm-6 col-xs-12" style="width:186px;float: left">
<div class="sidebar-panel" style="border:1px dashed #000;width: 185px;height: 76px;float: left">
<div class="sidebar-panel-content" >
<div class="pie-chart3 easyPieChart" data-percent="${item.hardbindPrice}" style="float: left">
<span class="percent">${item.hardbindPrice}%</span>
</div>
<div style="margin-left:75px;margin-top: 11px;">
<div>
<span class="txt" style="color:#9abc32">${item.deviceNumber}个</span>
</div>
<div>
<c:choose>
<c:when test="${item.hardwareName==null}">
<span class="txt">未知</span>
</c:when>
<c:otherwise>
<span class="txt">${item.hardwareName}</span>
</c:otherwise>
</c:choose>
</div>
</div>
</div>
</div>
</div>
</c:forEach>
</div>
</div>
</c:if>
</div>
<div style="margin-left:420px;margin-top: 100px;width: 1641px;float: left">
<!-- col-lg-3 start here -->
<div style="width:300px;height: 100px;float: left">
<div class="tile lime">
<!-- tile start here -->
<div class="tile-icon">
<i class="ec-archive s64"></i>
</div>
<div class="tile-content">
<div class="number countTo" data-from="0" data-to="${map.deviceCount}">${map.deviceCount}</div>
<h3>设备数量</h3>
</div>
</div>
</div>
<div style="width:300px;height: 100px;float: left;margin-left: 10px">
<!-- col-lg-3 start here -->
<div class="tile purple">
<!-- tile start here -->
<div class="pie-chart3 easyPieChart" data-percent="${map.bindPrice}" style="margin-top:20px;float: left;margin-left: 13px">
<span class="percent">${map.bindPrice}%</span>
</div>
<div class="tile-content" style="text-align:right">
<div class="number countTo" data-from="0" data-to="${map.bindNumber}">${map.bindNumber}</div>
<h3>绑定数量</h3>
</div>
</div>
<!-- tile end here -->
</div>
</div>
<script>
function select() {
$('#querylist').submit();
}
function refreshTable() {
$('#createTimeBefore').val('');
$('#createTimeAfter').val('');
$('#factoryCode').val('');
$('#brandCode').val('');
$('#isblacklist').val('');
}
$(document).ready(function () {
$('.pie-chart3').easyPieChart({
barColor: '#9abc32',
scaleColor: false,
lineCap: 'butt',
lineWidth: 10,
animate: 500,
size: 60
});
//日期控件
$('#createTimeBefore,#createTimeAfter').datepicker({
format: "yyyy-mm-dd"
});
$('#createTimeBefore').val('${createTimeBefore}');
$('#createTimeAfter').val('${createTimeAfter}');
$('#factoryCode').val('${factoryCode}');
$('#brandCode').val('${brandCode}');
$('#isblacklist').val('${isblacklist}');
});
</script>