SysCusUnitCodeController.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. package com.kmall.admin.controller;
  2. import java.util.*;
  3. import com.kmall.admin.entity.SysCusUnitCodeEntity;
  4. import com.kmall.admin.service.SysCusUnitCodeService;
  5. import com.kmall.admin.fromcomm.entity.SysUserEntity;
  6. import com.kmall.common.constant.JxlsXmlTemplateName;
  7. import com.kmall.common.utils.PageUtils;
  8. import com.kmall.common.utils.Query;
  9. import com.kmall.common.utils.R;
  10. import com.kmall.admin.utils.ShiroUtils;
  11. import com.kmall.common.utils.RRException;
  12. import com.kmall.common.utils.excel.ExcelUtil;
  13. import com.kmall.manager.manager.express.sf.ServiceException;
  14. import org.apache.commons.logging.Log;
  15. import org.apache.commons.logging.LogFactory;
  16. import org.apache.shiro.authz.annotation.RequiresPermissions;
  17. import org.jxls.reader.XLSDataReadException;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Controller;
  20. import org.springframework.web.bind.annotation.*;
  21. import org.springframework.web.multipart.MultipartFile;
  22. /**
  23. * 计量单位代码Controller
  24. *
  25. * @author huangyq
  26. * @email admin@qhdswl.com
  27. * @date 2018-11-10 15:34:36
  28. */
  29. @RestController
  30. @RequestMapping("syscusunitcode")
  31. public class SysCusUnitCodeController {
  32. private Log logger = LogFactory.getLog(SysCusUnitCodeController.class);
  33. @Autowired
  34. private SysCusUnitCodeService sysCusUnitCodeService;
  35. @Autowired
  36. private ExcelUtil excelUtil;
  37. /**
  38. * 查看列表
  39. */
  40. @RequestMapping("/list")
  41. @RequiresPermissions("syscusunitcode:list")
  42. @ResponseBody
  43. public R list(@RequestParam Map<String, Object> params) {
  44. //查询列表数据
  45. Query query = new Query(params);
  46. List<SysCusUnitCodeEntity> sysCusUnitCodeList = sysCusUnitCodeService.queryList(query);
  47. int total = sysCusUnitCodeService.queryTotal(query);
  48. PageUtils pageUtil = new PageUtils(sysCusUnitCodeList, total, query.getLimit(), query.getPage());
  49. return R.ok().put("page", pageUtil);
  50. }
  51. /**
  52. * 查看信息
  53. */
  54. @RequestMapping("/info/{sn}")
  55. @RequiresPermissions("syscusunitcode:info")
  56. @ResponseBody
  57. public R info(@PathVariable("sn") String sn) {
  58. SysCusUnitCodeEntity sysCusUnitCode = sysCusUnitCodeService.queryObject(sn);
  59. return R.ok().put("sysCusUnitCode", sysCusUnitCode);
  60. }
  61. /**
  62. * 保存
  63. */
  64. @RequestMapping("/save")
  65. @RequiresPermissions("syscusunitcode:save")
  66. @ResponseBody
  67. public R save(@RequestBody SysCusUnitCodeEntity sysCusUnitCode) {
  68. SysUserEntity user = ShiroUtils.getUserEntity();
  69. sysCusUnitCode.setCreaterSn(user.getUserId().toString());
  70. sysCusUnitCode.setCreateTime(new Date());
  71. sysCusUnitCode.setModerSn(user.getUserId().toString());
  72. sysCusUnitCode.setModTime(new Date());
  73. sysCusUnitCodeService.save(sysCusUnitCode);
  74. return R.ok();
  75. }
  76. /**
  77. * 修改
  78. */
  79. @RequestMapping("/update")
  80. @RequiresPermissions("syscusunitcode:update")
  81. @ResponseBody
  82. public R update(@RequestBody SysCusUnitCodeEntity sysCusUnitCode) {
  83. SysUserEntity user = ShiroUtils.getUserEntity();
  84. sysCusUnitCode.setModerSn(user.getUserId().toString());
  85. sysCusUnitCode.setModTime(new Date());
  86. sysCusUnitCodeService.update(sysCusUnitCode);
  87. return R.ok();
  88. }
  89. /**
  90. * 删除
  91. */
  92. @RequestMapping("/delete")
  93. @RequiresPermissions("syscusunitcode:delete")
  94. @ResponseBody
  95. public R delete(@RequestBody String[]sns) {
  96. sysCusUnitCodeService.deleteBatch(sns);
  97. return R.ok();
  98. }
  99. /**
  100. * 查看所有列表
  101. */
  102. @RequestMapping("/queryAll")
  103. @ResponseBody
  104. public R queryAll(@RequestParam Map<String, Object> params) {
  105. List<SysCusUnitCodeEntity> list = sysCusUnitCodeService.queryList(params);
  106. return R.ok().put("list", list);
  107. }
  108. /**
  109. * 导入 excel 数据
  110. * @author zhuhh
  111. * @param file
  112. * @return
  113. */
  114. @RequestMapping("/upload")
  115. public R upload(@RequestParam("file") MultipartFile file) {
  116. List<SysCusUnitCodeEntity> sysCusUnitCodeEntityList = new ArrayList<>();
  117. // 读取 excel 数据
  118. try {
  119. SysCusUnitCodeEntity sysCusUnitCodeEntity = new SysCusUnitCodeEntity();
  120. Map<String, Object> beans = new HashMap<>();
  121. beans.put("sysCusUnitCodeEntity", sysCusUnitCodeEntity);
  122. beans.put("sysCusUnitCodeEntityList", sysCusUnitCodeEntityList);
  123. if (file.isEmpty()) {
  124. return R.error("文件不能为空!");
  125. }
  126. excelUtil.readExcel(JxlsXmlTemplateName.SYS_CUS_UNIT_CODE_DTO_List, beans, file.getInputStream());
  127. } catch (XLSDataReadException e) {
  128. e.printStackTrace();
  129. logger.error("计量单位代码读取excel失败:" + e.getMessage());
  130. return R.error("导入失败!请在单元格输入正确的数据格式");
  131. } catch (Exception e) {
  132. e.printStackTrace();
  133. logger.error("计量单位代码读取excel失败:" + e.getMessage());
  134. return R.error("读取excel数据失败!");
  135. }
  136. // 新增数据
  137. try {
  138. if (sysCusUnitCodeEntityList == null || sysCusUnitCodeEntityList.size() == 0) {
  139. return R.error("读取excel失败!单元格内容不能为空!");
  140. }
  141. sysCusUnitCodeService.uploadExcel(sysCusUnitCodeEntityList);
  142. } catch (ServiceException e) {
  143. e.printStackTrace();
  144. logger.error("计量单位代码数据格式校验失败:" + e.getMessage());
  145. return R.error(e.getMessage());
  146. } catch (RRException e) {
  147. e.printStackTrace();
  148. logger.error("计量单位代码添加数据失败:" + e.getMsg());
  149. return R.error(e.getMsg());
  150. } catch (Exception e) {
  151. e.printStackTrace();
  152. logger.error("计量单位代码添加数据失败:" + e.getMessage());
  153. return R.error("数据保存数据库失败!");
  154. }
  155. return R.ok("导入成功!");
  156. }
  157. }