This commit is contained in:
mashuai 2025-02-20 10:20:32 +08:00
parent fef30e9d8b
commit 7b7b80f461
3 changed files with 34 additions and 8 deletions

View File

@ -83,14 +83,18 @@ public class PartAcceptServiceImpl implements IPartAcceptService
int publishedStatus = PurchaseTaskStatusEnum.TO_CHECK.getStatus(); int publishedStatus = PurchaseTaskStatusEnum.TO_CHECK.getStatus();
int inProgressStatus = PurchaseTaskStatusEnum.TO_STORE.getStatus(); int inProgressStatus = PurchaseTaskStatusEnum.TO_STORE.getStatus();
int inStoreStatus = PurchaseTaskStatusEnum.IN_STORE.getStatus(); int inStoreStatus = PurchaseTaskStatusEnum.IN_STORE.getStatus();
int allRejectStatus = PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus();
boolean notContainsNoFinished =!statusList.contains(publishedStatus); boolean notContainsNoFinished =!statusList.contains(publishedStatus);
boolean containToStore = statusList.contains(inProgressStatus); boolean containToStore = statusList.contains(inProgressStatus);
boolean containReject = statusList.contains(allRejectStatus);
boolean allStore = statusList.stream() boolean allStore = statusList.stream()
.allMatch(status -> status.equals(inStoreStatus)); .allMatch(status -> status.equals(inStoreStatus));
if (notContainsNoFinished && allStore) { if (notContainsNoFinished && allStore) {
partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.IN_STORE.getStatus()); partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.IN_STORE.getStatus());
} else if (notContainsNoFinished && containToStore) { } else if (notContainsNoFinished && containToStore) {
partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus()); partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus());
} else if (!containToStore && containReject) {
partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.IN_STORE.getStatus());
} }
} }
return AjaxResult.success(); return AjaxResult.success();

View File

@ -178,6 +178,8 @@ public class PartArrivedServiceImpl implements IPartArrivedService
List<PartTypeCheckInfo> purchaseCheckInfoResult = new ArrayList<>(); List<PartTypeCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
for (int i = 0; i < partTypeCheckInfos.size(); i++) { for (int i = 0; i < partTypeCheckInfos.size(); i++) {
List<PartTypeCheckDetails> partTypeCheckDetails = partArrivedMapper.selectPartTypeCheckDetailsList(partTypeCheckInfos.get(i).getTaskId()); List<PartTypeCheckDetails> partTypeCheckDetails = partArrivedMapper.selectPartTypeCheckDetailsList(partTypeCheckInfos.get(i).getTaskId());
boolean isNoticeFlag = false;
boolean isCheckFlag = false;
if (null != partTypeQueryDto.getTaskStage()) { if (null != partTypeQueryDto.getTaskStage()) {
// 根据阶段来过滤详情数据 // 根据阶段来过滤详情数据
switch (partTypeQueryDto.getTaskStage()) { switch (partTypeQueryDto.getTaskStage()) {
@ -191,21 +193,25 @@ public class PartArrivedServiceImpl implements IPartArrivedService
} }
break; break;
case PURCHASE_TASK_STAGE_CHECK: case PURCHASE_TASK_STAGE_CHECK:
partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus())).collect(Collectors.toList()); /*partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus())).collect(Collectors.toList());
partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus())).collect(Collectors.toList()); partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus())).collect(Collectors.toList());*/
if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) { if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) {
partTypeCheckInfos.get(i).setTaskStatusName("未完成"); partTypeCheckInfos.get(i).setTaskStatusName("未完成");
} else { } else {
partTypeCheckInfos.get(i).setTaskStatusName("已完成"); partTypeCheckInfos.get(i).setTaskStatusName("已完成");
} }
// 将待通知的数据过滤
if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_NOTICE.getStatus())) {
isNoticeFlag = true;
}
break; break;
case PURCHASE_TASK_STAGE_STORE: case PURCHASE_TASK_STAGE_STORE:
partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> /*partTypeCheckDetails = partTypeCheckDetails.stream().filter(o ->
PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) ||
PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) ||
PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus()) ||
(PurchaseTaskStatusEnum.TO_CHECK.getStatus().equals(o.getStatus())) (PurchaseTaskStatusEnum.TO_CHECK.getStatus().equals(o.getStatus()))
).collect(Collectors.toList()); ).collect(Collectors.toList());*/
if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus()) || if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus()) ||
partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_STORE.getStatus()) || partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_STORE.getStatus()) ||
partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) { partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) {
@ -213,11 +219,19 @@ public class PartArrivedServiceImpl implements IPartArrivedService
} else { } else {
partTypeCheckInfos.get(i).setTaskStatusName("已完成"); partTypeCheckInfos.get(i).setTaskStatusName("已完成");
} }
// 将待通知和待验收的数据过滤
if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_NOTICE.getStatus()) ||
partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) {
isCheckFlag = true;
}
break; break;
default: default:
System.err.println("未知的新购任务阶段:" + partTypeQueryDto.getTaskStage()); System.err.println("未知的新购任务阶段:" + partTypeQueryDto.getTaskStage());
} }
} }
if (isNoticeFlag || isCheckFlag) {
continue;
}
if(!CollectionUtils.isEmpty(partTypeCheckDetails)) { if(!CollectionUtils.isEmpty(partTypeCheckDetails)) {
BigDecimal purchaseNum = new BigDecimal(0); BigDecimal purchaseNum = new BigDecimal(0);
BigDecimal purchasePrice = new BigDecimal(0); BigDecimal purchasePrice = new BigDecimal(0);
@ -326,7 +340,14 @@ public class PartArrivedServiceImpl implements IPartArrivedService
public boolean updatePartTypeCheckInfo(PartTypeCheckDto partTypeCheckDto) { public boolean updatePartTypeCheckInfo(PartTypeCheckDto partTypeCheckDto) {
partTypeCheckDto.getPartTypeCheckInfo().setUpdateTime(DateUtils.getNowDate()); partTypeCheckDto.getPartTypeCheckInfo().setUpdateTime(DateUtils.getNowDate());
partTypeCheckDto.getPartTypeCheckInfo().setUpdateBy(SecurityUtils.getUsername()); partTypeCheckDto.getPartTypeCheckInfo().setUpdateBy(SecurityUtils.getUsername());
partArrivedMapper.deleteBmFileList(partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); // 先去查是否存在文件信息存在就删除
BmFileInfo fileInfo = new BmFileInfo();
fileInfo.setTaskType(13);
fileInfo.setTaskId(partTypeCheckDto.getPartTypeCheckInfo().getTaskId());
List<BmFileInfo> bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
if (!CollectionUtils.isEmpty(bmFileInfoList)) {
partArrivedMapper.deleteBmFileList(partTypeCheckDto.getPartTypeCheckInfo().getTaskId());
}
if (!CollectionUtils.isEmpty(partTypeCheckDto.getPartTypeCheckDetailsList())) { if (!CollectionUtils.isEmpty(partTypeCheckDto.getPartTypeCheckDetailsList())) {
partTypeCheckDto.getPartTypeCheckDetailsList().removeIf(Objects::isNull); partTypeCheckDto.getPartTypeCheckDetailsList().removeIf(Objects::isNull);
partTypeCheckDto.getPartTypeCheckDetailsList().removeIf(o -> Objects.isNull(o.getStatus())); partTypeCheckDto.getPartTypeCheckDetailsList().removeIf(o -> Objects.isNull(o.getStatus()));

View File

@ -138,7 +138,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectPartTypeCheckDetailsListByQueryDto" resultType="com.bonus.material.part.domain.PartTypeCheckDetails"> <select id="selectPartTypeCheckDetailsListByQueryDto" resultType="com.bonus.material.part.domain.PartTypeCheckDetails">
select ppd.id as id,part_id as partId,mpt.pa_name as partName,ppd.task_id as taskId,purchase_price as purchasePrice,purchase_tax_price as purchaseTaxPrice,purchase_num as purchaseNum, select ppd.id as id,part_id as partId,mpt.pa_name as partName,ppd.task_id as taskId,purchase_price as purchasePrice,purchase_tax_price as purchaseTaxPrice,purchase_num as purchaseNum,
mpt.unit_name as unitName,mpt.rent_price as rentPrice,ppd.production_time as productionTime,mpt2.pa_name as maTypeName,ppd.status, mpt.unit_name as unitName,mpt.rent_price as rentPrice,ppd.production_time as productionTime,mpt2.pa_name as maTypeName,ppd.status,
mpt3.pa_name as maName,msi.supplier as supplierName, ppd.check_result as checkResult mpt3.pa_name as maName,msi.supplier as supplierName, ppd.check_result as checkResult,
IFNULL(ppd.input_num, 0) as inputNum
from purchase_part_details ppd from purchase_part_details ppd
left join ma_part_type mpt on ppd.part_id = mpt.pa_id and mpt.del_flag = 0 left join ma_part_type mpt on ppd.part_id = mpt.pa_id and mpt.del_flag = 0
left join purchase_part_info ppi on ppi.id = 2 left join purchase_part_info ppi on ppi.id = 2
@ -164,12 +165,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 限制条件 严格匹配字典表及枚举类中定义的状态码 --> <!-- 限制条件 严格匹配字典表及枚举类中定义的状态码 -->
<delete id="deletePartTypeCheckDetailsByParentIds" parameterType="Long"> <delete id="deletePartTypeCheckDetailsByParentIds" parameterType="Long">
delete from purchase_part_details ppd where task_id = #{taskId} and ppd.status = 0 delete from purchase_part_details where task_id = #{taskId} and status = 1
</delete> </delete>
<delete id="deleteByParentIds" parameterType="Long"> <delete id="deleteByParentIds" parameterType="Long">
delete from purchase_part_details ppd where task_id = #{taskId} delete from purchase_part_details where task_id = #{taskId}
</delete> </delete>
<delete id="deleteTmTask" parameterType="Long"> <delete id="deleteTmTask" parameterType="Long">