diff --git a/src/main/java/com/bonus/gzcar/business/app/service/AppServiceImpl.java b/src/main/java/com/bonus/gzcar/business/app/service/AppServiceImpl.java index db3ef24..5265a49 100644 --- a/src/main/java/com/bonus/gzcar/business/app/service/AppServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/app/service/AppServiceImpl.java @@ -10,6 +10,7 @@ import com.bonus.gzcar.business.system.entity.AuditRecordVo; import com.bonus.gzcar.business.system.entity.FileUploadVo; import com.bonus.gzcar.business.system.service.AuditRecordService; import com.bonus.gzcar.business.system.service.FileUploadService; +import com.bonus.gzcar.business.utils.ListHelpUtil; import com.bonus.gzcar.manager.common.util.StringHelper; import com.bonus.gzcar.manager.webResult.ServerResponse; import lombok.extern.slf4j.Slf4j; @@ -88,16 +89,41 @@ public class AppServiceImpl implements AppService{ List fileList = new ArrayList<>(fileList3); if(planType==1){ List carImage=uploadService.getFileList(vo.getCarId(),"car_supplier_info",""); + if(ListHelpUtil.isNotEmpty(carImage)){ + carImage.forEach(obj->{ + if(!"6".equals(obj.getType())){ + fileList.add(obj); + } + }); + } List fileList2=uploadService.getFileList(vo.getDriverUserId(),"car_driver_info",""); - fileList.addAll(carImage); - fileList.addAll(fileList2); + if(ListHelpUtil.isNotEmpty(fileList2)){ + fileList2.forEach(obj->{ + if(!"6".equals(obj.getType())){ + fileList.add(obj); + } + }); + } }else{ List carImage=uploadService.getFileList(vo.getDriverUserId(),"car_supplier_info",""); + if(ListHelpUtil.isNotEmpty(carImage)){ + carImage.forEach(obj->{ + if("2".equals(obj.getType()) || "3".equals(obj.getType())){ + fileList.add(obj); + } + }); + } if(StringHelper.isNotEmpty(vo.getOperaUserId())){ List fileList1=uploadService.getFileList(vo.getOperaUserId(),"car_supplier_info",""); - fileList.addAll(fileList1); + if(ListHelpUtil.isNotEmpty(carImage)){ + fileList1.forEach(obj->{ + if("2".equals(obj.getType()) || "3".equals(obj.getType()) || "6".equals(obj.getType())){ + fileList.add(obj); + } + }); + } + } - fileList.addAll(carImage); } vo.setFileList(fileList); vo.setFileNum(fileList.size()); @@ -137,7 +163,7 @@ public class AppServiceImpl implements AppService{ if(StringHelper.isEmpty(id) || "undefined".equals(id)){ return ServerResponse.createErroe("id不能为空"); } - uploadService.uploadImageOne(file,id,"car_plan_out","到货确认单"); + uploadService.uploadImageOne(file,id+"-dh","car_plan_out","到货确认单"); return ServerResponse.createBySuccessMsg("上传成功"); }catch (Exception e){ log.error(e.toString(),e); diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/SupDispatchCarController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/SupDispatchCarController.java index b1ecafd..be7fe03 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/SupDispatchCarController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/SupDispatchCarController.java @@ -139,6 +139,18 @@ public class SupDispatchCarController { return service.getDispatchCarData(dto.getData()); } + /** + * + * @param dto + * @return + */ + @PostMapping("getDispatchCarData2") + @DecryptAndVerify(decryptedClass = CarPlanOutVo.class) + public ServerResponse getDispatchCarData2(EncryptedReq dto) { + return service.getDispatchCarData2(dto.getData()); + } + + /** * 修改-派车信息-非供应商 diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarBalanceExport2Vo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarBalanceExport2Vo.java index b577b07..7e7543a 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarBalanceExport2Vo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarBalanceExport2Vo.java @@ -26,6 +26,7 @@ public class CarBalanceExport2Vo extends ParentVo { /** * 需求计划数量 */ + @Excel(name = "需求计划数量", width = 10.0, orderNum = "2") private int planNum; /** * 工程数量 @@ -69,7 +70,7 @@ public class CarBalanceExport2Vo extends ParentVo { /** * 计划id */ - @Excel(name = "需求计划数量", width = 10.0, orderNum = "2") + private String planId; /** * 计划编码 diff --git a/src/main/java/com/bonus/gzcar/business/backstage/mapper/DispatchCarMapper.java b/src/main/java/com/bonus/gzcar/business/backstage/mapper/DispatchCarMapper.java index 9a7a181..fee1d45 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/mapper/DispatchCarMapper.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/mapper/DispatchCarMapper.java @@ -142,4 +142,20 @@ public interface DispatchCarMapper { * @return */ int getPlanDispayNum(CarNeedPlanVo data); + + + + CarNeedPlanVo getSupPlanData(CarNeedPlanVo data); + + /** + * 删除历史发货的 + * @param data + */ + void deleteOutData(CarNeedPlanVo data); + + void deleteOutDetails(CarNeedPlanVo data); + + void deleteOutDataRecord(CarNeedPlanVo data); + + void deleteOutDetailsRecord(CarNeedPlanVo data); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/mapper/SupDispatchCarMapper.java b/src/main/java/com/bonus/gzcar/business/backstage/mapper/SupDispatchCarMapper.java index 0e443b9..d350dfe 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/mapper/SupDispatchCarMapper.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/mapper/SupDispatchCarMapper.java @@ -127,4 +127,11 @@ public interface SupDispatchCarMapper { * @return */ Integer validateSltNum(CarPlanOutVo outVo); + + /** + * 查询结算数据 + * @param outVo + * @return + */ + int getSltNumByPlan(CarPlanOutVo outVo); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/DispatchCarServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/DispatchCarServiceImpl.java index f6590ff..6f8b98e 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/DispatchCarServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/DispatchCarServiceImpl.java @@ -199,8 +199,6 @@ public class DispatchCarServiceImpl implements DispatchCarService{ if( dispatNum>0){ return ServerResponse.createErroe("该计划已派车、不允许重新分配"); } - - //吊车需要验证 供应商合同型号 if(2==data.getType()){ List detailVos=mapper.getContractSupInfo(data); @@ -210,6 +208,15 @@ public class DispatchCarServiceImpl implements DispatchCarService{ } } + CarNeedPlanVo hisData=mapper.getSupPlanData(data); + if(hisData!=null){ + String supId=hisData.getSupId(); + String contractId=hisData.getContractId(); + if(!supId.equals(data.getSupId()) || !contractId.equals(data.getContractId())){ + deleteData(data); + } + + } int num= mapper.addPlanSupInfo(data); if(num>0){ return ServerResponse.createBySuccessMsg("分配成功"); @@ -220,6 +227,13 @@ public class DispatchCarServiceImpl implements DispatchCarService{ return ServerResponse.createErroe("分配失败"); } + public void deleteData(CarNeedPlanVo data){ + mapper.deleteOutData(data); + mapper.deleteOutDetails(data); + mapper.deleteOutDataRecord(data); + mapper.deleteOutDetailsRecord(data); + } + /** * 车辆配送=-审核 * @param data diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarService.java b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarService.java index a3b32a9..46c42f0 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarService.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarService.java @@ -79,4 +79,11 @@ public interface SupDispatchCarService { * @return */ ServerResponse uploadFile(HttpServletRequest request, MultipartFile[] files); + + /** + * 包含确认单的 + * @param data + * @return + */ + ServerResponse getDispatchCarData2(CarPlanOutVo data); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java index 299b212..2c3a63c 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java @@ -215,8 +215,16 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService{ } } + + + String userId= Objects.requireNonNull(UserUtil.getLoginUser()).getUserId().toString(); CarPlanOutVo outVo = JSON.parseObject(params, CarPlanOutVo.class); + int sltNum=mapper.getSltNumByPlan(outVo); + if(sltNum>0){ + return ServerResponse.createErroe("当前计划已结算,不允许修改"); + } + int planType=outVo.getPlanType(); outVo.setUpdater(userId); List detailsVoList=outVo.getDetailsVoList(); @@ -331,7 +339,7 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService{ list=mapper.getOutPageList(data); for (CarNeedPlanVo carNeedPlanVo:list){ if(carNeedPlanVo.getFileNum()>0){ - List fileList= uploadService.getFileList(carNeedPlanVo.getId(),"car_plan_out","到货确认单"); + List fileList= uploadService.getFileList(carNeedPlanVo.getId()+"-dh","car_plan_out","到货确认单"); carNeedPlanVo.setFileList(fileList); } } @@ -357,7 +365,7 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService{ } JSONObject json=JSON.parseObject(params); params=json.get("id").toString(); - uploadService.uploadImage(files,params,"car_plan_out","到货确认单"); + uploadService.uploadImage(files,params+"-dh","car_plan_out","到货确认单"); return ServerResponse.createBySuccessMsg("上传成功"); }catch (Exception e){ log.error(e.toString()); @@ -365,6 +373,39 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService{ return ServerResponse.createErroe("上传失败"); } + @Override + public ServerResponse getDispatchCarData2(CarPlanOutVo data) { + try{ + CarPlanOutVo vo=mapper.getDispatchCarData(data); + if(vo!=null){ + List fileList=uploadService.getFileList(data.getId(),"car_plan_out",""); + List fileList0=uploadService.getFileList(data.getId()+"-dh","car_plan_out",""); + if(ListHelpUtil.isNotEmpty(fileList0) && ListHelpUtil.isNotEmpty(fileList)){ + fileList.addAll(fileList0); + } + vo.setFileList(fileList); + List list=mapper.getDispatchCarDetailsList(data); + for (CarPlanOutVoDetailsVo detailsVo:list){ + List fileList2=uploadService.getFileList(detailsVo.getId(),"car_plan_out_details",""); + detailsVo.setFileList(fileList2); + List carImage=uploadService.getFileList(detailsVo.getCarId(),"car_supplier_info",""); + detailsVo.setCarImage(carImage); + List driverUserImage=uploadService.getFileList(detailsVo.getDriverUserId(),"car_driver_info",""); + detailsVo.setDriverUserImage(driverUserImage); + List operaImage=uploadService.getFileList(detailsVo.getOperaUserId(),"car_driver_info",""); + detailsVo.setOperaImage(operaImage); + } + List record= recordService.getRecordList("out-"+data.getId()); + vo.setRecordList(record); + vo.setDetailsVoList(list); + } + return ServerResponse.createSuccess("查询成功",vo); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createSuccess("查询失败",new CarPlanOutVo()); + } + @Override public ServerResponse getDispatchCarListData(CarPlanOutVo data) { List list=new ArrayList<>(); diff --git a/src/main/java/com/bonus/gzcar/business/system/service/AuditRecordService.java b/src/main/java/com/bonus/gzcar/business/system/service/AuditRecordService.java index 6e29297..5b925f2 100644 --- a/src/main/java/com/bonus/gzcar/business/system/service/AuditRecordService.java +++ b/src/main/java/com/bonus/gzcar/business/system/service/AuditRecordService.java @@ -90,7 +90,7 @@ public class AuditRecordService { return mapper.getUpTimes(id,statusType); } }else{ - return mapper.getUpTimes(id,statusType); + return mapper.getUpTimes(id,1); } } diff --git a/src/main/resources/mappers/business/app/AppMapper.xml b/src/main/resources/mappers/business/app/AppMapper.xml index fc80c8c..75685f2 100644 --- a/src/main/resources/mappers/business/app/AppMapper.xml +++ b/src/main/resources/mappers/business/app/AppMapper.xml @@ -78,6 +78,7 @@ day_or_m isDayOrMonth,cpod.remark,cpd.need_day needDay,csi.type carType ,csi.brand, cpa.code planCode,cpa.pro_id proId,cs.`name` supName from car_plan_out_details cpod + left join car_plan_out cpo on cpod.out_id=cpo.id left join car_supplier cs on cpod.sup_id=cs.id left join car_plan_details cpd on cpd.apply_id=cpod.apply_id and cpd.model_id LEFT JOIN car_ma_type_info cmti on cmti.id=cpod.model_id @@ -85,7 +86,7 @@ left join car_supplier_info csi on csi.id= cpod.car_id where 1=1 - and cpod.apply_id=#{planId} + and cpod.apply_id=#{planId} and cpo.`status`=1 and cpod.id=#{outId} diff --git a/src/main/resources/mappers/business/backstage/CarStatisticsMapper.xml b/src/main/resources/mappers/business/backstage/CarStatisticsMapper.xml index 19ac6e3..24958d4 100644 --- a/src/main/resources/mappers/business/backstage/CarStatisticsMapper.xml +++ b/src/main/resources/mappers/business/backstage/CarStatisticsMapper.xml @@ -41,7 +41,7 @@ + SELECT apply_id id,sup_id supId,contract_id contractId + FROM car_plan_apply_sup + WHERE apply_id=#{id} + + update car_plan_out set status=#{status} where id=#{id} @@ -79,6 +97,7 @@ sum(cpa.need_num)-sum(cpa.dispatch_num) noDispatchNum,cpa.pro_id proId from car_plan_apply cpa + cpa.status_type=1 and cpa.pro_id =#{proId} @@ -113,13 +132,14 @@ AND dispatch_num>0 and cpa.status!=1 + order by cpa.create_time desc + \ No newline at end of file diff --git a/src/main/resources/mappers/business/backstage/SupDispatchCarMapper.xml b/src/main/resources/mappers/business/backstage/SupDispatchCarMapper.xml index 9e7edd0..1120c5f 100644 --- a/src/main/resources/mappers/business/backstage/SupDispatchCarMapper.xml +++ b/src/main/resources/mappers/business/backstage/SupDispatchCarMapper.xml @@ -238,7 +238,7 @@ SELECT count(1) num ,own_id id,type from bm_file_upload where model_table='car_plan_out' AND type='到货确认单' GROUP BY own_id - )file on file.id=cpo.id + )file on file.id=concat(cpo.id,'-dh') where 1=1 and cpo.status=1 and ( @@ -250,5 +250,10 @@ order by cpo.create_time desc + \ No newline at end of file