You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.6 KiB
Java
97 lines
3.6 KiB
Java
package com.glxp.api.service.inv;
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.glxp.api.common.enums.ResultEnum;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
import com.glxp.api.dao.basic.BasicBussinessTypeDao;
|
|
import com.glxp.api.req.inv.FilterInvCountSettingRequest;
|
|
import com.glxp.api.res.inv.InvCountSettingResponse;
|
|
import org.springframework.stereotype.Service;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.glxp.api.entity.inv.InvCountSettingEntity;
|
|
import com.glxp.api.dao.inv.InvCountSettingMapper;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class InvCountSettingService extends ServiceImpl<InvCountSettingMapper, InvCountSettingEntity> {
|
|
@Resource
|
|
private InvCountSettingMapper invCountSettingDao;
|
|
@Resource
|
|
private BasicBussinessTypeDao bussinessTypeDao;
|
|
|
|
public List<InvCountSettingResponse> filterList(FilterInvCountSettingRequest settingRequest) {
|
|
if (null == settingRequest) {
|
|
return Collections.emptyList();
|
|
}
|
|
if (null != settingRequest.getPage() && null != settingRequest.getLimit()) {
|
|
PageHelper.offsetPage((settingRequest.getPage() - 1) * settingRequest.getLimit(), settingRequest.getLimit());
|
|
}
|
|
List<InvCountSettingEntity> list = invCountSettingDao.filterList(settingRequest);
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
List<InvCountSettingResponse> result = new ArrayList<>(list.size());
|
|
for (InvCountSettingEntity invCountSettingEntity : list) {
|
|
InvCountSettingResponse response = new InvCountSettingResponse();
|
|
BeanUtil.copyProperties(invCountSettingEntity, response);
|
|
//查询单据类型名称
|
|
response.setInBusTypeName(bussinessTypeDao.selectNameByAction(invCountSettingEntity.getInAction()));
|
|
response.setOutBusTypeName(bussinessTypeDao.selectNameByAction(invCountSettingEntity.getOutAction()));
|
|
result.add(response);
|
|
}
|
|
return result;
|
|
}
|
|
return Collections.emptyList();
|
|
}
|
|
|
|
|
|
public BaseResponse updateCountSetting(InvCountSettingEntity invCountSettingEntity) {
|
|
if (StrUtil.isBlank(invCountSettingEntity.getInAction()) || StrUtil.isBlank(invCountSettingEntity.getOutAction())) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
}
|
|
invCountSettingDao.updateById(invCountSettingEntity);
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
|
|
public BaseResponse addCountSetting(InvCountSettingEntity invCountSettingEntity) {
|
|
if (existSetting()) {
|
|
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "已存在盘点参数");
|
|
}
|
|
if (StrUtil.isBlank(invCountSettingEntity.getInAction()) || StrUtil.isBlank(invCountSettingEntity.getOutAction())) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
}
|
|
invCountSettingDao.insert(invCountSettingEntity);
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
|
|
public boolean verifyAdd() {
|
|
if (existSetting()) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* 判断是否已经存在盘点设置
|
|
*
|
|
* @return
|
|
*/
|
|
public boolean existSetting() {
|
|
Long count = invCountSettingDao.countSetting();
|
|
if (count == null || count < 1) {
|
|
//未配置设置
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
}
|