RepairServiceImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.iamberry.rst.service.cm;
  2. import com.iamberry.rst.core.cm.ClosedFitting;
  3. import com.iamberry.rst.core.cm.ClosedProdcue;
  4. import com.iamberry.rst.core.cm.Repair;
  5. import com.iamberry.rst.faces.cm.RepairService;
  6. import com.iamberry.rst.service.cm.mapper.ClosedFittingMapper;
  7. import com.iamberry.rst.service.cm.mapper.ClosedProdcueMapper;
  8. import com.iamberry.rst.service.cm.mapper.RepairMapper;
  9. import org.apache.commons.lang.StringUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import java.util.List;
  16. /**
  17. * 维修Service
  18. * Created by liuzhiwei on 2017/11/8.
  19. */
  20. @Service
  21. public class RepairServiceImpl implements RepairService {
  22. @Autowired
  23. private RepairMapper repairMapper;
  24. @Autowired
  25. private ClosedProdcueMapper closedProdcueMapper;
  26. @Autowired
  27. private ClosedFittingMapper closedFittingMapper;
  28. @Transactional
  29. @Override
  30. public Integer updateRepairInfo(Repair repair, String closedProducts, String closedFittings) {
  31. int productNum = 1;
  32. int fittingNum = 1;
  33. List<ClosedProdcue> produceList = new ArrayList<ClosedProdcue>();
  34. List<ClosedFitting> fittingList = new ArrayList<ClosedFitting>();
  35. if (StringUtils.isNotEmpty(closedProducts)) {
  36. ClosedProdcue closedProdcue = new ClosedProdcue();
  37. closedProdcue.setRelationId(repair.getRepairId());
  38. closedProdcue.setClosedProdcueType(4);
  39. //删除原有寄回产品
  40. int delNum = closedProdcueMapper.deleteProduce(closedProdcue);
  41. //去掉最后一个","
  42. closedProducts = closedProducts.substring(0,closedProducts.length()-1);
  43. String[] products = closedProducts.split(",");
  44. for (int i = 0;i < products.length;i++) {
  45. String[] colors = products[i].split(":");
  46. ClosedProdcue prodcue = new ClosedProdcue();
  47. prodcue.setRelationId(repair.getRepairId());
  48. prodcue.setClosedProdcueType(4);
  49. prodcue.setProductId(Integer.parseInt(colors[0]));
  50. prodcue.setColorId(Integer.parseInt(colors[1]));
  51. prodcue.setClosedProdcueNumber(Integer.parseInt(colors[2]));
  52. produceList.add(prodcue);
  53. }
  54. //批量添加寄回产品
  55. productNum = closedProdcueMapper.insert(produceList);
  56. }
  57. if (StringUtils.isNotEmpty(closedFittings)) {
  58. ClosedFitting closedFitting = new ClosedFitting();
  59. closedFitting.setRelationId(repair.getRepairId());
  60. closedFitting.setClosedFittingType(4);
  61. //删除原有寄回配件信息
  62. int delNum = closedFittingMapper.deleteFitting(closedFitting);
  63. closedFittings = closedFittings.substring(0,closedFittings.length()-1);
  64. String[] fittings = closedFittings.split(",");
  65. for (int i = 0;i < fittings.length;i++) {
  66. String[] fitting = fittings[i].split(":");
  67. ClosedFitting cFitting = new ClosedFitting();
  68. cFitting.setRelationId(repair.getRepairId());
  69. cFitting.setClosedFittingType(4);
  70. cFitting.setProductId(Integer.parseInt(fitting[0]));
  71. cFitting.setFittingsId(Integer.parseInt(fitting[1]));
  72. cFitting.setClosedFittingNumber(Integer.parseInt(fitting[2]));
  73. fittingList.add(cFitting);
  74. }
  75. //批量添加寄回配件
  76. fittingNum = closedFittingMapper.insert(fittingList);
  77. }
  78. int num = repairMapper.updateRepairInfo(repair);
  79. if (num > 0 && productNum > 0 && fittingNum > 0) {
  80. return 1;
  81. } else {
  82. return 0;
  83. }
  84. }
  85. @Override
  86. public List<Repair> listSynchronizingRepair(Repair repair) {
  87. return repairMapper.listSynchronizingRepair(repair);
  88. }
  89. @Override
  90. public Repair getRepair(Repair repair) {
  91. return repairMapper.getRepairInfo(repair);
  92. }
  93. }