ContainerServiceImpl.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. package com.tld.service.impl;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import com.tld.excel.ExcelUtils;
  5. import com.tld.mapper.ContainerMapper;
  6. import com.tld.model.Container;
  7. import com.tld.model.Department;
  8. import com.tld.model.Scrap;
  9. import com.tld.service.ContainerService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import javax.servlet.http.HttpServletResponse;
  14. import java.text.SimpleDateFormat;
  15. import java.util.*;
  16. @Service
  17. public class ContainerServiceImpl implements ContainerService {
  18. @Autowired
  19. private ContainerMapper containerMapper;
  20. @Override
  21. public Map<String, Object> getContainer(Container container) {
  22. Map<String, Object> map = new HashMap<>();
  23. try{
  24. PageHelper.startPage(container.getPage(), container.getLimit());
  25. PageInfo<Container> pageInfo = new PageInfo<>(containerMapper.getContainer(container));
  26. map.put("data", pageInfo);
  27. map.put("msg", "200");
  28. }catch (Exception e){
  29. e.printStackTrace();
  30. map.put("msg", "500");
  31. map.put("errMsg", "服务器请求异常,请稍后再试");
  32. }
  33. return map;
  34. }
  35. @Override
  36. @Transactional(rollbackFor = Exception.class)
  37. public Map<String, Object> addContainer(Container container) {
  38. Map<String, Object> map = new HashMap<>();
  39. try{
  40. containerMapper.addContainer(container);
  41. map.put("msg", "200");
  42. }catch (Exception e){
  43. e.printStackTrace();
  44. map.put("msg", "500");
  45. map.put("errMsg", "服务器请求异常,请稍后再试");
  46. }
  47. return map;
  48. }
  49. @Override
  50. @Transactional(rollbackFor = Exception.class)
  51. public Map<String, Object> updateContainer(Container container) {
  52. Map<String, Object> map = new HashMap<>();
  53. try{
  54. containerMapper.updateContainer(container);
  55. map.put("msg", "200");
  56. }catch (Exception e){
  57. e.printStackTrace();
  58. map.put("msg", "500");
  59. map.put("errMsg", "服务器请求异常,请稍后再试");
  60. }
  61. return map;
  62. }
  63. @Override
  64. @Transactional(rollbackFor = Exception.class)
  65. public Map<String, Object> delContainer(Map<String, Object> param) {
  66. Map<String, Object> map = new HashMap<>();
  67. try{
  68. //新增报废日志
  69. Scrap scrap = new Scrap()
  70. .setOperationName(param.get("userId").toString())
  71. .setScrapCause(param.get("scrapCause").toString())
  72. .setScrapNum(param.get("scrapNum").toString())
  73. .setContainerName(param.get("id").toString());
  74. containerMapper.addScrap(scrap);
  75. //删除容器
  76. Container container = new Container()
  77. .setId(param.get("id").toString());
  78. List<Container> list = containerMapper.getContainer(container);
  79. if(Integer.parseInt(list.get(0).getNum()) < Integer.parseInt(param.get("scrapNum").toString())){
  80. map.put("msg", "500");
  81. map.put("errMsg", "库存数量不足");
  82. return map;
  83. }
  84. //剩余数量 总数量 - 报废数量
  85. int num = Integer.parseInt(list.get(0).getNum()) - Integer.parseInt(param.get("scrapNum").toString());
  86. container.setNum(String.valueOf(num));
  87. containerMapper.updateContainer(container);
  88. map.put("msg", "200");
  89. }catch (Exception e){
  90. e.printStackTrace();
  91. map.put("msg", "500");
  92. map.put("errMsg", "服务器请求异常,请稍后再试");
  93. }
  94. return map;
  95. }
  96. @Override
  97. public void export(Container container, HttpServletResponse response) {
  98. try{
  99. //导出数据汇总
  100. List<List<Object>> sheetDataList = new ArrayList<>();
  101. //表头数据
  102. List<Object> head = Arrays.asList("部门", "类别", "容器编号","容器名称","数量","创建时间");
  103. //查询数据
  104. PageHelper.startPage(container.getPage(), container.getLimit());
  105. PageInfo<Map<String, Object>> list = new PageInfo<>(containerMapper.export(container));
  106. sheetDataList.add(head);
  107. for(Map<String, Object> userMap : list.getList()){
  108. List<Object> listSheet = new ArrayList<>();
  109. for(String key: userMap.keySet()){
  110. listSheet.add(userMap.get(key));
  111. }
  112. sheetDataList.add(listSheet);
  113. }
  114. //当前时间
  115. Date time = new Date();
  116. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMddHHmmss");
  117. ExcelUtils.export(response, "仓库容器信息数据导出" + sdf.format(time), sheetDataList);
  118. }catch (Exception e){
  119. e.printStackTrace();
  120. }
  121. }
  122. @Override
  123. public Map<String, Object> getScrap(Scrap scrap) {
  124. Map<String, Object> map = new HashMap<>();
  125. try{
  126. PageHelper.startPage(scrap.getPage(), scrap.getLimit());
  127. PageInfo<Scrap> pageInfo = new PageInfo<>(containerMapper.getScrap(scrap));
  128. map.put("data", pageInfo);
  129. map.put("msg", "200");
  130. }catch (Exception e){
  131. e.printStackTrace();
  132. map.put("msg", "500");
  133. map.put("errMsg", "服务器请求异常,请稍后再试");
  134. }
  135. return map;
  136. }
  137. @Override
  138. public void exportScrap(Scrap scrap, HttpServletResponse response) {
  139. try{
  140. //导出数据汇总
  141. List<List<Object>> sheetDataList = new ArrayList<>();
  142. //表头数据
  143. List<Object> head = Arrays.asList("操作人", "报废原因", "报废时间","报废数量","容器名称");
  144. //查询数据
  145. PageHelper.startPage(scrap.getPage(), scrap.getLimit());
  146. PageInfo<Map<String, Object>> list = new PageInfo<>(containerMapper.exportScrap(scrap));
  147. sheetDataList.add(head);
  148. for(Map<String, Object> userMap : list.getList()){
  149. List<Object> listSheet = new ArrayList<>();
  150. for(String key: userMap.keySet()){
  151. listSheet.add(userMap.get(key));
  152. }
  153. sheetDataList.add(listSheet);
  154. }
  155. //当前时间
  156. Date time = new Date();
  157. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMddHHmmss");
  158. ExcelUtils.export(response, "废弃信息数据导出" + sdf.format(time), sheetDataList);
  159. }catch (Exception e){
  160. e.printStackTrace();
  161. }
  162. }
  163. @Override
  164. @Transactional(rollbackFor = Exception.class)
  165. public Map<String, Object> delCon(String id) {
  166. Map<String, Object> map = new HashMap<>();
  167. try{
  168. containerMapper.delContainer(id);
  169. map.put("msg", "200");
  170. }catch (Exception e){
  171. e.printStackTrace();
  172. map.put("msg", "500");
  173. map.put("errMsg", "服务器请求异常,请稍后再试");
  174. }
  175. return map;
  176. }
  177. }