1 excel导入
1.1 ExceIUtil
package com.yinghui.soft.utils;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
* @Project:mesproject
* @Author:ydfeng
* @Description: Excel工具处理类
* @Date:2018/3/16 16:10
*/
public class ExcelUtil {
private static Logger logger = Logger.getLogger(ExcelUtil.class);
private final static String xls = "xls";
private final static String xlsx = "xlsx";
/**
* 读入excel文件,解析后返回
*
* @param file
* @throws IOException
*/
public static List<String[]> readExcel(MultipartFile file) throws IOException {
//检查文件
checkFile(file);
//获得Workbook工作薄对象
Workbook workbook = getWorkBook(file);
//创建返回对象,把每行中的值作为一个数组,所有行作为一个集合返回
List<String[]> list = new ArrayList<String[]>();
if (workbook != null) {
for (int sheetNum = 0; sheetNum < workbook.getNumberOfSheets(); sheetNum++) {
//获得当前sheet工作表
Sheet sheet = workbook.getSheetAt(sheetNum);
if (sheet == null) {
continue;
}
//获得当前sheet的开始行
int firstRowNum = sheet.getFirstRowNum();
//获得当前sheet的结束行
int lastRowNum = sheet.getLastRowNum();
int arrLength = sheet.getRow(firstRowNum).getPhysicalNumberOfCells();
//循环除了第一行的所有行
for (int rowNum = firstRowNum + 1; rowNum <= lastRowNum; rowNum++) {
//获得当前行
Row row = sheet.getRow(rowNum);
if (row == null) {
continue;
}
//获得当前行的开始列
int firstCellNum = row.getFirstCellNum();
//获得当前行的列数
int lastCellNum = row.getPhysicalNumberOfCells();
String[] cells = new String[arrLength];
//循环当前行
for(int i =0 ;i<arrLength;i++){ Cell cell = row.getCell(i);cells[i] = getCellValue(cell); }
list.add(cells);
}
}
workbook.close();
}
return list;
}
/**
* 检查文件
*
* @param file
* @throws IOException
*/
public static void checkFile(MultipartFile file) throws IOException {
//判断文件是否存在
if (null == file) {
logger.error("文件不存在!");
throw new FileNotFoundException("文件不存在!");
}
//获得文件名
String fileName = file.getOriginalFilename();
//判断文件是否是excel文件
if (!fileName.endsWith(xls) && !fileName.endsWith(xlsx)) {
logger.error(fileName + "不是excel文件");
throw new IOException(fileName + "不是excel文件");
}
}
/**
* 返回工作簿
*
* @param file
* @return
*/
public static Workbook getWorkBook(MultipartFile file) {
//获得文件名
String fileName = file.getOriginalFilename();
//创建Workbook工作薄对象,表示整个excel
Workbook workbook = null;
try {
//获取excel文件的io流
InputStream is = file.getInputStream();
//根据文件后缀名不同(xls和xlsx)获得不同的Workbook实现类对象
if (fileName.endsWith(xls)) {
//2003
workbook = new HSSFWorkbook(is);
} else if (fileName.endsWith(xlsx)) {
//2007
workbook = new XSSFWorkbook(is);
}
} catch (IOException e) {
logger.info(e.getMessage());
}
return workbook;
}
/**
* 处理单元格样式 获取数据
*
* @param cell
* @return
*/
public static String getCellValue(Cell cell) {
String cellValue = "";
if (cell == null) {
return cellValue;
}
//把数字当成String来读,避免出现1读成1.0的情况
if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
cell.setCellType(Cell.CELL_TYPE_STRING);
}
//判断数据的类型
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC: //数字
cellValue = String.valueOf(cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING: //字符串
cellValue = String.valueOf(cell.getStringCellValue());
break;
case Cell.CELL_TYPE_BOOLEAN: //Boolean
cellValue = String.valueOf(cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_FORMULA: //公式
cellValue = String.valueOf(cell.getCellFormula());
break;
case Cell.CELL_TYPE_BLANK: //空值
cellValue = "";
break;
case Cell.CELL_TYPE_ERROR: //故障
cellValue = "非法字符";
break;
default:
cellValue = "未知类型";
break;
}
return cellValue;
}
}
1.2 service
package com.yinghui.soft.service;
import com.yinghui.soft.model.TContractGoodslist;
import com.yinghui.soft.model.TUser;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//合同>>物资清单
public interface TContractGoodslistService {
/**
* 物资清单列表
*
* @param map
* @return
*/
public List<TContractGoodslist> list(Map map);
public List<TContractGoodslist> goodslist(Map map);/*物资查询列表*/
public List<TContractGoodslist> goodsAmount(Map map);/*物资统计(数量)列表*/
public List<TContractGoodslist> goodsStatistics(Map map);/*物资统计(金额)列表*/
/**
* 物资清单总数
*
* @param map
* @return
*/
public long TContractGoodslistCount(Map map);
/**
* 物资清单保存
*
* @return
*/
//public HashMap<String, Object> TContractGoodslistSave(Map paramMap);
public int save(TContractGoodslist TContractGoodslist);
/**
* 根据物资清单ID得供应商
*
* @param cableTypeId
* @return
*/
/**
* 物资清单删除
*
* @param paramMap
* @return
*/
public HashMap<String, Object> TContractGoodslistDelete(Map paramMap);
public int update(TContractGoodslist TContractGoodslist);
public TContractGoodslist getById(String cableTypeId);
/**
* 导入Excel
*
* @param file 上传文件
* @return
*/
public Map<String, Object> importFromXls(MultipartFile file, TUser user, Long projectId);
}
1.3 impl
package com.yinghui.soft.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yinghui.soft.mapper.TContractGoodslistMapper;
import com.yinghui.soft.model.TContractGoodslist;
import com.yinghui.soft.model.TContractGoodslist;
import com.yinghui.soft.model.TUser;
import com.yinghui.soft.service.TContractGoodslistService;
import com.yinghui.soft.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.util.*;
//合同>>物资清单
@Service
public class TContractGoodslisterviceImpl implements TContractGoodslistService {
@Autowired
private TContractGoodslistMapper mapper;
@Autowired
private JdbcTemplate JdbcTemplate;
// @Autowired
// private TContractGoodslistResMapper studyMarkerResMapper;
@Override
public List<TContractGoodslist> list(Map map) {
return mapper.findPage(map);
}
@Override
public List<TContractGoodslist> goodslist(Map map) {
return mapper.goodsquery(map);
}
//物资清单统计
@Override
public List<TContractGoodslist> goodsAmount(Map map) {
int typeinfo=Integer.parseInt(map.get("typeinfo").toString());//按钮编号
if(typeinfo==1){//合同总价
return mapper.goodsstatistics(map);
}else if(typeinfo==2){//数量统计
return mapper.goodsAmount(map);
}
return mapper.goodsAmount(map);
}
@Override
public List<TContractGoodslist> goodsStatistics(Map map) {
return mapper.goodsstatistics(map);
}
@Override
public long TContractGoodslistCount(Map map) {
return mapper.findPage_count(map);
}
@Override
public int save(TContractGoodslist TContractGoodslist) {
return mapper.insertSelective(TContractGoodslist);
}
@Override
public TContractGoodslist getById(String id) {
return this.mapper.selectByPrimaryKey(Integer.parseInt(id));
}
@Override
public HashMap<String, Object> TContractGoodslistDelete(Map paramMap) {
HashMap<String, Object> map = new HashMap<String, Object>();
try{
JSONObject jsonObject=null;
JSONArray postdata = JSONArray.parseArray(String.valueOf(paramMap.get("postdata")));
if(postdata.size()>0){
for(int i=0;i<postdata.size();i++){
jsonObject=postdata.getJSONObject(i);
if (jsonObject.containsKey("id")
&&!StringUtils.isEmpty(jsonObject.getString("id"))) {
TContractGoodslist TContractGoodslist=getById(jsonObject.getString("id"));
if(TContractGoodslist!=null){
this.mapper.deleteByPrimaryKey(TContractGoodslist.getId()); //不物理删除
//TContractGoodslist.setDeleteFlag(0);//设置为0
//this.mapper.updateByPrimaryKeySelective(TContractGoodslist);
map.put("flag", true);
map.put("msg", "删除成功");
}else{
map.put("flag", false);
map.put("msg", "删除失败");
}
}else {
map.put("flag", false);
map.put("msg", "删除失败");
}
}
}
}catch(Exception e){
e.printStackTrace();
map.put("flag", false);
map.put("msg", "删除失败");
}
return map;
}
/**数据新增时获取最大顺序码*/
@Override
public int update(TContractGoodslist TContractGoodslist) {
return this.mapper.updateByPrimaryKeySelective(TContractGoodslist);
}
@Override
public Map<String, Object> importFromXls(MultipartFile file, TUser user, Long projectId) {
Map<String, Object> result = new HashMap<>();
try {
//檢查excel
ExcelUtil.checkFile(file);
//解析excel
List<String[]> list = ExcelUtil.readExcel(file);
if (!list.isEmpty()) {
List tt =new ArrayList();
for(int i=0;i<list.size();i++){
TContractGoodslist TContractGoodslist= this.packaging(list.get(i));
if(null==TContractGoodslist){
result.put("flag", Boolean.FALSE);
result.put("msg", "导入失败,第"+(i+1)+"行数据错误!");
return result;
}else{
tt.add(TContractGoodslist);
}
}
for(int i=0;i<tt.size();i++){
TContractGoodslist TContractGoodslist= (TContractGoodslist) tt.get(i);
TContractGoodslist.setDeleteFlag(1);
TContractGoodslist.setCreateUser(Integer.parseInt(user.getId().toString()));
TContractGoodslist.setProjectId(Integer.parseInt(projectId.toString()));
TContractGoodslist.setCreateTime(new Date());
int q=mapper.insertSelective(TContractGoodslist);
}
result.put("flag", Boolean.TRUE);
result.put("msg", "导入成功");
} else {
result.put("flag", Boolean.FALSE);
result.put("msg", "导入文件没有有效数据");
}
} catch (Exception e) {
result.put("flag", Boolean.FALSE);
result.put("msg", "数据有空值");//e.getMessage()
return result;
}
return result;
}
private TContractGoodslist packaging(String[] arr) {
Map<String, Object> result = new HashMap<>();
//0四电名称1四电类别2规格3数量4单价5总价6单位7备注
TContractGoodslist TContractGoodslist =null;
try {
String name = StringUtils.isEmpty(arr[0]) ? null : arr[0];//物资名称
String type = StringUtils.isEmpty(arr[1]) ? null : arr[1];//物资类别
String specification = StringUtils.isEmpty(arr[2]) ? null : arr[2];//规格
String number = StringUtils.isEmpty(arr[3]) ? null : arr[3];//数量
BigDecimal price = StringUtils.isEmpty(arr[4]) ? null: new BigDecimal(arr[4]);
BigDecimal sum = StringUtils.isEmpty(arr[5]) ? null : new BigDecimal(arr[5]);
String unit = StringUtils.isEmpty(arr[6]) ? null : arr[6];
String remark = StringUtils.isEmpty(arr[7]) ? null : arr[7];
//excel表中物资类别保存的是分类编号,插入数据库时 根据分类编号查询基础数据中 物资类别表的id
String sql = "select id from t_base_goods where category='" + type + "'";
// List list = JdbcTemplate.queryForList(sql);
Map mapobj=JdbcTemplate.queryForMap(sql);//查询单条记录
String goodsid = mapobj.get("id").toString();
if (null == goodsid || "".equals(goodsid)) {
return null;
}
TContractGoodslist= new TContractGoodslist();
TContractGoodslist.setName(name);
TContractGoodslist.setGoodsType(Integer.parseInt(goodsid));//物资类别 保存物资类别表id
TContractGoodslist.setSpecification(specification);
TContractGoodslist.setNumber(number);
TContractGoodslist.setUnitPrice(price);
TContractGoodslist.setTotalPrice(sum);
TContractGoodslist.setUnit(unit);
TContractGoodslist.setRemark(remark);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return TContractGoodslist;
}
}
1.4 controller
package com.yinghui.soft.web;
import com.yinghui.soft.model.TContractGoodslist;
import com.yinghui.soft.model.TUser;
import com.yinghui.soft.service.TContractGoodslistService;
import com.yinghui.soft.utils.LogAnnotation;
import com.yinghui.soft.utils.PJCommon;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.text.SimpleDateFormat;
import java.util.*;
/**
*物资清单标签
*
* @author zhangjinli
*/
@RequestMapping("/goodlist")
@Controller
public class TContractGoodslistController {
private Logger logger = LoggerFactory.getLogger(TContractGoodslistController.class);
@Autowired
private TContractGoodslistService objServices;
/**
* 物资清单列表
*
* @return
*/
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ResponseBody
public Map proList(HttpServletRequest request) {
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
Map paramMap = PJCommon.getRequestParamMap(request);
Map ret = new HashMap();
Map page = new HashMap();
// page.put("orgId",user.getOrgId());
Integer limit= Integer.valueOf(paramMap.get("limit").toString());
Integer offset= Integer.valueOf(paramMap.get("offset").toString());
page.put("limit",limit);
page.put("offset",offset);
if (paramMap.containsKey("name")
&&!StringUtils.isEmpty(paramMap.get("name"))) {
page.put("name", paramMap.get("name"));
}
if (paramMap.containsKey("deleteFlag")
&&!StringUtils.isEmpty(paramMap.get("deleteFlag"))) {
page.put("deleteFlag", Integer.parseInt(paramMap.get("deleteFlag").toString()));
}
if (paramMap.containsKey("goodsType")//物资类型
&&!StringUtils.isEmpty(paramMap.get("goodsType"))) {
page.put("goodsType", Integer.parseInt(paramMap.get("goodsType").toString()));
}else {
page.put("goodsType",null);
}
if (paramMap.containsKey("specification")//规格
&&!StringUtils.isEmpty(paramMap.get("specification"))) {
page.put("specification", paramMap.get("specification"));
}else {
page.put("specification", null);
}
if (paramMap.containsKey("projectId")//合同id
&&!StringUtils.isEmpty(paramMap.get("projectId"))) {
page.put("projectId", Integer.parseInt(paramMap.get("projectId").toString()));
}else{
page.put("projectId", null);
}
List<TContractGoodslist> list = objServices.list(page);
long count = objServices.TContractGoodslistCount(page);
ret.put("total", count);
ret.put("rows", list);
return ret;
}
/*
* 物资查询列表
* */
@RequestMapping(value = "/goodslist", method = RequestMethod.GET)
@ResponseBody
public Map goodslist(HttpServletRequest request) {
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
Map paramMap = PJCommon.getRequestParamMap(request);
Map ret = new HashMap();
Map page = new HashMap();
// page.put("orgId",user.getOrgId());
Integer limit= Integer.valueOf(paramMap.get("limit").toString());
Integer offset= Integer.valueOf(paramMap.get("offset").toString());
page.put("limit",limit);
page.put("offset",offset);
if (paramMap.containsKey("name")
&&!StringUtils.isEmpty(paramMap.get("name"))) {
page.put("name", paramMap.get("name"));
}
if (paramMap.containsKey("deleteFlag")
&&!StringUtils.isEmpty(paramMap.get("deleteFlag"))) {
page.put("deleteFlag", Integer.parseInt(paramMap.get("deleteFlag").toString()));
}
if (paramMap.containsKey("projectId")//合同id
&&!StringUtils.isEmpty(paramMap.get("projectId"))) {
page.put("projectId", Integer.parseInt(paramMap.get("projectId").toString()));
}else{
page.put("projectId", null);
}
if (paramMap.containsKey("goodsType")//物资类型
&&!StringUtils.isEmpty(paramMap.get("goodsType"))) {
page.put("goodsType", Integer.parseInt(paramMap.get("goodsType").toString()));
}else {
page.put("goodsType", null);
}
if (paramMap.containsKey("specification")//规格
&&!StringUtils.isEmpty(paramMap.get("specification"))) {
page.put("specification", paramMap.get("specification"));
}else {
page.put("specification", null);
}
if (paramMap.containsKey("countryname")//国别
&&!StringUtils.isEmpty(paramMap.get("countryname"))) {
page.put("countryname", Integer.parseInt(paramMap.get("countryname").toString()));
}else {
page.put("countryname", null);
}
if (paramMap.containsKey("suppliername")//供应商名称
&&!StringUtils.isEmpty(paramMap.get("suppliername"))) {
page.put("suppliername", Integer.parseInt(paramMap.get("suppliername").toString()));
}else {
page.put("suppliername", null);
}
if (paramMap.containsKey("currencyname")//币种
&&!StringUtils.isEmpty(paramMap.get("currencyname"))) {
page.put("currencyname", Integer.parseInt(paramMap.get("currencyname").toString()));
}else {
page.put("currencyname", null);
}
if (paramMap.containsKey("project")//项目名称
&&!StringUtils.isEmpty(paramMap.get("project"))) {
page.put("project", Integer.parseInt(paramMap.get("project").toString()));
}else {
page.put("project", null);
}
if (paramMap.containsKey("contractNumber") //合同编号
&&!StringUtils.isEmpty(paramMap.get("contractNumber"))) {
page.put("contractNumber", paramMap.get("contractNumber"));
}else {
page.put("contractNumber", null);
}
if (paramMap.containsKey("startTime") //合同起始时间
&&!StringUtils.isEmpty(paramMap.get("startTime"))) {
page.put("startTime", paramMap.get("startTime"));
}else {
page.put("startTime", null);
}
if (paramMap.containsKey("endTime") //合同结束时间
&&!StringUtils.isEmpty(paramMap.get("endTime"))) {
page.put("endTime", paramMap.get("endTime"));
}else {
page.put("endTime",null);
}
List<TContractGoodslist> list = objServices.goodslist(page);
long count = objServices.TContractGoodslistCount(page);
ret.put("total", count);
ret.put("rows", list);
return ret;
}
/* 物资清单统计
* -----------------------物资统计(数量)列表
*
* */
@RequestMapping(value = "/goodsAmount", method = RequestMethod.GET)
@ResponseBody
public Map goodsAmount(HttpServletRequest request) {
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
Map paramMap = PJCommon.getRequestParamMap(request);
Map ret = new HashMap();
Map page = new HashMap();
// page.put("orgId",user.getOrgId());
Integer limit= Integer.valueOf(paramMap.get("limit").toString());
Integer offset= Integer.valueOf(paramMap.get("offset").toString());
page.put("limit",limit);
page.put("offset",offset);
if (paramMap.containsKey("name")
&&!StringUtils.isEmpty(paramMap.get("name"))) {
page.put("name", paramMap.get("name"));
}
if (paramMap.containsKey("deleteFlag")
&&!StringUtils.isEmpty(paramMap.get("deleteFlag"))) {
page.put("deleteFlag", Integer.parseInt(paramMap.get("deleteFlag").toString()));
}
if (paramMap.containsKey("projectId")//合同id
&&!StringUtils.isEmpty(paramMap.get("projectId"))) {
page.put("projectId", Integer.parseInt(paramMap.get("projectId").toString()));
}else{
page.put("projectId", null);
}
if (paramMap.containsKey("goodsType")//物资类型
&&!StringUtils.isEmpty(paramMap.get("goodsType"))) {
page.put("goodsType", Integer.parseInt(paramMap.get("goodsType").toString()));
}else {
page.put("goodsType", null);
}
if (paramMap.containsKey("specification")//规格
&&!StringUtils.isEmpty(paramMap.get("specification"))) {
page.put("specification", paramMap.get("specification"));
}else {
page.put("specification", null);
}
if (paramMap.containsKey("countryname")//国别
&&!StringUtils.isEmpty(paramMap.get("countryname"))) {
page.put("countryname", Integer.parseInt(paramMap.get("countryname").toString()));
}else {
page.put("countryname", null);
}
if (paramMap.containsKey("suppliername")//供应商名称
&&!StringUtils.isEmpty(paramMap.get("suppliername"))) {
page.put("suppliername", Integer.parseInt(paramMap.get("suppliername").toString()));
}else {
page.put("suppliername", null);
}
if (paramMap.containsKey("currencyname")//币种
&&!StringUtils.isEmpty(paramMap.get("currencyname"))) {
page.put("currencyname", Integer.parseInt(paramMap.get("currencyname").toString()));
}else {
page.put("currencyname", null);
}
if (paramMap.containsKey("project")//项目名称
&&!StringUtils.isEmpty(paramMap.get("project"))) {
page.put("project", Integer.parseInt(paramMap.get("project").toString()));
}else {
page.put("project", null);
}
if (paramMap.containsKey("contractNumber") //合同编号
&&!StringUtils.isEmpty(paramMap.get("contractNumber"))) {
page.put("contractNumber", paramMap.get("contractNumber"));
}else {
page.put("contractNumber", null);
}
if (paramMap.containsKey("startTime") //合同起始时间
&&!StringUtils.isEmpty(paramMap.get("startTime"))) {
page.put("startTime", paramMap.get("startTime"));
}else {
page.put("startTime", null);
}
if (paramMap.containsKey("endTime") //合同结束时间
&&!StringUtils.isEmpty(paramMap.get("endTime"))) {
page.put("endTime", paramMap.get("endTime"));
}else {
page.put("endTime",null);
}
page.put("typeinfo", paramMap.get("typeinfo"));//按钮编号
List<TContractGoodslist> list = objServices.goodsAmount(page);
long count = objServices.TContractGoodslistCount(page);
ret.put("total", count);
ret.put("rows", list);
return ret;
}
/*
* 物资统计(金额)列表
* */
@RequestMapping(value = "/goodsstatistics", method = RequestMethod.GET)
@ResponseBody
public Map goodsstatistics(HttpServletRequest request) {
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
Map paramMap = PJCommon.getRequestParamMap(request);
Map ret = new HashMap();
Map page = new HashMap();
// page.put("orgId",user.getOrgId());
Integer limit= Integer.valueOf(paramMap.get("limit").toString());
Integer offset= Integer.valueOf(paramMap.get("offset").toString());
page.put("limit",limit);
page.put("offset",offset);
if (paramMap.containsKey("name")
&&!StringUtils.isEmpty(paramMap.get("name"))) {
page.put("name", paramMap.get("name"));
}else{
page.put("name", null);
}
if (paramMap.containsKey("deleteFlag")
&&!StringUtils.isEmpty(paramMap.get("deleteFlag"))) {
page.put("deleteFlag", Integer.parseInt(paramMap.get("deleteFlag").toString()));
}
if (paramMap.containsKey("projectId")//合同id
&&!StringUtils.isEmpty(paramMap.get("projectId"))) {
page.put("projectId", Integer.parseInt(paramMap.get("projectId").toString()));
}else{
page.put("projectId", null);
}
if (paramMap.containsKey("goodsType")//物资类型
&&!StringUtils.isEmpty(paramMap.get("goodsType"))) {
page.put("goodsType", Integer.parseInt(paramMap.get("goodsType").toString()));
}else {
page.put("goodsType", null);
}
if (paramMap.containsKey("specification")//规格
&&!StringUtils.isEmpty(paramMap.get("specification"))) {
page.put("specification", paramMap.get("specification"));
}else {
page.put("specification", null);
}
if (paramMap.containsKey("countryname")//国别
&&!StringUtils.isEmpty(paramMap.get("countryname"))) {
page.put("countryname", Integer.parseInt(paramMap.get("countryname").toString()));
}else {
page.put("countryname", null);
}
if (paramMap.containsKey("suppliername")//供应商名称
&&!StringUtils.isEmpty(paramMap.get("suppliername"))) {
page.put("suppliername", Integer.parseInt(paramMap.get("suppliername").toString()));
}else {
page.put("suppliername", null);
}
if (paramMap.containsKey("currencyname")//币种
&&!StringUtils.isEmpty(paramMap.get("currencyname"))) {
page.put("currencyname", Integer.parseInt(paramMap.get("currencyname").toString()));
}else {
page.put("currencyname", null);
}
if (paramMap.containsKey("project")//项目名称
&&!StringUtils.isEmpty(paramMap.get("project"))) {
page.put("project", Integer.parseInt(paramMap.get("project").toString()));
}else {
page.put("project", null);
}
if (paramMap.containsKey("contractNumber") //合同编号
&&!StringUtils.isEmpty(paramMap.get("contractNumber"))) {
page.put("contractNumber", paramMap.get("contractNumber"));
}else {
page.put("contractNumber", null);
}
if (paramMap.containsKey("startTime") //合同起始时间
&&!StringUtils.isEmpty(paramMap.get("startTime"))) {
page.put("startTime", paramMap.get("startTime"));
}else {
page.put("startTime", null);
}
if (paramMap.containsKey("endTime") //合同结束时间
&&!StringUtils.isEmpty(paramMap.get("endTime"))) {
page.put("endTime", paramMap.get("endTime"));
}else {
page.put("endTime",null);
}
List<TContractGoodslist> list = objServices.goodsStatistics(page);
long count = objServices.TContractGoodslistCount(page);
ret.put("total", count);
ret.put("rows", list);
return ret;
}
@RequestMapping(value = "/getTContractGoodslist", method = RequestMethod.GET)
@ResponseBody
public TContractGoodslist getTContractGoodslist(HttpServletRequest request) {
HttpSession session = request.getSession();
Map paramMap = PJCommon.getRequestParamMap(request);
TContractGoodslist ret = objServices.getById(paramMap.get("id").toString());
return ret;
}
/**
* 物资清单保存
*
* @return
*/
/* @RequestMapping(value = "/save", method = RequestMethod.POST)
@ResponseBody
public Map proSave(HttpServletRequest request,HttpServletResponse response) {
HashMap<String, Object> map = new HashMap<String, Object>();
try{
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
TContractGoodslist objMax=objServices.selectByOrderNumMax();
Map paramMap = PJCommon.getRequestParamMap(request);
if(null==objMax){
paramMap.put("orderNum",1);
}else {
int ordernUm=objMax.getOrderNum()+1;
paramMap.put("orderNum",ordernUm);
}
paramMap.put("createuser",user.getId());
paramMap.put("create_time",new Date());
map=objServices.save(paramMap);
} catch (Exception e) {
logger.error("参数错误", e);
map.put("flag", false);
map.put("msg", "参数错误");
}
return map;
}*/
@LogAnnotation(firstLevel = "基础数据", secondLevel = "物资清单", noteLevel = "新增")
@PostMapping(value = "save")
public Map save(@RequestBody TContractGoodslist TContractGoodslist, HttpServletRequest request) {
Map map = new HashMap(4);
try{
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
//SimpleDateFormat date =new SimpleDateFormat("yyyy-MM-hh");
//TContractGoodslist.setSigningTime(date.parse(TContractGoodslist.getSigningTimeStart()));
TContractGoodslist.setCreateUser(Integer.parseInt(user.getId().toString()));
TContractGoodslist.setCreateTime(new Date());
TContractGoodslist.setDeleteFlag(1);
int i =objServices.save(TContractGoodslist);
if (i == 1) {
map.put("flag", true);
map.put("msg", "新增成功");
} else {
map.put("flag", false);
map.put("msg", "新增失败");
}
} catch (Exception e) {
logger.error("参数错误", e);
map.put("flag", false);
map.put("msg", "参数错误");
}
return map;
}
/**
*物资清单 修改
*
* @return
*/
@LogAnnotation(firstLevel = "基础数据", secondLevel = "物资清单", noteLevel = "修改")
@PostMapping(value = "update")
public Map update(@RequestBody TContractGoodslist TContractGoodslist, HttpServletRequest request) {
Map map = new HashMap();
try{
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
SimpleDateFormat date =new SimpleDateFormat("yyyy-MM-hh");
// if(null != TContractGoodslist.getSigningTimeStart() && !TContractGoodslist.getSigningTimeStart().equals("")){
// TContractGoodslist.setSigningTime(date.parse(TContractGoodslist.getSigningTimeStart()));
// }
TContractGoodslist.setCreateUser(Integer.parseInt(user.getId().toString()));
TContractGoodslist.setCreateTime(new Date());
TContractGoodslist.setDeleteFlag(1);
int i=objServices.update(TContractGoodslist);
if (i == 1) {
map.put("flag", true);
map.put("msg", "修改成功");
} else {
map.put("flag", false);
map.put("msg", "修改失败");
}
} catch (Exception e) {
logger.error("参数错误", e);
map.put("flag", false);
map.put("msg", "参数错误");
}
return map;
}
/**
* 物资清单删除
*
* @return
*/
@RequestMapping(value = "/delete", method = RequestMethod.POST)
@ResponseBody
public Map proDelete(HttpServletRequest request,HttpServletResponse response) {
HashMap<String, Object> map = new HashMap<String, Object>();
try{
Map paramMap = PJCommon.getRequestParamMap(request);
map=objServices.TContractGoodslistDelete(paramMap);
} catch (Exception e) {
logger.error("参数错误", e);
map.put("flag", false);
map.put("msg", "参数错误");
}
return map;
}
/**
* 物资清单下拉框列表
*
* @return
*
*/
@RequestMapping(value = "/TObjSelect", method = RequestMethod.GET)
@ResponseBody
public List<HashMap<String, Object>> proSelect(HttpServletRequest request) {
HttpSession session = request.getSession();
TUser user= (TUser) session.getAttribute("user");
List<HashMap<String, Object>> result = new ArrayList<HashMap<String, Object>>();
Map page = new HashMap();
page.put("deleteFlag",1);
List<TContractGoodslist> list = objServices.list(page);
if (list != null && !list.isEmpty()) {
for (TContractGoodslist TContractGoodslist : list) {
HashMap<String, Object> hashMap = new HashMap<String, Object>();
hashMap.put("name", TContractGoodslist.getName());
hashMap.put("value", TContractGoodslist.getId());
result.add(hashMap);
}
}
return result;
}
//导入Excel
@RequestMapping(value = "/orderDetailsXlsImport", method = RequestMethod.POST)
@ResponseBody
public Map importXls(HttpServletRequest request, @RequestParam("file") MultipartFile file) {
Map<String, Object> result = new HashMap();
try {
Map paramMap = PJCommon.getRequestParamMap(request);
if (StringUtils.isEmpty(paramMap.get("project_id"))) {
result.put("flag", Boolean.FALSE);
result.put("msg", "参数错误");
return result;
}
if (file.isEmpty()) {
result.put("flag", Boolean.FALSE);
result.put("msg", "上传文件错误");
return result;
}
Long projectId = Long.valueOf(paramMap.get("project_id").toString());
TUser user = (TUser) request.getSession().getAttribute("user");
result = objServices.importFromXls(file,user,projectId);
} catch (Exception e) {
logger.error("参数错误", e);
result.put("flag", false);
result.put("msg", "参数错误");
return result;
}
return result;
}
}