guoyujie
12 小时以前 b1b5cf4b00ddc12f624f299174a6366d2cdb2617
north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java
@@ -3,10 +3,12 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.aspose.cad.internal.I.S;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.example.erp.common.Constants;
import com.example.erp.dto.sd.OrderSearchDTO;
import com.example.erp.entity.sd.Product;
import com.example.erp.entity.sd.ProductDetail;
import com.example.erp.entity.userInfo.Log;
@@ -37,14 +39,27 @@
        this.logService = logService;
    }
    //产品查询方法
    public Map<String,Object> defaultDateProduct(Integer pageNum, Integer pageSize, List<String> glassType, Product product) {
    public Map<String,Object> defaultDateProduct(Integer pageNum, Integer pageSize, List<String> glassType,Map<String,Object> config) {
        Integer offset = (pageNum-1)*pageSize;
        String glassTypeId = null;
        if(glassType.size()>1){
            glassTypeId = glassType.get(1);
        if(glassType.size()==2){
            if(!Objects.equals(glassType.get(0), "")&&!Objects.equals(glassType.get(1), "")){
                glassTypeId = glassType.get(1);
            }
        }else if(glassType.size()==1){
            if(!Objects.equals(glassType.get(0), "")&& !Objects.equals(glassType.get(0), "undefined")){
                glassTypeId = glassType.get(0);
            }
        }
        JSONObject orderJson = new JSONObject(config);
        Product product = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), Product.class);
        Map<String,String> sortDate = (Map<String, String>) config.get("sort");
        String field = sortDate.get("field").replaceAll("(?<!^)([A-Z])", "_$1").toLowerCase();
        String orderBy = sortDate.get("order");
        Map<String,Object> map = new HashMap<>();
        map.put("data",productMapper.defaultProduct(offset,pageSize,glassTypeId,product));
        map.put("data",productMapper.defaultProduct(offset,pageSize,glassTypeId,product,field, orderBy));
        map.put("total",productMapper.getPageTotal(offset,pageSize,glassTypeId,product));
        return map;
    }
@@ -79,12 +94,28 @@
        Map<String,Object> getProductJson = updateProduct(productDetails,product);
        Product getProduct = JSONObject.parseObject(JSONObject.toJSONString(getProductJson.get("title")), Product.class);
        List<ProductDetail> getProductDetails = JSONArray.parseArray(JSONObject.toJSONString(getProductJson.get("detail")), ProductDetail.class);
        if(getProduct.getId()!=null){
            map.put("data",productMapper.selectProductId(productName,getProduct.getProductAbbreviation(), getProduct.getId()));
        }else{
            map.put("data",productMapper.selectProduct(productName,getProduct.getProductAbbreviation()));
        String productNameVal = null;
        //判断使用哪种产品名称
        switch (productName){
            case "product_name":
                    productNameVal = getProduct.getProductName();
                    break;
            case "product_abbreviation":
                    productNameVal = getProduct.getProductAbbreviation();
                    break;
        }
        if(!Objects.equals(productNameVal, "") && productNameVal!=null){
            if(getProduct.getId()!=null ){
                map.put("data",productMapper.selectProductId(productName,productNameVal, getProduct.getId()));
            }else{
                map.put("data",productMapper.selectProduct(productName,productNameVal));
            }
        }
        return map;
    }