package com.consum.base.service.impl; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import com.consum.base.Constants; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapperUtil; import com.consum.base.service.BaseGoodsModelsService; import com.consum.model.po.BaseGoodsModels; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.DateUtils; import com.walker.jdbc.service.BaseServiceImpl; /** * @Description 物品模板 * @Author 卢庆阳 * @Date 2023/10/23 */ @Service public class BaseGoodsModelsServiceImpl extends BaseServiceImpl implements BaseGoodsModelsService { /** * @Description 规格列表查询(根据物品id查询规格型号) * @Author 卢庆阳 * @Date 2023/10/25 */ @Override public GenericPager queryList(Long goodsTemplatesId) { StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_models WHERE 1 = 1 "); HashMap paramts = new HashMap<>(); // 物品模板id sql.append(" and goods_templates_id =:goods_templates_id "); paramts.put("goods_templates_id", goodsTemplatesId); sql.append(" and states !=3 ORDER BY CREATE_TIME DESC "); return selectSplit(sql.toString(), paramts, new BaseGoodsModels()); } /** * @Description 根据 型号名称和物品模板id 查询规格型号 * @Author 卢庆阳 * @Date 2023/10/25 */ @Override public BaseGoodsModels getByModelNameAndGoodsTemplatesId(BaseGoodsModels models) { StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_models WHERE 1 = 1 "); HashMap paramts = new HashMap<>(); // 规格型号名称 sql.append(" and MODEL_NAME =:MODEL_NAME "); paramts.put("MODEL_NAME", models.getModelName()); // 物品模板id sql.append(" and GOODS_TEMPLATES_ID =:GOODS_TEMPLATES_ID "); paramts.put("GOODS_TEMPLATES_ID", models.getGoodsTemplatesId()); if (models.getStates() != null) { sql.append(" and STATES =:states "); paramts.put("states", models.getStates()); } return this.get(sql.toString(), paramts, new BaseGoodsModels()); } /** * @Description 新增 * @Author 卢庆阳 * @Date 2023/10/23 */ @Override public int add(BaseGoodsModels models) { models.setId(IdUtil.generateId()); models.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); return this.insert(models); } /** * 修改状态 * * @author 卢庆阳 * @date 2023/10/25 */ @Override public int updateStatus(BaseGoodsModels models) { return this.update(models); } /** * @Description 根据id删除规格型号 * @Author 卢庆阳 * @Date 2023/10/25 */ @Override public int updateById(BaseGoodsModels models) { models.setStates(Constants.STATES_DELETED); return this.update(models); } /** * @param idList * @Description 根据规格型号id查询规格型号 * @Author 卢庆阳 * @Date 2023/11/2 */ @Override public List selectByModelsIdList(List idList) { if (CollectionUtils.isEmpty(idList)) { log.error("参数错误"); return Collections.emptyList(); } StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_models WHERE 1 = 1 "); HashMap paramts = new HashMap<>(); sql.append(" and id in ( "); for (int i = 0; i < idList.size(); i++) { sql.append(idList.get(i)); if (i < idList.size() - 1) { sql.append(","); } } sql.append(" ) "); return this.select(sql.toString(), paramts, new BaseGoodsModels()); } /** * 根据物品型号id 查询物品信息 * * @param baseGoodsModelsId * @return */ @Override public List> queryGoodsModelInfo(Long baseGoodsModelsId) { StringBuilder sql = new StringBuilder( "SELECT CLASSIFICATION type, goodsTemp.CATEGORY_ID,goodsTemp.CATEGORY_NAME,goodsTemp.id goods_Id," + "goodsTemp.GOODS_NAME,model.MODEL_NAME,model.id base_Goods_Models_Id,model.UNIT " + "FROM BASE_GOODS_MODELS model LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON model.GOODS_TEMPLATES_ID=goodsTemp.id "); HashMap paramts = new HashMap<>(); sql.append(" where model.id=:baseGoodsModelsId"); paramts.put("baseGoodsModelsId", baseGoodsModelsId); return select(sql.toString(), paramts, new MapperUtil()); } @Override public List queryGoodsModelByGoodsTemplatesId(Long baseGoodsModelsId) { StringBuilder sql = new StringBuilder("select * from base_goods_models where states != 3 "); HashMap param = new HashMap<>(); if (baseGoodsModelsId != null) { sql.append("and goods_templates_id=:baseGoodsModelsId"); param.put("baseGoodsModelsId", baseGoodsModelsId); } return select(sql.toString(), param, new BaseGoodsModels()); } }