MoneyManager
财务管理系统简介
Bootstrap前端框架, 后端用的是ssm,数据库持久化部分是自己写的
代码已经上传github,下载地址: https://github.com/21503882/companyfinancial-
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.ming.entity.BillForOut;
import com.ming.entity.Message;
import com.ming.entity.User;
import com.ming.service.BillForInService;
import com.ming.service.BillForOutService;
import com.ming.service.IBillForInService;
import com.ming.service.IBillForOutService;
import com.ming.service.IMessageService;
import com.ming.service.IUserService;
import com.ming.service.MessageService;
import com.ming.service.UserService;
import com.ming.util.Condition;
import com.ming.util.DataUtil;
import com.ming.util.KaptchaUtil;
import com.ming.util.MailUtil;
import com.ming.util.Permission;
import com.ming.util.WebUtil;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class BillForOutAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private static final Gson GSON = new Gson();
private static final IBillForOutService billForOutService = new BillForOutService();
private static final IMessageService messageService = new MessageService();
private static final IUserService userService = new UserService();
private static final IBillForInService billForInService = new BillForInService();
/* 开始配置数据接收 */
private String id;
private String billForOut;
private int curPage;
private int limit;
private String condition;
private String validCode;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getBillForOut() {
return billForOut;
}
public void setBillForOut(String billForOut) {
this.billForOut = billForOut;
}
public int getCurPage() {
return curPage;
}
public void setCurPage(int curPage) {
this.curPage = curPage;
}
public int getLimit() {
return limit;
}
public void setLimit(int limit) {
this.limit = limit;
}
public String getCondition() {
return condition;
}
public void setCondition(String condition) {
this.condition = condition;
}
public String getValidCode() {
return validCode;
}
public void setValidCode(String validCode) {
this.validCode = validCode;
}
/* 结束配置数据接收 */
/**
* 读取多条数据
*/
@Permission
public void load() {
try {
List<Map<String, Object>> datas = billForOutService.loadSpecial(conditionString(), curPage, limit);
if (datas != null) {
String json = GSON.toJson(datas);
WebUtil.writeJson(json);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 获取数据条数
*/
@Permission
public void count() {
try {
int length = billForOutService.countSpecial(conditionString());
if (length != -1) {
String json = "{\"count\":" + length + "}";
WebUtil.writeJson(json);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 读取一条数据
*/
@Permission
public void loadOne() {
try {
String[] params = new String[] {"id", "date", "event", "amount", "payId", "status", "recordId", "createDate", "remark"};
Map<String, Object> data = billForOutService.loadOne(params, "id = '" + id + "'");
if (data != null) {
String json = GSON.toJson(data);
WebUtil.writeJson(json);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 保存一条数据
*/
@Permission
public void save() {
try {
BillForOut billForOutObject = GSON.fromJson(billForOut, BillForOut.class);
billForOutObject.setId(DataUtil.getUUID());
billForOutObject.setCreateDate(Double.parseDouble(DataUtil.getDateString(new Date(), "yyyyMMdd")));
boolean isSucceed = billForOutService.save(billForOutObject);
if (isSucceed) {
WebUtil.writeJson(WebUtil.JSON_SUCCESS);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 修改一条数据
*/
@Permission
public void edit() {
try {
BillForOut billForOutObject = GSON.fromJson(billForOut, BillForOut.class);
boolean isSucceed = billForOutService.update(billForOutObject);
if (isSucceed) {
WebUtil.writeJson(WebUtil.JSON_SUCCESS);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 删除一条数据
*/
@Permission
public void delete() {
try {
BillForOut billForOutObject = new BillForOut(id);
boolean isSucceed = billForOutService.delete(billForOutObject);
if (isSucceed) {
WebUtil.writeJson(WebUtil.JSON_SUCCESS);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 组合条件
* @return 条件SQL语句
*/
private String conditionString() {
try {
if (condition != null) {
Condition conditionObject = GSON.fromJson(condition, Condition.class);
String conditionString = "";
if (conditionObject.getPayName() != null)
conditionString += "payName LIKE '%" + conditionObject.getPayName() + "%' AND ";
if (conditionObject.getStatus() != null)
conditionString += "status = '" + conditionObject.getStatus() + "' AND ";
if (conditionString.length() > 5)
conditionString = conditionString.substring(0, conditionString.length() - 5);
return conditionString;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 读取个人报账数据
*/
@Permission
public void loadMine() {
try {
Map<String, Object> session = ActionContext.getContext().getSession();
String userId = (String) session.get("userId");
List<Map<String, Object>> datas = billForOutService.loadMineSpecial(userId, conditionMineString(), curPage, limit);
if (datas != null) {
String json = GSON.toJson(datas);
WebUtil.writeJson(json);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 获取个人报账数据条数
*/
@Permission
public void countMine() {
try {
Map<String, Object> session = ActionContext.getContext().getSession();
String userId = (String) session.get("userId");
int length = billForOutService.countMineSpecial(userId, conditionMineString());
if (length != -1) {
String json = "{\"count\":" + length + "}";
WebUtil.writeJson(json);
} else {
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
} catch (Exception e) {
e.printStackTrace();
WebUtil.writeJson(WebUtil.JSON_ERROR);
}
}
/**
* 个人报账数据组合条件
* @return 条件SQL语句
*/
private String conditionMineString() {
try {
if (condition != null) {
Condition conditionObject = GSON.fromJson(condition, Condition.class);
String conditionString = "";
if (conditionObject.getStatus() != null)
conditionString += "status = '" + conditionObject.getStatus() + "' AND ";