diff --git a/src/main/java/com/jsh/action/materials/DepotItemAction.java b/src/main/java/com/jsh/action/materials/DepotItemAction.java index 57ef9c23..7c2aef3a 100644 --- a/src/main/java/com/jsh/action/materials/DepotItemAction.java +++ b/src/main/java/com/jsh/action/materials/DepotItemAction.java @@ -152,7 +152,7 @@ public class DepotItemAction extends BaseAction JSONObject item = new JSONObject(); item.put("Id", depotItem.getId()); item.put("MaterialId", depotItem.getMaterialId()==null?"":depotItem.getMaterialId().getId()); - String MaterialName = ((depotItem.getMaterialId().getModel().equals(""))?"":""+depotItem.getMaterialId().getModel())+" "+depotItem.getMaterialId().getName() + String MaterialName = ((depotItem.getMaterialId().getModel() == null||depotItem.getMaterialId().getModel().equals(""))?"":depotItem.getMaterialId().getModel()+" ") + depotItem.getMaterialId().getName() +((depotItem.getMaterialId().getStandard() == null||depotItem.getMaterialId().getStandard().equals(""))?"":"("+depotItem.getMaterialId().getStandard() + ")") +((depotItem.getMaterialId().getColor() == null||depotItem.getMaterialId().getColor().equals(""))?"":"("+depotItem.getMaterialId().getColor() + ")") +((depotItem.getMaterialId().getUnit() == null||depotItem.getMaterialId().getUnit().equals(""))?"":"("+depotItem.getMaterialId().getUnit() + ")"); @@ -206,7 +206,10 @@ public class DepotItemAction extends BaseAction JSONObject item = new JSONObject(); Integer prevSum = sumNumber("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),true) - sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),true); Integer InSum = sumNumber("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); - Integer OutSum = sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); + Integer OutSum = sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); + Double prevPrice = sumPrice("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),true) - sumPrice("出库", depotItem.getMaterialId().getId(), model.getMonthTime(), true); + Double InPrice = sumPrice("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); + Double OutPrice = sumPrice("出库", depotItem.getMaterialId().getId(), model.getMonthTime(), false); item.put("Id", depotItem.getId()); item.put("MaterialId", depotItem.getMaterialId()==null?"":depotItem.getMaterialId().getId()); item.put("MaterialName", depotItem.getMaterialId().getName()); @@ -214,12 +217,12 @@ public class DepotItemAction extends BaseAction item.put("MaterialStandard", depotItem.getMaterialId().getStandard()); item.put("MaterialColor", depotItem.getMaterialId().getColor()); item.put("MaterialUnit", depotItem.getMaterialId().getUnit()); + item.put("UnitPrice", (prevPrice + InPrice - OutPrice)/(prevSum + InSum - OutSum)); item.put("prevSum", prevSum); item.put("InSum", InSum); item.put("OutSum", OutSum); item.put("thisSum", prevSum + InSum - OutSum); - item.put("thisAllPrice", depotItem.getUnitPrice() * (prevSum + InSum - OutSum)); - item.put("UnitPrice", depotItem.getUnitPrice()); + item.put("thisAllPrice", prevPrice + InPrice - OutPrice); dataArray.add(item); } } @@ -371,10 +374,10 @@ public class DepotItemAction extends BaseAction { for(DepotItem depotItem:dataList) { - Integer prevSum = sumNumber("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),true) - sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),true); - Integer InSum = sumNumber("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); - Integer OutSum = sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); - thisAllPrice = thisAllPrice + depotItem.getUnitPrice() * (prevSum + InSum - OutSum); + Double prevPrice = sumPrice("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),true) - sumPrice("出库", depotItem.getMaterialId().getId(), model.getMonthTime(), true); + Double InPrice = sumPrice("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); + Double OutPrice = sumPrice("出库", depotItem.getMaterialId().getId(), model.getMonthTime(), false); + thisAllPrice = thisAllPrice + (prevPrice + InPrice - OutPrice); } } outer.put("totalCount", thisAllPrice); @@ -417,7 +420,10 @@ public class DepotItemAction extends BaseAction JSONObject item = new JSONObject(); Integer prevSum = sumNumber("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),true) - sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),true); Integer InSum = sumNumber("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); - Integer OutSum = sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); + Integer OutSum = sumNumber("出库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); + Double prevPrice = sumPrice("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),true) - sumPrice("出库", depotItem.getMaterialId().getId(), model.getMonthTime(), true); + Double InPrice = sumPrice("入库",depotItem.getMaterialId().getId(),model.getMonthTime(),false); + Double OutPrice = sumPrice("出库", depotItem.getMaterialId().getId(), model.getMonthTime(), false); item.put("Id", depotItem.getId()); item.put("MaterialId", depotItem.getMaterialId()==null?"":depotItem.getMaterialId().getId()); item.put("MaterialName", depotItem.getMaterialId().getName()); @@ -425,12 +431,12 @@ public class DepotItemAction extends BaseAction item.put("MaterialStandard", depotItem.getMaterialId().getStandard()); item.put("MaterialColor", depotItem.getMaterialId().getColor()); item.put("MaterialUnit", depotItem.getMaterialId().getUnit()); + item.put("UnitPrice", (prevPrice + InPrice - OutPrice)/(prevSum + InSum - OutSum)); item.put("prevSum", prevSum); item.put("InSum", InSum); item.put("OutSum", OutSum); item.put("thisSum", prevSum + InSum - OutSum); - item.put("thisAllPrice", depotItem.getUnitPrice() * (prevSum + InSum - OutSum)); - item.put("UnitPrice", depotItem.getUnitPrice()); + item.put("thisAllPrice", prevPrice + InPrice - OutPrice); dataArray.add(item); } } @@ -446,7 +452,15 @@ public class DepotItemAction extends BaseAction Log.infoFileSync("===================调用导出信息action方法exportExcel结束=================="); return EXCEL; } - + + /** + * 数量合计 + * @param type + * @param MId + * @param MonthTime + * @param isPrev + * @return + */ @SuppressWarnings("unchecked") public Integer sumNumber(String type,Long MId,String MonthTime, Boolean isPrev) { Integer sumNumber = 0; @@ -469,6 +483,38 @@ public class DepotItemAction extends BaseAction sumNumber = Integer.parseInt(allNumber); return sumNumber; } + + /** + * 价格合计 + * @param type + * @param MId + * @param MonthTime + * @param isPrev + * @return + */ + @SuppressWarnings("unchecked") + public Double sumPrice(String type,Long MId,String MonthTime, Boolean isPrev) { + Double sumPrice = 0.0; + String allPrice = ""; + PageUtil pageUtil = new PageUtil(); + pageUtil.setPageSize(0); + pageUtil.setCurPage(0); + try { + depotItemService.findPriceByType(pageUtil, type, MId, MonthTime, isPrev); + allPrice = pageUtil.getPageList().toString(); + allPrice = allPrice.substring(1,allPrice.length()-1); + if(allPrice.equals("null")){ + allPrice = "0"; + } + allPrice = allPrice.replace(".0", ""); + } catch (JshException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + sumPrice = Double.parseDouble(allPrice); + return sumPrice; + } + @SuppressWarnings("unchecked") public Integer sumNumberBuyOrSale(String type,String subType,Long MId,String MonthTime) { Integer sumNumber = 0; diff --git a/src/main/java/com/jsh/action/materials/MaterialAction.java b/src/main/java/com/jsh/action/materials/MaterialAction.java index d26a8a1c..94892115 100644 --- a/src/main/java/com/jsh/action/materials/MaterialAction.java +++ b/src/main/java/com/jsh/action/materials/MaterialAction.java @@ -224,14 +224,14 @@ public class MaterialAction extends BaseAction JSONObject item = new JSONObject(); item.put("Id", material.getId()); item.put("Name", material.getName()); - item.put("Model", material.getModel()); - item.put("Standard", material.getStandard()); - item.put("Color", material.getColor()); - item.put("Unit", material.getUnit()); + item.put("Model", material.getModel()==null?"" : material.getModel()); + item.put("Standard", material.getStandard()==null?"": material.getStandard()); + item.put("Color", material.getColor()==null?"": material.getColor()); + item.put("Unit", material.getUnit()==null?"": material.getUnit()); item.put("RetailPrice", material.getRetailPrice()); item.put("LowPrice", material.getLowPrice()); - item.put("PresetPriceOne", material.getPresetPriceOne()); - item.put("PresetPriceTwo", material.getPresetPriceTwo()); + item.put("PresetPriceOne", material.getPresetPriceOne()==null? "":material.getPresetPriceOne()); + item.put("PresetPriceTwo", material.getPresetPriceTwo()==null? "":material.getPresetPriceTwo()); item.put("Remark", material.getRemark()); item.put("op", 1); dataArray.add(item); @@ -323,7 +323,7 @@ public class MaterialAction extends BaseAction JSONObject item = new JSONObject(); item.put("Id", material.getId()); //名称 - String MaterialName = ((material.getModel().equals(""))?"":""+material.getModel()) +" "+ material.getName() + String MaterialName = ((material.getModel() == null || material.getModel().equals(""))?"":material.getModel() +" ") + material.getName() + ((material.getStandard() == null || material.getStandard().equals(""))?"":"("+material.getStandard() + ")") + ((material.getColor() == null || material.getColor().equals(""))?"":"("+material.getColor() + ")") + ((material.getUnit() == null || material.getUnit().equals(""))?"":"("+material.getUnit() + ")"); diff --git a/src/main/java/com/jsh/dao/materials/DepotItemDAO.java b/src/main/java/com/jsh/dao/materials/DepotItemDAO.java index 06d1cf26..0936d4e0 100644 --- a/src/main/java/com/jsh/dao/materials/DepotItemDAO.java +++ b/src/main/java/com/jsh/dao/materials/DepotItemDAO.java @@ -36,6 +36,22 @@ public class DepotItemDAO extends BaseDAO implements DepotItemIDAO pageUtil.setTotalCount(query.list().size()); pageUtil.setPageList(query.list()); } + + @SuppressWarnings("unchecked") + @Override + public void findPriceByType(PageUtil pageUtil,String type,Long MId,String MonthTime,Boolean isPrev) throws JshException + { + //多表联查,多表连查,此处用到了createSQLQuery,可以随便写sql语句,很方便 + Query query; + if(isPrev) { + query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery("select sum(AllPrice) as AllPrice from jsh_depotitem,jsh_depothead where jsh_depotitem.HeaderId = jsh_depothead.id and type='" + type +"' and MaterialId ="+ MId + " and jsh_depothead.OperTime <'"+ MonthTime +"-01 00:00:00' " + SearchConditionUtil.getCondition(pageUtil.getAdvSearch())); + } + else { + query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery("select sum(AllPrice) as AllPrice from jsh_depotitem,jsh_depothead where jsh_depotitem.HeaderId = jsh_depothead.id and type='" + type +"' and MaterialId ="+ MId + " and jsh_depothead.OperTime >='"+ MonthTime +"-01 00:00:00' and jsh_depothead.OperTime <='"+ MonthTime +"-31 00:00:00' " + SearchConditionUtil.getCondition(pageUtil.getAdvSearch())); + } + pageUtil.setTotalCount(query.list().size()); + pageUtil.setPageList(query.list()); + } @SuppressWarnings("unchecked") @Override diff --git a/src/main/java/com/jsh/dao/materials/DepotItemIDAO.java b/src/main/java/com/jsh/dao/materials/DepotItemIDAO.java index c51d79bd..97aed462 100644 --- a/src/main/java/com/jsh/dao/materials/DepotItemIDAO.java +++ b/src/main/java/com/jsh/dao/materials/DepotItemIDAO.java @@ -8,7 +8,9 @@ import com.jsh.util.PageUtil; public interface DepotItemIDAO extends BaseIDAO { - public void findByType(PageUtil pageUtil,String type,Long MId, String MonthTime,Boolean isPrev) throws JshException; - + public void findByType(PageUtil pageUtil,String type,Long MId, String MonthTime,Boolean isPrev) throws JshException; + + public void findPriceByType(PageUtil pageUtil,String type,Long MId, String MonthTime,Boolean isPrev) throws JshException; + public void buyOrSale(PageUtil pageUtil,String type, String subType,Long MId, String MonthTime, String sumType) throws JshException; } diff --git a/src/main/java/com/jsh/service/materials/DepotItemIService.java b/src/main/java/com/jsh/service/materials/DepotItemIService.java index 17e4dded..bcea4ebb 100644 --- a/src/main/java/com/jsh/service/materials/DepotItemIService.java +++ b/src/main/java/com/jsh/service/materials/DepotItemIService.java @@ -15,6 +15,8 @@ import com.jsh.util.PageUtil; public interface DepotItemIService extends BaseIService { void findByType(PageUtil depotItem, String type, Long MId, String MonthTime,Boolean isPrev)throws JshException; + + void findPriceByType(PageUtil depotItem, String type, Long MId, String MonthTime,Boolean isPrev)throws JshException; void buyOrSale(PageUtil depotItem, String type, String subType, Long MId, String MonthTime, String sumType)throws JshException; diff --git a/src/main/java/com/jsh/service/materials/DepotItemService.java b/src/main/java/com/jsh/service/materials/DepotItemService.java index 722b02ae..424f1771 100644 --- a/src/main/java/com/jsh/service/materials/DepotItemService.java +++ b/src/main/java/com/jsh/service/materials/DepotItemService.java @@ -49,6 +49,12 @@ public class DepotItemService extends BaseService implements DepotIte { depotItemDao.findByType(pageUtil, type, MId, MonthTime,isPrev); } + + @Override + public void findPriceByType(PageUtil pageUtil, String type,Long MId, String MonthTime,Boolean isPrev) throws JshException + { + depotItemDao.findPriceByType(pageUtil, type, MId, MonthTime,isPrev); + } @Override public void buyOrSale(PageUtil pageUtil, String type,String subType, Long MId, String MonthTime, String sumType) throws JshException diff --git a/src/main/webapp/js/pages/financial/financial_base.js b/src/main/webapp/js/pages/financial/financial_base.js index f6bfa938..32d93bf4 100644 --- a/src/main/webapp/js/pages/financial/financial_base.js +++ b/src/main/webapp/js/pages/financial/financial_base.js @@ -223,7 +223,7 @@ columns:[[ { field: 'Id',width:35,align:"center",checkbox:true}, {field: 'OrganId',width:5, hidden:true}, - { title: '单据编号',field: 'BillNo',width:100}, + { title: '单据编号',field: 'BillNo',width:140}, { title: '单据时间 ',field: 'BillTime',width:100}, { title: '合计',field: 'TotalPrice',width:80}, { title: '备注',field: 'Remark',width:100}, diff --git a/src/main/webapp/js/pages/materials/in_out.js b/src/main/webapp/js/pages/materials/in_out.js index c47070b4..322cb8a0 100644 --- a/src/main/webapp/js/pages/materials/in_out.js +++ b/src/main/webapp/js/pages/materials/in_out.js @@ -356,9 +356,9 @@ columns:[[ { field: 'Id',width:35,align:"center",checkbox:true}, {field: 'OrganId',width:5, hidden:true}, - { title: '单据编号',field: 'Number',width:100}, - { title: '单据日期 ',field: 'OperTime',width:100}, - { title: '创建时间',field: 'CreateTime',width:100}, + { title: '单据编号',field: 'Number',width:140}, + { title: '单据日期 ',field: 'OperTime',width:80}, + { title: '创建时间',field: 'CreateTime',width:80}, { title: '操作员',field: 'OperPersonName',width:80}, { title: '合计',field: 'TotalPrice',width:50}, { title: payTypeTitle,field: 'ChangeAmount',width:50,hidden:hideType}, diff --git a/src/main/webapp/pages/manage/user.jsp b/src/main/webapp/pages/manage/user.jsp index 270e2f83..4e817cb7 100644 --- a/src/main/webapp/pages/manage/user.jsp +++ b/src/main/webapp/pages/manage/user.jsp @@ -66,7 +66,8 @@
- + + 初始密码:123456
diff --git a/src/main/webapp/pages/materials/material.jsp b/src/main/webapp/pages/materials/material.jsp index 980c7188..cab256f7 100644 --- a/src/main/webapp/pages/materials/material.jsp +++ b/src/main/webapp/pages/materials/material.jsp @@ -66,7 +66,7 @@ 型号 - + 规格 @@ -84,9 +84,9 @@ 预设售价一 - + 预设售价二 - + 备注