Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master'

lenovodn 2 rokov pred
rodič
commit
b1d02bf370
12 zmenil súbory, kde vykonal 152 pridanie a 40 odobranie
  1. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/DeptAuditRequestBO.java
  2. 8 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/AfterwardsAuditController.java
  3. 5 5
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/HisController.java
  4. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MedicalDoctorAppealRecord.java
  5. 0 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MidIncidentWarningVO.java
  6. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/AfterwardsAuditMapper.java
  7. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditMapper.xml
  8. 14 10
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/SqlUtil.java
  9. 20 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditServiceImpl.java
  10. 2 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/MedicalDoctorAppealRecordServiceImpl.java
  11. 47 13
      jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/AfterwardsAuditDataTest.java
  12. 51 0
      jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/DeptAuditRequestBO.java

@@ -20,11 +20,11 @@ import javax.validation.constraints.NotBlank;
 public class DeptAuditRequestBO extends AuditRequestBO{
 
     @Length(min= 1, max=200 , message = "申诉理由不可小于1,不可大于200")
-    @NotBlank(message = "审核理由不可为空")
+//    @NotBlank(message = "审核理由不可为空")
     @ApiModelProperty(value = "审核理由")
     private String description;
 
-    @NotBlank(message = "必须上传图片")
+//    @NotBlank(message = "必须上传图片")
     @ApiModelProperty(value = "审核照片组,中间用逗号分割")
     private String imgPaths;
 

+ 8 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/AfterwardsAuditController.java

@@ -28,6 +28,7 @@ import org.springframework.web.servlet.ModelAndView;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -70,12 +71,15 @@ public class AfterwardsAuditController extends JeecgController<AfterwardsAudit,
 
 	 @ApiOperation(value = "审核端-医嘱信息")
 	 @GetMapping(value = "/audit/medicalorder/info")
-	 public Result<List<MedicalOrderInfoResponse>> loadMedicalOrderInfoResponseInfo(HttpServletRequest request, @RequestParam("id") Integer id) {
+	 public Result<List<MedicalOrderInfoResponse>> loadMedicalOrderInfoResponseInfo(HttpServletRequest request, @RequestParam(value = "id", required = false) Integer id) {
 		 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 		 if (null == loginUser) {
 			 log.error("当前用户未登录");
 			 throw new JeecgBootException("用户未登录"); // "登录已过期,请重新登录"
 		 }
+		 if (id == null) {
+			 return Result.OK(new ArrayList<>());
+		 }
 		 List<MedicalOrderInfoResponse> result = afterwardsAuditService.loadMedicalOrderInfo(id);
 		 return Result.OK(result);
 	 }
@@ -150,6 +154,9 @@ public class AfterwardsAuditController extends JeecgController<AfterwardsAudit,
 		afterwardsAudit.setDoctorId(param.getDoctorId());
 		QueryWrapper<AfterwardsAudit> queryWrapper = QueryGenerator.initQueryWrapper(afterwardsAudit, req.getParameterMap());
 		Page<AfterwardsAudit> page = new Page<>(pageNo, pageSize);
+		if (ObjectUtils.nullSafeEquals(param.getCheckState(), AfterwardsAuditStatusEnum.process.getStatus())) {
+			queryWrapper.eq("review_results", "issue_review");
+		}
 		IPage<AfterwardsAudit> violations = afterwardsAuditService.getDoctorViolations(page, queryWrapper, loginUser);
 		// 返回结果
 		return Result.OK("获取成功", violations);

+ 5 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/HisController.java

@@ -71,25 +71,25 @@ public class HisController extends JeecgController<Audit, IAuditService> {
        }
        log.info("事前远端请求的服务ip地址:{}", ipStr);
        ruleEngine.dealPreInterfaceEngin(advanceWarningVO, ipStr);
-       return Result.OK("添加成功!");
+       return Result.OK("事前提醒调用完成!");
    }
 
 
     /**
-     *   事中提醒
+     *  事中预警
      *
      * @param midIncidentWarningVO
      * @return
      */
-    @AutoLog(value = "事中提醒")
-    @ApiOperation(value="事中提醒接口", notes="事中提醒接口调用")
+    @AutoLog(value = "事中预警")
+    @ApiOperation(value="事中预警接口", notes="事中预警接口调用")
     @PostMapping(value = "/midIncidentWarning")
     public Result<String> midIncidentWarning(@RequestBody @Valid MidIncidentWarningVO midIncidentWarningVO,HttpServletRequest httpServletRequest) {
 
         String ipStr = HttpUtils.getIPAddress(httpServletRequest);
         log.info("事中远端请求的服务ip地址:{}", ipStr);
         ruleEngine.dealMidInterfaceEngin("midIncidentWarning", midIncidentWarningVO, ipStr);
-        return Result.OK("添加成功!");
+        return Result.OK("事中预警调用完成!");
     }
 
 }

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MedicalDoctorAppealRecord.java

@@ -33,7 +33,7 @@ public class MedicalDoctorAppealRecord implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**主键为自增,后续好排序*/
-	@TableId(type = IdType.ASSIGN_ID)
+	@TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "主键为自增,后续好排序")
     private Integer id;
 	/**createTime*/

+ 0 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MidIncidentWarningVO.java

@@ -1,13 +1,9 @@
 package org.jeecg.modules.medical.entity;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotBlank;
-import java.util.Date;
 import java.util.List;
 
 /**

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/AfterwardsAuditMapper.java

@@ -64,7 +64,7 @@ public interface AfterwardsAuditMapper extends BaseMapper<AfterwardsAudit> {
      * @param id
      * @return
      */
-    List<AuditInfoListResponse> loadAuditInfoList(Integer id);
+    List<AuditInfoListResponse> loadAuditInfoList(@Param("id") Integer id);
 
     List<DiagnosticInfoResponse> loadDiagnosticInfo(@Param("id") Integer id);
 

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditMapper.xml

@@ -220,7 +220,7 @@
                   LEFT JOIN medicine as m on t.proejct_code = m.medicine_code AND t.project_type = 'medicine'
                   LEFT JOIN consumable_material as c on t.proejct_code = c.consumable_code AND t.project_type = 'consumable'
                   left JOIN diagnosis_treatment as d on t.proejct_code = d.project_code AND t.project_type = 'diagnoses'
-            WHERE t.afterwards_audit_id = 1)
+            WHERE t.afterwards_audit_id = #{id,jdbcType=INTEGER})
         as tdetail
     </select>
     <select id="loadDiagnosticInfo" resultType="org.jeecg.modules.medical.common.bo.DiagnosticInfoResponse">

+ 14 - 10
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/SqlUtil.java

@@ -10,6 +10,7 @@ import org.jeecg.modules.medical.entity.EventAttr;
 import org.jeecg.modules.medical.entity.FactorAttrRela;
 import org.jeecg.modules.medical.entity.FactorEnchance;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 import org.springframework.jdbc.support.rowset.SqlRowSet;
 import org.springframework.stereotype.Component;
 
@@ -27,7 +28,8 @@ public class SqlUtil {
 
     public void setSqlResultByFactorEnchance(Map<String, Object> localMap, Map<Integer, List<FactorAttrRela>> ioTypeMap, FactorEnchance factorEnchance, Integer medicalInsRuleInfoId) {
         String dataSourceKey = factorEnchance.getExtAttr1();
-        JdbcTemplate jdbcTemplate = DynamicDBUtil.getJdbcTemplate(dataSourceKey);
+        NamedParameterJdbcTemplate namedParameterJdbcTemplate = DynamicDBUtil.getNamedParameterJdbcTemplate(dataSourceKey);
+//        JdbcTemplate jdbcTemplate = DynamicDBUtil.getJdbcTemplate(dataSourceKey);
         List<FactorAttrRela> factorAttrRelaList = ioTypeMap.get(Constant.INPUT);
         List<Integer> paramNameList = new ArrayList<>();
         List<Integer> paramTypeList = new ArrayList<>();
@@ -41,23 +43,25 @@ public class SqlUtil {
                 paramTypeList.add(eventAttr.getDispType());
             }
         }
-        String sql = getSqlText(localMap, factorEnchance.getEnhanceValue(), paramNameList, paramTypeList, factorEnchance, medicalInsRuleInfoId);
-
+//        String sql = getSqlText(localMap, factorEnchance.getEnhanceValue(), paramNameList, paramTypeList, factorEnchance, medicalInsRuleInfoId);
+        String sql = factorEnchance.getEnhanceValue();
         List<FactorAttrRela> factorAttrRelaOutList = ioTypeMap.get(Constant.OUTPUT);
         if (CollectionUtil.isNotEmpty(factorAttrRelaOutList)) {
-            if (factorAttrRelaOutList.size() == 1 && checkEventAttrArrMap(factorAttrRelaOutList.get(0).getEventAttrId())) {
-                List<Map<String,Object>> dataList = jdbcTemplate.queryForList(sql);
+            if (checkEventAttrArrMap(factorAttrRelaOutList.get(0).getEventAttrId())) {
+//                List<Map<String,Object>> dataList = jdbcTemplate.queryForList(sql);
 //                    jdbcTemplate.queryForList()
+                List<Map<String,Object>> dataList = namedParameterJdbcTemplate.queryForList(sql, localMap);
                 localMap.put(FactorEnchangeFactory.getParamName(factorAttrRelaOutList.get(0).getEventAttrId()), dataList);
-            }else if (factorAttrRelaOutList.size() == 1 && checkEventAttrArr(factorAttrRelaOutList.get(0).getEventAttrId())) {
-                List<Object> dataList = jdbcTemplate.queryForList(sql,Object.class);
+            }else if (checkEventAttrArr(factorAttrRelaOutList.get(0).getEventAttrId())) {
+//                List<Object> dataList = jdbcTemplate.queryForList(sql,Object.class);
+                List<Object> dataList = namedParameterJdbcTemplate.queryForList(sql, localMap, Object.class);
 //                    jdbcTemplate.queryForList()
                 localMap.put(FactorEnchangeFactory.getParamName(factorAttrRelaOutList.get(0).getEventAttrId()), dataList);
-            } else if (factorAttrRelaOutList.size() == 1 && checkEventAttrMap(factorAttrRelaOutList.get(0).getEventAttrId())) {
-                Map<String, Object> dataMap = jdbcTemplate.queryForMap(sql);
+            } else if (checkEventAttrMap(factorAttrRelaOutList.get(0).getEventAttrId())) {
+                Map<String, Object> dataMap = namedParameterJdbcTemplate.queryForMap(sql, localMap);
                 localMap.put(FactorEnchangeFactory.getParamName(factorAttrRelaOutList.get(0).getEventAttrId()), dataMap);
             } else {
-                SqlRowSet rs = jdbcTemplate.queryForRowSet(sql);
+                SqlRowSet rs = namedParameterJdbcTemplate.queryForRowSet(sql, localMap);
                 if (rs.first()) {
                     for (int paramIndex = 1; paramIndex <= factorAttrRelaOutList.size(); paramIndex++) {
                         Object paramObj = rs.getObject(paramIndex);

+ 20 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditServiceImpl.java

@@ -89,6 +89,11 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
             records = records.stream().map(item -> {
                 // 计算异常多收-少收
                 BigDecimal detailTotalAmt = baseMapper.statisticsErrAmtByAfterwareRecordId(item.getId());
+                item.setErrorRelativelyFewAmt(new BigDecimal("0.00"));
+                item.setErrorRelativelyManyAmt(new BigDecimal("0.00"));
+                if (!StringUtils.hasText(item.getCheckState())) {
+                    item.setCheckState(AfterwardsAuditStatusEnum.wait.getStatus());
+                }
                 if (null != detailTotalAmt) {
                     if (detailTotalAmt.compareTo(BigDecimal.ZERO) > 0) { // 异常金额大于0,就是多收
                         item.setErrorRelativelyManyAmt(detailTotalAmt);
@@ -109,6 +114,9 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
         AfterwardsAudit a = new AfterwardsAudit();
 
         a = loadAfterwardsAuditById(param.getId());
+        if (!StringUtils.hasText(a.getCheckState())) {
+            a.setCheckState(AfterwardsAuditStatusEnum.wait.getStatus());
+        }
         // 检查当前状态 、、兼容空
         if (!ObjectUtils.nullSafeEquals(AfterwardsAuditStatusEnum.wait.getStatus() , a.getCheckState())
                 && !ObjectUtils.nullSafeEquals(AfterwardsAuditStatusEnum.process.getStatus(), a.getCheckState())) {
@@ -261,6 +269,14 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
         // 2.开始校验处理状态
         switch (enums) {
             case appeal: //"appeal": //申诉
+
+                if (!StringUtils.hasText(param.getDescription())) {
+                    throw new JeecgBootException("申诉理由不可为空,请检查");
+                }
+                if (!StringUtils.hasText(param.getImgPaths())) {
+                    throw new JeecgBootException("申诉图片不可为空,请检查");
+                }
+
                 appealRecord.setDescription(param.getDescription());
                 appealRecord.setImgPath(param.getImgPaths());
 
@@ -372,7 +388,9 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
 
         for (MedicalOrderInfoResponse medicalOrderInfoRespons : medicalOrderInfoResponses) {
             String itemId = medicalOrderInfoRespons.getItemId();
-            String medicalInsuranceNumber = hisMedicalProjectCache.loadHisMedicalMapping(itemId);
+            if (StringUtils.hasText(itemId)) {
+                String medicalInsuranceNumber = hisMedicalProjectCache.loadHisMedicalMapping(itemId);
+            }
 
         }
         return null;
@@ -407,6 +425,7 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
         }
 //        queryWrapper.eq("doctor_id", userByName.getDoctorId());
         queryWrapper.eq("medical_dept_code", medicalDeptCode);
+
         return this.page(page, queryWrapper);
     }
 

+ 2 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/MedicalDoctorAppealRecordServiceImpl.java

@@ -31,7 +31,8 @@ public class MedicalDoctorAppealRecordServiceImpl extends ServiceImpl<MedicalDoc
     public List<MedicalDoctorAppealRecord> loadAppealRecord(Integer id, String medicalDeptCode) {
         LambdaQueryWrapper<MedicalDoctorAppealRecord> queryWrapper = Wrappers.<MedicalDoctorAppealRecord>lambdaQuery()
                 .eq(MedicalDoctorAppealRecord::getAfterwardsAuditId, id)
-                .eq(MedicalDoctorAppealRecord::getMedicalDeptCode, medicalDeptCode);
+                .eq(MedicalDoctorAppealRecord::getMedicalDeptCode, medicalDeptCode)
+                .orderByAsc(MedicalDoctorAppealRecord::getId);
         List<MedicalDoctorAppealRecord> list = this.list(queryWrapper);
         if (CollectionUtils.isEmpty(list)) {
             return null;

+ 47 - 13
jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/AfterwardsAuditDataTest.java

@@ -12,8 +12,7 @@ import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.Random;
+import java.util.*;
 
 /**
  * @author soft01
@@ -25,6 +24,8 @@ import java.util.Random;
 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,classes = JeecgSystemApplication.class)
 public class AfterwardsAuditDataTest {
 
+    List<Map<String, String>> doctorList = new ArrayList<>();
+
     //就诊类别;住院(hosp)/门诊(outpatient)
     public static final String TREATMENTTYPE = "hops";
     public static final String NOTICE_TYPE = "after";
@@ -32,8 +33,8 @@ public class AfterwardsAuditDataTest {
     public static final String medicalDeptCode = "1001"; //部门代码
     public static final String deptName = "儿科"; //科室
 
-    public static final String doctorName = "章邯";
-    public static final String doctorId = "1001001";
+//    public static final String doctorName = "章邯";
+//    public static final String doctorId = "1001001";
 
     //  患者信息
     public static final String patientId = "A1001";
@@ -57,13 +58,45 @@ public class AfterwardsAuditDataTest {
 
     @Test
     public void generateAfterwardsAuditData() {
-        // 写主表
-        AfterwardsAudit extracted = writeMaster();
-        // 写从表
-        writeSlave(extracted.getId(), 5);
+
+        Map<String, String> doctorItem1 = new HashMap<>();
+        doctorItem1.put("doctorName", "章邯");
+        doctorItem1.put("doctorId", "1001001");
+
+        Map<String, String> doctorItem2 = new HashMap<>();
+        doctorItem2.put("doctorName", "楚南公");
+        doctorItem2.put("doctorId", "1001006");
+
+        Map<String, String> doctorItem3 = new HashMap<>();
+        doctorItem3.put("doctorName", "晓梦");
+        doctorItem3.put("doctorId", "1001005");
+
+        Map<String, String> doctorItem4 = new HashMap<>();
+        doctorItem4.put("doctorName", "柳梦璃");
+        doctorItem4.put("doctorId", "1002002");
+
+
+
+
+        doctorList.add(doctorItem1);
+        doctorList.add(doctorItem2);
+        doctorList.add(doctorItem3);
+        doctorList.add(doctorItem4);
+
+        for (Map<String, String> stringStringMap : doctorList) {
+            String doctorName = stringStringMap.get("doctorName");
+            String doctorId = stringStringMap.get("doctorId");
+
+            // 写主表
+            AfterwardsAudit extracted = writeMaster(doctorId, doctorName);
+            // 写从表
+            writeSlave(doctorId, doctorName, extracted.getId(), 5);
+        }
+
+
     }
 
-    private void writeSlave(Integer id, int number) {
+    private void writeSlave(String doctorId, String doctorName, Integer id, int number) {
         for (int i = 0; i < number; i++) {
             AfterwardsAuditDetail aad = new AfterwardsAuditDetail();
             aad.setAfterwardsAuditId(id);
@@ -88,7 +121,7 @@ public class AfterwardsAuditDataTest {
             aad.setProejctCode(PROJECTCODE);
 
             aad.setQuantity(new BigDecimal("1"));
-            aad.setMedicalProjectCode("1");
+            aad.setMedicalProjectCode("8001");
             aad.setMedicalProjectName("1");
 
             aad.setAmount(BigDecimal.valueOf(AfterwardsAuditDataTest.getRandom()));
@@ -100,7 +133,7 @@ public class AfterwardsAuditDataTest {
     }
 
 
-    AfterwardsAudit writeMaster() {
+    AfterwardsAudit writeMaster(String doctorId, String doctorName) {
         AfterwardsAudit aa = new AfterwardsAudit();
         aa.setTreatmentType(TREATMENTTYPE);
         aa.setNoticeType(NOTICE_TYPE);
@@ -115,6 +148,7 @@ public class AfterwardsAuditDataTest {
         aa.setPrescriptionNumber(prescriptionNumber);
         aa.setFeedbackResult("SUCCESS");
         aa.setFeedbackCode("0000");
+        aa.setAuditSource("system(系统)");
 
         aa.setCreateBy("admin");
         aa.setCreateTime(new Date());
@@ -129,8 +163,8 @@ public class AfterwardsAuditDataTest {
     }
 
     private static double getRandom() {
-        Random a = new Random(150);
-        int i = a.nextInt(200);
+        Random a = new Random();
+        int i = a.nextInt(200) - 80;
         double v = a.nextDouble();
         System.out.println(i + v);
         return i + v;

+ 51 - 0
jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java

@@ -6,6 +6,10 @@ import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.RestUtil;
+import org.jeecg.common.util.dynamic.db.DynamicDBUtil;
+import org.jeecg.modules.medical.Constant;
+import org.jeecg.modules.medical.ruleengine.FactorEnchangeFactory;
+import org.jeecg.modules.medical.ruleengine.plugin.InsertSqlPlugin;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,8 +18,15 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
+import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
+import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * 系统用户单元测试
  */
@@ -32,6 +43,46 @@ public class SysUserTest {
     private final String PASSWORD = "123456";
     @Autowired
     private RedisUtil redisUtil;
+    @Autowired
+    InsertSqlPlugin insertSqlPlugin;
+
+    @Test
+    public void testInsertSql(){
+        NamedParameterJdbcTemplate namedParameterJdbcTemplate = DynamicDBUtil.getNamedParameterJdbcTemplate(Constant.LOCAL_MYSQL);
+        List<MapSqlParameterSource> batchArgs = new ArrayList<>();
+        List<Map<String,Object>> dataList = new ArrayList<>();
+        Map<String,Object> localMap1 = new HashMap<>();
+        localMap1.put("11","2343");
+        localMap1.put("id",1);
+        localMap1.put("name","lindong");
+        localMap1.put("code","lindong");
+        dataList.add(localMap1);
+        Map<String,Object> localMap2 = new HashMap<>();
+        localMap2.put("11","2343");
+        localMap2.put("id",2);
+        localMap2.put("name","lindong1");
+        localMap2.put("code","lindong1");
+
+        Map<String,Object> localMap = new HashMap<>();
+        localMap.put("11","2343");
+        dataList.add(localMap2);
+        for (Map<String,Object> dataMap : dataList) {
+            dataMap.putAll(localMap);
+            MapSqlParameterSource parameters = new MapSqlParameterSource(dataMap);
+
+            batchArgs.add(parameters);
+        }
+        namedParameterJdbcTemplate.batchUpdate("insert into test(id,name,code)values(:id,:name,:code)", batchArgs.toArray(new MapSqlParameterSource[batchArgs.size()]));
+        Map<String,Object> queryMap = new HashMap<>();
+        List<Integer> idList = new ArrayList<>();
+        idList.add(1);
+        idList.add(2);
+        queryMap.put("id",idList);
+        List<Map<String,Object>> resultList = namedParameterJdbcTemplate.queryForList("select * from test where id in (:id)", queryMap);
+        System.out.println(resultList);
+        System.out.println(resultList.size());
+//        insertSqlPlugin.plugin();
+    }
 
     /**
      * 测试用例:查询记录