夏文涛 1 år sedan
förälder
incheckning
086dc5ce1e

+ 20 - 0
src/main/java/com/template/api/WelcomeArriveSettingControllerAPI.java

@@ -0,0 +1,20 @@
+package com.template.api;
+
+import com.template.model.request.InfoCollectionRequest;
+import com.template.model.request.InsertStudentRequest;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@RequestMapping("/api/welcomeArriveSetting")
+@Api(tags = {"WelcomeArriveSettingController"}, value = "到达时间段管理")
+public interface WelcomeArriveSettingControllerAPI {
+
+    @GetMapping(value = "/queryArriveTimes")
+    @ApiOperation(value = "到达时间段数据", notes = "到达时间段数据", httpMethod = "GET")
+    CommonResult queryArriveTimes();
+
+}

+ 7 - 5
src/main/java/com/template/api/WelcomeStudentControllerAPI.java

@@ -1,5 +1,6 @@
 package com.template.api;
 
+import com.template.model.request.InfoCollectionRequest;
 import com.template.model.request.InsertStudentRequest;
 import com.template.model.request.RegisterRequest;
 import com.template.model.result.CommonResult;
@@ -7,16 +8,13 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 @RequestMapping("/api/welcomeStudent")
 @Api(tags = {"WelcomeStudentController"}, value = "学生信息管理")
 public interface WelcomeStudentControllerAPI {
 
-    @GetMapping(value = "/insertStudentInfo")
+    @PostMapping(value = "/insertStudentInfo")
     @ApiOperation(value = "添加学生信息", notes = "添加学生信息", httpMethod = "POST")
     CommonResult insertStudentInfo(@Validated @RequestBody InsertStudentRequest isr, BindingResult bindingResult) throws Exception;
 
@@ -27,4 +25,8 @@ public interface WelcomeStudentControllerAPI {
     @GetMapping(value = "/queryStudentDetail")
     @ApiOperation(value = "学生信息明细数据", notes = "学生信息明细数据", httpMethod = "GET")
     CommonResult queryStudentDetail(@RequestParam int id);
+
+    @PostMapping(value = "/infoCollection")
+    @ApiOperation(value = "学生信息采集", notes = "学生信息采集", httpMethod = "POST")
+    CommonResult infoCollection(@Validated @RequestBody InfoCollectionRequest icr, BindingResult bindingResult) throws Exception;
 }

+ 34 - 2
src/main/java/com/template/controller/WelcomeArriveSettingController.java

@@ -1,20 +1,52 @@
 package com.template.controller;
 
 
+import com.template.api.WelcomeArriveSettingControllerAPI;
+import com.template.model.pojo.WelcomeArriveSetting;
+import com.template.model.result.CommonResult;
+import com.template.model.vo.ArriveTimeVo;
+import com.template.services.WelcomeArriveSettingService;
+import com.template.services.WelcomeStudentService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author ceshi
  * @since 2025-06-13
  */
 @RestController
-public class WelcomeArriveSettingController {
+public class WelcomeArriveSettingController implements WelcomeArriveSettingControllerAPI {
+    @Autowired
+    private WelcomeArriveSettingService welcomeArriveSettingService;
+
+    @Override
+    public CommonResult queryArriveTimes() {
+        //时间段
+        List<ArriveTimeVo> result = new ArrayList<>();
+        List<WelcomeArriveSetting> wass = welcomeArriveSettingService.queryCheckDatas();
+        if (wass != null && wass.size() > 0) {
+            for (WelcomeArriveSetting was : wass) {
+                ArriveTimeVo atv = new ArriveTimeVo();
+                atv.setId(was.getId());
+                atv.setStartTime(was.getStartTime());
+                atv.setEndTime(was.getEndTime());
+                atv.setTimeStr(was.getStartTime() + "-" + was.getEndTime());
+                atv.setIsCheck(0);
+                result.add(atv);
+            }
+        }
+        return CommonResult.ok(result);
+    }
+
 
 }
 

+ 101 - 1
src/main/java/com/template/controller/WelcomeStudentController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.template.api.WelcomeStudentControllerAPI;
 import com.template.common.utils.paramUtils;
 import com.template.model.pojo.*;
+import com.template.model.request.InfoCollectionRequest;
 import com.template.model.request.InsertAccompanyRequest;
 import com.template.model.request.InsertFamilyRequest;
 import com.template.model.request.InsertStudentRequest;
@@ -244,9 +245,10 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
                 atv.setEndTime(was.getEndTime());
                 atv.setTimeStr(was.getStartTime() + "-" + was.getEndTime());
                 atv.setIsCheck((ws.getArriveTimeId() != null && was.getId().equals(ws.getArriveTimeId())) ? 1 : 0);
+                atvs.add(atv);
             }
-
         }
+        result.setAtvs(atvs);
 
         result.setId(ws.getId());
         result.setAdmissNum(ws.getAdmissNum());
@@ -291,5 +293,103 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
 
         return CommonResult.ok(result);
     }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public CommonResult infoCollection(InfoCollectionRequest icr, BindingResult bindingResult) throws Exception {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        WelcomeStudent ws = welcomeStudentService.getDataByIdcard(icr.getCardId());
+        if (ws == null) {
+            ws = new WelcomeStudent();
+        }
+        ws.setAdmissNum(icr.getAdmissNum());
+        ws.setName(icr.getName());
+        ws.setPicture(icr.getPicture());
+        ws.setCardId(icr.getCardId());
+        ws.setSex(icr.getSex());
+        ws.setBirthday(icr.getBirthday());
+        ws.setCollege(icr.getCollege());
+        ws.setMajor(icr.getMajor());
+        ws.setClassstr(icr.getClassstr());
+        ws.setExamNum(icr.getExamNum());
+        ws.setEduSystem(icr.getEduSystem());
+        ws.setGraduationSchool(icr.getGraduationSchool());
+        ws.setBatchValue(icr.getBatchValue());
+        ws.setPoliticalStatu(icr.getPoliticalStatu());
+        ws.setNationality(icr.getNationality());
+        ws.setPhone(icr.getPhone());
+        ws.setOprovinceId(icr.getOprovinceId());
+        ws.setOprovince(icr.getOprovince());
+        ws.setOcityId(icr.getOcityId());
+        ws.setOcity(icr.getOcity());
+        ws.setOdistrictId(icr.getOdistrictId());
+        ws.setOdistrict(icr.getOdistrict());
+        ws.setProvinceId(icr.getProvinceId());
+        ws.setProvince(icr.getProvince());
+        ws.setCityId(icr.getCityId());
+        ws.setCity(icr.getCity());
+        ws.setDistrictId(icr.getDistrictId());
+        ws.setDistrict(icr.getDistrict());
+        ws.setAddress(icr.getAddress());
+        ws.setRegisterOntime(icr.getRegisterOntime());
+        ws.setZipCode(icr.getZipCode());
+        ws.setTrafficMethod(icr.getTrafficMethod());
+        ws.setArrive(icr.getArrive());
+        ws.setArrvieDate(icr.getArrvieDate());
+        ws.setArriveTimeId(icr.getArriveTimeId());
+
+        //家庭成员
+        List<WelcomeFamily> wfs = new ArrayList<>();
+        if(icr.getFvs() != null && icr.getFvs().size() > 0){
+            for (FamilyVo fv:icr.getFvs()) {
+                WelcomeFamily wf = new WelcomeFamily();
+                wf.setName(fv.getName());
+                wf.setPhone(fv.getPhone());
+                wf.setWorkUnit(fv.getWorkUnit());
+                wf.setFamilyShip(fv.getFamilyShip());
+                wf.setStudentCard(icr.getCardId());
+                wfs.add(wf);
+            }
+        }
+
+        //陪同人员
+        List<WelcomeAccompany> was = new ArrayList<>();
+        if(icr.getAvs() != null && icr.getAvs().size() > 0){
+            for (AccompanyVo av:icr.getAvs()) {
+                WelcomeAccompany wa = new WelcomeAccompany();
+                wa.setName(av.getName());
+                wa.setPhone(av.getPhone());
+                wa.setStudentCard(icr.getCardId());
+                was.add(wa);
+            }
+        }
+
+        try{
+            boolean resultWs = welcomeStudentService.saveOrUpdate(ws);
+            if(!resultWs){
+                logger.error("采集学生信息失败,ws参数:" + JSON.toJSON(ws));
+                throw new Exception("采集学生信息失败!");
+            }
+            boolean resultWf = welcomeFamilyService.saveBatch(wfs);
+            if(!resultWf){
+                logger.error("采集学生信息失败,wfs参数:" + JSON.toJSON(wfs));
+                throw new Exception("采集学生信息失败!");
+            }
+            boolean resultWa = welcomeAccompanyService.saveBatch(was);
+            if(!resultWa){
+                logger.error("采集学生信息失败,was参数:" + JSON.toJSON(was));
+                throw new Exception("采集学生信息失败!");
+            }
+        }catch (Exception e){
+            logger.error(e.getMessage());
+            throw new Exception("采集失败!");
+        }
+
+        return CommonResult.ok("采集完成!");
+    }
 }
 

+ 3 - 0
src/main/java/com/template/model/pojo/WelcomeStudent.java

@@ -125,6 +125,9 @@ public class WelcomeStudent implements Serializable {
     @ApiModelProperty(value = "交通方式")
     private String trafficMethod;
 
+    @ApiModelProperty(value = "填报状态")
+    private String fillStatus;
+
     @ApiModelProperty(value = "到站地点")
     private String arrive;
 

+ 138 - 0
src/main/java/com/template/model/request/InfoCollectionRequest.java

@@ -0,0 +1,138 @@
+package com.template.model.request;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.template.model.vo.AccompanyVo;
+import com.template.model.vo.ArriveTimeVo;
+import com.template.model.vo.FamilyVo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/4/18 星期二 9:54
+ * @Description: com.video.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class InfoCollectionRequest {
+    @ApiModelProperty(value = "数据ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "录取号")
+    private String admissNum;
+
+    @ApiModelProperty(value = "姓名")
+    private String name;
+
+    @ApiModelProperty(value = "照片")
+    private String picture;
+
+    @ApiModelProperty(value = "身份证号")
+    private String cardId;
+
+    @ApiModelProperty(value = "性别")
+    private String sex;
+
+    @ApiModelProperty(value = "出生年月")
+    private String birthday;
+
+    @ApiModelProperty(value = "院系")
+    private String college;
+
+    @ApiModelProperty(value = "专业")
+    private String major;
+
+    @ApiModelProperty(value = "班级")
+    private String classstr;
+
+    @ApiModelProperty(value = "考生号")
+    private String examNum;
+
+    @ApiModelProperty(value = "学制")
+    private String eduSystem;
+
+    @ApiModelProperty(value = "毕业中学")
+    private String graduationSchool;
+
+    @ApiModelProperty(value = "批次")
+    private String batchValue;
+
+    @ApiModelProperty(value = "政治面貌")
+    private String politicalStatu;
+
+    @ApiModelProperty(value = "民族")
+    private String nationality;
+
+    @ApiModelProperty(value = "手机号码")
+    private String phone;
+
+    @ApiModelProperty(value = "籍贯省ID")
+    private Integer oprovinceId;
+
+    @ApiModelProperty(value = "籍贯省")
+    private String oprovince;
+
+    @ApiModelProperty(value = "籍贯市ID")
+    private Integer ocityId;
+
+    @ApiModelProperty(value = "籍贯市")
+    private String ocity;
+
+    @ApiModelProperty(value = "籍贯区ID")
+    private Integer odistrictId;
+
+    @ApiModelProperty(value = "籍贯区")
+    private String odistrict;
+
+    @ApiModelProperty(value = "省ID")
+    private Integer provinceId;
+
+    @ApiModelProperty(value = "省")
+    private String province;
+
+    @ApiModelProperty(value = "市ID")
+    private Integer cityId;
+
+    @ApiModelProperty(value = "市")
+    private String city;
+
+    @ApiModelProperty(value = "区ID")
+    private Integer districtId;
+
+    @ApiModelProperty(value = "区")
+    private String district;
+
+    @ApiModelProperty(value = "家庭住址")
+    private String address;
+
+    @ApiModelProperty(value = "是否按时报到")
+    private Integer registerOntime;
+
+    @ApiModelProperty(value = "邮编")
+    private String zipCode;
+
+    @ApiModelProperty(value = "交通方式")
+    private String trafficMethod;
+
+    @ApiModelProperty(value = "到站地点")
+    private String arrive;
+
+    @ApiModelProperty(value = "到站日期")
+    private Date arrvieDate;
+
+    @ApiModelProperty(value = "到站时间")
+    private String arriveTime;
+
+    @ApiModelProperty(value = "到站时间段")
+    private Integer arriveTimeId;
+
+    @ApiModelProperty(value = "家庭成员集合")
+    private List<FamilyVo> fvs;
+
+    @ApiModelProperty(value = "陪同人员集合")
+    private List<AccompanyVo> avs;
+}

+ 5 - 5
src/main/java/com/template/model/vo/StudentDetailVo.java

@@ -69,19 +69,19 @@ public class StudentDetailVo {
     @ApiModelProperty(value = "手机号码")
     private String phone;
 
-    @ApiModelProperty(value = "籍贯省")
+    @ApiModelProperty(value = "籍贯省ID")
     private Integer oprovinceId;
 
-    @ApiModelProperty(value = "籍贯")
+    @ApiModelProperty(value = "籍贯")
     private String oprovince;
 
-    @ApiModelProperty(value = "籍贯市")
+    @ApiModelProperty(value = "籍贯市ID")
     private Integer ocityId;
 
-    @ApiModelProperty(value = "籍贯")
+    @ApiModelProperty(value = "籍贯")
     private String ocity;
 
-    @ApiModelProperty(value = "籍贯区")
+    @ApiModelProperty(value = "籍贯区ID")
     private Integer odistrictId;
 
     @ApiModelProperty(value = "籍贯区")