| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351 |
- package cn.com.lzt.report.controller;
- import java.text.DecimalFormat;
- import java.text.Format;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.lang.xwork.StringUtils;
- import org.apache.log4j.Logger;
- import org.jeecgframework.core.common.controller.BaseController;
- import org.jeecgframework.core.common.exception.BusinessException;
- import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
- import org.jeecgframework.core.common.model.json.DataGrid;
- import org.jeecgframework.core.util.DateUtils;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.poi.excel.entity.ExportParams;
- import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import com.xcgl.utils.XcglDateUtils;
- import cn.com.lzt.purchase.controller.POrdersController;
- import cn.com.lzt.purchase.entity.POrdersEntity;
- import cn.com.lzt.report.dao.PurchaseRptDao;
- import cn.com.lzt.report.dto.SupplierSumRptDto;
- import cn.com.lzt.report.entity.ProjectPurchaseSum4LeaderEntity;
- import cn.com.lzt.report.entity.ProjectPurchaseSumEntity;
- import cn.com.lzt.report.entity.SGDSummaryEntity;
- @Controller
- @RequestMapping("/purchaseRptController")
- public class PurchaseRptController extends BaseController
- {
- @Autowired
- private PurchaseRptDao reportDao;
- @Autowired
- private SystemService systemService;
- /**
- * Logger for this class
- */
- private static final Logger logger = Logger.getLogger(POrdersController.class);
-
- /**
- * 物料采购汇总表
- * */
- @RequestMapping(params = "projectPurchaseSumRpt")
- public ModelAndView list(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/report/projectPurchaseSumRpt");
- }
-
- @RequestMapping(params = "projectPurchaseSumRptData")
- @ResponseBody
- public List<ProjectPurchaseSumEntity> getGridDate(HttpServletRequest request) {
- String load = request.getParameter("load");
- List<ProjectPurchaseSumEntity> data;
- if(load != null && load.equals("false"))
- {
- data = new ArrayList<ProjectPurchaseSumEntity>();
- data.add(new ProjectPurchaseSumEntity());
-
- return data;
- }
- String attType = request.getParameter("attType");
- String attYear = request.getParameter("attYear");
- String attMonth = request.getParameter("attMonth");
- String attQuarters = request.getParameter("attQuarters");
- Format f2 = new DecimalFormat("00");
- String begin = "",end = "";
- if(attType.equals("0")) {//月度
- begin = attYear + "-" + attMonth;
- end = attYear + "-" + attMonth;
- }else if(attType.equals("1")) {//季度
- begin = attYear + "-" + f2.format((Integer.parseInt(attQuarters) - 1) * 3 + 1);
- end = attYear + "-" + f2.format(Integer.parseInt(attQuarters) * 3);
- }else {//年度
- begin = attYear + "-01";
- end = attYear + "-12";
- }
- data = reportDao.getAllEntry(begin,end,request.getParameter("warehouseid"));
- return data;
- }
- /**
- * 物料采购分类汇总表
- * */
- @RequestMapping(params = "projectPurchaseSum4LeaderRpt")
- public ModelAndView list4Leader(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/report/projectPurchaseSum4LeaderRpt");
- }
- /**
- * 物料采购分类汇总表
- * */
- @RequestMapping(params = "projectPurchaseSum4LeaderRptData")
- @ResponseBody
- public List<ProjectPurchaseSum4LeaderEntity> projectPurchaseSum4LeaderRptData(HttpServletRequest request) {
- String load = request.getParameter("load");
- List<ProjectPurchaseSum4LeaderEntity> data;
- if(load != null && load.equals("false"))
- {
- data = new ArrayList<ProjectPurchaseSum4LeaderEntity>();
- data.add(new ProjectPurchaseSum4LeaderEntity());
-
- return data;
- }
- String attType = request.getParameter("attType");
- String attYear = request.getParameter("attYear");
- String attMonth = request.getParameter("attMonth");
- String attQuarters = request.getParameter("attQuarters");
- Format f2 = new DecimalFormat("00");
- String begin = "",end = "",preBegin = "", preEnd = "";
- if(attType.equals("0")) {//月度
- begin = attYear + "-" + attMonth;
- end = attYear + "-" + attMonth;
- if(attMonth.equals("01"))
- {
- String premonth = "12";
- preBegin = Integer.toString((Integer.parseInt(attYear) - 1))+"-"+premonth;
- preEnd = preBegin;
- }else {
- preBegin = attYear +"-"+(Integer.parseInt(attMonth)<11?
- "0"+(Integer.parseInt(attMonth) - 1):Integer.parseInt(attMonth) - 1);
- preEnd = preBegin;
- }
- }else if(attType.equals("1")) {//季度
- begin = attYear + "-" + f2.format((Integer.parseInt(attQuarters) - 1) * 3 + 1);
- end = attYear + "-" + f2.format(Integer.parseInt(attQuarters) * 3);
- if(attQuarters.equals("1")) {
- preBegin = Integer.toString((Integer.parseInt(attYear) - 1))+"-10";
- preEnd = Integer.toString((Integer.parseInt(attYear) - 1))+"-12";
- }else {
- preBegin = attYear +"-" + f2.format((Integer.parseInt(attQuarters) - 2) * 3 + 1);
- preEnd = attYear + "-" + f2.format((Integer.parseInt(attQuarters) - 1) * 3);
- }
- }else {//年度
- begin = attYear + "-01";
- end = attYear + "-12";
- preBegin = String.valueOf(Integer.parseInt(attYear) - 1)+ "-01";
- preEnd = String.valueOf(Integer.parseInt(attYear) - 1)+ "-12";
- }
-
- data = reportDao.getAllEntry4Leader(begin,end,preBegin,preEnd,request.getParameter("warehouseid"));
- return data;
- }
-
- /**
- * 物料采购分类汇总表
- * */
- @RequestMapping(params = "SGDSummaryRpt")
- public ModelAndView listSGDSummaryRpt(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/report/sgdSummaryRpt");
- }
-
- @RequestMapping(params = "SGDSummaryRptData")
- @ResponseBody
- public List<SGDSummaryEntity> getGridDateSGDSummaryRpt(HttpServletRequest request) {
- String load = request.getParameter("load");
- List<SGDSummaryEntity> data;
- if(load != null && load.equals("false"))
- {
- data = new ArrayList<SGDSummaryEntity>();
- data.add(new SGDSummaryEntity());
-
- return data;
- }
- //当前月度(期间)
- String period = request.getParameter("period");
- // if(period == null || period.length() == 0)
- // {
- // period = DateUtils.formatDate(DateUtil.getCurrDate(), "yyyy-MM");
- //
- // }else {
- // String year = period.substring(0, 4);
- // String month = period.substring(4);
- // period = year+"-"+month;
- // }
- data = reportDao.getAllEntry4SGDSummary(period,request.getParameter("warehouseid"));
- return data;
- }
- /**
- * 供应商供货汇总表
- * */
- @RequestMapping(params = "supplierSumRpt")
- public ModelAndView supplierSumRpt(HttpServletRequest request) {
- String today = DateUtils.date_sdf.format(new Date());
- String monthEarly = XcglDateUtils.addDateMonth(new Date(), -1, DateUtils.date_sdf);
- request.setAttribute("orderDate_end", today);
- request.setAttribute("orderDate_begin", monthEarly);
- return new ModelAndView("cn/com/lzt/report/supplierSumRpt");
- }
-
- @RequestMapping(params = "datagridsupplierSumRpt")
- public void datagridsupplierSumRpt(POrdersEntity orders,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- CriteriaQuery cq = new CriteriaQuery(POrdersEntity.class, dataGrid);
- String orderDateBegin = request.getParameter("orderDate_begin");
- String orderDateEnd = request.getParameter("orderDate_end");
- String warehouseName = orders.getWarehouseName();
- String supplierName = request.getParameter("supplierName");
- List<String> supList = null;
- if(StringUtils.isNotEmpty(supplierName)) {
- String hql = "select id FROM t_b_related_units where unit_Name like '%"+supplierName+"%'";
- supList = systemService.findListbySql(hql);
- orders.setSupplierName(null);
- }
- if(StringUtils.isNotBlank(warehouseName)){
- orders.setWarehouseName("*" +warehouseName +"*");
- }
- //查询条件组装器
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, orders);
- try{
- //自定义追加查询条件
- if(StringUtils.isNotBlank(orderDateBegin) && StringUtils.isNotBlank(orderDateEnd)){
- cq.ge("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateBegin + " 00:00:00"));
- cq.le("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateEnd + " 23:59:59"));
- }
- }catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
- List<POrdersEntity> list = systemService.getListByCriteriaQuery(cq, false);
- if(list.size() == 0)
- return;
- List<String> ids = new ArrayList<String>();
- for (POrdersEntity order : list) {
- ids.add(order.getId());
- }
- List<SupplierSumRptDto> retlist = supList !=null && supList.size() == 0 ? new ArrayList<SupplierSumRptDto>():
- reportDao.getAllEntry4SupplierSummary(ids, supList);
- dataGrid.setResults(retlist);
- double notarrived = 0;
- for (SupplierSumRptDto detail : retlist) {
- notarrived += detail.getQuantityNotArrived() == null?0:detail.getQuantityNotArrived();
- }
- dataGrid.setFooter("quantity,money,quantityNotArrived:"+notarrived);
- TagUtil.datagrid(response, dataGrid);
- }
- //供应商供货汇总表 : 数据钻取列表
- @RequestMapping(params = "supplierSumRptDetail")
- public ModelAndView supplierSumRptDetail(HttpServletRequest request) {
- request.setAttribute("orderDate_end", request.getParameter("orderDate_end"));
- request.setAttribute("orderDate_begin", request.getParameter("orderDate_begin"));
- request.setAttribute("warehouseName", request.getParameter("warehouseName"));
- request.setAttribute("supplierid", request.getParameter("supplierid"));
- request.setAttribute("goodsId", request.getParameter("goodsId"));
- return new ModelAndView("cn/com/lzt/report/supplierSumRptDetail");
- }
-
- @RequestMapping(params = "datagridsupplierSumRptDetail")
- public void datagridsupplierSumRptDetail(POrdersEntity orders,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- CriteriaQuery cq = new CriteriaQuery(POrdersEntity.class, dataGrid);
- String orderDateBegin = request.getParameter("orderDate_begin");
- String orderDateEnd = request.getParameter("orderDate_end");
- String warehouseName = orders.getWarehouseName();
- String supplierid = request.getParameter("supplierid");
- String goodsId = request.getParameter("goodsId");
- orders.setSupplierId(null);
- if(StringUtils.isNotBlank(warehouseName)){
- orders.setWarehouseName("*" +warehouseName +"*");
- }
- //查询条件组装器
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, orders);
- try{
- //自定义追加查询条件
- if(StringUtils.isNotBlank(orderDateBegin) && StringUtils.isNotBlank(orderDateEnd)){
- cq.ge("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateBegin + " 00:00:00"));
- cq.le("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateEnd + " 23:59:59"));
- }
- }catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
- List<POrdersEntity> list = systemService.getListByCriteriaQuery(cq, false);
- if(list.size() == 0)
- return;
- List<String> orderids = new ArrayList<String>();
- for (POrdersEntity order : list) {
- orderids.add(order.getId());
- }
- List<SupplierSumRptDto> retlist = reportDao.getAllEntry4SupplierSummaryDetail(orderids, supplierid,goodsId);
- dataGrid.setResults(retlist);
- double notarrived = 0;
- for (SupplierSumRptDto detail : retlist) {
- notarrived += detail.getQuantityNotArrived() == null?0:detail.getQuantityNotArrived();
- }
- dataGrid.setFooter("quantity,money,quantityNotArrived:"+notarrived);
- TagUtil.datagrid(response, dataGrid);
- }
- @RequestMapping(params = "exportxmlSupplierSumRpt")
- public String exportxmlSupplierSumRpt(POrdersEntity orders,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- CriteriaQuery cq = new CriteriaQuery(POrdersEntity.class, dataGrid);
- String orderDateBegin = request.getParameter("orderDate_begin");
- String orderDateEnd = request.getParameter("orderDate_end");
- String warehouseName = orders.getWarehouseName();
- String supplierName = request.getParameter("supplierName");
- List<String> supList = null;
- if(StringUtils.isNotEmpty(supplierName)) {
- String hql = "select id FROM t_b_related_units where unit_Name like '%"+supplierName+"%'";
- supList = systemService.findListbySql(hql);
- orders.setSupplierName(null);
- }
- if(StringUtils.isNotBlank(warehouseName)){
- orders.setWarehouseName("*" +warehouseName +"*");
- }
- //查询条件组装器
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, orders);
- try{
- //自定义追加查询条件
- if(StringUtils.isNotBlank(orderDateBegin) && StringUtils.isNotBlank(orderDateEnd)){
- cq.ge("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateBegin + " 00:00:00"));
- cq.le("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateEnd + " 23:59:59"));
- }
- }catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
- List<POrdersEntity> list = systemService.getListByCriteriaQuery(cq, false);
- List<SupplierSumRptDto> retlist = new ArrayList<SupplierSumRptDto>();
- if(list.size() > 0) {
- List<String> ids = new ArrayList<String>();
- for (POrdersEntity order : list) {
- ids.add(order.getId());
- }
- retlist = supList !=null && supList.size() == 0 ? new ArrayList<SupplierSumRptDto>():
- reportDao.getAllEntry4SupplierSummary(ids, supList);
- }
- map.put(NormalExcelConstants.FILE_NAME,"供应商供货汇总表"+DateUtils.yyyymmddhhmmss.format(new Date()));
- map.put(NormalExcelConstants.CLASS,SupplierSumRptDto.class);
- map.put(NormalExcelConstants.PARAMS,new ExportParams("供应商供货汇总表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
- "导出信息"));
- map.put(NormalExcelConstants.DATA_LIST,retlist);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
- }
|