报表和单据中商品信息的'扩展信息'的优化

This commit is contained in:
码农的春天
2017-10-23 00:37:35 +08:00
parent 4a3c169276
commit 26c4950b10
8 changed files with 257 additions and 99 deletions

View File

@@ -283,27 +283,8 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
}
//品名/型号/扩展信息/包装
String MaterialName = depotItem.getMaterialId().getName() + ((depotItem.getMaterialId().getModel() == null || depotItem.getMaterialId().getModel().equals(""))?"":"("+depotItem.getMaterialId().getModel() + ")");
for(int i=0; i< mpArr.length; i++) {
if(mpArr[i].equals("颜色")) {
MaterialName = MaterialName + ((depotItem.getMaterialId().getColor() == null || depotItem.getMaterialId().getColor().equals(""))?"":"("+depotItem.getMaterialId().getColor() + ")");
}
if(mpArr[i].equals("规格")) {
MaterialName = MaterialName + ((depotItem.getMaterialId().getStandard() == null || depotItem.getMaterialId().getStandard().equals(""))?"":"("+depotItem.getMaterialId().getStandard() + ")");
}
if(mpArr[i].equals("制造商")) {
MaterialName = MaterialName + ((depotItem.getMaterialId().getMfrs() == null || depotItem.getMaterialId().getMfrs().equals(""))?"":"("+depotItem.getMaterialId().getMfrs() + ")");
}
if(mpArr[i].equals("自定义1")) {
MaterialName = MaterialName + ((depotItem.getMaterialId().getOtherField1() == null || depotItem.getMaterialId().getOtherField1().equals(""))?"":"("+depotItem.getMaterialId().getOtherField1() + ")");
}
if(mpArr[i].equals("自定义2")) {
MaterialName = MaterialName + ((depotItem.getMaterialId().getOtherField2() == null || depotItem.getMaterialId().getOtherField2().equals(""))?"":"("+depotItem.getMaterialId().getOtherField2() + ")");
}
if(mpArr[i].equals("自定义3")) {
MaterialName = MaterialName + ((depotItem.getMaterialId().getOtherField3() == null || depotItem.getMaterialId().getOtherField3().equals(""))?"":"("+depotItem.getMaterialId().getOtherField3() + ")");
}
}
MaterialName = MaterialName + ratio;
String materialOther = getOtherInfo(mpArr, depotItem);
MaterialName = MaterialName + materialOther + ratio;
item.put("MaterialName", MaterialName);
item.put("Unit", depotItem.getMUnit());
item.put("OperNumber", depotItem.getOperNumber());
@@ -354,7 +335,8 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
pageUtil.setAdvSearch(getConditionALL());
depotItemService.find(pageUtil);
List<DepotItem> dataList = pageUtil.getPageList();
String mpList = model.getMpList(); //商品属性
String[] mpArr = mpList.split(",");
JSONObject outer = new JSONObject();
outer.put("total", pageUtil.getTotalCount());
//存放数据json数组
@@ -373,7 +355,9 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
item.put("MaterialId", depotItem.getMaterialId()==null?"":depotItem.getMaterialId().getId());
item.put("MaterialName", depotItem.getMaterialId().getName());
item.put("MaterialModel", depotItem.getMaterialId().getModel());
item.put("MaterialStandard", depotItem.getMaterialId().getStandard());
//扩展信息
String materialOther = getOtherInfo(mpArr, depotItem);
item.put("MaterialOther", materialOther);
item.put("MaterialColor", depotItem.getMaterialId().getColor());
item.put("MaterialUnit", depotItem.getMaterialId().getUnit());
Double unitPrice = 0.0;
@@ -459,7 +443,8 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
pageUtil.setAdvSearch(getConditionALL());
depotItemService.find(pageUtil);
List<DepotItem> dataList = pageUtil.getPageList();
String mpList = model.getMpList(); //商品属性
String[] mpArr = mpList.split(",");
JSONObject outer = new JSONObject();
outer.put("total", pageUtil.getTotalCount());
//存放数据json数组
@@ -474,7 +459,9 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
item.put("MaterialId", depotItem.getMaterialId()==null?"":depotItem.getMaterialId().getId());
item.put("MaterialName", depotItem.getMaterialId().getName());
item.put("MaterialModel", depotItem.getMaterialId().getModel());
item.put("MaterialStandard", depotItem.getMaterialId().getStandard());
//扩展信息
String materialOther = getOtherInfo(mpArr, depotItem);
item.put("MaterialOther", materialOther);
item.put("MaterialColor", depotItem.getMaterialId().getColor());
item.put("MaterialUnit", depotItem.getMaterialId().getUnit());
item.put("thisSum", InSum - OutSum);
@@ -507,7 +494,8 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
pageUtil.setAdvSearch(getConditionALL());
depotItemService.find(pageUtil);
List<DepotItem> dataList = pageUtil.getPageList();
String mpList = model.getMpList(); //商品属性
String[] mpArr = mpList.split(",");
JSONObject outer = new JSONObject();
outer.put("total", pageUtil.getTotalCount());
//存放数据json数组
@@ -525,7 +513,9 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
item.put("MaterialId", depotItem.getMaterialId()==null?"":depotItem.getMaterialId().getId());
item.put("MaterialName", depotItem.getMaterialId().getName());
item.put("MaterialModel", depotItem.getMaterialId().getModel());
item.put("MaterialStandard", depotItem.getMaterialId().getStandard());
//扩展信息
String materialOther = getOtherInfo(mpArr, depotItem);
item.put("MaterialOther", materialOther);
item.put("MaterialColor", depotItem.getMaterialId().getColor());
item.put("MaterialUnit", depotItem.getMaterialId().getUnit());
item.put("InSum", InSum);
@@ -562,7 +552,8 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
pageUtil.setAdvSearch(getConditionALL());
depotItemService.find(pageUtil);
List<DepotItem> dataList = pageUtil.getPageList();
String mpList = model.getMpList(); //商品属性
String[] mpArr = mpList.split(",");
JSONObject outer = new JSONObject();
outer.put("total", pageUtil.getTotalCount());
//存放数据json数组
@@ -584,7 +575,9 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
item.put("MaterialId", depotItem.getMaterialId()==null?"":depotItem.getMaterialId().getId());
item.put("MaterialName", depotItem.getMaterialId().getName());
item.put("MaterialModel", depotItem.getMaterialId().getModel());
item.put("MaterialStandard", depotItem.getMaterialId().getStandard());
//扩展信息
String materialOther = getOtherInfo(mpArr, depotItem);
item.put("MaterialOther", materialOther);
item.put("MaterialColor", depotItem.getMaterialId().getColor());
item.put("MaterialUnit", depotItem.getMaterialId().getUnit());
item.put("OutSum", OutSumRetail + OutSum);
@@ -843,6 +836,35 @@ public class DepotItemAction extends BaseAction<DepotItemModel>
sumPrice = Double.parseDouble(allPrice);
return sumPrice;
}
/**
* 获取扩展信息
* @return
*/
public String getOtherInfo(String[] mpArr, DepotItem depotItem){
String materialOther = "";
for(int i=0; i< mpArr.length; i++) {
if(mpArr[i].equals("颜色")) {
materialOther = materialOther + ((depotItem.getMaterialId().getColor() == null || depotItem.getMaterialId().getColor().equals(""))?"":"("+depotItem.getMaterialId().getColor() + ")");
}
if(mpArr[i].equals("规格")) {
materialOther = materialOther + ((depotItem.getMaterialId().getStandard() == null || depotItem.getMaterialId().getStandard().equals(""))?"":"("+depotItem.getMaterialId().getStandard() + ")");
}
if(mpArr[i].equals("制造商")) {
materialOther = materialOther + ((depotItem.getMaterialId().getMfrs() == null || depotItem.getMaterialId().getMfrs().equals(""))?"":"("+depotItem.getMaterialId().getMfrs() + ")");
}
if(mpArr[i].equals("自定义1")) {
materialOther = materialOther + ((depotItem.getMaterialId().getOtherField1() == null || depotItem.getMaterialId().getOtherField1().equals(""))?"":"("+depotItem.getMaterialId().getOtherField1() + ")");
}
if(mpArr[i].equals("自定义2")) {
materialOther = materialOther + ((depotItem.getMaterialId().getOtherField2() == null || depotItem.getMaterialId().getOtherField2().equals(""))?"":"("+depotItem.getMaterialId().getOtherField2() + ")");
}
if(mpArr[i].equals("自定义3")) {
materialOther = materialOther + ((depotItem.getMaterialId().getOtherField3() == null || depotItem.getMaterialId().getOtherField3().equals(""))?"":"("+depotItem.getMaterialId().getOtherField3() + ")");
}
}
return materialOther;
}
/**
* 拼接搜索条件
* @return

View File

@@ -303,7 +303,8 @@ public class MaterialAction extends BaseAction<MaterialModel>
materialService.find(pageUtil);
getSession().put("pageUtilMaterial", pageUtil);
List<Material> dataList = pageUtil.getPageList();
String mpList = model.getMpList(); //商品属性
String[] mpArr = mpList.split(",");
JSONObject outer = new JSONObject();
outer.put("total", pageUtil.getTotalCount());
//存放数据json数组
@@ -317,12 +318,32 @@ public class MaterialAction extends BaseAction<MaterialModel>
item.put("Name", material.getName());
item.put("CategoryId", material.getMaterialCategory().getId()); //类型Id
item.put("CategoryName", material.getMaterialCategory().getName()); //类型名称
item.put("Mfrs", material.getMfrs()==null?"" : material.getMfrs());
item.put("Packing", material.getPacking()==null?"" : material.getPacking());
item.put("SafetyStock", material.getSafetyStock()==null?"" : material.getSafetyStock());
item.put("Model", material.getModel()==null?"" : material.getModel());
item.put("Standard", material.getStandard()==null?"": material.getStandard());
item.put("Color", material.getColor()==null?"": material.getColor());
//扩展信息
String materialOther = "";
for(int i=0; i< mpArr.length; i++) {
if(mpArr[i].equals("颜色")) {
materialOther = materialOther + ((material.getColor() == null || material.getColor().equals(""))?"":"("+material.getColor() + ")");
}
if(mpArr[i].equals("规格")) {
materialOther = materialOther + ((material.getStandard() == null || material.getStandard().equals(""))?"":"("+material.getStandard() + ")");
}
if(mpArr[i].equals("制造商")) {
materialOther = materialOther + ((material.getMfrs() == null || material.getMfrs().equals(""))?"":"("+material.getMfrs() + ")");
}
if(mpArr[i].equals("自定义1")) {
materialOther = materialOther + ((material.getOtherField1() == null || material.getOtherField1().equals(""))?"":"("+material.getOtherField1() + ")");
}
if(mpArr[i].equals("自定义2")) {
materialOther = materialOther + ((material.getOtherField2() == null || material.getOtherField2().equals(""))?"":"("+material.getOtherField2() + ")");
}
if(mpArr[i].equals("自定义3")) {
materialOther = materialOther + ((material.getOtherField3() == null || material.getOtherField3().equals(""))?"":"("+material.getOtherField3() + ")");
}
}
item.put("MaterialOther", materialOther);
item.put("Unit", material.getUnit()==null?"": material.getUnit());
item.put("RetailPrice", material.getRetailPrice());
item.put("LowPrice", material.getLowPrice());
@@ -335,9 +356,12 @@ public class MaterialAction extends BaseAction<MaterialModel>
item.put("PriceStrategy", material.getPriceStrategy());
item.put("Enabled", material.getEnabled());
item.put("Remark", material.getRemark());
item.put("OtherField1", material.getOtherField1());
item.put("OtherField2", material.getOtherField2());
item.put("OtherField3", material.getOtherField3());
item.put("Color", material.getColor()==null?"" : material.getColor());
item.put("Standard", material.getStandard()==null?"" : material.getStandard());
item.put("Mfrs", material.getMfrs()==null?"" : material.getMfrs());
item.put("OtherField1", material.getOtherField1()==null?"" : material.getOtherField1());
item.put("OtherField2", material.getOtherField2()==null?"" : material.getOtherField2());
item.put("OtherField3", material.getOtherField3()==null?"" : material.getOtherField3());
item.put("op", 1);
dataArray.add(item);
}

View File

@@ -89,7 +89,7 @@ public class MaterialService extends BaseService<Material> implements MaterialIS
workbook = Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet("信息报表", 0);
//增加列头
String[] colunmName = {"品名","类型","型号","颜色","规格","安全存量","单位","零售价","最低售价","预计采购价","批发价","备注","状态"};
String[] colunmName = {"品名","类型","型号","安全存量","单位","零售价","最低售价","预计采购价","批发价","备注","状态"};
for(int i = 0 ;i < colunmName.length;i ++) {
sheet.setColumnView(i, 10);
sheet.addCell(new Label(i, 0, colunmName[i]));
@@ -102,8 +102,6 @@ public class MaterialService extends BaseService<Material> implements MaterialIS
sheet.addCell(new Label(j++,i, material.getName()));
sheet.addCell(new Label(j++,i, material.getMaterialCategory().getName()));
sheet.addCell(new Label(j++,i, material.getModel() == null ?"": material.getModel()));
sheet.addCell(new Label(j++,i, material.getColor() == null ?"": material.getColor()));
sheet.addCell(new Label(j++,i, material.getStandard() == null ?"": material.getStandard()));
sheet.addCell(getLabelInfo(cellInfo,j++,i, material.getSafetyStock() == null ?"": material.getSafetyStock().toString(),material));
sheet.addCell(new Label(j++,i, material.getUnit() == null ?"": material.getUnit()));
sheet.addCell(new Label(j++,i, material.getRetailPrice() == null ?"": material.getRetailPrice().toString()));
@@ -206,8 +204,6 @@ public class MaterialService extends BaseService<Material> implements MaterialIS
while(itsheet.hasNext()) {
//获取当前行数据
Row row = itsheet.next();
//获取一行有多少单元格
// System.out.println(row.getLastCellNum());
//excel表格第几行数据 从1开始 0 是表头
int rowNum = row.getRowNum();
@@ -242,7 +238,7 @@ public class MaterialService extends BaseService<Material> implements MaterialIS
Log.infoFileSync("==================excel表格中第" + totalRow + "行的第 " + cellIndex + "列的值为" + cell.getStringCellValue());
//每行中数据顺序 "品名","类型","型号","颜色","规格","安全存量","单位","零售价","最低售价","预计采购价","批发价","备注","状态"
//每行中数据顺序 "品名","类型","型号","安全存量","单位","零售价","最低售价","预计采购价","批发价","备注","状态"
switch(cellIndex) {
case MaterialConstants.BusinessForExcel.EXCEL_NAME :
String materialName = cell.getStringCellValue();
@@ -268,22 +264,6 @@ public class MaterialService extends BaseService<Material> implements MaterialIS
}
material.setModel(model);
break;
case MaterialConstants.BusinessForExcel.EXCEL_COLOR :
String color = cell.getStringCellValue();
if(null == color || "".equals(color)) {
Log.errorFileSync(">>>>>>>>>>>>>>>>列表没有填写(颜色)信息");
break;
}
material.setColor(color);
break;
case MaterialConstants.BusinessForExcel.EXCEL_STANDARD :
String standard = cell.getStringCellValue();
if(null == standard || "".equals(standard)) {
Log.errorFileSync(">>>>>>>>>>>>>>>>列表没有填写(规格)信息");
break;
}
material.setStandard(standard);
break;
case MaterialConstants.BusinessForExcel.EXCEL_SAFETY_STOCK :
String safetyStock = cell.getStringCellValue();
if(null == safetyStock || "".equals(safetyStock)) {