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<String> 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);
|
}
|
}
|