From 8e70fd60e05fca2eccb5fe5bbd8ab98e1f5f1c07 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Wed, 19 Mar 2025 09:37:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=B1=A5=E5=8E=86=E7=AE=A1?= =?UTF-8?q?=E7=90=86,=E9=9C=80=E6=B1=82=E8=AE=A1=E5=88=92=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CarPersonController.java | 143 ++++++++++++++ .../backstage/entity/CarNeedPlanVo.java | 11 ++ .../backstage/entity/CarPersonVo.java | 80 ++++++++ .../backstage/mapper/CarPersonMapper.java | 59 ++++++ .../service/CarNeedPlanServiceImpl.java | 21 +++ .../backstage/service/CarPersonService.java | 59 ++++++ .../service/CarPersonServiceImpl.java | 174 ++++++++++++++++++ .../business/backstage/CarNeedPlanMapper.xml | 13 +- .../business/backstage/CarPersonMapper.xml | 87 +++++++++ 9 files changed, 643 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/bonus/gzcar/business/backstage/controller/CarPersonController.java create mode 100644 src/main/java/com/bonus/gzcar/business/backstage/entity/CarPersonVo.java create mode 100644 src/main/java/com/bonus/gzcar/business/backstage/mapper/CarPersonMapper.java create mode 100644 src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonService.java create mode 100644 src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonServiceImpl.java create mode 100644 src/main/resources/mappers/business/backstage/CarPersonMapper.xml diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/CarPersonController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarPersonController.java new file mode 100644 index 0000000..e4b466a --- /dev/null +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarPersonController.java @@ -0,0 +1,143 @@ +package com.bonus.gzcar.business.backstage.controller; + + +import com.bonus.gzcar.business.backstage.entity.CarPersonVo; +import com.bonus.gzcar.business.backstage.service.CarPersonService; +import com.bonus.gzcar.business.utils.ExportExcelUtil; +import com.bonus.gzcar.manager.annotation.DecryptAndVerify; +import com.bonus.gzcar.manager.core.entity.EncryptedReq; +import com.bonus.gzcar.manager.webResult.ServerResponse; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @author lsun + */ +@Api(tags = "人员履历管理") +@RestController +@RequestMapping("/backstage/carPerson/") +@Slf4j +public class CarPersonController { + + @Autowired + private CarPersonService service; + + /** + * 分页查询类型数据接口 + * @param dto + * @return + */ + @GetMapping("getCarPageList") + @DecryptAndVerify(decryptedClass = CarPersonVo.class) + public PageInfo getCarPageList(EncryptedReq dto) { + PageHelper.startPage(dto.getPageNum(),dto.getPageSize()); + List list = service.getCarPageList(dto.getData());; + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + /** + * 导出需求计划 + * @param + * @param + * @param + */ + @PostMapping("export") + public void export(HttpServletResponse response, @RequestBody CarPersonVo dto) { + try { + List list = service.getCarPageList(dto); + final int[] num = {1}; + list.forEach(vo->{ + vo.setXh(num[0]); + num[0]++; + }); + ExportExcelUtil.export(response,"车辆", CarPersonVo.class,list); + } catch (Exception e) { + log.error(e.toString(), e); + } + } + /** + * 新增车辆信息 + * @param + * @return + */ + @PostMapping("addCarData") + public ServerResponse addCarData(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) { + return service.addCarData(request,files); + } + /** + * 查询分包商详情 + * + * @param dto + * @return + */ + @PostMapping("getCarCarDetails") + @DecryptAndVerify(decryptedClass = CarPersonVo.class) + public ServerResponse getCarCarDetails(EncryptedReq dto) { + return service.getCarCarDetails(dto.getData()); + } + + /** + * 修改车辆信息 + * @param + * @return + */ + @PostMapping("updateCarData") + public ServerResponse updateCarData(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) { + return service.updateCarData(request,files); + } + + /** + * 删除车辆数据 + * 列表查询 传入 345 + * @param dto + * @return + */ + @PostMapping("deleteCarData") + @DecryptAndVerify(decryptedClass = CarPersonVo.class) + public ServerResponse deleteCarData(EncryptedReq dto) { + return service.deleteCarData(dto.getData()); + } + + + /** + * 车辆下拉选查询- + * 传入 supId + * @param dto + * @return + */ + @GetMapping("getCarListBySup") + @DecryptAndVerify(decryptedClass = CarPersonVo.class) + public PageInfo getCarListBySup(EncryptedReq dto) { + PageHelper.startPage(dto.getPageNum(),dto.getPageSize()); + List list = service.getCarListBySup(dto.getData());; + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + + /** + * 查询对应车辆附件 + * 传入 id + * @param dto + * @return + */ + @PostMapping("getCarImageList") + @DecryptAndVerify(decryptedClass = CarPersonVo.class) + public ServerResponse getCarImageList(EncryptedReq dto) { + return service.getCarImageList(dto.getData()); + } + + + + +} diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java index 57b8314..ec97d57 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java @@ -162,9 +162,20 @@ public class CarNeedPlanVo extends ParentVo { */ private String outTime; + private String carLength; + private String carWidth; + private String carHeight; + private String carWeight; + private String carStart; + private String carEnd; + private int fileNum; + /** + * 删除的文件 + */ + private String delFile; } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarPersonVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarPersonVo.java new file mode 100644 index 0000000..46608ff --- /dev/null +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarPersonVo.java @@ -0,0 +1,80 @@ +package com.bonus.gzcar.business.backstage.entity; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.bonus.gzcar.business.system.entity.FileUploadVo; +import com.bonus.gzcar.business.system.entity.ParentVo; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +/** + * @author lsun + */ +@Data +public class CarPersonVo extends ParentVo { + + private String id; + /** + * 身份证号码 + */ + @NotBlank(message = "身份证号码不能为空") + @Excel(name = "身份证号码", width = 10.0, orderNum = "1") + private String idNumber; + + /** + * 人员姓名 + */ + @NotBlank(message = "请填写人员姓名") + @Excel(name = "人员姓名", width = 10.0, orderNum = "2") + private String name; + + + @NotBlank(message = "请填写联系方式") + @Excel(name = "联系方式", width = 10.0, orderNum = "3") + private String phone; + + + /** + * 吨位 + */ + @NotBlank(message = "评价,备注") + @Excel(name = "评价,备注", width = 10.0, orderNum = "4") + private String remark; + + + + /** + * 图片类型 + */ + private String types; + + /** + * 删除文件的类型 + */ + private String delTypes; + /** + * 删除文件id + */ + private String delFileId; + + /** + * 证书,多个证书逗号分割 + */ + private List certificateFileList; + + /** + * 其他附件,多个附件逗号分割 + */ + private List otherFileList; + + private String certificateFile; + private String otherFile; + + /** + * 删除的文件 + */ + private String delFile; + + +} diff --git a/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarPersonMapper.java b/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarPersonMapper.java new file mode 100644 index 0000000..99e22ae --- /dev/null +++ b/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarPersonMapper.java @@ -0,0 +1,59 @@ +package com.bonus.gzcar.business.backstage.mapper; + +import com.bonus.gzcar.business.backstage.entity.CarPersonVo; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author lsun + * 人员履历管理 数据层 + */ +@Repository +public interface CarPersonMapper { + List getCarPageList(CarPersonVo data) ; + + /** + * 新增车辆数据信息 + * @param carCarVo + * @return + */ + int addCarData(CarPersonVo carCarVo); + + /** + * 修改车辆数据 + * @param carCarVo + * @return + */ + int updateCarData(CarPersonVo carCarVo); + + /** + * 查询车辆数据详情 + * @param data + * @return + */ + List getCarSupDetails(CarPersonVo data); + + /** + * 删除车辆数据 + * @param data + * @return + */ + int deleteCarData(CarPersonVo data); + + /** + * 查询对应供应商的车辆 + * @param data + * @return + */ + List getCarListBySup(CarPersonVo data); + + /** + * 查询供应商车辆 + * @param data + * @return + */ + int getUserBySup(CarPersonVo data); + + int getCarNumBySup(CarPersonVo carCarVo); +} diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java index a4bb927..327b215 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java @@ -131,6 +131,10 @@ public class CarNeedPlanServiceImpl implements CarNeedPlanService{ } recordService.addRecord(vo.getId(),"0","1","2","紧急内部用车","0"); }else{ + List fileList=uploadService.uploadImage(files,vo.getId(),"car_plan_apply","运输起始点高德地图截图"); + if(fileList.size()!=files.length){ + return ServerResponse.createErroe("附件上传失败"); + } recordService.addRecord(vo.getId(),"0","1","2","","0"); } @@ -161,6 +165,9 @@ public class CarNeedPlanServiceImpl implements CarNeedPlanService{ if("1".equals(vo.getApplyType())){ List fileList=uploadService.getFileList(vo.getId(),"car_plan_apply",""); vo.setFileList(fileList); + }else{ + List fileList=uploadService.getFileList(vo.getId(),"car_plan_apply","运输起始点高德地图截图"); + vo.setFileList(fileList); } List recordList=recordService.getRecordList(data.getId()); vo.setRecordList(recordList); @@ -183,6 +190,9 @@ public class CarNeedPlanServiceImpl implements CarNeedPlanService{ if(vo!=null){ List list=mapper.getNeedDetailInfo(data); vo.setDetailList(list); + + List fileList=uploadService.getFileList(vo.getId(),"car_plan_apply","运输起始点高德地图截图"); + vo.setFileList(fileList); } return ServerResponse.createSuccess("查询成功",vo); }catch (Exception e){ @@ -224,6 +234,17 @@ public class CarNeedPlanServiceImpl implements CarNeedPlanService{ vo.setNeedNum(carNeedNun); int num =mapper.updateNeedPlanData(vo); if(num>0){ + + if(files!=null && files.length>0){ + List fileList=uploadService.uploadImage(files,vo.getId(),"car_plan_apply","运输起始点高德地图截图"); + if(fileList.size()!=files.length){ + return ServerResponse.createErroe("文件上传失败!"); + } + } + if(StringHelper.isNotEmpty(vo.getDelFile())){ + uploadService.deleteFile(vo.getDelFile()); + } + for (CarNeedPlanDetailVo detailVo:detailList){ detailVo.setPlanId(vo.getId()); detailVo.setPlanType(vo.getType()); diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonService.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonService.java new file mode 100644 index 0000000..e02c451 --- /dev/null +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonService.java @@ -0,0 +1,59 @@ +package com.bonus.gzcar.business.backstage.service; + +import com.bonus.gzcar.business.backstage.entity.CarPersonVo; +import com.bonus.gzcar.manager.webResult.ServerResponse; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @author lsun + */ +public interface CarPersonService { + List getCarPageList(CarPersonVo data); + + /** + * 新增车辆数据 + * @param request + * @param files + * @return + */ + ServerResponse addCarData(HttpServletRequest request, MultipartFile[] files); + + /** + * 修改车辆信息 + * @param request + * @param files + * @return + */ + ServerResponse updateCarData(HttpServletRequest request, MultipartFile[] files); + + /** + * 查询车辆信息详情 + * @param data + * @return + */ + ServerResponse getCarCarDetails(CarPersonVo data); + + /** + * 删除车辆数据 + * @param data + * @return + */ + ServerResponse deleteCarData(CarPersonVo data); + + /** + * 查询车辆数据下拉选 + * @param data + * @return + */ + List getCarListBySup(CarPersonVo data); + + /** + * 查询车辆附件 + * @param data + * @return + */ + ServerResponse getCarImageList(CarPersonVo data); +} diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonServiceImpl.java new file mode 100644 index 0000000..06dbda6 --- /dev/null +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarPersonServiceImpl.java @@ -0,0 +1,174 @@ +package com.bonus.gzcar.business.backstage.service; +import com.alibaba.fastjson.JSON; +import com.bonus.gzcar.business.backstage.entity.CarPersonVo; +import com.bonus.gzcar.business.backstage.entity.CarSupVo; +import com.bonus.gzcar.business.backstage.mapper.CarPersonMapper; +import com.bonus.gzcar.business.system.entity.FileUploadVo; +import com.bonus.gzcar.business.system.service.FileUploadService; +import com.bonus.gzcar.manager.advice.ValidatorsUtils; +import com.bonus.gzcar.manager.common.util.StringHelper; +import com.bonus.gzcar.manager.common.util.UserUtil; +import com.bonus.gzcar.manager.webResult.ServerResponse; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; + +/** + * @author lsun + */ + +@Service +@Slf4j +public class CarPersonServiceImpl implements CarPersonService { + + @Autowired + private CarPersonMapper mapper; + + @Autowired + private ValidatorsUtils validatorsUtils; + + @Autowired + private FileUploadService uploadService; + @Override + public List getCarPageList(CarPersonVo data) { + try { + return mapper.getCarPageList(data); + }catch (Exception e){ + log.error(e.toString()); + } + return new ArrayList<>(); + } + + /** + * 新增车辆数据 + * @param request + * @param files + * @return + */ + @Override + public ServerResponse addCarData(HttpServletRequest request, MultipartFile[] files) { + try { + String params=request.getParameter("params"); + if(StringHelper.isEmpty(params)){ + return ServerResponse.createErroe("请求参数缺失"); + } + String userId= UserUtil.getLoginUser().getUserId()+""; + CarPersonVo carCarVo = JSON.parseObject(params, CarPersonVo.class); + carCarVo.setCreator(userId); + String result = validatorsUtils.valid(carCarVo); + int num=mapper.addCarData(carCarVo); + if(num>0){ + if(files==null || files.length<1){ + return ServerResponse.createErroe("请上传附件"); + } + List fileList=uploadService.uploadImage(files,carCarVo.getId(),"car_person_resume","其他附件"); + if(fileList.size()!=files.length){ + return ServerResponse.createErroe("附件上传失败"); + } + } + return ServerResponse.createSuccess("新增成功","新增成功"); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("新增失败!"); + } + + + + @Override + public ServerResponse updateCarData(HttpServletRequest request, MultipartFile[] files) { + try { + String params=request.getParameter("params"); + if(StringHelper.isEmpty(params)){ + return ServerResponse.createErroe("请求参数缺失"); + } + String userId= UserUtil.getLoginUser().getUserId()+""; + CarPersonVo carCarVo = JSON.parseObject(params, CarPersonVo.class); + carCarVo.setCreator(userId); + String result = validatorsUtils.valid(carCarVo); + if (StringUtils.isNotBlank(result)) { + return ServerResponse.createErroe(result); + } + int num=mapper.updateCarData(carCarVo); + if(num>0){ + if(files!=null && files.length>0){ + List fileList=uploadService.uploadImage(files,carCarVo.getId(),"car_person_resume","其他附件"); + if(fileList.size()!=files.length){ + return ServerResponse.createErroe("文件上传失败!"); + } + } + if(StringHelper.isNotEmpty(carCarVo.getDelFile())){ + uploadService.deleteFile(carCarVo.getDelFile()); + } + return ServerResponse.createSuccess("修改成功","修改成功"); + } + return ServerResponse.createErroe("修改失败!"); + }catch (Exception e){ + log.error(e.toString()); + } + return ServerResponse.createErroe("修改失败!"); + } + + @Override + public ServerResponse getCarCarDetails(CarPersonVo data) { + try{ + List list=mapper.getCarSupDetails(data); + if(com.bonus.gzcar.manager.common.util.StringUtils.isNotEmpty(list)){ + CarPersonVo vo=list.get(0); + List flieList=uploadService.getFileList(vo.getId(),"car_person_resume",null); + vo.setFileList(flieList); + return ServerResponse.createSuccess("查询成功",vo); + } + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createSuccess("查询失败",new CarSupVo()); + } + + @Override + public ServerResponse deleteCarData(CarPersonVo data) { + try{ + int num=mapper.deleteCarData(data); + uploadService.deleteFileByTableId(data.getId(),"car_person_resume"); + if(num>0){ + return ServerResponse.createBySuccessMsg("删除成功"); + } + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("删除失败"); + } + + /** + *车辆下拉选查询 + * @param data + * @return + */ + @Override + public List getCarListBySup(CarPersonVo data) { + List list=new ArrayList<>(); + try { + list=mapper.getCarListBySup(data); + }catch (Exception e){ + log.error(e.toString()); + } + return list; + } + + @Override + public ServerResponse getCarImageList(CarPersonVo data) { + List list=new ArrayList<>(); + try { + list=uploadService.getFileList(data.getId(),"car_person_resume",null); + }catch (Exception e){ + log.error(e.toString()); + } + return ServerResponse.createSuccess(list); + } +} diff --git a/src/main/resources/mappers/business/backstage/CarNeedPlanMapper.xml b/src/main/resources/mappers/business/backstage/CarNeedPlanMapper.xml index fe81862..99281eb 100644 --- a/src/main/resources/mappers/business/backstage/CarNeedPlanMapper.xml +++ b/src/main/resources/mappers/business/backstage/CarNeedPlanMapper.xml @@ -7,9 +7,11 @@ insert into car_plan_apply( code, type, pro_id, project_part, project_content, need_time, creator, create_time, - remark, status, updater, update_time, apply_type, status_type, user_name,need_num + remark, status, updater, update_time, apply_type, status_type, user_name,need_num, + car_length,car_width,car_height,car_weight,car_start,car_end )values (#{code},#{type},#{proId},#{projectPart},#{projectContent},#{needTime},#{creator},now(),#{remark} - ,#{status},#{updater},now(),#{applyType},#{statusType},#{userName},#{needNum} + ,#{status},#{updater},now(),#{applyType},#{statusType},#{userName},#{needNum}, + #{carLength},#{carWidth},#{carHeight},#{carWeight},#{carStart},#{carEnd} ) @@ -30,7 +32,8 @@ type=#{type}, pro_id=#{proId}, project_part=#{projectPart}, project_content=#{projectContent}, need_time=#{needTime}, remark=#{remark}, status=#{status}, updater=#{updater}, - update_time=now(), status_type=#{statusType},need_num=#{needNum} + update_time=now(), status_type=#{statusType},need_num=#{needNum}, + car_length=#{carLength},car_width=#{carWidth},car_height=#{carHeight},car_weight=#{carWeight},car_start=#{carStart},car_end=#{carEnd} where id=#{id} @@ -92,7 +95,9 @@ cpa.need_time needTime, cpa.creator,DATE_FORMAT(cpa.create_time,'%Y-%m-%d') appLyTime,pro.name proName, cpa.remark, cpa.status, cpa.updater, cpa.update_time updateTime, if(cpa.type=1,'车辆','吊车') typeName , - cpa.apply_type applyType, cpa.status_type statusType,cpa.user_name userName + cpa.apply_type applyType, cpa.status_type statusType,cpa.user_name userName, + cpa.car_length as carLength,cpa.car_width as carWidth ,cpa.car_height as carHeight ,cpa.car_weight as carWeight, + cpa.car_start as carStart ,cpa.car_end as carEnd from car_plan_apply cpa left join bm_project pro on pro.bid_id=cpa.pro_id where cpa.id=#{id} diff --git a/src/main/resources/mappers/business/backstage/CarPersonMapper.xml b/src/main/resources/mappers/business/backstage/CarPersonMapper.xml new file mode 100644 index 0000000..3ef81d7 --- /dev/null +++ b/src/main/resources/mappers/business/backstage/CarPersonMapper.xml @@ -0,0 +1,87 @@ + + + + + insert into car_person_resume(id_number, name, phone, remark, create_time, is_active) + values (#{idNumber}, #{name}, #{phone}, #{remark}, now(), 1) + + + + update car_person_resume + set id_number=#{idNumber}, + name=#{name}, + phone=#{phone}, + remark=#{remark} + WHERE id = #{id} + + + + update car_person_resume + set is_active=0 + WHERE id = #{id} + + + + + + + + + \ No newline at end of file