|
@@ -64,8 +64,9 @@ public class ProductProcessBatchDetServiceImpl extends AbstractService<ProductPr |
|
|
ProductProcess currentProductProcess = productProcessService.findById(batchDetListAndProductProcess.getProductProcessId()); |
|
|
ProductProcess currentProductProcess = productProcessService.findById(batchDetListAndProductProcess.getProductProcessId()); |
|
|
//获取当前加工单下库表中所有的明细 |
|
|
//获取当前加工单下库表中所有的明细 |
|
|
List<ProductProcessBatchDetVo> batchDetVoListDB = productProcessBatchDetService.findListByProductProcess(productProcessParams); |
|
|
List<ProductProcessBatchDetVo> batchDetVoListDB = productProcessBatchDetService.findListByProductProcess(productProcessParams); |
|
|
//设置加工单的总卷数与前端明细个数相同,并更新加工单信息 |
|
|
|
|
|
currentProductProcess.setPiNum(null==batchDetListFront?0:batchDetListFront.size()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//设置当前加工单的总卷数与前端明细个数相同,并更新加工单信息 |
|
|
|
|
|
currentProductProcess.setPiNum(null==batchDetListFront ? 0:batchDetListFront.size()); |
|
|
productProcessService.update(currentProductProcess); |
|
|
productProcessService.update(currentProductProcess); |
|
|
|
|
|
|
|
|
Date date = new Date(); |
|
|
Date date = new Date(); |
|
@@ -76,14 +77,15 @@ public class ProductProcessBatchDetServiceImpl extends AbstractService<ProductPr |
|
|
|
|
|
|
|
|
/**原则:从前端的明细list中判断,先拿出有id的明细更新,再插入没id的明细,最后删除前端已移除的明细(即库表中在前端找不到对应id的明细)**/ |
|
|
/**原则:从前端的明细list中判断,先拿出有id的明细更新,再插入没id的明细,最后删除前端已移除的明细(即库表中在前端找不到对应id的明细)**/ |
|
|
if(null!=batchDetListFront && batchDetListFront.size()!=0){//如果前端有明细 |
|
|
if(null!=batchDetListFront && batchDetListFront.size()!=0){//如果前端有明细 |
|
|
//将已有(非新增)明细放入一个list |
|
|
|
|
|
|
|
|
//存放库表已有(非新增)明细 |
|
|
List<ProductProcessBatchDet> updateList = new ArrayList<ProductProcessBatchDet>(); |
|
|
List<ProductProcessBatchDet> updateList = new ArrayList<ProductProcessBatchDet>(); |
|
|
//将新增明细放入一个list |
|
|
|
|
|
|
|
|
//存放新增明细 |
|
|
List<ProductProcessBatchDet> addList = new ArrayList<ProductProcessBatchDet>(); |
|
|
List<ProductProcessBatchDet> addList = new ArrayList<ProductProcessBatchDet>(); |
|
|
for (ProductProcessBatchDet productProcessBatchDet : batchDetListFront){ |
|
|
for (ProductProcessBatchDet productProcessBatchDet : batchDetListFront){ |
|
|
if(null!=productProcessBatchDet.getId()){//已有的明细(非新增明细),有id |
|
|
|
|
|
|
|
|
if(null!=productProcessBatchDet.getId()){//库表已有的明细(非新增明细),有id |
|
|
productProcessBatchDet.setUpdateTime(date); |
|
|
productProcessBatchDet.setUpdateTime(date); |
|
|
productProcessBatchDet.setShrinkage(productProcessBatchDet.getLen()/productProcessBatchDet.getDetectionLen()+""); |
|
|
|
|
|
|
|
|
//空值或零值情况判断 |
|
|
|
|
|
productProcessBatchDet.setShrinkage((null==productProcessBatchDet.getDetectionLen() || productProcessBatchDet.getDetectionLen()==0)?"0":(((null==productProcessBatchDet.getLen() || productProcessBatchDet.getLen()==0)?0:productProcessBatchDet.getLen())/productProcessBatchDet.getDetectionLen()+"")); |
|
|
updateList.add(productProcessBatchDet); |
|
|
updateList.add(productProcessBatchDet); |
|
|
}else{//新增明细,没有id |
|
|
}else{//新增明细,没有id |
|
|
productProcessBatchDet.setCreateTime(date); |
|
|
productProcessBatchDet.setCreateTime(date); |
|
@@ -95,14 +97,15 @@ public class ProductProcessBatchDetServiceImpl extends AbstractService<ProductPr |
|
|
productProcessBatchDet.setDeliveryCode(currentProductProcess.getDeliveryCode()); |
|
|
productProcessBatchDet.setDeliveryCode(currentProductProcess.getDeliveryCode()); |
|
|
productProcessBatchDet.setProductProcessId(currentProductProcess.getId()); |
|
|
productProcessBatchDet.setProductProcessId(currentProductProcess.getId()); |
|
|
productProcessBatchDet.setVolumeNum((maxVolumeNumDB++)+""); |
|
|
productProcessBatchDet.setVolumeNum((maxVolumeNumDB++)+""); |
|
|
productProcessBatchDet.setBatchCode(ProduceManagePublicMethod.creatBatchDetCode(date, currentProductProcess.getId(), currentProductProcess.getBatchCode(), productProcessBatchDet.getVolumeNum())); |
|
|
|
|
|
productProcessBatchDet.setShrinkage(productProcessBatchDet.getLen()/productProcessBatchDet.getDetectionLen()+""); |
|
|
|
|
|
|
|
|
productProcessBatchDet.setBatchDetCode(ProduceManagePublicMethod.creatBatchDetCode(date, currentProductProcess.getId(), currentProductProcess.getBatchCode(), productProcessBatchDet.getVolumeNum())); |
|
|
|
|
|
productProcessBatchDet.setShrinkage((null==productProcessBatchDet.getDetectionLen() || productProcessBatchDet.getDetectionLen()==0)?"0":(((null==productProcessBatchDet.getLen() || productProcessBatchDet.getLen()==0)?0:productProcessBatchDet.getLen())/productProcessBatchDet.getDetectionLen()+"")); |
|
|
productProcessBatchDet.setCompanyId(currentUser.getCompanyId()); |
|
|
productProcessBatchDet.setCompanyId(currentUser.getCompanyId()); |
|
|
addList.add(productProcessBatchDet); |
|
|
addList.add(productProcessBatchDet); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//批量删除前端已移除的明细及其瑕疵 |
|
|
//批量删除前端已移除的明细及其瑕疵 |
|
|
|
|
|
|
|
|
if(null!=batchDetVoListDB && batchDetVoListDB.size()!=0){ |
|
|
if(null!=batchDetVoListDB && batchDetVoListDB.size()!=0){ |
|
|
//获取所有前端明细的id |
|
|
//获取所有前端明细的id |
|
|
List<Integer> idsFront = batchDetListFront.stream().map(ProductProcessBatchDet::getId).collect(Collectors.toList()); |
|
|
List<Integer> idsFront = batchDetListFront.stream().map(ProductProcessBatchDet::getId).collect(Collectors.toList()); |
|
@@ -111,11 +114,13 @@ public class ProductProcessBatchDetServiceImpl extends AbstractService<ProductPr |
|
|
if(null!=idsDB && idsDB.size()!=0) { |
|
|
if(null!=idsDB && idsDB.size()!=0) { |
|
|
List<Integer> deleteIdsDB = new ArrayList<Integer>(idsDB); |
|
|
List<Integer> deleteIdsDB = new ArrayList<Integer>(idsDB); |
|
|
deleteIdsDB.removeAll(idsFront); |
|
|
deleteIdsDB.removeAll(idsFront); |
|
|
productProcessBatchDetService.deleteByIdsList(deleteIdsDB); |
|
|
|
|
|
ProductBatchDetectParams batchDetectParams = new ProductBatchDetectParams(); |
|
|
|
|
|
batchDetectParams.setBatchDetIdList(deleteIdsDB); |
|
|
|
|
|
batchDetectParams.setCompanyId(currentProductProcess.getCompanyId()); |
|
|
|
|
|
productBatchDetectService.deleteByBatchDet(batchDetectParams); |
|
|
|
|
|
|
|
|
if(deleteIdsDB.size()!=0) { |
|
|
|
|
|
productProcessBatchDetService.deleteByIdsList(deleteIdsDB); |
|
|
|
|
|
ProductBatchDetectParams batchDetectParams = new ProductBatchDetectParams(); |
|
|
|
|
|
batchDetectParams.setBatchDetIdList(deleteIdsDB); |
|
|
|
|
|
batchDetectParams.setCompanyId(currentProductProcess.getCompanyId()); |
|
|
|
|
|
productBatchDetectService.deleteByBatchDet(batchDetectParams); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|