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 inProgressStatus = PurchaseTaskStatusEnum.TO_STORE.getStatus();
int inStoreStatus = PurchaseTaskStatusEnum.IN_STORE.getStatus();
int allRejectStatus = PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus();
boolean notContainsNoFinished =!statusList.contains(publishedStatus);
boolean containToStore = statusList.contains(inProgressStatus);
boolean containReject = statusList.contains(allRejectStatus);
boolean allStore = statusList.stream()
.allMatch(status -> status.equals(inStoreStatus));
if (notContainsNoFinished && allStore) {
partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.IN_STORE.getStatus());
} else if (notContainsNoFinished && containToStore) {
partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus());
} else if (!containToStore && containReject) {
partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.IN_STORE.getStatus());
}
}
return AjaxResult.success();

View File

@ -178,6 +178,8 @@ public class PartArrivedServiceImpl implements IPartArrivedService
List<PartTypeCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
for (int i = 0; i < partTypeCheckInfos.size(); i++) {
List<PartTypeCheckDetails> partTypeCheckDetails = partArrivedMapper.selectPartTypeCheckDetailsList(partTypeCheckInfos.get(i).getTaskId());
boolean isNoticeFlag = false;
boolean isCheckFlag = false;
if (null != partTypeQueryDto.getTaskStage()) {
// 根据阶段来过滤详情数据
switch (partTypeQueryDto.getTaskStage()) {
@ -191,21 +193,25 @@ public class PartArrivedServiceImpl implements IPartArrivedService
}
break;
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_CHECK_AFTER_REJECT.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());*/
if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) {
partTypeCheckInfos.get(i).setTaskStatusName("未完成");
} else {
partTypeCheckInfos.get(i).setTaskStatusName("已完成");
}
// 将待通知的数据过滤
if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_NOTICE.getStatus())) {
isNoticeFlag = true;
}
break;
case PURCHASE_TASK_STAGE_STORE:
partTypeCheckDetails = partTypeCheckDetails.stream().filter(o ->
/*partTypeCheckDetails = partTypeCheckDetails.stream().filter(o ->
PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) ||
PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) ||
PurchaseTaskStatusEnum.TASK_FINISHED.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()) ||
partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_STORE.getStatus()) ||
partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) {
@ -213,11 +219,19 @@ public class PartArrivedServiceImpl implements IPartArrivedService
} else {
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;
default:
System.err.println("未知的新购任务阶段:" + partTypeQueryDto.getTaskStage());
}
}
if (isNoticeFlag || isCheckFlag) {
continue;
}
if(!CollectionUtils.isEmpty(partTypeCheckDetails)) {
BigDecimal purchaseNum = new BigDecimal(0);
BigDecimal purchasePrice = new BigDecimal(0);
@ -326,7 +340,14 @@ public class PartArrivedServiceImpl implements IPartArrivedService
public boolean updatePartTypeCheckInfo(PartTypeCheckDto partTypeCheckDto) {
partTypeCheckDto.getPartTypeCheckInfo().setUpdateTime(DateUtils.getNowDate());
partTypeCheckDto.getPartTypeCheckInfo().setUpdateBy(SecurityUtils.getUsername());
// 先去查是否存在文件信息存在就删除
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())) {
partTypeCheckDto.getPartTypeCheckDetailsList().removeIf(Objects::isNull);
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 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,
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
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
@ -164,12 +165,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 限制条件 严格匹配字典表及枚举类中定义的状态码 -->
<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 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 id="deleteTmTask" parameterType="Long">