升级代码结构,采用Maven来管理jar包(10)

This commit is contained in:
季圣华
2017-02-15 22:55:46 +08:00
parent 11f18afad6
commit e85498f6f4
185 changed files with 19714 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
package com.jsh.service.asset;
import java.io.File;
import java.io.InputStream;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.util.PageUtil;
public interface AssetIService extends BaseIService<Asset>
{
/**
* 导出信息
* @return
*/
InputStream exmportExcel(String isAllPage,PageUtil<Asset> pageUtil)throws JshException;
/**
* 导入资产excel文件--表格格式 同 媒资列表 || 资产名称-资产类型-单价-用户-购买时间-状态-位置-资产编号-序列号-有效日期-保修日期-供应商-标签-描述
* 业务规则:导入时,检查资产名称是否存在,如存在就不考虑表格中资产类型。如资产名不存在,就新建资产名,类型用表格中的,但类型必须是系统中存在的,不存在的不能导入。
* 资产名称,用户可以添加,其他的应该不能填
*
* @param assetFile excel表格文件
* @param isCheck 是否检查 0--手工确定 1--直接导入数据库中
* @return 错误的表格数据
* @throws JshException
*/
InputStream importExcel(File assetFile,int isCheck)throws JshException;
}

View File

@@ -0,0 +1,746 @@
package com.jsh.service.asset;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Timestamp;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import com.jsh.base.BaseService;
import com.jsh.base.Log;
import com.jsh.util.AssetConstants;
import com.jsh.dao.asset.AssetIDAO;
import com.jsh.dao.basic.AssetNameIDAO;
import com.jsh.dao.basic.CategoryIDAO;
import com.jsh.dao.basic.SupplierIDAO;
import com.jsh.dao.basic.UserIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.model.po.Assetname;
import com.jsh.model.po.Category;
import com.jsh.model.po.Supplier;
import com.jsh.util.PageUtil;
import com.jsh.util.Tools;
public class AssetService extends BaseService<Asset> implements AssetIService
{
private AssetIDAO assetDao;
private AssetNameIDAO assetNameDao;
private CategoryIDAO categoryDao;
private SupplierIDAO supplierDao;
private UserIDAO userDao;
/**
* 初始化加载所有系统基础数据
*/
@SuppressWarnings({"rawtypes"})
private static Map<String,List> mapData = new HashMap<String, List>();
/**
* 错误的表格数据
*/
private static List<Asset> wrongData = new ArrayList<Asset>();
/**
* 导出Excel表格
*/
@Override
public InputStream exmportExcel(String isAllPage,PageUtil<Asset> pageUtil)throws JshException
{
try
{
if("currentPage".equals(isAllPage))
{
assetDao.find(pageUtil);
}
else
{
pageUtil.setCurPage(0);
pageUtil.setPageSize(0);
assetDao.find(pageUtil);
}
//将OutputStream转化为InputStream
ByteArrayOutputStream out = new ByteArrayOutputStream();
putDataOnOutputStream(out,pageUtil.getPageList());
return new ByteArrayInputStream(out.toByteArray());
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>>>>>导出资产信息为excel表格异常", e);
throw new JshException("export asset info to excel exception",e);
}
}
@Override
public InputStream importExcel(File assetFile,int isCheck) throws JshException
{
//全局变量--每次调用前需要清空数据
mapData.clear();
//1、加载系统基础数据
loadSystemData();
//2、解析文件成资产数据
parseFile(assetFile);
if(null != wrongData && wrongData.size()>0)
{
//将OutputStream转化为InputStream
ByteArrayOutputStream out = new ByteArrayOutputStream();
putDataOnOutputStream(out,wrongData);
return new ByteArrayInputStream(out.toByteArray());
}
else
return null;
//2、是否直接插入数据库中
// if(0 == isCheck)
// System.out.println("手动检查");
// else
// System.out.println("自动检查插入");
}
/**
* 初始加载系统基础数据--导入过程中,不用频繁查询数据库内容,影响系统性能。
* @throws JshException
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
private void loadSystemData()throws JshException
{
PageUtil pageUtil = new PageUtil();
pageUtil.setPageSize(0);
pageUtil.setCurPage(0);
try
{
Map<String,Object> condition = pageUtil.getAdvSearch();
condition.put("id_s_order", "desc");
categoryDao.find(pageUtil);
mapData.put("categoryList", pageUtil.getPageList());
supplierDao.find(pageUtil);
mapData.put("supplierList", pageUtil.getPageList());
condition.put("isystem_n_eq", 1);
condition.put("id_s_order", "desc");
userDao.find(pageUtil);
mapData.put("userList", pageUtil.getPageList());
//清除搜索条件 防止对查询有影响
condition.remove("isystem_n_eq");
assetNameDao.find(pageUtil);
mapData.put("assetnameList", pageUtil.getPageList());
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>>>>>>查找系统基础数据信息异常", e);
}
}
/**
* 解析excel表格
* @param assetFile
*/
@SuppressWarnings("unchecked")
private void parseFile(File assetFile)
{
//每次调用前清空
wrongData.clear();
int totalRow = 0;
try
{
//创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(assetFile));
//创建对工作表的引用,获取第一个工作表的内容
HSSFSheet sheet = workbook.getSheetAt(0);
/**
* =====================================
* 1、此处要增加文件的验证如果不是资产文件需要进行特殊的处理,13列
* 2、文件内容为空处理
* 3、如果是修改过的文件内容
*/
Iterator<Row> itsheet = sheet.rowIterator();
while(itsheet.hasNext())
{
//获取当前行数据
Row row = itsheet.next();
//获取一行有多少单元格
// System.out.println(row.getLastCellNum());
//excel表格第几行数据 从1开始 0 是表头
int rowNum = row.getRowNum();
/**
* 表头跳过不读
*/
if(AssetConstants.BusinessForExcel.EXCEL_TABLE_HEAD == rowNum)
continue;
//开始处理excel表格内容 --每行数据读取,同时统计总共行数
totalRow ++;
//获取excel表格的每格数据内容
Iterator<Cell> it = row.cellIterator();
//资产子类型--添加了一些excel表格数据
Asset asset = new Asset();
//保存每个单元格错误类型
Map<Integer,String> cellType = new HashMap<Integer,String>();
//名称需要类型字段
Assetname nameModel = null;
//资产名称
@SuppressWarnings("unused")
String assetname = "";
//资产类型
String categoryStr = "";
//设置列号
asset.setRowLineNum(rowNum);
Cell cell = null;
//判断列号--从零开始
int cellIndex = 0;
while(it.hasNext())
{
//获取每个单元格对象
cell = it.next();
//获取列号
cellIndex = cell.getColumnIndex();
//设置此单元格为字符串类型
cell.setCellType(Cell.CELL_TYPE_STRING);
Log.infoFileSync("==================excel表格中第" + totalRow + "行的第 " + cellIndex + "列的值为" + cell.getStringCellValue());
//每行中数据顺序 资产名称-资产类型-单价-用户-购买时间-状态-位置-资产编号-序列号-有效日期-保修日期-供应商-标签-描述
switch(cellIndex)
{
case AssetConstants.BusinessForExcel.EXCEL_ASSETNAME :
//资产名称是否存在
boolean isAssetnameExist = false;
//此处添加资产名称处理
String nameValue = cell.getStringCellValue();
if(null == nameValue || "".equals(nameValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产名称没有填写");
cellType.put(cellIndex, "wrong");
break;
}
assetname = nameValue;
List<Assetname> nameList = mapData.get("assetnameList");
for(Assetname name:nameList)
{
//表示名称存在--直接进行保存,不需要判断类型字段
if(nameValue.equals(name.getAssetname()))
{
isAssetnameExist = true;
//直接进行设置
asset.setAssetname(name);
break;
}
}
//名称不存在 重新创建
if(!isAssetnameExist)
{
isAssetnameExist = false;
nameModel = new Assetname();
nameModel.setAssetname(nameValue);
nameModel.setIsconsumables((short)0);
nameModel.setIsystem((short)1);
nameModel.setDescription("");
asset.setAssetnameStr(nameValue);
}
break;
case AssetConstants.BusinessForExcel.EXCEL_CATEGORY :
//此处添加资产类型处理
//类型信息是否存在
boolean isCategoryExist = false;
String categoryValue = cell.getStringCellValue();
if((null == categoryValue || "".equals(categoryValue)) && null != nameModel)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产名称没有指定类型");
cellType.put(cellIndex, "wrong");
break;
}
categoryStr = categoryValue;
List<Category> categoryList = mapData.get("categoryList");
for(Category category:categoryList)
{
//表示新创建 --名称设置过 不需要再进行处理
if(category.getAssetname().equals(categoryValue) && null != nameModel)
{
isCategoryExist = true;
nameModel.setCategory(category);
asset.setAssetname(nameModel);
assetNameDao.create(nameModel);
break;
}
}
//重新创建
if(null != nameModel && !isCategoryExist)
{
//首先创建类型信息
Category canew = new Category();
canew.setAssetname(categoryValue);
canew.setIsystem((short)1);
canew.setDescription("");
categoryDao.create(canew);
nameModel.setCategory(canew);
assetNameDao.create(nameModel);
asset.setAssetname(nameModel);
}
//nameModel为空表示 已经处理过类型信息 --此处不需要进行处理
else
{
asset.setCategory(categoryStr);
}
break;
case AssetConstants.BusinessForExcel.EXCEL_PRICE:
//此处添加单价处理
String priceValue = cell.getStringCellValue();
//String priceValue = getCellFormatValue(cell);
if(null == priceValue || "".equals(priceValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写单价");
break;
}
//解析价格
if(Tools.checkStrIsNum(priceValue))
asset.setPrice(Double.parseDouble(priceValue));
else
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>资产价格不是数字格式");
cellType.put(cellIndex, "wrong");
asset.setPrice(0.00d);
asset.setPriceStr(priceValue);
}
break;
case AssetConstants.BusinessForExcel.EXCEL_USER :
//此处添加用户处理--用户信息不需要进行处理
break;
case AssetConstants.BusinessForExcel.EXCEL_PURCHASE_DATE :
//此处添加购买时间处理--时间不需要处理
String purchaseValue = cell.getStringCellValue();
if(null == purchaseValue || "".equals(purchaseValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写购买日期");
break;
}
try
{
asset.setPurchasedate(new Timestamp(Tools.parse(purchaseValue, "yyyy-MM-dd").getTime()));
}
catch (ParseException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>解析购买日期异常", e);
try
{
asset.setPurchasedate(new Timestamp(DateUtil.getJavaDate(Double.parseDouble(purchaseValue)).getTime()));
}
catch (Exception t)
{
asset.setPurchasedateStr(purchaseValue);
cellType.put(cellIndex, "wrong");
}
}
break;
case AssetConstants.BusinessForExcel.EXCEL_STATUS :
//此处添加状态处理--默认为在库状态
asset.setStatus((short)0);
break;
case AssetConstants.BusinessForExcel.EXCEL_LOCATION :
//此处添加位置处理--不需要进行处理
String locationValue = cell.getStringCellValue();
if(null == locationValue || "".equals(locationValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写位置信息");
break;
}
asset.setLocation(locationValue);
break;
case AssetConstants.BusinessForExcel.EXCEL_NUM :
//此处添加资产编号处理
String assetnumValue = cell.getStringCellValue();
if(null == assetnumValue || "".equals(assetnumValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写资产编号");
break;
}
//设置资产编号
asset.setAssetnum(assetnumValue);
break;
case AssetConstants.BusinessForExcel.EXCEL_SERIALNO :
//此处添加序列号处理
String assetseriValue = cell.getStringCellValue();
if(null == assetseriValue || "".equals(assetseriValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写序列号");
break;
}
//设置资产编号
asset.setSerialnum(assetseriValue);
break;
case AssetConstants.BusinessForExcel.EXCEL_EXPIRATION_DATE :
//此处添加有效日期处理--不需要处理
String expirationValue = cell.getStringCellValue();
if(null == expirationValue || "".equals(expirationValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有有效日期");
break;
}
try
{
asset.setPeriodofvalidity(new Timestamp(Tools.parse(expirationValue, "yyyy-MM-dd").getTime()));
}
catch (ParseException e)
{
try
{
asset.setPeriodofvalidity(new Timestamp(DateUtil.getJavaDate(Double.parseDouble(expirationValue)).getTime()));
}
catch (Exception t)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>解析有效日期异常", t);
asset.setPeriodofvalidityStr(expirationValue);
cellType.put(cellIndex, "wrong");
}
}
break;
case AssetConstants.BusinessForExcel.EXCEL_WARRANTY_DATE :
//此处添加保修日期处理--不需要处理
String warrantyValue = cell.getStringCellValue();
if(null == warrantyValue || "".equals(warrantyValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有保修日期");
break;
}
try
{
asset.setWarrantydate(new Timestamp(Tools.parse(warrantyValue, "yyyy-MM-dd").getTime()));
}
catch (ParseException e)
{
try
{
asset.setWarrantydate(new Timestamp(DateUtil.getJavaDate(Double.parseDouble(warrantyValue)).getTime()));
}
catch (Exception t)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>解析保修日期异常", t);
asset.setWarrantydateStr(warrantyValue);
cellType.put(cellIndex, "wrong");
}
}
break;
case AssetConstants.BusinessForExcel.EXCEL_SUPPLIER :
//此处添加供应商处理
String supplierValue = cell.getStringCellValue();
if(null == supplierValue || "".equals(supplierValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写供应商");
cellType.put(cellIndex, "wrong");
break;
}
//供应商
List<Supplier> supplierList = mapData.get("supplierList");
boolean isSupplerExist =false;
for(Supplier supplier:supplierList)
{
if(supplierValue.equals(supplier.getSupplier()))
{
isSupplerExist =true;
asset.setSupplier(supplier);
break;
}
}
if(!isSupplerExist)
{
Supplier sup = new Supplier();
sup.setIsystem((short)1);
sup.setSupplier(supplierValue);
sup.setDescription("");
supplierDao.create(sup);
//保存供应商信息
asset.setSupplier(sup);
}
break;
case AssetConstants.BusinessForExcel.EXCEL_LABLE :
//此处添加标签处理
String lableValue = cell.getStringCellValue();
if(null == lableValue || "".equals(lableValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写标签信息");
break;
}
asset.setLabels(lableValue);
break;
case AssetConstants.BusinessForExcel.EXCEL_DESC :
//此处添加描述信息处理
String descValue = cell.getStringCellValue();
if(null == descValue || "".equals(descValue))
{
Log.errorFileSync(">>>>>>>>>>>>>>>>资产没有填写描述信息");
break;
}
asset.setDescription(descValue);
break;
}
}
asset.setCreatetime(new Timestamp(Calendar.getInstance().getTime().getTime()));
asset.setUpdatetime(new Timestamp(Calendar.getInstance().getTime().getTime()));
asset.setCellInfo(cellType);
Log.infoFileSync(totalRow + "行总共有" + cellIndex + "");
//资产文件为13列否则不是资产模板文件--不输入的时候 判断会有问题 暂时去掉
// if(cellIndex != 13)
// {
// Log.errorFileSync(">>>>>>>>>>>>>>>>>>>>>>导入文件格式不合法,请重新选择文件进行操作!");
// return;
// }
//判断完成后增加数据
if((null!=cellType && cellType.size() >0)
|| asset.getAssetname() == null || asset.getAssetname().getCategory() == null)
wrongData.add(asset);
else
{
if(null == asset.getStatus())
asset.setStatus((short)0);
assetDao.save(asset);
}
}
}
catch (FileNotFoundException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>读取excel文件异常:找不到指定文件!",e);
}
catch (IOException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>读取excel文件异常请确认文件格式是否正确 ",e);
}
Log.infoFileSync("===================excel表格总共有 " + totalRow + " 条记录!");
}
/**
* 生成excel表格
* @param os
*/
private void putDataOnOutputStream(OutputStream os,List<Asset> dataList)
{
WritableWorkbook workbook = null;
try
{
workbook = Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet("资产详细信息", 0);
//增加列头
int[] colunmWidth = {30,30,10,15,20,10,30,30,30,20,20,20,30,80};
String[] colunmName = {"资产名称","资产类型","单价","用户","购买时间","状态","位置","资产编号","序列号","有效日期","保修日期","供应商","标签","描述"};
for(int i = 0 ;i < colunmWidth.length;i ++)
{
sheet.setColumnView(i,colunmWidth[i]);
sheet.addCell(new Label(i, 0, colunmName[i]));
}
if (null != dataList &&dataList.size() > 0)
{
int i = 1;
for (Asset asset: dataList)
{
int j = 0;
Map<Integer,String> cellInfo = asset.getCellInfo();
//第一列,填充 数据, Label(列,行,值)
sheet.addCell(getLabelInfo(cellInfo,j++,i,asset.getAssetname() == null ?"":asset.getAssetname().getAssetname(),asset));
sheet.addCell(getLabelInfo(cellInfo,j++,i,asset.getAssetname() == null || asset.getAssetname().getCategory() == null ?"":asset.getAssetname().getCategory().getAssetname(),asset));
sheet.addCell(getLabelInfo(cellInfo,j++,i,asset.getPrice() == null?"":asset.getPrice().toString(),asset));
sheet.addCell(new Label(j++, i, asset.getUser()==null?"":asset.getUser().getUsername()));
sheet.addCell(getLabelInfo(cellInfo,j++,i,asset.getPurchasedate() == null ?"":Tools.getCurrentMonth(asset.getPurchasedate()),asset));
Short status = asset.getStatus();
if(null == status)
status = 0 ;
if(AssetConstants.BusinessForExcel.EXCEl_STATUS_ZAIKU == status)
sheet.addCell(new Label(j++, i, "在库"));
else if(AssetConstants.BusinessForExcel.EXCEl_STATUS_INUSE == status)
sheet.addCell(new Label(j++, i, "在用"));
else if(AssetConstants.BusinessForExcel.EXCEl_STATUS_CONSUME == status)
sheet.addCell(new Label(j++, i, "消费"));
sheet.addCell(new Label(j++, i, asset.getLocation()));
sheet.addCell(new Label(j++, i, asset.getAssetnum()));
sheet.addCell(new Label(j++, i, asset.getSerialnum()));
sheet.addCell(getLabelInfo(cellInfo,j++,i, asset.getPeriodofvalidity() == null ?"":Tools.getCurrentMonth(asset.getPeriodofvalidity()),asset));
sheet.addCell(getLabelInfo(cellInfo,j++,i,asset.getWarrantydate() == null ?"":Tools.getCurrentMonth(asset.getWarrantydate()),asset));
sheet.addCell(new Label(j++, i, asset.getSupplier()==null?"":asset.getSupplier().getSupplier()));
sheet.addCell(new Label(j++, i, asset.getLabels()));
sheet.addCell(new Label(j++, i, asset.getDescription()));
i++;
}
}
workbook.write();
workbook.close();
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>>>>>导出资产信息为excel表格异常", e);
}
}
/**
* 根据错误信息进行提示--execel表格背景设置为红色表示导入信息有误
* @param cellInfo
* @param cellNum
* @param columnNum
* @param value
* @return
*/
private Label getLabelInfo(Map<Integer,String> cellInfo,int cellNum,int columnNum,String value,Asset asset)
{
Label label = null;
//设置背景颜色
WritableCellFormat cellFormat = new WritableCellFormat();
try
{
cellFormat.setBackground(Colour.RED);
}
catch (WriteException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>>>设置单元格背景颜色错误", e);
}
if(null == cellInfo || cellInfo.size() == 0)
{
if(cellNum == AssetConstants.BusinessForExcel.EXCEL_ASSETNAME)
{
if(null == asset.getAssetname() && null != asset.getAssetnameStr())
label = new Label(cellNum, columnNum,asset.getAssetnameStr());
else if(null != asset.getAssetname())
label = new Label(cellNum, columnNum, value);
else
label = new Label(cellNum, columnNum, null,cellFormat);
}
else if(cellNum == AssetConstants.BusinessForExcel.EXCEL_CATEGORY)
{
if(null != asset.getAssetnameStr() && null == asset.getAssetname())
label = new Label(cellNum, columnNum, null,cellFormat);
else if(null == asset.getAssetnameStr() && null == asset.getAssetname()
&& asset.getCategory() != null &&asset.getCategory().length()>0)
label = new Label(cellNum, columnNum, asset.getCategory());
else
label = new Label(cellNum, columnNum, value);
}
else
label = new Label(cellNum, columnNum, value);
}
else
{
//表示此单元格有错误
if(cellInfo.containsKey(cellNum))
{
if(cellNum == AssetConstants.BusinessForExcel.EXCEL_ASSETNAME)
{
if(null == asset.getAssetname() && null != asset.getAssetnameStr())
label = new Label(cellNum, columnNum,asset.getAssetnameStr());
if(null != asset.getAssetname())
label = new Label(cellNum, columnNum,asset.getAssetname().getAssetname());
else
label = new Label(cellNum, columnNum, value,cellFormat);
}
else if(cellNum == AssetConstants.BusinessForExcel.EXCEL_CATEGORY)
{
if(null != asset.getAssetnameStr() && null == asset.getAssetname())
label = new Label(cellNum, columnNum, null,cellFormat);
else if(null == asset.getAssetnameStr() && null == asset.getAssetname()
&& asset.getCategory() != null &&asset.getCategory().length()>0)
label = new Label(cellNum, columnNum, asset.getCategory());
}
else if(cellNum == AssetConstants.BusinessForExcel.EXCEL_PRICE)
label = new Label(cellNum, columnNum,asset.getPriceStr(),cellFormat);
else if(cellNum == AssetConstants.BusinessForExcel.EXCEL_PURCHASE_DATE)
label = new Label(cellNum, columnNum,asset.getPurchasedateStr(),cellFormat);
else if(cellNum == AssetConstants.BusinessForExcel.EXCEL_WARRANTY_DATE)
label = new Label(cellNum, columnNum,asset.getWarrantydateStr(),cellFormat);
else if(cellNum == AssetConstants.BusinessForExcel.EXCEL_EXPIRATION_DATE)
label = new Label(cellNum, columnNum,asset.getPeriodofvalidityStr(),cellFormat);
else
label = new Label(cellNum, columnNum, value,cellFormat);
}
else
{
if(null == asset.getAssetname() && null != asset.getAssetnameStr()&& cellNum == 0)
label = new Label(cellNum, columnNum,asset.getAssetnameStr());
else if(null == asset.getAssetnameStr() && null == asset.getAssetname()
&& asset.getCategory() != null &&asset.getCategory().length()>0&& cellNum == 1)
label = new Label(cellNum, columnNum, asset.getCategory());
else
label = new Label(cellNum, columnNum, value);
}
}
return label;
}
/*=====================以下处理与业务无关的共用方法=================================*/
public void setAssetDao(AssetIDAO assetDao)
{
this.assetDao = assetDao;
}
public void setAssetNameDao(AssetNameIDAO assetNameDao)
{
this.assetNameDao = assetNameDao;
}
public void setCategoryDao(CategoryIDAO categoryDao)
{
this.categoryDao = categoryDao;
}
public void setSupplierDao(SupplierIDAO supplierDao)
{
this.supplierDao = supplierDao;
}
public void setUserDao(UserIDAO userDao)
{
this.userDao = userDao;
}
@Override
protected Class<Asset> getEntityClass()
{
return Asset.class;
}
}

View File

@@ -0,0 +1,15 @@
package com.jsh.service.asset;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.util.PageUtil;
public interface ReportIService
{
/**
* 查找报表数据
* @param asset
* @throws JshException
*/
void find(PageUtil<Asset> asset,String reportType,String reportName)throws JshException;
}

View File

@@ -0,0 +1,23 @@
package com.jsh.service.asset;
import com.jsh.dao.asset.ReportIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.util.PageUtil;
public class ReportService implements ReportIService
{
private ReportIDAO reportDao;
public void setReportDao(ReportIDAO reportDao)
{
this.reportDao = reportDao;
}
@Override
public void find(PageUtil<Asset> pageUtil, String reportType,String reportName) throws JshException
{
reportDao.find(pageUtil, reportType,reportName);
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Account;
public interface AccountIService extends BaseIService<Account>
{
}

View File

@@ -0,0 +1,22 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.AccountIDAO;
import com.jsh.model.po.Account;
public class AccountService extends BaseService<Account> implements AccountIService
{
@SuppressWarnings("unused")
private AccountIDAO accountDao;
public void setAccountDao(AccountIDAO accountDao)
{
this.accountDao = accountDao;
}
@Override
protected Class<Account> getEntityClass()
{
return Account.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.App;
public interface AppIService extends BaseIService<App>
{
}

View File

@@ -0,0 +1,31 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.AppIDAO;
import com.jsh.dao.basic.UserBusinessIDAO;
import com.jsh.model.po.App;
public class AppService extends BaseService<App> implements AppIService
{
@SuppressWarnings("unused")
private AppIDAO appDao;
@SuppressWarnings("unused")
private UserBusinessIDAO userBusinessDao;
public void setAppDao(AppIDAO appDao)
{
this.appDao = appDao;
}
public void setUserBusinessDao(UserBusinessIDAO userBusinessDao) {
this.userBusinessDao = userBusinessDao;
}
@Override
protected Class<App> getEntityClass()
{
return App.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Assetname;
public interface AssetNameIService extends BaseIService<Assetname>
{
}

View File

@@ -0,0 +1,22 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.AssetNameIDAO;
import com.jsh.model.po.Assetname;
public class AssetNameService extends BaseService<Assetname> implements AssetNameIService
{
@SuppressWarnings("unused")
private AssetNameIDAO assetNameDao;
public void setAssetNameDao(AssetNameIDAO assetNameDao)
{
this.assetNameDao = assetNameDao;
}
@Override
protected Class<Assetname> getEntityClass()
{
return Assetname.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Category;
public interface CategoryIService extends BaseIService<Category>
{
}

View File

@@ -0,0 +1,23 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.CategoryIDAO;
import com.jsh.model.po.Category;
public class CategoryService extends BaseService<Category> implements CategoryIService
{
@SuppressWarnings("unused")
private CategoryIDAO categoryDao;
public void setCategoryDao(CategoryIDAO categoryDao)
{
this.categoryDao = categoryDao;
}
@Override
protected Class<Category> getEntityClass()
{
return Category.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Depot;
public interface DepotIService extends BaseIService<Depot>
{
}

View File

@@ -0,0 +1,32 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.DepotIDAO;
import com.jsh.dao.basic.UserBusinessIDAO;
import com.jsh.model.po.Depot;
public class DepotService extends BaseService<Depot> implements DepotIService
{
@SuppressWarnings("unused")
private DepotIDAO depotDao;
@SuppressWarnings("unused")
private UserBusinessIDAO userBusinessDao;
public void setDepotDao(DepotIDAO depotDao)
{
this.depotDao = depotDao;
}
public void setUserBusinessDao(UserBusinessIDAO userBusinessDao) {
this.userBusinessDao = userBusinessDao;
}
@Override
protected Class<Depot> getEntityClass()
{
return Depot.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Functions;
public interface FunctionsIService extends BaseIService<Functions>
{
}

View File

@@ -0,0 +1,31 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.FunctionsIDAO;
import com.jsh.dao.basic.UserBusinessIDAO;
import com.jsh.model.po.Functions;
public class FunctionsService extends BaseService<Functions> implements FunctionsIService
{
@SuppressWarnings("unused")
private FunctionsIDAO functionsDao;
@SuppressWarnings("unused")
private UserBusinessIDAO userBusinessDao;
public void setFunctionsDao(FunctionsIDAO functionsDao)
{
this.functionsDao = functionsDao;
}
public void setUserBusinessDao(UserBusinessIDAO userBusinessDao) {
this.userBusinessDao = userBusinessDao;
}
@Override
protected Class<Functions> getEntityClass()
{
return Functions.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.InOutItem;
public interface InOutItemIService extends BaseIService<InOutItem>
{
}

View File

@@ -0,0 +1,23 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.InOutItemIDAO;
import com.jsh.model.po.InOutItem;
public class InOutItemService extends BaseService<InOutItem> implements InOutItemIService
{
@SuppressWarnings("unused")
private InOutItemIDAO inOutItemDao;
public void setInOutItemDao(InOutItemIDAO inOutItemDao)
{
this.inOutItemDao = inOutItemDao;
}
@Override
protected Class<InOutItem> getEntityClass()
{
return InOutItem.class;
}
}

View File

@@ -0,0 +1,16 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.Logdetails;
public interface LogIService extends BaseIService<Logdetails>
{
/**
* 增加
* @param t 对象
* @throws JshException
*/
@Override
void save(Logdetails t);
}

View File

@@ -0,0 +1,36 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.base.Log;
import com.jsh.dao.basic.LogIDAO;
import com.jsh.model.po.Logdetails;
public class LogService extends BaseService<Logdetails> implements LogIService
{
@SuppressWarnings("unused")
private LogIDAO logDao;
public void setLogDao(LogIDAO logDao)
{
this.logDao = logDao;
}
@Override
protected Class<Logdetails> getEntityClass()
{
return Logdetails.class;
}
@Override
public void save(Logdetails t)
{
try
{
super.save(t);
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>创建操作日志异常", e);
}
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Role;
public interface RoleIService extends BaseIService<Role>
{
}

View File

@@ -0,0 +1,30 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.RoleIDAO;
import com.jsh.dao.basic.UserBusinessIDAO;
import com.jsh.model.po.Role;
public class RoleService extends BaseService<Role> implements RoleIService
{
@SuppressWarnings("unused")
private RoleIDAO roleDao;
@SuppressWarnings("unused")
private UserBusinessIDAO userBusinessDao;
public void setRoleDao(RoleIDAO roleDao)
{
this.roleDao = roleDao;
}
public void setUserBusinessDao(UserBusinessIDAO userBusinessDao) {
this.userBusinessDao = userBusinessDao;
}
@Override
protected Class<Role> getEntityClass()
{
return Role.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Supplier;
public interface SupplierIService extends BaseIService<Supplier>
{
}

View File

@@ -0,0 +1,25 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.SupplierIDAO;
import com.jsh.model.po.Supplier;
public class SupplierService extends BaseService<Supplier> implements SupplierIService
{
@SuppressWarnings("unused")
private SupplierIDAO supplierDao;
public void setSupplierDao(SupplierIDAO supplierDao)
{
this.supplierDao = supplierDao;
}
/**
* 设置映射基类
* @return
*/
@Override
protected Class<Supplier> getEntityClass()
{
return Supplier.class;
}
}

View File

@@ -0,0 +1,15 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.UserBusiness;
import com.jsh.util.PageUtil;
public interface UserBusinessIService extends BaseIService<UserBusiness>
{
/*
* 测试一下自定义hql语句
*/
void find(PageUtil<UserBusiness> userBusiness,String ceshi)throws JshException;
}

View File

@@ -0,0 +1,32 @@
package com.jsh.service.basic;
import com.jsh.base.BaseService;
import com.jsh.dao.basic.UserBusinessIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.UserBusiness;
import com.jsh.util.PageUtil;
public class UserBusinessService extends BaseService<UserBusiness> implements UserBusinessIService
{
@SuppressWarnings("unused")
private UserBusinessIDAO userBusinessDao;
public void setUserBusinessDao(UserBusinessIDAO userBusinessDao)
{
this.userBusinessDao = userBusinessDao;
}
@Override
protected Class<UserBusiness> getEntityClass()
{
return UserBusiness.class;
}
@Override
public void find(PageUtil<UserBusiness> pageUtil, String ceshi) throws JshException
{
userBusinessDao.find(pageUtil, ceshi);
}
}

View File

@@ -0,0 +1,33 @@
package com.jsh.service.basic;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.Basicuser;
public interface UserIService extends BaseIService<Basicuser>
{
/**
* 判断用户名是否符合登录条件
* @param username 用户名 String password
* @return int 1、用户名不存在 2、密码不正确 3、黑名单用户 4、符合条件 5、访问后台异常
*/
int validateUser(String username,String password)throws JshException;
/**
* 获取用户信息
* @param username
* @return 用户信息
* @throws JshException
*/
public Basicuser getUser(String username) throws JshException;
/**
* 检查用户名称是否存在
* @param field 用户属性
* @param username 用户名称
* @param userID 供应商ID
* @return true==存在重名 false==不存在
* @throws JshException
*/
Boolean checkIsNameExist(String field,String username,Long userID)throws JshException;
}

View File

@@ -0,0 +1,114 @@
package com.jsh.service.basic;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.jsh.base.BaseService;
import com.jsh.base.Log;
import com.jsh.util.ExceptionCodeConstants;
import com.jsh.dao.basic.UserBusinessIDAO;
import com.jsh.dao.basic.UserIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.Basicuser;
import com.jsh.util.PageUtil;
public class UserService extends BaseService<Basicuser> implements UserIService
{
private PageUtil<Basicuser> pageUtil = new PageUtil<Basicuser>();
private Map<String,Object> condition = new HashMap<String,Object>();
private UserIDAO userDao;
@Override
public int validateUser(String username, String password)throws JshException
{
try
{
//全局变量 每次使用前清除
condition.clear();
/**默认是可以登录的*/
List<Basicuser> list = null ;
try
{
condition.put("loginame_s_eq", username);
pageUtil.setAdvSearch(condition);
userDao.find(pageUtil);
list = pageUtil.getPageList();
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>访问验证用户姓名是否存在后台信息异常",e);
return ExceptionCodeConstants.UserExceptionCode.USER_ACCESS_EXCEPTION;
}
if(null !=list && list.size() == 0)
return ExceptionCodeConstants.UserExceptionCode.USER_NOT_EXIST ;
try
{
condition.put("loginame_s_eq", username);
condition.put("password_s_eq", password);
pageUtil.setAdvSearch(condition);
userDao.find(pageUtil);
list = pageUtil.getPageList();
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>>>访问验证用户密码后台信息异常",e);
return ExceptionCodeConstants.UserExceptionCode.USER_ACCESS_EXCEPTION;
}
if(null !=list && list.size() == 0)
return ExceptionCodeConstants.UserExceptionCode.USER_PASSWORD_ERROR;
return ExceptionCodeConstants.UserExceptionCode.USER_CONDITION_FIT;
}
catch (Exception e)
{
throw new JshException("unknown exception",e);
}
}
@Override
public Basicuser getUser(String username) throws JshException
{
//全局变量 每次使用前清除
condition.clear();
condition.put("loginame_s_eq", username);
pageUtil.setAdvSearch(condition);
userDao.find(pageUtil);
List<Basicuser> list = pageUtil.getPageList();
if(null != list && list.size() >0)
return list.get(0);
else
throw new JshException("no username exist");
}
@Override
public Boolean checkIsNameExist(String field,String username, Long userID)throws JshException
{
condition.clear();
condition.put(field + "_s_eq", username);
condition.put("id_n_neq", userID);
pageUtil.setAdvSearch(condition);
userDao.find(pageUtil);
List<Basicuser> dataList = pageUtil.getPageList();
if(null != dataList && dataList.size() > 0)
return true;
return false;
}
//==============spring注入等公共方法与业务无关=========================
public void setUserDao(UserIDAO userDao)
{
this.userDao = userDao;
}
@Override
protected Class<Basicuser> getEntityClass()
{
return Basicuser.class;
}
}

View File

@@ -0,0 +1,15 @@
package com.jsh.service.materials;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.AccountHead;
import com.jsh.model.po.UserBusiness;
import com.jsh.util.PageUtil;
public interface AccountHeadIService extends BaseIService<AccountHead>
{
/*
* 获取MaxId
*/
void find(PageUtil<AccountHead> accountHead,String maxid)throws JshException;
}

View File

@@ -0,0 +1,32 @@
package com.jsh.service.materials;
import com.jsh.base.BaseService;
import com.jsh.dao.materials.AccountHeadIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.AccountHead;
import com.jsh.model.po.UserBusiness;
import com.jsh.util.PageUtil;
public class AccountHeadService extends BaseService<AccountHead> implements AccountHeadIService
{
@SuppressWarnings("unused")
private AccountHeadIDAO accountHeadDao;
public void setAccountHeadDao(AccountHeadIDAO accountHeadDao) {
this.accountHeadDao = accountHeadDao;
}
@Override
protected Class<AccountHead> getEntityClass()
{
return AccountHead.class;
}
@Override
public void find(PageUtil<AccountHead> pageUtil, String maxid) throws JshException
{
accountHeadDao.find(pageUtil, maxid);
}
}

View File

@@ -0,0 +1,18 @@
package com.jsh.service.materials;
import java.io.InputStream;
import java.util.List;
import net.sf.json.JSONArray;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.model.po.AccountHead;
import com.jsh.model.po.AccountItem;
import com.jsh.util.PageUtil;
public interface AccountItemIService extends BaseIService<AccountItem>
{
}

View File

@@ -0,0 +1,38 @@
package com.jsh.service.materials;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.jsh.base.BaseService;
import com.jsh.base.Log;
import com.jsh.util.AssetConstants;
import com.jsh.dao.materials.AccountItemIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.model.po.AccountHead;
import com.jsh.model.po.AccountItem;
import com.jsh.util.PageUtil;
import com.jsh.util.Tools;
public class AccountItemService extends BaseService<AccountItem> implements AccountItemIService
{
@SuppressWarnings("unused")
private AccountItemIDAO accoumtItemDao;
public void setAccountItemDao(AccountItemIDAO accoumtItemDao) {
this.accoumtItemDao = accoumtItemDao;
}
@Override
protected Class<AccountItem> getEntityClass()
{
return AccountItem.class;
}
}

View File

@@ -0,0 +1,15 @@
package com.jsh.service.materials;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.DepotHead;
import com.jsh.model.po.UserBusiness;
import com.jsh.util.PageUtil;
public interface DepotHeadIService extends BaseIService<DepotHead>
{
/*
* 获取MaxId
*/
void find(PageUtil<DepotHead> depotHead,String maxid)throws JshException;
}

View File

@@ -0,0 +1,32 @@
package com.jsh.service.materials;
import com.jsh.base.BaseService;
import com.jsh.dao.materials.DepotHeadIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.DepotHead;
import com.jsh.model.po.UserBusiness;
import com.jsh.util.PageUtil;
public class DepotHeadService extends BaseService<DepotHead> implements DepotHeadIService
{
@SuppressWarnings("unused")
private DepotHeadIDAO depotHeadDao;
public void setDepotHeadDao(DepotHeadIDAO depotHeadDao) {
this.depotHeadDao = depotHeadDao;
}
@Override
protected Class<DepotHead> getEntityClass()
{
return DepotHead.class;
}
@Override
public void find(PageUtil<DepotHead> pageUtil, String maxid) throws JshException
{
depotHeadDao.find(pageUtil, maxid);
}
}

View File

@@ -0,0 +1,26 @@
package com.jsh.service.materials;
import java.io.InputStream;
import java.util.List;
import net.sf.json.JSONArray;
import com.jsh.base.BaseIService;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.model.po.DepotHead;
import com.jsh.model.po.DepotItem;
import com.jsh.util.PageUtil;
public interface DepotItemIService extends BaseIService<DepotItem>
{
void findByType(PageUtil<DepotItem> depotItem, String type, Long MId, String MonthTime,Boolean isPrev)throws JshException;
void buyOrSale(PageUtil<DepotItem> depotItem, String type, String subType, Long MId, String MonthTime, String sumType)throws JshException;
/**
* 导出信息
* @return
*/
InputStream exmportExcel(String isAllPage,JSONArray dataArray)throws JshException;
}

View File

@@ -0,0 +1,124 @@
package com.jsh.service.materials;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.DecimalFormat;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import com.jsh.base.BaseService;
import com.jsh.base.Log;
import com.jsh.util.AssetConstants;
import com.jsh.dao.materials.DepotItemIDAO;
import com.jsh.util.JshException;
import com.jsh.model.po.Asset;
import com.jsh.model.po.DepotHead;
import com.jsh.model.po.DepotItem;
import com.jsh.util.PageUtil;
import com.jsh.util.Tools;
public class DepotItemService extends BaseService<DepotItem> implements DepotItemIService
{
@SuppressWarnings("unused")
private DepotItemIDAO depotItemDao;
public void setDepotItemDao(DepotItemIDAO depotItemDao) {
this.depotItemDao = depotItemDao;
}
@Override
protected Class<DepotItem> getEntityClass()
{
return DepotItem.class;
}
@Override
public void findByType(PageUtil<DepotItem> pageUtil, String type,Long MId, String MonthTime,Boolean isPrev) throws JshException
{
depotItemDao.findByType(pageUtil, type, MId, MonthTime,isPrev);
}
@Override
public void buyOrSale(PageUtil<DepotItem> pageUtil, String type,String subType, Long MId, String MonthTime, String sumType) throws JshException
{
depotItemDao.buyOrSale(pageUtil, type, subType, MId, MonthTime, sumType);
}
/**
* 导出Excel表格
*/
@Override
public InputStream exmportExcel(String isAllPage,JSONArray dataArray)throws JshException
{
try
{
//将OutputStream转化为InputStream
ByteArrayOutputStream out = new ByteArrayOutputStream();
putDataOnOutputStream(out,dataArray);
return new ByteArrayInputStream(out.toByteArray());
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>>>>>导出信息为excel表格异常", e);
throw new JshException("export asset info to excel exception",e);
}
}
/**
* 生成excel表格
* @param os
*/
@SuppressWarnings("deprecation")
private void putDataOnOutputStream(OutputStream os,JSONArray dataArray)
{
WritableWorkbook workbook = null;
try
{
workbook = Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet("进销存报表", 0);
//增加列头
int[] colunmWidth = {10,10,10,10,15,15,15,15,15};
String[] colunmName = {"名称","款号","颜色","单价","上月结存数量","入库数量","出库数量","本月结存数量","结存金额"};
for(int i = 0 ;i < colunmWidth.length;i ++)
{
sheet.setColumnView(i,colunmWidth[i]);
sheet.addCell(new Label(i, 0, colunmName[i]));
}
if (null != dataArray &&dataArray.size() > 0)
{
for(int j=0; j < dataArray.size(); j++){
JSONObject jo = JSONObject.fromObject(dataArray.get(j));
sheet.addCell(new Label(0, j+1, jo.getString("MaterialName")));
sheet.addCell(new Label(1, j+1, jo.getString("MaterialModel")));
sheet.addCell(new Label(2, j+1, jo.getString("MaterialColor")));
sheet.addCell(new Label(3, j+1, jo.getString("UnitPrice")));
sheet.addCell(new Label(4, j+1, jo.getString("prevSum")));
sheet.addCell(new Label(5, j+1, jo.getString("InSum")));
sheet.addCell(new Label(6, j+1, jo.getString("OutSum")));
sheet.addCell(new Label(7, j+1, jo.getString("thisSum")));
double d = Double.parseDouble(jo.getString("thisAllPrice").toString());
String s1 = String.format("%.2f", d);
sheet.addCell(new Label(8, j+1, s1));
}
}
workbook.write();
workbook.close();
}
catch (Exception e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>>>>>导出资产信息为excel表格异常", e);
}
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.materials;
import com.jsh.base.BaseIService;
import com.jsh.model.po.MaterialCategory;
public interface MaterialCategoryIService extends BaseIService<MaterialCategory>
{
}

View File

@@ -0,0 +1,24 @@
package com.jsh.service.materials;
import com.jsh.base.BaseService;
import com.jsh.dao.materials.MaterialCategoryIDAO;
import com.jsh.model.po.MaterialCategory;
public class MaterialCategoryService extends BaseService<MaterialCategory> implements MaterialCategoryIService
{
@SuppressWarnings("unused")
private MaterialCategoryIDAO materialCategoryDao;
public void setMaterialCategoryDao(MaterialCategoryIDAO materialCategoryDao) {
this.materialCategoryDao = materialCategoryDao;
}
@Override
protected Class<MaterialCategory> getEntityClass()
{
return MaterialCategory.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.materials;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Material;
public interface MaterialIService extends BaseIService<Material>
{
}

View File

@@ -0,0 +1,24 @@
package com.jsh.service.materials;
import com.jsh.base.BaseService;
import com.jsh.dao.materials.MaterialIDAO;
import com.jsh.model.po.Material;
public class MaterialService extends BaseService<Material> implements MaterialIService
{
@SuppressWarnings("unused")
private MaterialIDAO materialDao;
public void setMaterialDao(MaterialIDAO materialDao) {
this.materialDao = materialDao;
}
@Override
protected Class<Material> getEntityClass()
{
return Material.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.materials;
import com.jsh.base.BaseIService;
import com.jsh.model.po.Person;
public interface PersonIService extends BaseIService<Person>
{
}

View File

@@ -0,0 +1,24 @@
package com.jsh.service.materials;
import com.jsh.base.BaseService;
import com.jsh.dao.materials.PersonIDAO;
import com.jsh.model.po.Person;
public class PersonService extends BaseService<Person> implements PersonIService
{
@SuppressWarnings("unused")
private PersonIDAO personDao;
public void setPersonDao(PersonIDAO personDao) {
this.personDao = personDao;
}
@Override
protected Class<Person> getEntityClass()
{
return Person.class;
}
}