chenlu
昨天 94c0a729da1b88ab4a0067f1e14a00264e0447cf
north-glass-erp/src/main/java/com/example/erp/service/sd/GlassPriceBasicService.java
@@ -12,6 +12,7 @@
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -20,11 +21,11 @@
@DS("sd")
public class GlassPriceBasicService {
    private final GlassPriceBasicMapper glassPriceBasicMapper;
    @Autowired
    private ProductDetailMapper productDetailMapper;
    private final ProductDetailMapper productDetailMapper;
    public GlassPriceBasicService(GlassPriceBasicMapper glassPriceBasicMapper) {
    public GlassPriceBasicService(GlassPriceBasicMapper glassPriceBasicMapper, ProductDetailMapper productDetailMapper) {
        this.glassPriceBasicMapper = glassPriceBasicMapper;
        this.productDetailMapper = productDetailMapper;
    }
    //保存玻璃价格
@@ -50,8 +51,14 @@
                    prams.get("thickness").toString()
                            + prams.get("color").toString()
                            + prams.get("types").toString());
        } else if (Objects.equals(type, "process")) {
            glassPriceBasic.setName(prams.get("thickness").toString() + prams.get("color").toString()+prams.get("process").toString());
            glassPriceBasic.setProcess(prams.get("process").toString());
        }
        GlassPriceBasic glassPriceBasic1 = glassPriceBasicMapper.selectOne(new QueryWrapper<GlassPriceBasic>().eq("name", glassPriceBasic.getName()));
        GlassPriceBasic glassPriceBasic1 = glassPriceBasicMapper.selectOne(
                new QueryWrapper<GlassPriceBasic>()
                        .eq("name", glassPriceBasic.getName())
        );
        if(glassPriceBasic1 != null){
            return false;
        }
@@ -63,29 +70,42 @@
                .selectList(new QueryWrapper<ProductDetail>().eq("prod_id", productId));
        final Double[] money = {0.0};
        productDetails.forEach(productDetail -> {
        for (ProductDetail productDetail : productDetails){
            Map<String,String> separation =  JSON.parseObject(
                    productDetail.getSeparation(), new TypeReference<Map<String, String>>(){});
            String name = "";
            switch (productDetail.getDetailType()) {
                case "glass":
                    name = separation.get("thickness") + separation.get("color");
                    String[] process = productDetail.getProcess().split("->");
                    for (String s : process) {
                        GlassPriceBasic glassPriceBasic = glassPriceBasicMapper.selectOne(
                                new QueryWrapper<GlassPriceBasic>()
                                        .eq("name", name+s));
                        if(glassPriceBasic == null) {
                            money[0] += 0.0;
                        }else{
                            money[0] += glassPriceBasic.getPrice();
                        }
                    }
                    break;
                case "hollow":
                    name = separation.get("thickness") + separation.get("gasType") + separation.get("type");
                    name = separation.get("thickness") + separation.get("gasType") + separation.get("Type");
                    break;
                case "interlayer":
                    name = separation.get("thickness") + separation.get("color") + separation.get("type");
                    break;
            }
            GlassPriceBasic glassPriceBasic = glassPriceBasicMapper
                    .selectOne(new QueryWrapper<GlassPriceBasic>().eq("name", name));
            if(glassPriceBasic == null) {
                money[0]= 0.0;
                return;
                return money[0];
            }
            money[0] += glassPriceBasic.getPrice();
        });
        }
        return money[0];
    }