package com.iamberry.rst.controllers.pts; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.pts.PtsSupplier; import com.iamberry.rst.faces.pts.MachineSupplierService; import com.iamberry.rst.utils.StitchAttrUtil; import com.iamberry.wechat.tools.DateTimeUtil; import com.iamberry.wechat.tools.NameUtils; import com.iamberry.wechat.tools.ObjectExcelView; import com.iamberry.wechat.tools.ResponseJson; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 供应商controller */ @Controller @RequestMapping("/admin/supplier") public class AdminPtsSupplierController { @Autowired private MachineSupplierService machineSupplierService; /** * 获取supplier单列表 * * @param request * @return */ @RequiresPermissions("supplier:list:supplier") @RequestMapping("/_supplier_list") public ModelAndView getPtsSupplier(HttpServletRequest request, PtsSupplier ptsSupplier, @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize, @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO, @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) { ModelAndView mv = new ModelAndView("pts/supplier/supplier_list"); PagedResult pagedResult = machineSupplierService.listPtsSupplierPage(pageNO, pageSize, ptsSupplier, totalNum == 0); if (totalNum != 0) { pagedResult.setTotal(totalNum); } StitchAttrUtil.setModelAndView(ptsSupplier, mv, "/admin/supplier/_supplier_list", pagedResult); return mv; } /** * 导出Excel * 2017-11-13 14:46:37 * @return */ @RequestMapping("/excel") public ModelAndView downloadSupplierExcel(){ // 准备model Map model = new HashMap(); model.put("fileName", "供应商列表"); // 下载文件名称 // 标题 List titles = new ArrayList(); titles.add("供应商名称"); titles.add("供应商简称"); titles.add("联系人姓名"); titles.add("联系人电话"); titles.add("座机"); titles.add("邮箱"); titles.add("地址"); titles.add("最近修改时间"); titles.add("零件数量"); model.put("titles", titles); PtsSupplier ptsSupplier = new PtsSupplier(); // 内容 List> countexts = new ArrayList>(); List list = machineSupplierService.listPtsSupplierExcel(ptsSupplier); for (PtsSupplier info : list) { List row = new ArrayList(); /*try { if(info。){ row.add(URLDecoder.decode(macInfo.getUserNickName(), "UTF-8")); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); }*/ row.add(info.getSupplierName() == null ? null:info.getSupplierName()); row.add(info.getSupplierAbbreviation() == null ? null:info.getSupplierAbbreviation()); row.add(info.getSupplierContactPerson() == null ? null:info.getSupplierContactPerson()); row.add(info.getSupplierTel() == null ? null:info.getSupplierTel()); row.add(info.getSupplierPhone() == null ? null:info.getSupplierPhone()); row.add(info.getSupplierEmail() == null ? null:info.getSupplierEmail()); row.add(info.getSupplierAddress() == null ? null:info.getSupplierAddress()); row.add(info.getSupplierUpdateTime() == null ? null: DateTimeUtil.format(info.getSupplierUpdateTime(), "yyyy-MM-dd HH:mm:ss")); row.add(info.getComponentsNumber() == null ? null:info.getComponentsNumber()); /*if(macInfo.getBindTime() != null){ row.add(DateTimeUtil.format(macInfo.getBindTime(), NameUtils.DATE_TIME_FORMAT)); }*/ countexts.add(row); } model.put("varList", countexts); ObjectExcelView erv = new ObjectExcelView(); ModelAndView mv = new ModelAndView(erv,model); return mv; } /** * 跳转到添加supplier单页面 * * @return */ @RequiresPermissions("supplier:add:supplier") @RequestMapping(value = "/to_add_supplier") public ModelAndView toAddsupplier(HttpServletRequest request) { ModelAndView mv = new ModelAndView("pts/supplier/add_supplier"); return mv; } /** * 添加supplier单 * * @return */ @ResponseBody @RequiresPermissions("supplier:add:supplier") @RequestMapping(value = "/save_supplier") public ResponseJson saveBatch(PtsSupplier ptsSupplier, HttpServletRequest request) { if (!this.isValiData(ptsSupplier) ) { return new ResponseJson(500, "请检查表单,再次提交", 500); } Integer flag = machineSupplierService.savePtsSupplier(ptsSupplier); if (flag < 1) { return new ResponseJson(500, "添加失败", 500); } else { return new ResponseJson(200, "添加成功", 200); } } /*** * 验证信息 * @param ptsSupplier * @return */ public boolean isValiData(PtsSupplier ptsSupplier) { boolean flag = true; // if(ptsSupplier.getBatchNo() == null || ptsSupplier.getBatchNo().length() >= 20){ // return false; // } return flag; } /** * 跳转到修改批次页面 * * @return */ @RequiresPermissions("supplier:update:supplier") @RequestMapping(value = "/to_update_supplier") public ModelAndView toUpdateBatch(Integer supplierId, HttpServletRequest request) { ModelAndView mv = new ModelAndView("pts/supplier/update_supplier"); PtsSupplier ptsSupplier = new PtsSupplier(); ptsSupplier.setSupplierId(supplierId); ptsSupplier = machineSupplierService.getPtsSupplier(ptsSupplier); mv.addObject("ptsSupplier", ptsSupplier); return mv; } /** * 修改批次 * * @return */ @ResponseBody @RequiresPermissions("supplier:add:supplier") @RequestMapping(value = "/update_supplier") public ResponseJson updateBatch(PtsSupplier ptsSupplier, HttpServletRequest request) { if (!this.isValiData(ptsSupplier) ) { return new ResponseJson(500, "请检查表单,再次提交", 500); } Integer flag = machineSupplierService.updatePtsSupplier(ptsSupplier); if (flag < 1) { return new ResponseJson(500, "修改失败", 500); } else { return new ResponseJson(200, "修改成功", 200); } } }