package com.matrix.system.oa.actions;
|
|
import com.matrix.core.anotations.RemoveRequestToken;
|
import com.matrix.core.anotations.SaveRequestToken;
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.constance.SystemErrorCode;
|
import com.matrix.core.constance.SystemMessageCode;
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.pojo.PaginationVO;
|
import com.matrix.core.tools.DateUtil;
|
import com.matrix.core.tools.ModelUtils;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.core.tools.excl.ExcelSheetPO;
|
import com.matrix.core.tools.excl.ExcelUtil;
|
import com.matrix.core.tools.excl.ExcelVersion;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.common.tools.ResponseHeadUtil;
|
import com.matrix.system.oa.bean.OaFixedAssets;
|
import com.matrix.system.oa.dao.OaFixedAssetsDao;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.ModelMap;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.OutputStream;
|
import java.net.URLEncoder;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author
|
* @description 固定资产
|
* @date 2019-12-13 07:19
|
*/
|
@Controller
|
@RequestMapping(value = "admin/oaFixedAssets")
|
public class OaFixedAssetsAction {
|
|
@Autowired
|
private OaFixedAssetsDao oaFixedAssetsDao;
|
|
//记录编辑前的值Before_Edit_Value
|
public static final String BEV = "OaFixedAssets_BEV";
|
|
|
/**
|
* 列表显示
|
*/
|
@RequestMapping(value = "/showList")
|
public @ResponseBody
|
AjaxResult showList(OaFixedAssets oaFixedAssets, PaginationVO pageVo) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
oaFixedAssets.setCompanyId(user.getCompanyId());
|
List<OaFixedAssets> dataList = oaFixedAssetsDao.selectInPage(oaFixedAssets, pageVo);
|
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList,
|
oaFixedAssetsDao.selectTotalRecord(oaFixedAssets));
|
return result;
|
}
|
|
/**
|
* 新增
|
*/
|
@RemoveRequestToken
|
@RequestMapping(value = "/addOaFixedAssets")
|
public @ResponseBody
|
AjaxResult addOaFixedAssets(OaFixedAssets oaFixedAssets) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
oaFixedAssets.setCreateBy(user.getSuName());
|
oaFixedAssets.setUpdateBy(user.getSuName());
|
oaFixedAssets.setCompanyId(user.getCompanyId());
|
int i = oaFixedAssetsDao.insert(oaFixedAssets);
|
if (i > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, "固定资产");
|
} else {
|
throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL);
|
}
|
}
|
|
|
/**
|
* 修改
|
*/
|
@RemoveRequestToken
|
@RequestMapping(value = "/modifyOaFixedAssets")
|
public @ResponseBody
|
AjaxResult modifyOaFixedAssets(OaFixedAssets newOaFixedAssets) {
|
OaFixedAssets oldOaFixedAssets = WebUtil.getSessionAttribute(BEV);
|
int i = 0;
|
Map<String, Object> modifyMap = null;
|
try {
|
if (!ModelUtils.isModified(oldOaFixedAssets, newOaFixedAssets)) {
|
i = MatrixConstance.DML_SUCCESSS;
|
}
|
modifyMap = ModelUtils.comparePojo2Map(oldOaFixedAssets, newOaFixedAssets);
|
} catch (Exception e) {
|
throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL, e, newOaFixedAssets);
|
}
|
if (modifyMap.size() > 0) {
|
modifyMap.put("id", oldOaFixedAssets.getId());
|
oaFixedAssetsDao.updateByMap(modifyMap);
|
}
|
i = MatrixConstance.DML_SUCCESSS;
|
WebUtil.removeSessionAttribute(BEV);
|
if (i > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "固定资产");
|
} else {
|
throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL);
|
}
|
}
|
|
|
/**
|
* 进入修改界面
|
*/
|
@SaveRequestToken
|
@RequestMapping(value = "/editForm")
|
public ModelAndView editForm(String id) {
|
OaFixedAssets oaFixedAssets = new OaFixedAssets();
|
ModelAndView modelAndView = new ModelAndView("admin/oa/assets/fixeAssets-form");
|
if (id != null) {
|
oaFixedAssets = oaFixedAssetsDao.selectById(id);
|
WebUtil.setSessionAttribute(BEV, oaFixedAssets);
|
}
|
modelAndView.addObject("obj", oaFixedAssets);
|
return modelAndView;
|
}
|
|
|
/**
|
* 删除
|
*/
|
@RequestMapping(value = "/del")
|
public @ResponseBody
|
AjaxResult del(String keys) {
|
List<String> ids = StringUtils.strToCollToString(keys, ",");
|
int i = oaFixedAssetsDao.deleteByIds(ids);
|
if (i > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i);
|
} else {
|
throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL);
|
}
|
}
|
|
/**
|
* 总部导出服务单导出,不限门店
|
*/
|
@RequestMapping(value = "/exportExcel")
|
public void erpExportExcel(ModelMap model, HttpServletRequest request, HttpServletResponse response, OaFixedAssets oaFixedAssets) throws Exception {
|
|
|
doExportServiceOrder(response, oaFixedAssets);
|
}
|
|
|
private void doExportServiceOrder(HttpServletResponse response, OaFixedAssets oaFixedAssets) throws IOException {
|
|
List<ExcelSheetPO> res = new ArrayList<>();
|
ExcelSheetPO orderSheet = new ExcelSheetPO();
|
String title = "固定资产明细";
|
orderSheet.setSheetName(title);
|
orderSheet.setTitle(title);
|
String[] header = {"资产类型", "资产编号", "资产型号", "所在部门", "成本价", "数量", "往来单位", "使用人"};
|
orderSheet.setHeaders(header);
|
|
List<OaFixedAssets> dataList = oaFixedAssetsDao.selectByModel(oaFixedAssets);
|
List<List<Object>> list = new ArrayList<>();
|
if (dataList.size() > 0) {
|
for (OaFixedAssets item : dataList) {
|
List<Object> temp = new ArrayList<>();
|
temp.add(item.getAssetsType());
|
temp.add(item.getName());
|
temp.add(item.getNumber());
|
temp.add(item.getModel());
|
temp.add(item.getDepartment());
|
temp.add(item.getPrice());
|
temp.add(item.getCount());
|
temp.add(item.getSupplier());
|
temp.add(item.getUser());
|
list.add(temp);
|
}
|
}
|
orderSheet.setDataList(list);
|
res.add(orderSheet);
|
response = ResponseHeadUtil.setExcelHead(response);
|
response.setHeader("Content-Disposition",
|
"attachment;filename=" + URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8"));
|
OutputStream os = response.getOutputStream();
|
ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
|
}
|
|
|
}
|