/** * 打开打印零售单页面 pdf * * @return */ public String printLsd() { try { lsd = (Lsd) lsdService.getLsd(id); client_name = StringUtils.nullToStr(lsd.getClient_name()) + " " + StringUtils.nullToStr(lsd.getLxr()); client_tel = StringUtils.nullToStr(lsd.getLxdh()) + " " + StringUtils.nullToStr(lsd.getMobile()) + " " + StringUtils.nullToStr(lsd.getMail()); dept_name = StaticParamDo.getDeptNameById(((SysUser) userService.getUser(lsd.getXsry())).getDept()); xsry_name = StaticParamDo.getRealNameById(lsd.getXsry()); skfs = StringUtils.nullToStr(lsd.getFkfs()); skzh_name = StaticParamDo.getAccountNameById(lsd.getSkzh()); address = StringUtils.nullToStr(lsd.getAddress()); remark = StringUtils.nullToStr(lsd.getMs()); jexj_dx = MoneyUtil.toChinese(lsd.getLsdje() + ""); creatdate = StringUtils.nullToStr(lsd.getCreatdate()); Map map = sysInitSetService.getReportSet(); if (map != null) { title_name = StringUtils.nullToStr(map.get("title_name")) + "零售单"; foot_name = StringUtils.nullToStr(map.get("foot_name")); } lsdProducts = lsdService.getLsdProducts(id); } catch (Exception e) { log.error("打印零售单出错,原因:" + e.getMessage()); return ERROR; } return "success"; }
@Override public void writeExcelFile(HttpServletRequest request, WritableSheet sheet) { try { String start_date = StringUtils.nullToStr(request.getParameter("start_date")); String end_date = StringUtils.nullToStr(request.getParameter("end_date")); String dept_id = StringUtils.nullToStr(request.getParameter("dept_id")); String clientId = StringUtils.nullToStr(request.getParameter("clientId")); String client_name = StringUtils.nullToStr(request.getParameter("client_name")); String product_name = StringUtils.nullToStr(request.getParameter("product_name")); String product_kind = StringUtils.nullToStr(request.getParameter("product_kind")); String xsry_name = StringUtils.nullToStr(request.getParameter("xsry_name")); String con = ""; con = "日期:" + start_date + "至" + end_date; if (!clientId.equals("")) { con += " 客户名称:" + clientId; } if (!dept_id.equals("")) { con += " 部门:" + StaticParamDo.getDeptNameById(dept_id); } if (!product_kind.equals("")) { con += " 商品类别:" + StaticParamDo.getProductKindNameById(product_kind); } con += " 报表生成时间:" + DateComFunc.getCurTime(); Label label = null; // 写统计表标题 sheet.mergeCells(0, 0, 7, 0); label = new Label(0, 0, "商品序列号销售汇总", this.getFt_title()); sheet.addCell(label); // 写统计条件 sheet.mergeCells(0, 1, 7, 1); label = new Label(0, 1, con, this.getFt_item_center()); sheet.addCell(label); // 写统计表头 label = new Label(0, 2, "日期", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(1, 2, "序列号", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(2, 2, "商品名称", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(3, 2, "商品规格", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(4, 2, "客户名称", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(5, 2, "客户电话", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(6, 2, "销售员", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(7, 2, "销售价格", this.getFt_item_center_bold()); sheet.addCell(label); List resultList = productSerialNumXsHzService.getSerialNumXsList( start_date, end_date, product_kind, product_name, dept_id, xsry_name, clientId); int hj_nums = 0; double hj_je = 0; int k = 3; // 写统计内容 if (resultList != null && resultList.size() > 0) { for (int i = 0; i < resultList.size(); i++) { Map map = (Map) resultList.get(i); double je = map.get("xsdj") == null ? 0 : ((Double) map.get("xsdj")).doubleValue(); label = new Label(0, k, StringUtils.nullToStr(map.get("fs_date")), this.getFt_item_left()); sheet.addCell(label); label = new Label(1, k, StringUtils.nullToStr(map.get("serial_num")), this.getFt_item_left()); sheet.addCell(label); label = new Label( 2, k, StringUtils.nullToStr(map.get("product_name")), this.getFt_item_left()); sheet.addCell(label); label = new Label(3, k, StringUtils.nullToStr(map.get("product_xh")), this.getFt_item_left()); sheet.addCell(label); label = new Label( 4, k, StringUtils.nullToStr(map.get("client_name")), this.getFt_item_left()); sheet.addCell(label); label = new Label(5, k, StringUtils.nullToStr(map.get("tel")), this.getFt_item_left()); sheet.addCell(label); label = new Label(6, k, StringUtils.nullToStr(map.get("jsr")), this.getFt_item_left()); sheet.addCell(label); label = new Label(7, k, JMath.round(je, 2), this.getFt_item_right()); sheet.addCell(label); k++; } } } catch (Exception ex) { log.info(ex); } }
/** 写Excel文件 */ public void writeExcelFile(HttpServletRequest request, WritableSheet sheet) { try { String start_date = StringUtils.nullToStr(request.getParameter("start_date")); String end_date = StringUtils.nullToStr(request.getParameter("end_date")); String product_kind = StringUtils.nullToStr(request.getParameter("product_kind")); String product_name = StringUtils.nullToStr(request.getParameter("product_name")); String store_id = StringUtils.nullToStr(request.getParameter("store_id")); String isKc0 = StringUtils.nullToStr(request.getParameter("isKc0")); // 是否显示0库存商品 String isFse0 = StringUtils.nullToStr(request.getParameter("isFse0")); // 是否显示0发生额商品 String conStr = ""; conStr += "日期:" + start_date + "至" + end_date; if (!store_id.equals("")) { conStr += " 库房:" + StaticParamDo.getStoreNameById(store_id); } if (!product_kind.equals("")) { conStr += " 商品类别:" + StaticParamDo.getProductKindNameById(product_kind); } Label label = null; // 写统计表标题 sheet.mergeCells(0, 0, 7, 0); label = new Label(0, 0, "库存数量汇总", this.getFt_title()); sheet.addCell(label); // 写统计条件 sheet.mergeCells(0, 1, 7, 1); label = new Label(0, 1, conStr, this.getFt_item_center()); sheet.addCell(label); // 写统计表头 label = new Label(0, 2, "商品编码", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(1, 2, "商品名称", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(2, 2, "规格", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(3, 2, "单位", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(4, 2, "期初数量", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(5, 2, "收入数量", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(6, 2, "发出数量", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(7, 2, "期末结存", this.getFt_item_center_bold()); sheet.addCell(label); List productKcList = kcMxReportService.getProductKcList(product_kind, product_name, store_id); int hj_qc_nums = 0; // 期初数量合计 int hj_ck_nums = 0; // 出库数量合计 int hj_rk_nums = 0; // 入库数量合计 int hj_jc_nums = 0; // 合计结存数量(库存总商品数) if (productKcList != null && productKcList.size() > 0) { int xh = 0; int k = 3; for (int i = 0; i < productKcList.size(); i++) { Map map = (Map) productKcList.get(i); String product_id = StringUtils.nullToStr(map.get("product_id")); String product_name2 = StringUtils.nullToStr(map.get("product_name")); String product_xh = StringUtils.nullToStr(map.get("product_xh")); String dw = StringUtils.nullToStr(map.get("dw")); // 根据商品编号、开始时间、库房编号取库存期初情况 Map qcMap = kcMxReportService.getKcqcMxMap(product_id, start_date, store_id); String strNums = "0"; // 期初数 if (qcMap != null) { strNums = StringUtils.nullToStr(qcMap.get("nums")); if (strNums.equals("")) { strNums = "0"; } } int qc_nums = new Integer(strNums).intValue(); // 期初数 int rk_nums = kcMxReportService.getRkNums(product_id, start_date, end_date, store_id); // 收入数量 int ck_nums = kcMxReportService.getCkNums(product_id, start_date, end_date, store_id); // 发出数量 int jc_nums = qc_nums + rk_nums - ck_nums; boolean is_kc = true; if (isKc0.equals("否")) { // 显示0库存商品 if (jc_nums == 0) { is_kc = false; } } boolean is_fs = true; if (isFse0.equals("否")) { // 显示0发生额商品 if (rk_nums == 0 && ck_nums == 0) { is_fs = false; } } if (is_kc && is_fs) { hj_qc_nums += qc_nums; hj_rk_nums += rk_nums; hj_ck_nums += ck_nums; hj_jc_nums += jc_nums; xh++; label = new Label(0, k, product_id, this.getFt_item_center()); sheet.addCell(label); label = new Label(1, k, product_name2, this.getFt_item_left()); sheet.addCell(label); label = new Label(2, k, product_xh, this.getFt_item_left()); sheet.addCell(label); label = new Label(3, k, dw, this.getFt_item_center()); sheet.addCell(label); label = new Label(4, k, qc_nums + "", this.getFt_item_right()); sheet.addCell(label); label = new Label(5, k, rk_nums + "", this.getFt_item_right()); sheet.addCell(label); label = new Label(6, k, ck_nums + "", this.getFt_item_right()); sheet.addCell(label); label = new Label(7, k, jc_nums + "", this.getFt_item_right()); sheet.addCell(label); k++; } } label = new Label(0, k, "合计", this.getFt_item_center_bold()); sheet.addCell(label); label = new Label(1, k, "", this.getFt_item_left()); sheet.addCell(label); label = new Label(2, k, "", this.getFt_item_left()); sheet.addCell(label); label = new Label(3, k, "", this.getFt_item_center()); sheet.addCell(label); label = new Label(4, k, hj_qc_nums + "", this.getFt_item_right()); sheet.addCell(label); label = new Label(5, k, hj_rk_nums + "", this.getFt_item_right()); sheet.addCell(label); label = new Label(6, k, hj_ck_nums + "", this.getFt_item_right()); sheet.addCell(label); label = new Label(7, k, hj_jc_nums + "", this.getFt_item_right()); sheet.addCell(label); } } catch (Exception ex) { log.info(ex); } }