diff --git a/src/main/java/com/jsh/action/materials/DepotHeadAction.java b/src/main/java/com/jsh/action/materials/DepotHeadAction.java index e0bc8662..40b73b08 100644 --- a/src/main/java/com/jsh/action/materials/DepotHeadAction.java +++ b/src/main/java/com/jsh/action/materials/DepotHeadAction.java @@ -592,6 +592,98 @@ public class DepotHeadAction extends BaseAction } return allMoney; } + + /** + *入库出库明细接口 + */ + public void findInDetail(){ + PageUtil pageUtil = new PageUtil(); + pageUtil.setPageSize(model.getPageSize()); + pageUtil.setCurPage(model.getPageNo()); + Long pid =model.getProjectId(); + String dids =model.getDepotIds(); + String beginTime = model.getBeginTime(); + String endTime = model.getEndTime(); + String type = model.getType(); + try{ + depotHeadService.findInDetail(pageUtil,beginTime,endTime,type,pid,dids); + List dataList = pageUtil.getPageList(); + JSONObject outer = new JSONObject(); + outer.put("total", pageUtil.getTotalCount()); + //存放数据json数组 + JSONArray dataArray = new JSONArray(); + if(dataList!=null){ + for(Integer i=0; i>>>>>>>>>>>>>>>>>>查找信息异常", e); + } + catch (IOException e) { + Log.errorFileSync(">>>>>>>>>>>>>>>>>>>回写查询信息结果异常", e); + } + } + + /** + *入库出库统计接口 + */ + public void findInOutMaterialCount(){ + PageUtil pageUtil = new PageUtil(); + pageUtil.setPageSize(model.getPageSize()); + pageUtil.setCurPage(model.getPageNo()); + Long pid =model.getProjectId(); + String dids =model.getDepotIds(); + String beginTime = model.getBeginTime(); + String endTime = model.getEndTime(); + String type = model.getType(); + try{ + depotHeadService.findInOutMaterialCount(pageUtil, beginTime, endTime, type, pid, dids); + List dataList = pageUtil.getPageList(); + JSONObject outer = new JSONObject(); + outer.put("total", pageUtil.getTotalCount()); + //存放数据json数组 + JSONArray dataArray = new JSONArray(); + if(dataList!=null){ + for(Integer i=0; i>>>>>>>>>>>>>>>>>>查找信息异常", e); + } + catch (IOException e) { + Log.errorFileSync(">>>>>>>>>>>>>>>>>>>回写查询信息结果异常", e); + } + } /** * 拼接搜索条件 diff --git a/src/main/java/com/jsh/dao/materials/DepotHeadDAO.java b/src/main/java/com/jsh/dao/materials/DepotHeadDAO.java index 3c18fe50..e956eb22 100644 --- a/src/main/java/com/jsh/dao/materials/DepotHeadDAO.java +++ b/src/main/java/com/jsh/dao/materials/DepotHeadDAO.java @@ -50,4 +50,69 @@ public class DepotHeadDAO extends BaseDAO implements DepotHeadIDAO { Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(sql); query.executeUpdate(); } + + @SuppressWarnings("unchecked") + public void findInDetail(PageUtil pageUtil,String beginTime,String endTime,String type,Long pid,String dids) throws JshException { + StringBuffer queryString = new StringBuffer(); + queryString.append("select dh.Number,m.`name`,m.Model,di.UnitPrice,di.OperNumber,di.AllPrice,s.supplier,d.dName,date_format(dh.OperTime, '%Y-%m-%d') " + + "from jsh_depothead dh inner join jsh_depotitem di on di.HeaderId=dh.id " + + "inner join jsh_material m on m.id=di.MaterialId " + + "inner join jsh_supplier s on s.id=dh.OrganId " + + "inner join (select id,name as dName from jsh_depot) d on d.id=di.DepotId " + + "where dh.Type='"+ type +"' and dh.OperTime >='"+ beginTime +"' and dh.OperTime <='"+ endTime +"' "); + if(pid!=null){ + queryString.append(" and di.DepotId=" + pid ); + } + else { + queryString.append(" and di.DepotId in (" + dids + ")" ); + } + queryString.append(" ORDER BY OperTime DESC,Number desc"); + Query query; + query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(queryString + SearchConditionUtil.getCondition(pageUtil.getAdvSearch())); + pageUtil.setTotalCount(query.list().size()); + // 分页查询 + int pageNo = pageUtil.getCurPage(); + int pageSize = pageUtil.getPageSize(); + if (0 != pageNo && 0 != pageSize) { + query.setFirstResult((pageNo - 1) * pageSize); + query.setMaxResults(pageSize); + } + pageUtil.setPageList(query.list()); + } + + @SuppressWarnings("unchecked") + public void findInOutMaterialCount(PageUtil pageUtil,String beginTime,String endTime,String type,Long pid,String dids) throws JshException { + StringBuffer queryString = new StringBuffer(); + queryString.append("select di.MaterialId, m.mName,m.Model,m.categoryName, "+ + " (select sum(jsh_depotitem.AllPrice) priceSum from jsh_depothead INNER JOIN jsh_depotitem " + + "on jsh_depothead.id=jsh_depotitem.HeaderId where jsh_depotitem.MaterialId=di.MaterialId " + + " and jsh_depothead.type='"+ type +"' and dh.OperTime >='"+ beginTime +"' and dh.OperTime <='"+ endTime +"'"); + if(pid!=null){ + queryString.append(" and di.DepotId=" + pid ); + } + else { + queryString.append(" and di.DepotId in (" + dids + ")" ); + } + queryString.append(" ) priceSum from jsh_depothead dh INNER JOIN jsh_depotitem di on dh.id=di.HeaderId " + + " INNER JOIN (SELECT jsh_material.id,jsh_material.name mName, Model,jsh_materialcategory.`Name` categoryName from jsh_material INNER JOIN jsh_materialcategory on jsh_material.CategoryId=jsh_materialcategory.Id) m " + + " on m.Id=di.MaterialId where dh.type='"+ type +"' and dh.OperTime >='"+ beginTime +"' and dh.OperTime <='"+ endTime +"' "); + if(pid!=null){ + queryString.append(" and di.DepotId=" + pid ); + } + else { + queryString.append(" and di.DepotId in (" + dids + ")" ); + } + queryString.append(" GROUP BY di.MaterialId,m.mName,m.Model,m.categoryName "); + Query query; + query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(queryString + SearchConditionUtil.getCondition(pageUtil.getAdvSearch())); + pageUtil.setTotalCount(query.list().size()); + // 分页查询 + int pageNo = pageUtil.getCurPage(); + int pageSize = pageUtil.getPageSize(); + if (0 != pageNo && 0 != pageSize) { + query.setFirstResult((pageNo - 1) * pageSize); + query.setMaxResults(pageSize); + } + pageUtil.setPageList(query.list()); + } } diff --git a/src/main/java/com/jsh/dao/materials/DepotHeadIDAO.java b/src/main/java/com/jsh/dao/materials/DepotHeadIDAO.java index 2f53496d..0c67d2e6 100644 --- a/src/main/java/com/jsh/dao/materials/DepotHeadIDAO.java +++ b/src/main/java/com/jsh/dao/materials/DepotHeadIDAO.java @@ -16,5 +16,9 @@ public interface DepotHeadIDAO extends BaseIDAO void findAllMoney(PageUtil pageUtil, Integer supplierId, String type, String subType, String mode) throws JshException; public void batchSetStatus(Boolean status,String depotHeadIDs); + + public void findInDetail(PageUtil pageUtil,String beginTime,String endTime,String type,Long pid,String dids) throws JshException; + + public void findInOutMaterialCount(PageUtil pageUtil,String beginTime,String endTime,String type,Long pid,String dids) throws JshException; } diff --git a/src/main/java/com/jsh/service/materials/DepotHeadIService.java b/src/main/java/com/jsh/service/materials/DepotHeadIService.java index 20defb42..fe051222 100644 --- a/src/main/java/com/jsh/service/materials/DepotHeadIService.java +++ b/src/main/java/com/jsh/service/materials/DepotHeadIService.java @@ -16,4 +16,8 @@ public interface DepotHeadIService extends BaseIService void findAllMoney(PageUtil depotHead, Integer supplierId, String type, String subType, String mode)throws JshException; public void batchSetStatus(Boolean status,String depotHeadIDs); + + public void findInDetail(PageUtil pageUtil,String beginTime,String endTime, String type, Long pid,String dids)throws JshException; + + public void findInOutMaterialCount(PageUtil pageUtil,String beginTime,String endTime, String type, Long pid,String dids)throws JshException; } diff --git a/src/main/java/com/jsh/service/materials/DepotHeadService.java b/src/main/java/com/jsh/service/materials/DepotHeadService.java index 52e466d0..b590fac4 100644 --- a/src/main/java/com/jsh/service/materials/DepotHeadService.java +++ b/src/main/java/com/jsh/service/materials/DepotHeadService.java @@ -37,4 +37,12 @@ public class DepotHeadService extends BaseService implements DepotHea public void batchSetStatus(Boolean status,String depotHeadIDs){ depotHeadDao.batchSetStatus(status, depotHeadIDs); } + + public void findInDetail(PageUtil pageUtil,String beginTime,String endTime,String type,Long pid,String dids) throws JshException { + depotHeadDao.findInDetail(pageUtil,beginTime,endTime,type,pid,dids); + } + + public void findInOutMaterialCount(PageUtil pageUtil,String beginTime,String endTime,String type,Long pid,String dids) throws JshException { + depotHeadDao.findInOutMaterialCount(pageUtil,beginTime,endTime,type,pid,dids); + } }