Merge branch '0.8.X' of https://gitee.com/hdka/klp-oa into 0.8.X
This commit is contained in:
@@ -6,7 +6,6 @@ import java.util.Arrays;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.klp.domain.vo.*;
|
||||
import liquibase.pro.packaged.W;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
@@ -129,14 +128,4 @@ public class WmsDeliveryPlanController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据逗号分隔的coil_id字符串查询对应的钢卷信息
|
||||
*
|
||||
* @return 钢卷信息列表
|
||||
*/
|
||||
@PostMapping("/coils")
|
||||
public R<List<WmsMaterialCoilVo>> getCoilInfoByIds(@RequestBody WmsDeliveryPlanBo bo) {
|
||||
List<WmsMaterialCoilVo> coilInfoList = iWmsDeliveryPlanService.getCoilInfoByIds(bo.getCoilIds());
|
||||
return R.ok(coilInfoList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.klp.controller;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Arrays;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.klp.domain.vo.WmsMaterialCoilExportVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -195,5 +196,30 @@ public class WmsMaterialCoilController extends BaseController {
|
||||
public TableDataInfo<WmsMaterialCoilVo> getAvailableCoilsForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery) {
|
||||
return iWmsMaterialCoilService.queryAvailableForDelivery(bo, pageQuery);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量更新钢卷发货状态
|
||||
*
|
||||
* @param coilIds 钢卷ID,多个ID用逗号分隔
|
||||
* @param status 目标状态 (0=在库, 1=在途, 2=已出库)
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "钢卷物料表", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/batchUpdateDeliveryStatus")
|
||||
public R<Void> batchUpdateDeliveryStatus(
|
||||
@RequestParam String coilIds,
|
||||
@RequestParam Integer status) {
|
||||
|
||||
// 解析钢卷ID列表
|
||||
List<Long> coilIdList = Arrays.stream(coilIds.split(","))
|
||||
.map(String::trim)
|
||||
.filter(s -> !s.isEmpty())
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Boolean result = iWmsMaterialCoilService.batchUpdateDeliveryStatus(coilIdList, status);
|
||||
return result ? R.ok() : R.fail("批量更新失败");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,5 @@ public class WmsDeliveryPlanBo extends BaseEntity {
|
||||
// 钢卷集合
|
||||
private String coil;
|
||||
|
||||
private String coilIds;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -160,5 +160,10 @@ public class WmsMaterialCoilBo extends BaseEntity {
|
||||
*/
|
||||
private Integer minAbnormalCount;
|
||||
|
||||
/**
|
||||
* 钢卷ID列表(逗号分隔,用于根据ID列表查询钢卷)
|
||||
*/
|
||||
private String coilIds;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,4 @@ public interface IWmsDeliveryPlanService {
|
||||
* 获取发货报表统计信息(包含汇总和按类型统计)
|
||||
*/
|
||||
WmsDeliveryReportResultVo getDeliveryReport(Date startTime, Date endTime);
|
||||
|
||||
List<WmsMaterialCoilVo> getCoilInfoByIds(String coilIds);
|
||||
}
|
||||
|
||||
@@ -101,5 +101,7 @@ public interface IWmsMaterialCoilService {
|
||||
int exportCoil(@NotEmpty(message = "主键不能为空") Long coilId);
|
||||
|
||||
TableDataInfo<WmsMaterialCoilVo> queryAvailableForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery);
|
||||
|
||||
Boolean batchUpdateDeliveryStatus(List<Long> coilIdList, Integer status);
|
||||
}
|
||||
|
||||
|
||||
@@ -168,27 +168,4 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据逗号分隔的coil_id字符串查询对应的钢卷信息
|
||||
*
|
||||
* @param coilIds 逗号分隔的coil_id字符串
|
||||
* @return 钢卷信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<WmsMaterialCoilVo> getCoilInfoByIds(String coilIds) {
|
||||
if (StringUtils.isBlank(coilIds)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
// 将逗号分隔的字符串转换为ID列表
|
||||
List<Long> idList = Arrays.stream(coilIds.split(","))
|
||||
.map(String::trim)
|
||||
.filter(s -> !s.isEmpty())
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 查询对应的钢卷信息
|
||||
return coilMapper.selectVoBatchIds(idList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,6 +350,23 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
// 兼容原来的itemId单值查询
|
||||
qw.eq("mc.item_id", bo.getItemId());
|
||||
}
|
||||
// 添加coilIds查询条件,支持逗号分隔的多个coilId查询
|
||||
if (StringUtils.isNotBlank(bo.getCoilIds())) {
|
||||
String[] coilIdArray = bo.getCoilIds().split(",");
|
||||
List<Long> coilIdList = new ArrayList<>();
|
||||
for (String coilIdStr : coilIdArray) {
|
||||
if (StringUtils.isNotBlank(coilIdStr)) {
|
||||
try {
|
||||
coilIdList.add(Long.parseLong(coilIdStr.trim()));
|
||||
} catch (NumberFormatException e) {
|
||||
// 忽略无效的ID格式
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!coilIdList.isEmpty()) {
|
||||
qw.in("mc.coil_id", coilIdList);
|
||||
}
|
||||
}
|
||||
//逻辑删除
|
||||
qw.eq("mc.del_flag", 0);
|
||||
//把team字段作为筛选条件
|
||||
@@ -1834,4 +1851,35 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
|
||||
return lqw;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量更新钢卷发货状态
|
||||
*
|
||||
* @param coilIds 钢卷ID列表
|
||||
* @param status 目标状态 (0=在库, 1=在途, 2=已出库)
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean batchUpdateDeliveryStatus(List<Long> coilIds, Integer status) {
|
||||
if (coilIds == null || coilIds.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (status == null || status < 0 || status > 2) {
|
||||
throw new RuntimeException("无效的状态值,状态必须在0-2之间");
|
||||
}
|
||||
|
||||
// 构造更新条件
|
||||
LambdaUpdateWrapper<WmsMaterialCoil> updateWrapper = Wrappers.lambdaUpdate();
|
||||
updateWrapper.in(WmsMaterialCoil::getCoilId, coilIds);
|
||||
updateWrapper.set(WmsMaterialCoil::getStatus, status);
|
||||
|
||||
// 如果是设置为已出库状态,同时更新出库时间
|
||||
if (status == 1) {
|
||||
updateWrapper.set(WmsMaterialCoil::getExportTime, new Date());
|
||||
}
|
||||
|
||||
return baseMapper.update(null, updateWrapper) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user