新购到货验收页面状态显示及状态筛选
This commit is contained in:
parent
d5bec70961
commit
56407c53d0
|
|
@ -41,6 +41,8 @@ public class PurchaseCheckInfo extends BaseEntity {
|
||||||
@ApiModelProperty(value = "任务状态名称,未完成/已完成")
|
@ApiModelProperty(value = "任务状态名称,未完成/已完成")
|
||||||
private String taskStatusName;
|
private String taskStatusName;
|
||||||
|
|
||||||
|
private String taskStatusText;
|
||||||
|
|
||||||
@Excel(name = "采购单号", sort = 2)
|
@Excel(name = "采购单号", sort = 2)
|
||||||
@ApiModelProperty(value = "采购单号")
|
@ApiModelProperty(value = "采购单号")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,8 @@ public class PurchaseQueryDto {
|
||||||
@ApiModelProperty(value = "外层任务状态")
|
@ApiModelProperty(value = "外层任务状态")
|
||||||
private Integer taskStatus;
|
private Integer taskStatus;
|
||||||
|
|
||||||
|
private String taskStatusText;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关键字")
|
@ApiModelProperty(value = "关键字")
|
||||||
private String keyWord;
|
private String keyWord;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -265,6 +265,10 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 任务状态判断逻辑
|
||||||
|
String taskStatus = calculateTaskStatus(purchaseCheckDetails);
|
||||||
|
purchaseInfo.setTaskStatusText(taskStatus);
|
||||||
|
|
||||||
// 过滤掉数量管理并且是待绑定状态或者驳回后待绑定状态的物资
|
// 过滤掉数量管理并且是待绑定状态或者驳回后待绑定状态的物资
|
||||||
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o ->
|
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o ->
|
||||||
!(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType()) &&
|
!(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType()) &&
|
||||||
|
|
@ -421,6 +425,13 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
.filter(item -> containsKeyword(item, keyWord))
|
.filter(item -> containsKeyword(item, keyWord))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String taskStatusText = purchaseQueryDto.getTaskStatusText();
|
||||||
|
if (!StringUtils.isBlank(taskStatusText)) {
|
||||||
|
purchaseCheckInfoResult = purchaseCheckInfoResult.stream()
|
||||||
|
.filter(item -> item.getTaskStatusText().contains(taskStatusText))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return purchaseCheckInfoResult;
|
return purchaseCheckInfoResult;
|
||||||
|
|
@ -1220,4 +1231,58 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 状态判断方法
|
||||||
|
private String calculateTaskStatus(List<PurchaseCheckDetails> details) {
|
||||||
|
if (details == null || details.isEmpty()) {
|
||||||
|
return "无明细数据"; // 或者根据业务需求返回默认状态
|
||||||
|
}
|
||||||
|
|
||||||
|
// 统计各种状态的数量
|
||||||
|
boolean hasStatus2 = false;
|
||||||
|
boolean hasStatus3 = false;
|
||||||
|
boolean hasStatus4 = false;
|
||||||
|
boolean hasStatus19 = false;
|
||||||
|
|
||||||
|
for (PurchaseCheckDetails detail : details) {
|
||||||
|
int status = detail.getStatus(); // 假设status是int类型
|
||||||
|
switch (status) {
|
||||||
|
case 2: hasStatus2 = true; break;
|
||||||
|
case 3: hasStatus3 = true; break;
|
||||||
|
case 4: hasStatus4 = true; break;
|
||||||
|
case 19: hasStatus19 = true; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据规则判断任务状态
|
||||||
|
if (hasStatus19 && !hasStatus2 && !hasStatus3 && !hasStatus4) {
|
||||||
|
// 所有状态都是19
|
||||||
|
return "已入库";
|
||||||
|
} else if (hasStatus4 && !hasStatus2 && !hasStatus3 && !hasStatus19) {
|
||||||
|
// 所有状态都是4
|
||||||
|
return "待入库";
|
||||||
|
} else if (hasStatus2 && !hasStatus3 && !hasStatus4 && !hasStatus19) {
|
||||||
|
// 所有状态都是2
|
||||||
|
return "待验收";
|
||||||
|
} else if (hasStatus3 && !hasStatus2 && !hasStatus4 && !hasStatus19) {
|
||||||
|
// 所有状态都是3
|
||||||
|
return "待绑定";
|
||||||
|
} else if (hasStatus4 && hasStatus19 && !hasStatus2 && !hasStatus3) {
|
||||||
|
// 有4和19,没有2和3
|
||||||
|
return "入库中";
|
||||||
|
} else if (hasStatus3 && hasStatus4 && hasStatus19) {
|
||||||
|
// 有3、4、19
|
||||||
|
return "待绑定、入库中";
|
||||||
|
} else if (hasStatus3 && hasStatus4 && !hasStatus19) {
|
||||||
|
// 有3和4,没有19
|
||||||
|
return "待绑定、待入库";
|
||||||
|
} else if (hasStatus3 && hasStatus19 && !hasStatus4) {
|
||||||
|
// 有3和19,没有4
|
||||||
|
return "待绑定、已入库";
|
||||||
|
} else {
|
||||||
|
// 其他未明确覆盖的组合情况
|
||||||
|
return "未完成"; // 或者根据业务需求调整
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,12 +44,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
select
|
select
|
||||||
pci.id, pci.task_id, pci.purchase_time, pci.arrival_time, pci.purchaser, pci.supplier_id, pci.tax_rate, pci.create_by,
|
pci.id, pci.task_id, pci.purchase_time, pci.arrival_time, pci.purchaser, pci.supplier_id, pci.tax_rate, pci.create_by,
|
||||||
pci.create_time, pci.update_by, pci.update_time, pci.remark, pci.company_id,
|
pci.create_time, pci.update_by, pci.update_time, pci.remark, pci.company_id,
|
||||||
t.task_status, t.task_type, t.code, su.user_name as create_user_name, msi.supplier
|
t.task_status,sda.dict_label as taskStatusText, t.task_type, t.code, su.user_name as create_user_name, msi.supplier
|
||||||
from
|
from
|
||||||
purchase_check_info pci
|
purchase_check_info pci
|
||||||
left join tm_task t on t.task_id = pci.task_id
|
left join tm_task t on t.task_id = pci.task_id
|
||||||
left join sys_user su ON pci.create_by = su.user_id
|
left join sys_user su ON pci.create_by = su.user_id
|
||||||
left join ma_supplier_info msi on pci.supplier_id = msi.supplier_id
|
left join ma_supplier_info msi on pci.supplier_id = msi.supplier_id
|
||||||
|
LEFT JOIN sys_dict_data sda on sda.dict_value=t.task_status and sda.dict_type='purchase_task_status'
|
||||||
|
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue