zhangxin пре 2 дана
родитељ
комит
881ca92096
13 измењених фајлова са 468 додато и 31 уклоњено
  1. 145 0
      national-motion-base-core/src/main/java/org/jeecg/common/util/idCard/ChineseIdCard18Utils.java
  2. 19 0
      national-motion-base-core/src/main/java/org/jeecg/common/util/idCard/Gender.java
  3. 20 4
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppInsureController.java
  4. 11 23
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/InsureOrderInfoController.java
  5. 63 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/insureOrder/FindInsureOrderPageRequestDTO.java
  6. 70 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/insureOrder/FindInsureOrderPageResponseDTO.java
  7. 8 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/InsureOrderInfoMapper.java
  8. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppGameMapper.xml
  9. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppInstructorMapper.xml
  10. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/EvaluateMapper.xml
  11. 69 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/InsureOrderInfoMapper.xml
  12. 7 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IInsureOrderInfoService.java
  13. 53 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/InsureOrderInfoServiceImpl.java

+ 145 - 0
national-motion-base-core/src/main/java/org/jeecg/common/util/idCard/ChineseIdCard18Utils.java

@@ -0,0 +1,145 @@
+package org.jeecg.common.util.idCard;
+
+import org.apache.commons.lang3.StringUtils;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
+import java.util.Objects;
+import java.util.regex.Pattern;
+
+/**
+ * 18位身份证工具类(生产环境专用)
+ */
+public class ChineseIdCard18Utils {
+
+    // 身份证校验码系数
+    private static final int[] WEIGHT_COEFFICIENT = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
+    // 校验码对应值
+    private static final char[] CHECK_CODE = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
+    // 18位身份证正则
+    private static final Pattern ID_18_REGEX = Pattern.compile(
+            "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9X]$"
+    );
+
+    /**
+     * 从身份证号提取出生日期
+     *
+     * @param idCard 18位身份证号码
+     * @return 出生日期(yyyy - MM - dd格式)
+     * @throws IllegalArgumentException 身份证号无效时抛出
+     */
+    public static String extractBirthDate(String idCard) {
+        validateIdCard(idCard);
+        String birthDateStr = idCard.substring(6, 14);
+
+        try {
+            DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+            DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            return LocalDate.parse(birthDateStr, inputFormatter)
+                    .format(outputFormatter);
+        } catch (DateTimeParseException e) {
+            throw new IllegalArgumentException("无效的出生日期编码", e);
+        }
+    }
+
+    /**
+     * 从身份证号提取性别
+     *
+     * @param idCard 18位身份证号码
+     * @return 性别枚举
+     * @throws IllegalArgumentException 身份证号无效时抛出
+     */
+    public static Gender extractGender(String idCard) {
+        validateIdCard(idCard);
+        char genderChar = idCard.charAt(16);
+        return (genderChar % 2 == 1) ? Gender.MALE : Gender.FEMALE;
+    }
+
+    /**
+     * 身份证脱敏
+     *
+     * @param idCard 18位身份证号码
+     * @param prefixKeepLen 保留前几位
+     * @param suffixKeepLen 保留后几位
+     * @return 脱敏后的身份证号
+     */
+    public static String getDesensitization(String idCard,int prefixKeepLen, int suffixKeepLen) {
+        validateIdCard(idCard);
+        return mask(idCard,prefixKeepLen,suffixKeepLen);
+    }
+
+    /**
+     * 自定义脱敏方法
+     * @param idCard 身份证号码
+     * @param prefixKeepLen 保留前几位
+     * @param suffixKeepLen 保留后几位
+     * @return 脱敏后的身份证号
+     */
+    private static String mask(String idCard, int prefixKeepLen, int suffixKeepLen) {
+
+        // 计算需要脱敏的部分
+        int totalMaskLen = 18 - prefixKeepLen - suffixKeepLen;
+        if (totalMaskLen <= 0) {
+            return idCard; // 无需脱敏
+        }
+
+        // 构建脱敏字符串
+        StringBuilder sb = new StringBuilder();
+        sb.append(idCard.substring(0, prefixKeepLen));
+        sb.append("*".repeat(totalMaskLen));
+        sb.append(idCard.substring(18 - suffixKeepLen));
+
+        return sb.toString();
+    }
+
+
+    /**
+     * 验证18位身份证有效性
+     *
+     * @throws IllegalArgumentException 身份证号无效时抛出
+     */
+    public static void validateIdCard(String idCard) {
+        Objects.requireNonNull(idCard, "身份证号不能为空");
+
+        if (StringUtils.isBlank(idCard)) {
+            throw new IllegalArgumentException("身份证号不能为空");
+        }
+
+        idCard = idCard.trim().toUpperCase();
+
+        if (!ID_18_REGEX.matcher(idCard).matches()) {
+            throw new IllegalArgumentException("身份证号格式不正确");
+        }
+
+        if (!validateCheckDigit(idCard)) {
+            throw new IllegalArgumentException("身份证校验码无效");
+        }
+
+        validateBirthDate(idCard);
+    }
+
+    /**
+     * 校验码验证
+     */
+    private static boolean validateCheckDigit(String idCard) {
+        int sum = 0;
+        for (int i = 0; i < 17; i++) {
+            sum += (idCard.charAt(i) - '0') * WEIGHT_COEFFICIENT[i];
+        }
+        char checkCode = CHECK_CODE[sum % 11];
+        return checkCode == idCard.charAt(17);
+    }
+
+    /**
+     * 出生日期验证
+     */
+    private static void validateBirthDate(String idCard) {
+        String birthDateStr = idCard.substring(6, 14);
+        try {
+            LocalDate.parse(birthDateStr, DateTimeFormatter.ofPattern("yyyyMMdd"));
+        } catch (DateTimeParseException e) {
+            throw new IllegalArgumentException("无效的出生日期编码");
+        }
+    }
+
+}

+ 19 - 0
national-motion-base-core/src/main/java/org/jeecg/common/util/idCard/Gender.java

@@ -0,0 +1,19 @@
+package org.jeecg.common.util.idCard;
+
+/**
+ * 性别枚举
+ */
+public enum Gender {
+    MALE("男"),
+    FEMALE("女");
+
+    private final String displayName;
+
+    Gender(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public String getDisplayName() {
+        return displayName;
+    }
+}

+ 20 - 4
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppInsureController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.system.app.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,6 +12,7 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.DictAnnotationUtil;
 import org.jeecg.modules.system.app.entity.AppInsure;
 import org.jeecg.modules.system.app.service.IAppInsureService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,7 +22,9 @@ import org.springframework.web.servlet.ModelAndView;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
- /**
+import java.util.List;
+
+/**
  * @Description: 保险表
  * @Author: jeecg-boot
  * @Date:   2025-07-03
@@ -66,7 +70,6 @@ public class AppInsureController extends JeecgController<AppInsure, IAppInsureSe
 	 */
 	@AutoLog(value = "保险表-添加")
 	@Operation(summary="保险表-添加")
-	@RequiresPermissions("org.jeecg.modules.app:nm_insure:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody AppInsure appInsure) {
 		appInsureService.save(appInsure);
@@ -82,7 +85,6 @@ public class AppInsureController extends JeecgController<AppInsure, IAppInsureSe
 	 */
 	@AutoLog(value = "保险表-编辑")
 	@Operation(summary="保险表-编辑")
-	@RequiresPermissions("org.jeecg.modules.app:nm_insure:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
 	public Result<String> edit(@RequestBody AppInsure appInsure) {
 		appInsureService.updateById(appInsure);
@@ -97,7 +99,6 @@ public class AppInsureController extends JeecgController<AppInsure, IAppInsureSe
 	 */
 	@AutoLog(value = "保险表-通过id删除")
 	@Operation(summary="保险表-通过id删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_insure:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
 		appInsureService.removeById(id);
@@ -161,4 +162,19 @@ public class AppInsureController extends JeecgController<AppInsure, IAppInsureSe
         return super.importExcel(request, response, AppInsure.class);
     }
 
+	 /**
+	  * 分页列表查询
+	  *
+	  */
+	 //@AutoLog(value = "保险表-分页列表查询")
+	 @Operation(summary="保险表-分页列表查询")
+	 @GetMapping(value = "/findByList")
+	 public Result<List<AppInsure>> findByList(@RequestParam(name="insuranceName",required=true) String insuranceName) {
+		 LambdaQueryWrapper<AppInsure> query = new LambdaQueryWrapper<>();
+		 List<AppInsure> list = appInsureService.list( query
+				 .eq(AppInsure::getStatus, 0).eq(AppInsure::getInsuranceName,insuranceName));
+		 DictAnnotationUtil.translateDictList(list);
+		 return Result.OK(list);
+	 }
+
 }

+ 11 - 23
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/InsureOrderInfoController.java

@@ -1,8 +1,6 @@
 package org.jeecg.modules.system.app.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
@@ -10,7 +8,8 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageRequestDTO;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageResponseDTO;
 import org.jeecg.modules.system.app.entity.InsureOrderInfo;
 import org.jeecg.modules.system.app.service.IInsureOrderInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +18,6 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
  /**
  * @Description: 保险订单
  * @Author: jeecg-boot
@@ -37,25 +35,16 @@ public class InsureOrderInfoController extends JeecgController<InsureOrderInfo,
 	/**
 	 * 分页列表查询
 	 *
-	 * @param insureOrderInfo
-	 * @param pageNo
-	 * @param pageSize
+	 * @param findInsureOrderPageRequestDTO
 	 * @param req
 	 * @return
 	 */
 	//@AutoLog(value = "保险订单-分页列表查询")
 	@Operation(summary="保险订单-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<InsureOrderInfo>> queryPageList(InsureOrderInfo insureOrderInfo,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-
-
-        QueryWrapper<InsureOrderInfo> queryWrapper = QueryGenerator.initQueryWrapper(insureOrderInfo, req.getParameterMap());
-		Page<InsureOrderInfo> page = new Page<InsureOrderInfo>(pageNo, pageSize);
-		IPage<InsureOrderInfo> pageList = insureOrderInfoService.page(page, queryWrapper);
-		return Result.OK(pageList);
+	public Result<IPage<FindInsureOrderPageResponseDTO>> queryPageList(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO,
+																	   HttpServletRequest req) {
+		return insureOrderInfoService.findPage(findInsureOrderPageRequestDTO);
 	}
 	
 	/**
@@ -107,16 +96,15 @@ public class InsureOrderInfoController extends JeecgController<InsureOrderInfo,
 	/**
 	 *  批量删除
 	 *
-	 * @param ids
+
 	 * @return
 	 */
-	@AutoLog(value = "保险订单-批量删除")
-	@Operation(summary="保险订单-批量删除")
+	@AutoLog(value = "保险订单-修改筛选数据")
+	@Operation(summary="保险订单-修改筛选数据")
 	@RequiresPermissions("insureOrderInfo:nm_insure_order_info:deleteBatch")
 	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.insureOrderInfoService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("批量删除成功!");
+	public Result<String> updateBatch(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO) {
+		return insureOrderInfoService.updateBatch(findInsureOrderPageRequestDTO);
 	}
 	
 	/**

+ 63 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/insureOrder/FindInsureOrderPageRequestDTO.java

@@ -0,0 +1,63 @@
+package org.jeecg.modules.system.app.dto.insureOrder;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.modules.app.dto.PageDTO;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 评价管理
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="投保信息请求入参")
+public class FindInsureOrderPageRequestDTO extends PageDTO {
+
+
+    @Schema(description = "保险订单号")
+    private String bdOrderNo;
+    /**保险公司*/
+    @Dict(dicCode = "insurance_name")
+    @Schema(description = "保险公司")
+    private Integer insureCompany;
+    @Schema(description = "保险公司名称")
+    private String insureCompany_dictText;
+    /**方案名称*/
+    @Schema(description = "方案id")
+    private String insureId;
+    @Schema(description = "方案名称")
+    private String insureName;
+    /**投保人*/
+    @Schema(description = "投保人")
+    private String fullName;
+    /**发布单位*/
+    @Excel(name = "发布单位", width = 15)
+    @Schema(description = "手机号")
+    private String phone;
+
+    @Schema(description = "是否录入系统")
+    private Integer isEnterSystem;
+    /**部门编码*/
+    @Excel(name = "身份证号", width = 15)
+    @Schema(description = "身份证号")
+    private String identityCard;
+    /**创建时间;创建时间*/
+    @Schema(description = "付款开始时间")
+    private String startTime;
+    /**创建时间;创建时间*/
+    @Schema(description = "付款结束时间")
+    private String endTime;
+
+    @Schema(description = "修改时是否录入系统类型")
+    private Integer updateIsEnterSystem;
+
+
+}

+ 70 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/insureOrder/FindInsureOrderPageResponseDTO.java

@@ -0,0 +1,70 @@
+package org.jeecg.modules.system.app.dto.insureOrder;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.jeecg.modules.app.dto.PageDTO;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 评价管理
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="投保信息请求入参")
+public class FindInsureOrderPageResponseDTO extends PageDTO {
+
+    @Schema(description = "保险订单编号")
+    private String bdOrderNo;
+    /**保险公司*/
+    @Schema(description = "保险公司")
+    private String insureCompany;
+    /**方案名称*/
+    @Schema(description = "方案名称")
+    private String insureName;
+    /**投保人*/
+    @Schema(description = "投保人")
+    private String fullName;
+    /**发布单位*/
+    @Excel(name = "发布单位", width = 15)
+    @Schema(description = "手机号")
+    private String phone;
+    /**部门编码*/
+    @Excel(name = "身份证号", width = 15)
+    @Schema(description = "身份证号")
+    private String identityCard;
+    /**生效开始时间*/
+    @Excel(name = "生效开始时间", width = 20, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @Schema(description = "生效开始时间")
+    private Date assertStartTime;
+    /**生效结束时间*/
+    @Excel(name = "生效结束时间", width = 20, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @Schema(description = "生效结束时间")
+    private Date assertEndTime;
+    /**是否录入系统 0-否 1-是*/
+    @Excel(name = "是否录入系统 0-否 1-是", width = 15)
+    @Schema(description = "是否录入系统 0-否 1-是")
+    private Integer isEnterSystem;
+    /**创建时间;创建时间*/
+    @Excel(name = "付款时间", width = 20, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @Schema(description = "付款时间")
+    private Date payTime;
+
+
+}

+ 8 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/InsureOrderInfoMapper.java

@@ -1,6 +1,11 @@
 package org.jeecg.modules.system.app.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageRequestDTO;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageResponseDTO;
 import org.jeecg.modules.system.app.entity.InsureOrderInfo;
 
 /**
@@ -11,4 +16,7 @@ import org.jeecg.modules.system.app.entity.InsureOrderInfo;
  */
 public interface InsureOrderInfoMapper extends BaseMapper<InsureOrderInfo> {
 
+    IPage<FindInsureOrderPageResponseDTO> findPage(@Param("page") Page<FindInsureOrderPageResponseDTO> page,@Param("findInsureOrderPageRequestDTO")  FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO);
+
+    void updateBatch(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO);
 }

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppGameMapper.xml

@@ -175,7 +175,7 @@
                 <![CDATA[   AND DATE_FORMAT(a.application_end_time, '%Y-%m-%d')<=  DATE_FORMAT(#{appGamePageDTO.endTime}, '%Y-%m-%d') ]]>
             </if>
             <if test="appGamePageDTO.startTime!=null  and appGamePageDTO.startTime!=''">
-                <![CDATA[   AND DATE_FORMAT(a.application_end_time, '%Y-%m-%d')<=  DATE_FORMAT(#{appGamePageDTO.startTime}, '%Y-%m-%d') ]]>
+                <![CDATA[   AND DATE_FORMAT(a.application_end_time, '%Y-%m-%d')>=  DATE_FORMAT(#{appGamePageDTO.startTime}, '%Y-%m-%d') ]]>
             </if>
             <if test="appGamePageDTO.orgCode != null and appGamePageDTO.orgCode != ''">
                 AND a.org_code LIKE CONCAT(#{appGamePageDTO.orgCode},'%')

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppInstructorMapper.xml

@@ -126,7 +126,7 @@
                 <![CDATA[   AND DATE_FORMAT(a.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{staffRequestVO.endTime}, '%Y-%m-%d') ]]>
             </if>
             <if test="staffRequestVO.startTime!=null  and staffRequestVO.startTime!=''">
-                <![CDATA[   AND DATE_FORMAT(a.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{staffRequestVO.startTime}, '%Y-%m-%d') ]]>
+                <![CDATA[   AND DATE_FORMAT(a.create_time, '%Y-%m-%d')>=  DATE_FORMAT(#{staffRequestVO.startTime}, '%Y-%m-%d') ]]>
             </if>
         </if>
         order by a.create_time desc

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/EvaluateMapper.xml

@@ -30,7 +30,7 @@
             <![CDATA[   AND DATE_FORMAT(ne.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{findEvaluateRequestDTO.endTime}, '%Y-%m-%d') ]]>
         </if>
         <if test="findEvaluateRequestDTO.startTime!=null  and findEvaluateRequestDTO.startTime!=''">
-            <![CDATA[   AND DATE_FORMAT(ne.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{findEvaluateRequestDTO.startTime}, '%Y-%m-%d') ]]>
+            <![CDATA[   AND DATE_FORMAT(ne.create_time, '%Y-%m-%d')>=  DATE_FORMAT(#{findEvaluateRequestDTO.startTime}, '%Y-%m-%d') ]]>
         </if>
         </if>
         order by ne.create_time desc

+ 69 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/InsureOrderInfoMapper.xml

@@ -1,5 +1,73 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.jeecg.modules.demo.insureOrderInfo.mapper.InsureOrderInfoMapper">
+<mapper namespace="org.jeecg.modules.system.app.mapper.InsureOrderInfoMapper">
+    <update id="updateBatch">
+        update   nm_insure_order_info a
+        INNER  join  nm_order b  on a.order_id =b.id and b.pay_time is not null
+        INNER  join  nm_family_members c on  a.family_members_id = c.id
+        SET a.is_enter_system =#{findInsureOrderPageRequestDTO.updateIsEnterSystem}
+        where 1=1
+        <if test="findInsureOrderPageRequestDTO.bdOrderNo != null and findInsureOrderPageRequestDTO.bdOrderNo != ''">
+            AND a.bd_order_no = #{findInsureOrderPageRequestDTO.bdOrderNo}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.insureName != null and findInsureOrderPageRequestDTO.insureName != ''">
+            AND a.insure_name = #{findInsureOrderPageRequestDTO.insureName}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.fullName != null and findInsureOrderPageRequestDTO.fullName != ''">
+            AND c.full_name = #{findInsureOrderPageRequestDTO.fullName}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.identityCard != null and findInsureOrderPageRequestDTO.identityCard != ''">
+            AND c.identity_card = #{findInsureOrderPageRequestDTO.identityCard}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.phone != null and findInsureOrderPageRequestDTO.phone != ''">
+            AND c.phone = #{findInsureOrderPageRequestDTO.phone}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.isEnterSystem != null">
+            AND a.is_enter_system = #{findInsureOrderPageRequestDTO.isEnterSystem}
+        </if>
 
+        <if test="findInsureOrderPageRequestDTO.endTime!=null  and findInsureOrderPageRequestDTO.endTime!=''">
+            <![CDATA[   AND DATE_FORMAT(b.pay_time, '%Y-%m-%d')<=  DATE_FORMAT(#{findInsureOrderPageRequestDTO.endTime}, '%Y-%m-%d') ]]>
+        </if>
+        <if test="findInsureOrderPageRequestDTO.startTime!=null  and findInsureOrderPageRequestDTO.startTime!=''">
+            <![CDATA[   AND DATE_FORMAT(b.pay_time, '%Y-%m-%d')>=  DATE_FORMAT(#{findInsureOrderPageRequestDTO.startTime}, '%Y-%m-%d') ]]>
+        </if>
+    </update>
+
+
+    <select id="findPage"
+            resultType="org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageResponseDTO">
+        select  a.id,a.bd_order_no,a.insure_name,a.insure_company,a.is_enter_system ,
+                a.assert_start_time,a.assert_end_time,c.full_name,c.identity_card,c.phone,b.pay_time
+        from
+        nm_insure_order_info a
+        left join  nm_order b  on a.order_id =b.id and b.pay_time is not null
+        left join  nm_family_members c on  a.family_members_id = c.id
+        where 1=1
+        <if test="findInsureOrderPageRequestDTO.bdOrderNo != null and findInsureOrderPageRequestDTO.bdOrderNo != ''">
+            AND a.bd_order_no = #{findInsureOrderPageRequestDTO.bdOrderNo}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.insureName != null and findInsureOrderPageRequestDTO.insureName != ''">
+            AND a.insure_name = #{findInsureOrderPageRequestDTO.insureName}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.fullName != null and findInsureOrderPageRequestDTO.fullName != ''">
+            AND c.full_name = #{findInsureOrderPageRequestDTO.fullName}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.identityCard != null and findInsureOrderPageRequestDTO.identityCard != ''">
+            AND c.identity_card = #{findInsureOrderPageRequestDTO.identityCard}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.phone != null and findInsureOrderPageRequestDTO.phone != ''">
+            AND c.phone = #{findInsureOrderPageRequestDTO.phone}
+        </if>
+        <if test="findInsureOrderPageRequestDTO.isEnterSystem != null">
+            AND a.is_enter_system = #{findInsureOrderPageRequestDTO.isEnterSystem}
+        </if>
+
+        <if test="findInsureOrderPageRequestDTO.endTime!=null  and findInsureOrderPageRequestDTO.endTime!=''">
+            <![CDATA[   AND DATE_FORMAT(b.pay_time, '%Y-%m-%d')<=  DATE_FORMAT(#{findInsureOrderPageRequestDTO.endTime}, '%Y-%m-%d') ]]>
+        </if>
+        <if test="findInsureOrderPageRequestDTO.startTime!=null  and findInsureOrderPageRequestDTO.startTime!=''">
+            <![CDATA[   AND DATE_FORMAT(b.pay_time, '%Y-%m-%d')>=  DATE_FORMAT(#{findInsureOrderPageRequestDTO.startTime}, '%Y-%m-%d') ]]>
+        </if>
+    </select>
 </mapper>

+ 7 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IInsureOrderInfoService.java

@@ -1,6 +1,10 @@
 package org.jeecg.modules.system.app.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageRequestDTO;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageResponseDTO;
 import org.jeecg.modules.system.app.entity.InsureOrderInfo;
 
 /**
@@ -11,4 +15,7 @@ import org.jeecg.modules.system.app.entity.InsureOrderInfo;
  */
 public interface IInsureOrderInfoService extends IService<InsureOrderInfo> {
 
+    Result<IPage<FindInsureOrderPageResponseDTO>> findPage(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO);
+
+    Result<String> updateBatch(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO);
 }

+ 53 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/InsureOrderInfoServiceImpl.java

@@ -1,11 +1,22 @@
 package org.jeecg.modules.system.app.service.impl;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.util.idCard.ChineseIdCard18Utils;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageRequestDTO;
+import org.jeecg.modules.system.app.dto.insureOrder.FindInsureOrderPageResponseDTO;
+import org.jeecg.modules.system.app.entity.AppInsure;
 import org.jeecg.modules.system.app.entity.InsureOrderInfo;
+import org.jeecg.modules.system.app.mapper.AppInsureMapper;
 import org.jeecg.modules.system.app.mapper.InsureOrderInfoMapper;
 import org.jeecg.modules.system.app.service.IInsureOrderInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @Description: 保险订单
@@ -16,4 +27,46 @@ import org.springframework.stereotype.Service;
 @Service
 public class InsureOrderInfoServiceImpl extends ServiceImpl<InsureOrderInfoMapper, InsureOrderInfo> implements IInsureOrderInfoService {
 
+    @Autowired
+    InsureOrderInfoMapper insureOrderInfoMapper;
+
+    @Autowired
+    AppInsureMapper appInsureMapper;
+
+    @Override
+    public Result<IPage<FindInsureOrderPageResponseDTO>> findPage(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO) {
+        getFindInsureOrderPageRequestDTO(findInsureOrderPageRequestDTO);
+        Page<FindInsureOrderPageResponseDTO> page = new Page<FindInsureOrderPageResponseDTO>(findInsureOrderPageRequestDTO.getPageNo(), findInsureOrderPageRequestDTO.getPageSize());
+        IPage<FindInsureOrderPageResponseDTO> findInsureOrderPageResponseDTOIPage = insureOrderInfoMapper.findPage(page, findInsureOrderPageRequestDTO);
+        if (findInsureOrderPageResponseDTOIPage!=null&&findInsureOrderPageResponseDTOIPage.getRecords()!=null){
+            for (FindInsureOrderPageResponseDTO record : findInsureOrderPageResponseDTOIPage.getRecords()) {
+                String desensitization = ChineseIdCard18Utils.getDesensitization(record.getIdentityCard(), 3, 4);
+                record.setIdentityCard(desensitization);
+            }
+        }
+        return Result.ok();
+    }
+
+    @Override
+    @Transactional
+    public Result<String> updateBatch(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO) {
+
+        if (StringUtils.isEmpty(findInsureOrderPageRequestDTO.getInsureCompany_dictText())
+                &&StringUtils.isEmpty(findInsureOrderPageRequestDTO.getEndTime())
+                &&StringUtils.isEmpty(findInsureOrderPageRequestDTO.getStartTime())){
+            return  Result.error("查询参数保险公司和付款时间不能为空");
+        }
+        getFindInsureOrderPageRequestDTO(findInsureOrderPageRequestDTO);
+        insureOrderInfoMapper.updateBatch(findInsureOrderPageRequestDTO);
+        return Result.ok("批量修改录入系统成功");
+    }
+
+    private void getFindInsureOrderPageRequestDTO(FindInsureOrderPageRequestDTO findInsureOrderPageRequestDTO){
+        if (StringUtils.isNotEmpty(findInsureOrderPageRequestDTO.getInsureId())){
+            AppInsure appInsure = appInsureMapper.selectById(findInsureOrderPageRequestDTO.getInsureId());
+            if (appInsure!=null){
+                findInsureOrderPageRequestDTO.setInsureName(appInsure.getName());
+            }
+        }
+    }
 }