|
@@ -8,9 +8,11 @@ import com.dayou.common.BaseEntity;
|
|
import com.dayou.configuration.DfsConfig;
|
|
import com.dayou.configuration.DfsConfig;
|
|
import com.dayou.dto.ItemData;
|
|
import com.dayou.dto.ItemData;
|
|
import com.dayou.dto.NameUrlDTO;
|
|
import com.dayou.dto.NameUrlDTO;
|
|
|
|
+import com.dayou.dto.TaskRecordDTO;
|
|
import com.dayou.entity.*;
|
|
import com.dayou.entity.*;
|
|
import com.dayou.enums.CertificateEnum;
|
|
import com.dayou.enums.CertificateEnum;
|
|
import com.dayou.enums.ProductionEnum;
|
|
import com.dayou.enums.ProductionEnum;
|
|
|
|
+import com.dayou.enums.ReportStatus;
|
|
import com.dayou.exception.ErrorCode;
|
|
import com.dayou.exception.ErrorCode;
|
|
import com.dayou.exception.file.InvalidExtensionException;
|
|
import com.dayou.exception.file.InvalidExtensionException;
|
|
import com.dayou.mapper.PersonalCalculateMapper;
|
|
import com.dayou.mapper.PersonalCalculateMapper;
|
|
@@ -38,12 +40,14 @@ import java.io.InputStream;
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Field;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
|
|
+import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
import static com.dayou.common.Constants.*;
|
|
import static com.dayou.common.Constants.*;
|
|
import static com.dayou.enums.CertificateEnum.*;
|
|
import static com.dayou.enums.CertificateEnum.*;
|
|
|
|
+import static com.dayou.enums.ProductionEnum.STATEMENT;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -355,6 +359,62 @@ public class PersonalProductionServiceImpl extends ServiceImpl<PersonalProductio
|
|
return this.update(new LambdaUpdateWrapper<PersonalProduction>().set(PersonalProduction::getFilePath,null).eq(BaseEntity::getId,id));
|
|
return this.update(new LambdaUpdateWrapper<PersonalProduction>().set(PersonalProduction::getFilePath,null).eq(BaseEntity::getId,id));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean checkPass(Long id) {
|
|
|
|
+ return this.update(new LambdaUpdateWrapper<PersonalProduction>().eq(BaseEntity::getId,id).set(PersonalProduction::getCheckState, ReportStatus.已审核));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean repertoryIn(TaskRecordDTO<Long> taskRecordDTO) {
|
|
|
|
+ Long productionId = taskRecordDTO.getTaskData();
|
|
|
|
+ PersonalProduction production = this.getOne(new LambdaQueryWrapper<PersonalProduction>().eq(BaseEntity::getId, productionId).eq(BaseEntity::getDeleted, Boolean.FALSE));
|
|
|
|
+
|
|
|
|
+ if (production==null){
|
|
|
|
+ ErrorCode.throwBusinessException(ErrorCode.CUSTOM_ERROR,"产品不存在,入库失败。");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (production.getRepertoryState()!=null && production.getRepertoryState()){
|
|
|
|
+ ErrorCode.throwBusinessException(ErrorCode.CUSTOM_ERROR,"产品已出库,请确认产品状态。");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (production.getRepertoryState()!=null && !production.getRepertoryState()){
|
|
|
|
+ ErrorCode.throwBusinessException(ErrorCode.CUSTOM_ERROR,"产品已入库,无需再次入库");
|
|
|
|
+ }
|
|
|
|
+ return this.update(new LambdaUpdateWrapper<PersonalProduction>().set(PersonalProduction::getRepertoryState,Boolean.FALSE).set(PersonalProduction::getRepertoryInTime,new Date()).eq(BaseEntity::getId,productionId));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean repertoryOut(TaskRecordDTO<Long> taskRecordDTO) {
|
|
|
|
+ Long productionId = taskRecordDTO.getTaskData();
|
|
|
|
+ PersonalProduction production = this.getOne(new LambdaQueryWrapper<PersonalProduction>().eq(BaseEntity::getId, productionId).eq(BaseEntity::getDeleted, Boolean.FALSE));
|
|
|
|
+ if (production.getRepertoryState() == null) {
|
|
|
|
+ ErrorCode.throwBusinessException(ErrorCode.CUSTOM_ERROR, "产品还未入库,无法出库。");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (production.getRepertoryState() != null && production.getRepertoryState()) {
|
|
|
|
+ ErrorCode.throwBusinessException(ErrorCode.CUSTOM_ERROR, "产品已出库,无法再次出库。");
|
|
|
|
+ }
|
|
|
|
+ if (!production.getProduction().equals(STATEMENT.name())){
|
|
|
|
+ //非价值意见书 需做出库前校验
|
|
|
|
+// Long outId = beforeOutCheck(production);
|
|
|
|
+// //更新申请记录中的出库状态
|
|
|
|
+// if (outId!=null){
|
|
|
|
+// outWarehouseService.update(new LambdaUpdateWrapper<ProductionOutWarehouse>().set(ProductionOutWarehouse::getProductionOut,Boolean.TRUE).eq(BaseEntity::getId,outId));
|
|
|
|
+// return this.update(new LambdaUpdateWrapper<MajorProduction>().set(MajorProduction::getRepertoryState, Boolean.TRUE)
|
|
|
|
+// .set(MajorProduction::getRepertoryOutTime,new Date()).set(MajorProduction::getDelivery,Boolean.TRUE)
|
|
|
|
+// .eq(BaseEntity::getId, production.getId()));
|
|
|
|
+// }else{
|
|
|
|
+// ErrorCode.throwBusinessException(ErrorCode.CUSTOM_ERROR, "财务部未审核或审核不通过,产品暂时无法出库。");
|
|
|
|
+// return Boolean.FALSE;
|
|
|
|
+// }
|
|
|
|
+ }else{
|
|
|
|
+ //价值意见书出库无需申请审核
|
|
|
|
+ return this.update(new LambdaUpdateWrapper<PersonalProduction>().set(PersonalProduction::getRepertoryState, Boolean.TRUE).set(PersonalProduction::getRepertoryOutTime,new Date())
|
|
|
|
+ .eq(BaseEntity::getId, production.getId()));
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
* 创建文档
|
|
* 创建文档
|