|
|
@@ -23,45 +23,36 @@ import com.uas.platform.b2c.core.utils.DoubleArith;
|
|
|
import com.uas.platform.b2c.core.utils.FastjsonUtils;
|
|
|
import com.uas.platform.b2c.core.utils.NumberUtil;
|
|
|
import com.uas.platform.b2c.core.utils.RegexConstant;
|
|
|
+import com.uas.platform.b2c.core.utils.StringUtilB2C;
|
|
|
import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
|
|
|
import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
|
|
|
import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
|
|
|
import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.GoodsSimpleDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.PCBDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ProductDetailDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ProductStandardPutOnInfoDao;
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.*;
|
|
|
import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.GoodsModifyInfoDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.GoodsSimpleDao;
|
|
|
+import com.uas.platform.b2c.prod.commodity.dao.PCBDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.ProductDetailDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.ProductStandardPutOnInfoDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.Goods;
|
|
|
+import com.uas.platform.b2c.prod.commodity.model.GoodsFilter;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.GoodsHistory.OperateType;
|
|
|
-import com.uas.platform.b2c.prod.commodity.service.GoodsHistoryService;
|
|
|
-import com.uas.platform.b2c.prod.commodity.service.GoodsPriceInfoService;
|
|
|
-import com.uas.platform.b2c.prod.commodity.service.GoodsService;
|
|
|
-import com.uas.platform.b2c.prod.commodity.service.ProductService;
|
|
|
-import com.uas.platform.b2c.prod.commodity.service.ProductStandardPutOnInfoService;
|
|
|
-import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.GoodsInfo;
|
|
|
+import com.uas.platform.b2c.prod.commodity.model.GoodsModifyInfo;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.GoodsPriceInfo;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.GoodsSimple;
|
|
|
+import com.uas.platform.b2c.prod.commodity.model.ModifyInfo;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.Product;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.ProductDetail;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.ProductStandardPutOnInfo;
|
|
|
+import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
|
|
|
import com.uas.platform.b2c.prod.commodity.service.GoodsHistoryService;
|
|
|
import com.uas.platform.b2c.prod.commodity.service.GoodsPriceInfoService;
|
|
|
import com.uas.platform.b2c.prod.commodity.service.GoodsService;
|
|
|
@@ -140,9 +131,11 @@ import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import org.apache.commons.beanutils.ConvertUtils;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.collections.MapUtils;
|
|
|
+import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.apache.log4j.Logger;
|
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
@@ -162,36 +155,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.ui.ModelMap;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import javax.persistence.EntityManager;
|
|
|
-import javax.persistence.PersistenceContext;
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import java.math.BigInteger;
|
|
|
-import java.text.ParseException;
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.GregorianCalendar;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
-import java.util.concurrent.ExecutorService;
|
|
|
-import java.util.concurrent.Executors;
|
|
|
-import java.util.regex.Matcher;
|
|
|
-import java.util.regex.Pattern;
|
|
|
-
|
|
|
-import static com.uas.platform.core.persistence.criteria.PredicateUtils.like;
|
|
|
-import static org.apache.commons.jexl2.parser.ParserConstants.and;
|
|
|
-import static org.apache.commons.jexl2.parser.ParserConstants.or;
|
|
|
-
|
|
|
|
|
|
/**
|
|
|
* @author ChenHao
|
|
|
@@ -2602,20 +2565,20 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
String[] kindIds = kindUuid.split(",");
|
|
|
Long[] listkids = (Long[]) ConvertUtils.convert(kindIds,Long.class);
|
|
|
if (listkids != null && listkids.length > 0) {
|
|
|
-// List<Long> productIds = pcbDao.findByKindIds(listkids);
|
|
|
-// if (!CollectionUtils.isEmpty(productIds)) {
|
|
|
-// pageInfo.expression(PredicateUtils.in("productid",productIds,false));
|
|
|
-// } else {
|
|
|
+ List<Long> productIds = pcbDao.findByKindIds(listkids);
|
|
|
+ if (!CollectionUtils.isEmpty(productIds)) {
|
|
|
+ pageInfo.expression(PredicateUtils.in("productid",productIds,false));
|
|
|
+ } else {
|
|
|
pageInfo.expression(PredicateUtils.in("kindUuid", kindIds, false));
|
|
|
-// }
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
-// List<Long> productId = pcbDao.findProductIdByKindid(Long.parseLong(kindUuid));
|
|
|
-// if (!CollectionUtils.isEmpty(productId)) {
|
|
|
-// pageInfo.expression(PredicateUtils.eq("productid",productId.get(0),false));
|
|
|
-// } else {
|
|
|
+ List<Long> productId = pcbDao.findProductIdByKindid(Long.parseLong(kindUuid));
|
|
|
+ if (!CollectionUtils.isEmpty(productId)) {
|
|
|
+ pageInfo.expression(PredicateUtils.eq("productid",productId.get(0),false));
|
|
|
+ } else {
|
|
|
pageInfo.expression(PredicateUtils.eq("kindUuid", kindUuid, false));
|
|
|
-// }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -4169,4 +4132,35 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
goodsHistoryService.save(goodsHistories);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, List<Goods>> getCmsPcb() {
|
|
|
+ Map<String, List<Goods>> map = new HashedMap();
|
|
|
+ List<KindInfo> kindInfos = kindInfoDao.findByParentid(3825L);
|
|
|
+ if (CollectionUtils.isNotEmpty(kindInfos)) {
|
|
|
+ for (KindInfo kindInfo : kindInfos) {
|
|
|
+ if (kindInfo.getIsLeaf().equals(Constant.YES)) {
|
|
|
+ List<Goods> goods = goodsDao.findByKindNameCnAndBrandIsNotNull(kindInfo.getNameCn());
|
|
|
+ if (CollectionUtils.isNotEmpty(goods)) {
|
|
|
+ map.put(kindInfo.getNameCn(), goods);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ List<KindInfo> kindInfoChildren = kindInfoDao.findByParentid(kindInfo.getId());
|
|
|
+ if (!CollectionUtils.isEmpty(kindInfoChildren)) {
|
|
|
+ List<String> names = new ArrayList<>();
|
|
|
+ for (KindInfo child : kindInfoChildren) {
|
|
|
+ names.add(child.getNameCn());
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(names)) {
|
|
|
+ List<Goods> goods = goodsDao.findInKindNamesAndBrandIsNotNull(names);
|
|
|
+ if (CollectionUtils.isNotEmpty(goods)) {
|
|
|
+ map.put(kindInfo.getNameCn(), goods);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
}
|