Quellcode durchsuchen

合并曾卓越代码

wuheng vor 1 Jahr
Ursprung
Commit
8adc48959b

+ 20 - 0
common/src/main/java/com/koobietech/eas/common/utils/DateUtils.java

@@ -0,0 +1,20 @@
+package com.koobietech.eas.common.utils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class DateUtils {
+    public static String convertToYearMonthDay(Date date) {
+        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
+        return outputFormat.format(date);
+    }
+
+    public static Date convertToYearMonthDayToDate(Date date) {
+        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
+        try {
+            return outputFormat.parse(outputFormat.format(date));
+        } catch (ParseException e) {}
+        return null;
+    }
+}

+ 7 - 6
controller/src/main/java/com/koobietech/eas/controller/EasStuProfileController.java

@@ -4,10 +4,7 @@ package com.koobietech.eas.controller;
 import com.koobietech.eas.common.result.JsonResult;
 import com.koobietech.eas.mbg.model.EasArcTlsStudents;
 import com.koobietech.eas.service.EasStuProfileService;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.io.FileNotFoundException;
@@ -19,9 +16,13 @@ public class EasStuProfileController {
     private EasStuProfileService easStuProfileService;
 
     @PostMapping("/StuProfileDownload")
-    public JsonResult StuProfileDownload(@RequestBody  EasArcTlsStudents easArcTlsStudents) throws FileNotFoundException {
+    public JsonResult StuProfileDownload(@RequestBody  EasArcTlsStudents easArcTlsStudents,@RequestParam Integer manager_id) throws FileNotFoundException {
 
-        return easStuProfileService.StuProfileDownload(easArcTlsStudents);
+        boolean b = easStuProfileService.StuProfileDownload(easArcTlsStudents, manager_id);
+        if ( b ) {
+            return JsonResult.ok("导入成功");
+        }
+        return JsonResult.fail("导入失败!");
     }
 
 

+ 1 - 1
controller/src/main/resources/application.yaml

@@ -2,7 +2,7 @@ server:
   port: 8081
 spring:
   profiles:
-    active: local
+    active: wheng
   main:
     allow-circular-references: true
   servlet:

BIN
controller/src/main/resources/temp/StuRegistTemp.docx


+ 4 - 1
dao/src/main/java/com/koobietech/eas/dao/dto/ArchivesDto.java

@@ -8,9 +8,12 @@ public class ArchivesDto {
     private String path;
     private boolean status;
 
-    public ArchivesDto(String path, boolean status, String archiveCode) {
+    private String fileType;
+
+    public ArchivesDto(String path, boolean status, String archiveCode, String fileType) {
         this.archiveCode = archiveCode;
         this.path = path;
         this.status = status;
+        this.fileType = fileType;
     }
 }

+ 8 - 8
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArchives.java

@@ -33,12 +33,12 @@ public class EasArcArchives implements Serializable {
     private String filePath;
 
     /**
-     * 文件类型Id
+     * 文件类型
      *
      * @mbg.generated
      */
-    @Schema(description = "文件类型Id")
-    private Integer arctypeId;
+    @Schema(description = "文件类型")
+    private String arctype;
 
     /**
      * 创建时间
@@ -126,12 +126,12 @@ public class EasArcArchives implements Serializable {
         this.filePath = filePath == null ? null : filePath.trim();
     }
 
-    public Integer getArctypeId() {
-        return arctypeId;
+    public String getArctype() {
+        return arctype;
     }
 
-    public void setArctypeId(Integer arctypeId) {
-        this.arctypeId = arctypeId;
+    public void setArctype(String arctype) {
+        this.arctype = arctype == null ? null : arctype.trim();
     }
 
     public Date getCreateTime() {
@@ -192,7 +192,7 @@ public class EasArcArchives implements Serializable {
         sb.append(", archiveNumber=").append(archiveNumber);
         sb.append(", studentNumber=").append(studentNumber);
         sb.append(", filePath=").append(filePath);
-        sb.append(", arctypeId=").append(arctypeId);
+        sb.append(", arctype=").append(arctype);
         sb.append(", createTime=").append(createTime);
         sb.append(", modifyTime=").append(modifyTime);
         sb.append(", validityTime=").append(validityTime);

+ 34 - 24
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArchivesExample.java

@@ -402,63 +402,73 @@ public class EasArcArchivesExample {
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdIsNull() {
-            addCriterion("arctype_id is null");
+        public Criteria andArctypeIsNull() {
+            addCriterion("arctype is null");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdIsNotNull() {
-            addCriterion("arctype_id is not null");
+        public Criteria andArctypeIsNotNull() {
+            addCriterion("arctype is not null");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdEqualTo(Integer value) {
-            addCriterion("arctype_id =", value, "arctypeId");
+        public Criteria andArctypeEqualTo(String value) {
+            addCriterion("arctype =", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdNotEqualTo(Integer value) {
-            addCriterion("arctype_id <>", value, "arctypeId");
+        public Criteria andArctypeNotEqualTo(String value) {
+            addCriterion("arctype <>", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdGreaterThan(Integer value) {
-            addCriterion("arctype_id >", value, "arctypeId");
+        public Criteria andArctypeGreaterThan(String value) {
+            addCriterion("arctype >", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdGreaterThanOrEqualTo(Integer value) {
-            addCriterion("arctype_id >=", value, "arctypeId");
+        public Criteria andArctypeGreaterThanOrEqualTo(String value) {
+            addCriterion("arctype >=", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdLessThan(Integer value) {
-            addCriterion("arctype_id <", value, "arctypeId");
+        public Criteria andArctypeLessThan(String value) {
+            addCriterion("arctype <", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdLessThanOrEqualTo(Integer value) {
-            addCriterion("arctype_id <=", value, "arctypeId");
+        public Criteria andArctypeLessThanOrEqualTo(String value) {
+            addCriterion("arctype <=", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdIn(List<Integer> values) {
-            addCriterion("arctype_id in", values, "arctypeId");
+        public Criteria andArctypeLike(String value) {
+            addCriterion("arctype like", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdNotIn(List<Integer> values) {
-            addCriterion("arctype_id not in", values, "arctypeId");
+        public Criteria andArctypeNotLike(String value) {
+            addCriterion("arctype not like", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdBetween(Integer value1, Integer value2) {
-            addCriterion("arctype_id between", value1, value2, "arctypeId");
+        public Criteria andArctypeIn(List<String> values) {
+            addCriterion("arctype in", values, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdNotBetween(Integer value1, Integer value2) {
-            addCriterion("arctype_id not between", value1, value2, "arctypeId");
+        public Criteria andArctypeNotIn(List<String> values) {
+            addCriterion("arctype not in", values, "arctype");
+            return (Criteria) this;
+        }
+
+        public Criteria andArctypeBetween(String value1, String value2) {
+            addCriterion("arctype between", value1, value2, "arctype");
+            return (Criteria) this;
+        }
+
+        public Criteria andArctypeNotBetween(String value1, String value2) {
+            addCriterion("arctype not between", value1, value2, "arctype");
             return (Criteria) this;
         }
 

+ 17 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsStudents.java

@@ -171,6 +171,14 @@ public class EasArcTlsStudents implements Serializable {
     @Schema(description = "创建用户ID")
     private Integer createUid;
 
+    /**
+     * 学生身份证号
+     *
+     * @mbg.generated
+     */
+    @Schema(description = "学生身份证号")
+    private String studentIdnumber;
+
     private static final long serialVersionUID = 1L;
 
     public Integer getId() {
@@ -333,6 +341,14 @@ public class EasArcTlsStudents implements Serializable {
         this.createUid = createUid;
     }
 
+    public String getStudentIdnumber() {
+        return studentIdnumber;
+    }
+
+    public void setStudentIdnumber(String studentIdnumber) {
+        this.studentIdnumber = studentIdnumber == null ? null : studentIdnumber.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -359,6 +375,7 @@ public class EasArcTlsStudents implements Serializable {
         sb.append(", admissionsId=").append(admissionsId);
         sb.append(", managerId=").append(managerId);
         sb.append(", createUid=").append(createUid);
+        sb.append(", studentIdnumber=").append(studentIdnumber);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 70 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsStudentsExample.java

@@ -1431,6 +1431,76 @@ public class EasArcTlsStudentsExample {
             addCriterion("create_uid not between", value1, value2, "createUid");
             return (Criteria) this;
         }
+
+        public Criteria andStudentIdnumberIsNull() {
+            addCriterion("student_idnumber is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberIsNotNull() {
+            addCriterion("student_idnumber is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberEqualTo(String value) {
+            addCriterion("student_idnumber =", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotEqualTo(String value) {
+            addCriterion("student_idnumber <>", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberGreaterThan(String value) {
+            addCriterion("student_idnumber >", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberGreaterThanOrEqualTo(String value) {
+            addCriterion("student_idnumber >=", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberLessThan(String value) {
+            addCriterion("student_idnumber <", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberLessThanOrEqualTo(String value) {
+            addCriterion("student_idnumber <=", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberLike(String value) {
+            addCriterion("student_idnumber like", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotLike(String value) {
+            addCriterion("student_idnumber not like", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberIn(List<String> values) {
+            addCriterion("student_idnumber in", values, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotIn(List<String> values) {
+            addCriterion("student_idnumber not in", values, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberBetween(String value1, String value2) {
+            addCriterion("student_idnumber between", value1, value2, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotBetween(String value1, String value2) {
+            addCriterion("student_idnumber not between", value1, value2, "studentIdnumber");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 14 - 14
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcArchivesMapper.xml

@@ -6,7 +6,7 @@
     <result column="archive_number" jdbcType="VARCHAR" property="archiveNumber" />
     <result column="student_number" jdbcType="VARCHAR" property="studentNumber" />
     <result column="file_path" jdbcType="VARCHAR" property="filePath" />
-    <result column="arctype_id" jdbcType="INTEGER" property="arctypeId" />
+    <result column="arctype" jdbcType="VARCHAR" property="arctype" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
     <result column="validity_time" jdbcType="TIMESTAMP" property="validityTime" />
@@ -73,7 +73,7 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    id, archive_number, student_number, file_path, arctype_id, create_time, modify_time, 
+    id, archive_number, student_number, file_path, arctype, create_time, modify_time, 
     validity_time, manager_id, create_date, create_uid
   </sql>
   <select id="selectByExample" parameterType="com.koobietech.eas.mbg.model.EasArcArchivesExample" resultMap="BaseResultMap">
@@ -111,11 +111,11 @@
       SELECT LAST_INSERT_ID()
     </selectKey>
     insert into eas_arc_archives (archive_number, student_number, file_path, 
-      arctype_id, create_time, modify_time, 
+      arctype, create_time, modify_time, 
       validity_time, manager_id, create_date, 
       create_uid)
     values (#{archiveNumber,jdbcType=VARCHAR}, #{studentNumber,jdbcType=VARCHAR}, #{filePath,jdbcType=VARCHAR}, 
-      #{arctypeId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, 
+      #{arctype,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, 
       #{validityTime,jdbcType=TIMESTAMP}, #{managerId,jdbcType=INTEGER}, #{createDate,jdbcType=DATE}, 
       #{createUid,jdbcType=INTEGER})
   </insert>
@@ -134,8 +134,8 @@
       <if test="filePath != null">
         file_path,
       </if>
-      <if test="arctypeId != null">
-        arctype_id,
+      <if test="arctype != null">
+        arctype,
       </if>
       <if test="createTime != null">
         create_time,
@@ -166,8 +166,8 @@
       <if test="filePath != null">
         #{filePath,jdbcType=VARCHAR},
       </if>
-      <if test="arctypeId != null">
-        #{arctypeId,jdbcType=INTEGER},
+      <if test="arctype != null">
+        #{arctype,jdbcType=VARCHAR},
       </if>
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
@@ -210,8 +210,8 @@
       <if test="record.filePath != null">
         file_path = #{record.filePath,jdbcType=VARCHAR},
       </if>
-      <if test="record.arctypeId != null">
-        arctype_id = #{record.arctypeId,jdbcType=INTEGER},
+      <if test="record.arctype != null">
+        arctype = #{record.arctype,jdbcType=VARCHAR},
       </if>
       <if test="record.createTime != null">
         create_time = #{record.createTime,jdbcType=TIMESTAMP},
@@ -242,7 +242,7 @@
       archive_number = #{record.archiveNumber,jdbcType=VARCHAR},
       student_number = #{record.studentNumber,jdbcType=VARCHAR},
       file_path = #{record.filePath,jdbcType=VARCHAR},
-      arctype_id = #{record.arctypeId,jdbcType=INTEGER},
+      arctype = #{record.arctype,jdbcType=VARCHAR},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
       validity_time = #{record.validityTime,jdbcType=TIMESTAMP},
@@ -265,8 +265,8 @@
       <if test="filePath != null">
         file_path = #{filePath,jdbcType=VARCHAR},
       </if>
-      <if test="arctypeId != null">
-        arctype_id = #{arctypeId,jdbcType=INTEGER},
+      <if test="arctype != null">
+        arctype = #{arctype,jdbcType=VARCHAR},
       </if>
       <if test="createTime != null">
         create_time = #{createTime,jdbcType=TIMESTAMP},
@@ -294,7 +294,7 @@
     set archive_number = #{archiveNumber,jdbcType=VARCHAR},
       student_number = #{studentNumber,jdbcType=VARCHAR},
       file_path = #{filePath,jdbcType=VARCHAR},
-      arctype_id = #{arctypeId,jdbcType=INTEGER},
+      arctype = #{arctype,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       modify_time = #{modifyTime,jdbcType=TIMESTAMP},
       validity_time = #{validityTime,jdbcType=TIMESTAMP},

+ 20 - 5
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcTlsStudentsMapper.xml

@@ -22,6 +22,7 @@
     <result column="admissions_id" jdbcType="INTEGER" property="admissionsId" />
     <result column="manager_id" jdbcType="INTEGER" property="managerId" />
     <result column="create_uid" jdbcType="INTEGER" property="createUid" />
+    <result column="student_idnumber" jdbcType="VARCHAR" property="studentIdnumber" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -84,7 +85,7 @@
   <sql id="Base_Column_List">
     id, archive_number, student_number, student_name, gender, birthdate, address, phone, 
     email, enrollment_date, graduation_date, grade, major, minor, university, create_time, 
-    modify_time, admissions_id, manager_id, create_uid
+    modify_time, admissions_id, manager_id, create_uid, student_idnumber
   </sql>
   <select id="selectByExample" parameterType="com.koobietech.eas.mbg.model.EasArcTlsStudentsExample" resultMap="BaseResultMap">
     select
@@ -126,14 +127,14 @@
       graduation_date, grade, major, 
       minor, university, create_time, 
       modify_time, admissions_id, manager_id, 
-      create_uid)
+      create_uid, student_idnumber)
     values (#{archiveNumber,jdbcType=VARCHAR}, #{studentNumber,jdbcType=VARCHAR}, #{studentName,jdbcType=VARCHAR}, 
       #{gender,jdbcType=CHAR}, #{birthdate,jdbcType=DATE}, #{address,jdbcType=VARCHAR}, 
       #{phone,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{enrollmentDate,jdbcType=DATE}, 
       #{graduationDate,jdbcType=DATE}, #{grade,jdbcType=INTEGER}, #{major,jdbcType=VARCHAR}, 
       #{minor,jdbcType=VARCHAR}, #{university,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
       #{modifyTime,jdbcType=TIMESTAMP}, #{admissionsId,jdbcType=INTEGER}, #{managerId,jdbcType=INTEGER}, 
-      #{createUid,jdbcType=INTEGER})
+      #{createUid,jdbcType=INTEGER}, #{studentIdnumber,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.koobietech.eas.mbg.model.EasArcTlsStudents">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
@@ -198,6 +199,9 @@
       <if test="createUid != null">
         create_uid,
       </if>
+      <if test="studentIdnumber != null">
+        student_idnumber,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="archiveNumber != null">
@@ -257,6 +261,9 @@
       <if test="createUid != null">
         #{createUid,jdbcType=INTEGER},
       </if>
+      <if test="studentIdnumber != null">
+        #{studentIdnumber,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.koobietech.eas.mbg.model.EasArcTlsStudentsExample" resultType="java.lang.Long">
@@ -328,6 +335,9 @@
       <if test="record.createUid != null">
         create_uid = #{record.createUid,jdbcType=INTEGER},
       </if>
+      <if test="record.studentIdnumber != null">
+        student_idnumber = #{record.studentIdnumber,jdbcType=VARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -354,7 +364,8 @@
       modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
       admissions_id = #{record.admissionsId,jdbcType=INTEGER},
       manager_id = #{record.managerId,jdbcType=INTEGER},
-      create_uid = #{record.createUid,jdbcType=INTEGER}
+      create_uid = #{record.createUid,jdbcType=INTEGER},
+      student_idnumber = #{record.studentIdnumber,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -419,6 +430,9 @@
       <if test="createUid != null">
         create_uid = #{createUid,jdbcType=INTEGER},
       </if>
+      <if test="studentIdnumber != null">
+        student_idnumber = #{studentIdnumber,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=INTEGER}
   </update>
@@ -442,7 +456,8 @@
       modify_time = #{modifyTime,jdbcType=TIMESTAMP},
       admissions_id = #{admissionsId,jdbcType=INTEGER},
       manager_id = #{managerId,jdbcType=INTEGER},
-      create_uid = #{createUid,jdbcType=INTEGER}
+      create_uid = #{createUid,jdbcType=INTEGER},
+      student_idnumber = #{studentIdnumber,jdbcType=VARCHAR}
     where id = #{id,jdbcType=INTEGER}
   </update>
 </mapper>

+ 0 - 1
pom.xml

@@ -144,7 +144,6 @@
         <module>mbg</module>
         <module>service</module>
         <module>security</module>
-        <module>upload</module>
     </modules>
 
     <repositories>

+ 1 - 1
service/src/main/java/com/koobietech/eas/service/EasStuProfileService.java

@@ -6,5 +6,5 @@ import com.koobietech.eas.mbg.model.EasArcTlsStudents;
 import java.io.FileNotFoundException;
 
 public interface EasStuProfileService {
-    JsonResult StuProfileDownload(EasArcTlsStudents easArcTlsStudents) throws FileNotFoundException;
+    boolean StuProfileDownload(EasArcTlsStudents easArcTlsStudents,Integer manager_id) throws FileNotFoundException;
 }

+ 5 - 6
service/src/main/java/com/koobietech/eas/service/impl/EasArchivesFilesServiceImpl.java

@@ -9,14 +9,12 @@ import com.koobietech.eas.mbg.mapper.EasArcTlsStudentsMapper;
 import com.koobietech.eas.mbg.model.EasArcTlsStudents;
 import com.koobietech.eas.mbg.model.EasArcTlsStudentsExample;
 import com.koobietech.eas.service.EasArchivesFilesService;
-import com.koobietech.eas.service.EasStuProfileService;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.io.*;
-import java.util.Date;
 import java.util.List;
 
 @Service
@@ -53,7 +51,7 @@ public class EasArchivesFilesServiceImpl implements EasArchivesFilesService {
         String archiveCode = getArchiveCode(studentNumber, FileType.valueOf(type).getValue() );
         String path = getArchivePath(studentNumber, archiveCode, FileTypeExt.valueOf(type).getValue());
         boolean status = fileManager.saveFile(stream, path);
-        return new ArchivesDto(path, status, archiveCode);
+        return new ArchivesDto(path, status, archiveCode, type);
     }
 
     @Override
@@ -87,7 +85,7 @@ public class EasArchivesFilesServiceImpl implements EasArchivesFilesService {
         String archiveCode = StudentArchiveGenerator.generateArchiveCode(studentNumber, FileType.valueOf(type).getValue());
         String path = getArchivePath(studentNumber, archiveCode,  FileTypeExt.valueOf(type).getValue());
         boolean status = fileManager.saveDocument(document, path);
-        return new ArchivesDto(path, status, archiveCode);
+        return new ArchivesDto(path, status, archiveCode, type);
     }
 
     private String getArchiveCode(String studentNumber, String fileCode) {
@@ -95,8 +93,9 @@ public class EasArchivesFilesServiceImpl implements EasArchivesFilesService {
     }
 
     private String getArchivePath(String studentNumber, String archiveCode, String suffix) {
-        return archivesSavePath + separator + studentNumber
-                + separator + archiveCode + suffix;
+        String path = archivesSavePath + separator + studentNumber;
+        fileManager.createPath(path);
+        return path + separator + archiveCode + suffix;
     }
 
 }

+ 122 - 71
service/src/main/java/com/koobietech/eas/service/impl/EasStuProfileServiceImpl.java

@@ -1,97 +1,155 @@
 package com.koobietech.eas.service.impl;
 
+import com.koobietech.eas.common.constant.FileType;
+import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.result.JsonResult;
+import com.koobietech.eas.common.utils.DateUtils;
 import com.koobietech.eas.common.utils.StudentArchiveGenerator;
+import com.koobietech.eas.dao.dto.ArchivesDto;
+import com.koobietech.eas.mbg.mapper.EasArcArchivesMapper;
+import com.koobietech.eas.mbg.mapper.EasArcTlsStudentsMapper;
+import com.koobietech.eas.mbg.mapper.EasSysStudentMapper;
+import com.koobietech.eas.mbg.model.EasArcArchives;
 import com.koobietech.eas.mbg.model.EasArcTlsStudents;
+import com.koobietech.eas.mbg.model.EasSysStudent;
+import com.koobietech.eas.service.EasArchivesFilesService;
 import com.koobietech.eas.service.EasStuProfileService;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.util.Units;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.apache.poi.xwpf.usermodel.XWPFTable;
 import org.apache.poi.xwpf.usermodel.XWPFTableCell;
 import org.apache.poi.xwpf.usermodel.XWPFTableRow;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.apache.poi.util.Units;
+import org.springframework.beans.BeanUtils;
+import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 
-import java.io.*;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.*;
 
 @Service
 public class EasStuProfileServiceImpl implements EasStuProfileService {
 
-    private static final Logger LOGGER = LoggerFactory.getLogger(EasStuProfileServiceImpl.class);
     private static final String TEMPLATE_PATH = "temp/StuRegistTemp.docx";
     private static final String PHOTO_PATH = "temp/kun.jpeg";
-    private static final String OUTPUT_PATH = "D:\\myDesk\\test.docx";
 
-    @Override
-    public JsonResult StuProfileDownload(EasArcTlsStudents easArcTlsStudents) {
-        LOGGER.info("开始学员档案导出:{}", easArcTlsStudents);
+    @Resource
+    private EasArcTlsStudentsMapper easArcTlsStudentsMapper;
+
+    @Resource
+    private PasswordEncoder passwordEncoder;
+
+    @Resource
+    private EasSysStudentMapper easSysStudentMapper;
 
+    @Resource
+    private EasArcArchivesMapper easArcArchivesMapper;
+
+    @Resource
+    private EasArchivesFilesService easArchivesFilesService;
+
+    @Override
+    public boolean StuProfileDownload(EasArcTlsStudents easArcTlsStudents,Integer manager_id) {
         try (InputStream wordStream = getClass().getClassLoader().getResourceAsStream(TEMPLATE_PATH)) {
             assert wordStream != null;
-            XWPFDocument doc = new XWPFDocument(wordStream);
-
-            Map<String, Object> map = new HashMap<>();
-            map.put("student_name", easArcTlsStudents.getStudentName());
-            map.put("gender", easArcTlsStudents.getGender());
-            map.put("major", easArcTlsStudents.getMajor());
-            map.put("grade", easArcTlsStudents.getGrade());
-            map.put("enrollment_date", easArcTlsStudents.getEnrollmentDate());
-            map.put("phone", easArcTlsStudents.getPhone());
-            map.put("university", easArcTlsStudents.getUniversity());
-
-            InputStream photo = getClass().getClassLoader().getResourceAsStream(PHOTO_PATH);
-            System.out.println( photo );
-            map.put("avatar", photo);
-
-            /**
-             public static String generateStudentCode(String studentNumber, String studentId, String schoolName, String enrollmentDate) {
-             LocalDate localDateEnrollmentDate = LocalDate.of(Integer.parseInt(enrollmentDate), 1, 1);
-             String studentAge = String.valueOf(getStudentAge(studentId));
-             String studentNum = getStudentNum(studentNumber);
-             String studentGender = getStudentGender(studentId).substring(0, 1); // 取性别代码的首字母
-             String graduationDate = String.valueOf(getStudentGraduationDate(localDateEnrollmentDate).getYear());
-
-             String studentCode = STUDENT_CODE_PEREFIX + studentNum + studentAge +
-             studentGender + graduationDate + schoolName;
-
-             // 如果生成的档案编码长度不足,用UUID填充
-             if (studentCode.length() < STUDENT_CODE_LENGTH) {
-             studentCode += UUID.randomUUID().toString()
-             .substring(0, STUDENT_CODE_LENGTH - studentCode.length());
-             }
-             return studentCode;
-             }
-             */
-            //使用工具类生成学员档案号
-            String student_number = StudentArchiveGenerator.generateStudentCode(
-                    "", "232126199003194781", "11273", "2023");
-
-
-            replacePlaceholders(doc, map);
-
-            saveDocument(doc);
+            try (XWPFDocument doc = new XWPFDocument(wordStream)) {
+
+                Map<String, Object> map = new HashMap<>();
+                map.put("student_name", easArcTlsStudents.getStudentName());
+
+                //调用内部类方法 把MF转换成 男女
+                map.put("gender", convertToGender(easArcTlsStudents.getGender()));
+
+                map.put("major", easArcTlsStudents.getMajor());
+                map.put("grade", easArcTlsStudents.getGrade());
+
+                //调用自定义的时间格式转换器 把前端传过来的带时分秒时间转换成 2019年12月12日
+                map.put("enrollment_date", DateUtils.convertToYearMonthDay(easArcTlsStudents.getEnrollmentDate()));
+
+                map.put("phone", easArcTlsStudents.getPhone());
+                map.put("university", easArcTlsStudents.getUniversity());
+                map.put("student_idnumber", easArcTlsStudents.getStudentIdnumber());
+                map.put("avatar", getClass().getClassLoader().getResourceAsStream(PHOTO_PATH));
+
+                //调用内部类方法 生成学号
+                String studentNumber = generateStudentNumber(easArcTlsStudents);
+                map.put("student_number", studentNumber);
+
+                replacePlaceholders(doc, map);
+
+                //将easArcTlsStudents 保存到数据库
+                easArcTlsStudentsMapper.insert(easArcTlsStudents);
+
+                //使用BeanUtils 将easArcTlsStudents 转换成 eassysstudent
+                EasSysStudent easSysStudents = new EasSysStudent();
+                BeanUtils.copyProperties(easArcTlsStudents,easSysStudents);
+                //设置初始密码 使用 passwordEncoder 设置初始密码为123456
+                easSysStudents.setPasswd(passwordEncoder.encode("123456"));
+                easSysStudents.setDisabled("N");
+
+                easSysStudentMapper.insert(easSysStudents);
+
+                String archiveCode = StudentArchiveGenerator.generateArchiveCode(studentNumber, String.valueOf(FileType.DOCX));
+                ArchivesDto archivesDto = easArchivesFilesService.saveArchiveStudentsFile(easArcTlsStudents.getStudentIdnumber(), doc);
+                String filePath = archivesDto.getPath();
+                String arctype = archivesDto.getFileType();
+                Date creat_time = DateUtils.convertToYearMonthDayToDate(new Date());
+                Date modify_time = new Date();
+
+                //validity_time 暂且设置成create_date + 1年
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(creat_time);
+                calendar.add(Calendar.YEAR, 1);
+                Date create_date = calendar.getTime();
+
+                int create_uid = 0;
+
+                EasArcArchives easArcArchives = new EasArcArchives();
+                easArcArchives.setArchiveNumber(archiveCode);
+                easArcArchives.setStudentNumber(studentNumber);
+                easArcArchives.setFilePath(filePath);
+                easArcArchives.setArctype(arctype);
+                easArcArchives.setCreateTime(creat_time);
+                easArcArchives.setModifyTime(modify_time);
+                easArcArchives.setValidityTime(create_date);
+                easArcArchives.setManagerId(manager_id);
+                easArcArchives.setCreateUid(create_uid);
+                easArcArchives.setCreateDate(new Date());
+                easArcArchivesMapper.insert(easArcArchives);
+            }
         } catch (IOException e) {
-            LOGGER.error("学员档案导出失败:{}", e.getMessage(), e);
-            return JsonResult.fail("学员档案导出失败!");
+            return false;
         }
+        return true;
+    }
 
-        LOGGER.info("学员档案导出成功!");
-        return JsonResult.ok("学员档案导出成功!");
+    private String generateStudentNumber(EasArcTlsStudents easArcTlsStudents) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(easArcTlsStudents.getEnrollmentDate());
+        String year = String.valueOf(calendar.get(Calendar.YEAR));
+
+        return StudentArchiveGenerator.generateStudentCode("",
+                easArcTlsStudents.getStudentIdnumber(), easArcTlsStudents.getUniversity(), year);
+    }
+
+    private String convertToGender(String gender) {
+        if (gender.equals("M")) {
+            return "男";
+        } else if (gender.equals("F")) {
+            return "女";
+        } else {
+            return "未知";
+        }
     }
 
     private void replacePlaceholders(XWPFDocument document, Map<String, Object> map) {
-        Iterator<XWPFTable> it = document.getTablesIterator();
-
-        while (it.hasNext()) {
-            XWPFTable table = it.next();
-            int rcount = table.getNumberOfRows();
-            for (int n = 0; n < rcount; n++) {
-                XWPFTableRow wrow = table.getRow(n);
-                List<XWPFTableCell> cells = wrow.getTableCells();
-                for (XWPFTableCell cell : cells) {
+        for (XWPFTable table : document.getTables()) {
+            for (XWPFTableRow row : table.getRows()) {
+                for (XWPFTableCell cell : row.getTableCells()) {
                     String cellText = cell.getText();
                     if (!cellText.contains("${")) {
                         continue;
@@ -102,7 +160,6 @@ public class EasStuProfileServiceImpl implements EasStuProfileService {
                             try {
                                 cell.removeParagraph(0);
                                 if (value instanceof InputStream) {
-                                    //如果是放置图片的单元格,在这里添加一个计算图片合适大小的方法,按比例
                                     cell.addParagraph().createRun().addPicture((InputStream) value,
                                             XWPFDocument.PICTURE_TYPE_JPEG, "avatar.jpg",
                                             Units.pixelToEMU(110), Units.pixelToEMU(140));
@@ -110,7 +167,7 @@ public class EasStuProfileServiceImpl implements EasStuProfileService {
                                     cell.setText(cellText.replace(placeholder, value.toString()));
                                 }
                             } catch (IOException | InvalidFormatException e) {
-                                throw new RuntimeException(e);
+                                throw new EasException("学员导入失败");
                             }
                         }
                     });
@@ -118,12 +175,6 @@ public class EasStuProfileServiceImpl implements EasStuProfileService {
             }
         }
     }
-
-    private void saveDocument(XWPFDocument document) throws IOException {
-        try (FileOutputStream outputStream = new FileOutputStream(OUTPUT_PATH)) {
-            document.write(outputStream);
-        }
-    }
+}
 
 
-}

+ 0 - 28
upload/pom.xml

@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>upload</artifactId>
-    <name>upload</name>
-    <description>upload</description>
-
-    <parent>
-        <artifactId>eas-system</artifactId>
-        <groupId>com.koobietech.eas</groupId>
-        <version>0.0.1-SNAPSHOT</version>
-    </parent>
-    <repositories>
-        <repository>
-            <id>aliyun</id>
-            <name>aliyun</name>
-            <url>https://maven.aliyun.com/repository/public</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-</project>

+ 0 - 11
upload/src/main/java/com/koobietech/eas/upload/UploadService.java

@@ -1,11 +0,0 @@
-package com.koobietech.eas.upload;
-
-public class UploadService {
-    public boolean uploadFile(){
-        return false;
-    }
-
-    public boolean moveFile(){
-        return false;
-    }
-}