123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- package com.iamberry.rst.service.cm;
- import com.github.pagehelper.PageHelper;
- import com.iamberry.rst.core.cm.*;
- import com.iamberry.rst.core.order.Product;
- import com.iamberry.rst.core.order.ProductColor;
- import com.iamberry.rst.core.page.PageRequest;
- import com.iamberry.rst.core.page.PagedResult;
- import com.iamberry.rst.faces.cm.ComplaintQuestionInfoService;
- import com.iamberry.rst.faces.cm.ComplaintSignclosedInfoService;
- import com.iamberry.rst.service.cm.mapper.*;
- import com.iamberry.rst.service.product.mapper.ProductMapper;
- import com.iamberry.rst.util.PageUtil;
- import com.iamberry.wechat.tools.ResponseJson;
- import net.sf.json.JSONArray;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- @Service
- public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedInfoService {
- @Autowired
- private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper;
- @Autowired
- private ProductMapper productMapper;
- @Autowired
- private AwaitingSignclosedProductMapper awaitingSignclosedProductMapper;
- @Autowired
- private ComplaintSignclosedProductInfoMapper complaintSignclosedProductInfoMapper;
- @Autowired
- private FittingsInfoMapper fittingsInfoMapper;
- @Autowired
- private ComplaintDetectInfoMapper complaintDetectInfoMapper;
- @Autowired
- private CustomerInfoMapper customerInfoMapper;
- @Override
- @Transactional
- public boolean insert(ComplaintSignclosedInfo record,
- String orderItemString) {
- boolean msg = true;
- int num = complaintSignclosedInfoMapper.insert(record);
- if(num < 1){
- msg = false;
- }else{
- if(orderItemString != null){
- JSONArray jsonArray = JSONArray.fromObject(orderItemString);
- List<SalesOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
- for (SalesOrderItem salesOrderItem:salesOrderItemList) {
- if(salesOrderItem.getItemNum() > 0 && salesOrderItem.getItemColorId() > 0){
- int i = 0;
- SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
- //根据颜色id获取产品信息获取产品信息
- ProductColor productColor = productMapper.getProduceColor(salesOrderItem.getItemColorId());
- if(productColor == null){
- msg = false;
- }
- for (int j = 0;j<salesOrderItem.getItemNum();j++){
- signclosedProductInfo.setSignclosedId(record.getSignclosedId());
- signclosedProductInfo.setProductName(productColor.getProductName());
- signclosedProductInfo.setProductNum(1);
- signclosedProductInfo.setSignclosedProductType(1);
- signclosedProductInfo.setSignclosedProductId(productColor.getColorProductId());
- signclosedProductInfo.setSignclosedProductColor(salesOrderItem.getItemColorId());
- signclosedProductInfo.setSignclosedCreateTime(new Date());
- complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
- i++;
- }
- }
- }
- }
- }
- //关联客诉/判断是否生成客诉信息
- try {
- addDetect(record);
- }catch (Exception e){
- throw new RuntimeException("------------关联客诉出错------------");
- }
- return msg;
- }
- /*关联客诉*/
- public int addDetect(ComplaintSignclosedInfo record){
- CustomerInfo customerInfo = new CustomerInfo();
- if(record.getSignclosedLogisticsNumber() != null){
- customerInfo.setSendLogisticsNo(record.getSignclosedLogisticsNumber());
- }
- if(record.getSignclosedCustomerId() != null){
- customerInfo.setCustomerId(record.getSignclosedCustomerId());
- }
- List<CustomerInfo> listCustomer = customerInfoMapper.listCustomer(customerInfo);
- if(listCustomer.size() > 0){
- customerInfo = listCustomer.get(0);
- ComplaintSignclosedInfo signclosedInfo = new ComplaintSignclosedInfo();
- signclosedInfo.setSignclosedCustomerId(customerInfo.getCustomerId());
- signclosedInfo.setSignclosedId(record.getSignclosedId());
- Integer msg = complaintSignclosedInfoMapper.updateSignclosedById(signclosedInfo);
- if(msg != 1){
- return 0;
- }
- // if(customerInfo.getIsQuality() != null){
- // if(customerInfo.getIsQuality() == 1){//需要品检
- // //根据客诉id查询是否已存在品检信息
- // ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo();
- // if(complaintDetectInfoMapper.getDetectByCustomerId(customerInfo.getCustomerId()) == null){
- // complaintDetectInfo.setCustomerId(customerInfo.getCustomerId());
- // complaintDetectInfo.setSignclosedId(record.getSignclosedId());
- // complaintDetectInfo.setDetectCreateTime(new Date());
- // Integer msg2 = complaintDetectInfoMapper.insert(complaintDetectInfo);
- // if(msg2 != 1){
- // return 0;
- // }
- // }
- // //添加品检项
- // /*List<SignclosedProductInfo> listProductInfo = complaintSignclosedInfoMapper.listSignclosedById(record.getSignclosedId());
- // List<ComplaintDetectItem> listDetectItem = new ArrayList<>();
- // for(SignclosedProductInfo productInfo : listProductInfo){
- // ComplaintDetectItem detectItem = new ComplaintDetectItem();
- // detectItem.setDetectId(complaintDetectInfo.getDetectId());
- // detectItem.setDetectItemCreateTime(new Date());
- // detectItem.setProductId(productInfo.getProductId());
- // detectItem.setDetectProductNumber(productInfo.getProductNumber());
- // detectItem.setDetectItemState(1);
- // listDetectItem.add(detectItem);
- // }
- // Integer msg3 = complaintDetectInfoMapper.insertItemList(listDetectItem);
- // if(msg3 != 1){
- // return 0;
- // }*/
- // }
- // }
- }
- return 1;
- }
- @Override
- public List<SignclosedProductInfo> listSignclosedById(Integer signclosedId) {
- return complaintSignclosedInfoMapper.listSignclosedById(signclosedId);
- }
- private Integer addSifnclosed(Map<String,Integer> Map,Integer signclosedId) {
- Integer msg = 0;
- for (Map.Entry<String, Integer> entry : Map.entrySet()) {
- AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo();
- //根据颜色id获取产品信息获取产品信息
- Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
- if (product == null) {
- return 0;
- }
- awaitingSignclosedInfo.setSignclosedId(signclosedId);
- awaitingSignclosedInfo.setProductName(product.getProductName());
- awaitingSignclosedInfo.setProductNum(entry.getValue());
- awaitingSignclosedInfo.setSignclosedProductType(1);
- awaitingSignclosedInfo.setSignclosedProductId(product.getProductId());
- awaitingSignclosedInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
- awaitingSignclosedInfo.setSignclosedCreateTime(new Date());
- msg = awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo);
- }
- return msg;
- }
- @Override
- public ComplaintSignclosedInfo getSignclosedById(Integer signclosedId) {
- return complaintSignclosedInfoMapper.getSignclosedById(signclosedId);
- }
- @Transactional
- @Override
- public boolean updateSignclosedById(ComplaintSignclosedInfo record,
- Map<String,Integer> alreadyColorMap,
- Map<String,String[]> machineNumberMap,
- Map<String,Integer> alreadyFittingsMap) {
- boolean msg = true;
- int num = complaintSignclosedInfoMapper.updateSignclosedById(record);
- if(num < 1){
- msg = false;
- }else{
- if(alreadyColorMap != null || alreadyColorMap.size() != 0){
- for (Map.Entry<String,Integer> entry : alreadyColorMap.entrySet()) {
- int i = 0;
- SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
- //根据颜色id获取产品信息获取产品信息
- Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
- if(product == null){
- return false;
- }
- for (int j = 0;j<entry.getValue();j++){
- signclosedProductInfo.setSignclosedId(record.getSignclosedId());
- signclosedProductInfo.setProductName(product.getProductName());
- signclosedProductInfo.setProductNum(1);
- signclosedProductInfo.setSignclosedProductType(1);
- signclosedProductInfo.setSignclosedProductId(product.getProductId());
- signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
- signclosedProductInfo.setSignclosedCreateTime(new Date());
- complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
- i++;
- }
- }
- }
- if(alreadyFittingsMap != null || alreadyFittingsMap.size() != 0){
- for (Map.Entry<String,Integer> entry : alreadyFittingsMap.entrySet()) {
- SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
- //根据配件id获取配件信息
- FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(Integer.valueOf(entry.getKey()));
- if(fittingsInfo == null){
- return false;
- }
- for (int j = 0;j<entry.getValue();j++){
- signclosedProductInfo.setSignclosedId(record.getSignclosedId());
- signclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
- signclosedProductInfo.setProductNum(1);
- signclosedProductInfo.setSignclosedProductType(2);
- signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
- signclosedProductInfo.setSignclosedProductColor(null);
- signclosedProductInfo.setSignclosedCreateTime(new Date());
- complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
- }
- }
- }
- }
- return msg;
- }
- @Override
- public Integer updateSignclosedById(ComplaintSignclosedInfo record) {
- return complaintSignclosedInfoMapper.updateSignclosedById(record);
- }
- @Override
- public Integer updateSignclosedByCustomerId(ComplaintSignclosedInfo record) {
- return complaintSignclosedInfoMapper.updateSignclosedByCustomerId(record);
- }
- @Override
- public PagedResult<ComplaintSignclosedInfo> listSignclosed(PageRequest<ComplaintSignclosedInfo> pageRequest) {
- PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
- List<ComplaintSignclosedInfo> signclosedList = complaintSignclosedInfoMapper.listSignclosed(pageRequest.getData());
- return PageUtil.getPage(signclosedList);
- }
- }
|