ComplaintSignclosedInfoServiceImpl.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. package com.iamberry.rst.service.cm;
  2. import com.github.pagehelper.PageHelper;
  3. import com.iamberry.rst.core.cm.*;
  4. import com.iamberry.rst.core.order.Product;
  5. import com.iamberry.rst.core.page.PageRequest;
  6. import com.iamberry.rst.core.page.PagedResult;
  7. import com.iamberry.rst.faces.cm.ComplaintQuestionInfoService;
  8. import com.iamberry.rst.faces.cm.ComplaintSignclosedInfoService;
  9. import com.iamberry.rst.service.cm.mapper.*;
  10. import com.iamberry.rst.service.product.mapper.ProductMapper;
  11. import com.iamberry.rst.util.PageUtil;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import java.util.Date;
  16. import java.util.List;
  17. import java.util.Map;
  18. @Service
  19. public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedInfoService {
  20. @Autowired
  21. private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper;
  22. @Autowired
  23. private ProductMapper productMapper;
  24. @Autowired
  25. private AwaitingSignclosedProductMapper awaitingSignclosedProductMapper;
  26. @Autowired
  27. private ComplaintSignclosedProductInfoMapper complaintSignclosedProductInfoMapper;
  28. @Autowired
  29. private FittingsInfoMapper fittingsInfoMapper;
  30. @Autowired
  31. private ComplaintDetectInfoMapper complaintDetectInfoMapper;
  32. @Override
  33. @Transactional
  34. public boolean insert(ComplaintSignclosedInfo record,
  35. Map<String,Integer> colorNameMap,
  36. Map<String,Integer> fittingsNameMap,
  37. Map<String,Integer> alreadyColorMap,
  38. Map<String,Integer> alreadyFittingsMap) {
  39. boolean msg = true;
  40. int num = complaintSignclosedInfoMapper.insert(record);
  41. if(num < 1){
  42. msg = false;
  43. }else{
  44. if(colorNameMap != null || colorNameMap.size() != 0){
  45. for (Map.Entry<String,Integer> entry : colorNameMap.entrySet()) {
  46. AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo();
  47. //根据颜色id获取产品信息获取产品信息
  48. Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
  49. if(product == null){
  50. return false;
  51. }
  52. awaitingSignclosedInfo.setSignclosedId(record.getSignclosedId());
  53. awaitingSignclosedInfo.setProductName(product.getProductName());
  54. awaitingSignclosedInfo.setProductNum(entry.getValue());
  55. awaitingSignclosedInfo.setSignclosedProductType(1);
  56. awaitingSignclosedInfo.setSignclosedProductId(product.getProductId());
  57. awaitingSignclosedInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
  58. awaitingSignclosedInfo.setSignclosedCreateTime(new Date());
  59. awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo);
  60. }
  61. }
  62. if(fittingsNameMap != null || fittingsNameMap.size() != 0){
  63. for (Map.Entry<String,Integer> entry : fittingsNameMap.entrySet()) {
  64. AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo();
  65. //根据配件id获取配件信息
  66. FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(Integer.valueOf(entry.getKey()));
  67. if(fittingsInfo == null){
  68. return false;
  69. }
  70. awaitingSignclosedInfo.setSignclosedId(record.getSignclosedId());
  71. awaitingSignclosedInfo.setProductName(fittingsInfo.getFittingsName());
  72. awaitingSignclosedInfo.setProductNum(entry.getValue());
  73. awaitingSignclosedInfo.setSignclosedProductType(2);
  74. awaitingSignclosedInfo.setSignclosedProductId(fittingsInfo.getProductId());
  75. awaitingSignclosedInfo.setSignclosedProductColor(null);
  76. awaitingSignclosedInfo.setSignclosedCreateTime(new Date());
  77. awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo);
  78. }
  79. }
  80. if(alreadyColorMap != null || alreadyColorMap.size() != 0){
  81. for (Map.Entry<String,Integer> entry : alreadyColorMap.entrySet()) {
  82. SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
  83. //根据颜色id获取产品信息获取产品信息
  84. Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
  85. if(product == null){
  86. return false;
  87. }
  88. signclosedProductInfo.setSignclosedId(record.getSignclosedId());
  89. signclosedProductInfo.setProductName(product.getProductName());
  90. signclosedProductInfo.setProductNum(entry.getValue());
  91. signclosedProductInfo.setSignclosedProductType(1);
  92. signclosedProductInfo.setSignclosedProductId(product.getProductId());
  93. signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
  94. signclosedProductInfo.setSignclosedCreateTime(new Date());
  95. complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
  96. }
  97. }
  98. if(alreadyFittingsMap != null || alreadyFittingsMap.size() != 0){
  99. for (Map.Entry<String,Integer> entry : alreadyFittingsMap.entrySet()) {
  100. SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
  101. //根据配件id获取配件信息
  102. FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(Integer.valueOf(entry.getKey()));
  103. if(fittingsInfo == null){
  104. return false;
  105. }
  106. signclosedProductInfo.setSignclosedId(record.getSignclosedId());
  107. signclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
  108. signclosedProductInfo.setProductNum(entry.getValue());
  109. signclosedProductInfo.setSignclosedProductType(2);
  110. signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
  111. signclosedProductInfo.setSignclosedProductColor(null);
  112. signclosedProductInfo.setSignclosedCreateTime(new Date());
  113. complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
  114. }
  115. }
  116. }
  117. return msg;
  118. }
  119. private Integer addSifnclosed(Map<String,Integer> Map,Integer signclosedId) {
  120. Integer msg = 0;
  121. for (Map.Entry<String, Integer> entry : Map.entrySet()) {
  122. AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo();
  123. //根据颜色id获取产品信息获取产品信息
  124. Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
  125. if (product == null) {
  126. return 0;
  127. }
  128. awaitingSignclosedInfo.setSignclosedId(signclosedId);
  129. awaitingSignclosedInfo.setProductName(product.getProductName());
  130. awaitingSignclosedInfo.setProductNum(entry.getValue());
  131. awaitingSignclosedInfo.setSignclosedProductType(1);
  132. awaitingSignclosedInfo.setSignclosedProductId(product.getProductId());
  133. awaitingSignclosedInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
  134. awaitingSignclosedInfo.setSignclosedCreateTime(new Date());
  135. msg = awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo);
  136. }
  137. return msg;
  138. }
  139. @Override
  140. public ComplaintSignclosedInfo getSignclosedById(Integer signclosedId) {
  141. return complaintSignclosedInfoMapper.getSignclosedById(signclosedId);
  142. }
  143. @Transactional
  144. @Override
  145. public boolean updateSignclosedById(ComplaintSignclosedInfo record,
  146. Map<String,Integer> alreadyColorMap,
  147. Map<String,Integer> alreadyFittingsMap) {
  148. boolean msg = true;
  149. int num = complaintSignclosedInfoMapper.updateSignclosedById(record);
  150. if(num < 1){
  151. msg = false;
  152. }else{
  153. if(alreadyColorMap != null || alreadyColorMap.size() != 0){
  154. for (Map.Entry<String,Integer> entry : alreadyColorMap.entrySet()) {
  155. SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
  156. //根据颜色id获取产品信息获取产品信息
  157. Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
  158. if(product == null){
  159. return false;
  160. }
  161. signclosedProductInfo.setSignclosedId(record.getSignclosedId());
  162. signclosedProductInfo.setProductName(product.getProductName());
  163. signclosedProductInfo.setProductNum(entry.getValue());
  164. signclosedProductInfo.setSignclosedProductType(1);
  165. signclosedProductInfo.setSignclosedProductId(product.getProductId());
  166. signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
  167. signclosedProductInfo.setSignclosedCreateTime(new Date());
  168. complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
  169. }
  170. }
  171. if(alreadyFittingsMap != null || alreadyFittingsMap.size() != 0){
  172. for (Map.Entry<String,Integer> entry : alreadyFittingsMap.entrySet()) {
  173. SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
  174. //根据配件id获取配件信息
  175. FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(Integer.valueOf(entry.getKey()));
  176. if(fittingsInfo == null){
  177. return false;
  178. }
  179. signclosedProductInfo.setSignclosedId(record.getSignclosedId());
  180. signclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
  181. signclosedProductInfo.setProductNum(entry.getValue());
  182. signclosedProductInfo.setSignclosedProductType(2);
  183. signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
  184. signclosedProductInfo.setSignclosedProductColor(null);
  185. signclosedProductInfo.setSignclosedCreateTime(new Date());
  186. complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
  187. }
  188. }
  189. }
  190. return msg;
  191. }
  192. @Override
  193. public Integer updateSignclosedById(ComplaintSignclosedInfo record) {
  194. return complaintSignclosedInfoMapper.updateSignclosedById(record);
  195. }
  196. @Override
  197. public int updateUrgedNumById(ComplaintSignclosedInfo complaintSignclosedInfo) {
  198. return complaintSignclosedInfoMapper.updateUrgedNumById(complaintSignclosedInfo);
  199. }
  200. @Override
  201. public PagedResult<ComplaintSignclosedInfo> listSignclosed(PageRequest<ComplaintSignclosedInfo> pageRequest) {
  202. PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
  203. List<ComplaintSignclosedInfo> signclosedList = complaintSignclosedInfoMapper.listSignclosed(pageRequest.getData());
  204. return PageUtil.getPage(signclosedList);
  205. }
  206. @Override
  207. public int intoComplaint(Integer signclosedId) {
  208. Integer msg = 0;
  209. try {
  210. ComplaintSignclosedInfo info = complaintSignclosedInfoMapper.getSignclosedById(signclosedId);
  211. ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo();
  212. complaintDetectInfo.setSignclosedId(info.getSignclosedId());
  213. complaintDetectInfo.setDetectState(2);
  214. msg = complaintDetectInfoMapper.updateComplaintDetectById(complaintDetectInfo);
  215. if(msg != 0){
  216. ComplaintSignclosedInfo complaintSignclosedInfo = new ComplaintSignclosedInfo();
  217. complaintSignclosedInfo.setSignclosedId(info.getSignclosedId());
  218. complaintSignclosedInfo.setSignclosedIsInto(1);
  219. complaintSignclosedInfoMapper.updateSignclosedById(complaintSignclosedInfo);
  220. }
  221. }catch(Exception e) {
  222. return msg;
  223. }
  224. return msg;
  225. }
  226. }