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.
udi-wms-java/src/main/java/com/glxp/api/service/inv/InvCountSettingService.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;
}
}