package com.product.base.service; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.product.base.config.BaseErrorCode; import com.product.base.config.CmnConst; import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.exception.BaseException; import com.product.core.service.support.AbstractBaseService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.module.sys.entity.SystemUser; import com.product.util.BaseUtil; /** * 材料信息 * @author 86151 * */ @Component public class MaterialManagerService extends AbstractBaseService{ @Autowired BaseDao baseDao; /** * 获取材料分类树数据 * @return */ public DataTableEntity getMaterialTypeTree() { return baseDao.listTable(CmnConst.PRODUCT_SYS_DICT, "dict_name=?", new Object[] {CmnConst.MATERIAL_TYPE}); } /** * 分页获取材料信息 * @param fse * @return */ public DataTableEntity listMaterialInfo(FieldSetEntity fse) { DataTableEntity dt; if (BaseUtil.strIsNull(fse.getString(CmnConst.MATERIAL_TYPE)) || fse.getInteger(CmnConst.MATERIAL_TYPE)==-1) { dt = baseDao.listTable(CmnConst.PRODUCT_PROJECT_BASE_MATERIAL, null, null, null, null, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); }else { dt = baseDao.listTable(CmnConst.PRODUCT_PROJECT_BASE_MATERIAL, "material_type=?", new Object[] {fse.getInteger(CmnConst.MATERIAL_TYPE)}, null, null, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); } baseDao.loadPromptData(dt); return dt; } /** * 保存材料信息 * @param fse * @return */ public boolean saveMaterialInfo(FieldSetEntity fse) { //验重条件 String filter = "material_code=?"; List param = new ArrayList<>(); param.add(fse.getString(CmnConst.MATERIAL_CODE)); SystemUser sysUser = SpringMVCContextHolder.getCurrentUser(); if (BaseUtil.strIsNull(fse.getUUID())) { BaseUtil.createCreatorAndCreationTime(sysUser, fse); }else { filter += " AND uuid !=?"; param.add(fse.getUUID()); BaseUtil.updatedRegeneratorAndUpdateTime(sysUser, fse); } FieldSetEntity fseExistMaterialCode = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_PROJECT_BASE_MATERIAL, filter, param.toArray(), false); if (fseExistMaterialCode!=null) { throw new BaseException(BaseErrorCode.PROJECT_BASE_MATERIAL_CODE_REPEAT.getValue(), BaseErrorCode.PROJECT_BASE_MATERIAL_CODE_REPEAT.getText()); } return baseDao.saveFieldSetEntity(fse); } }