0027005599 2 سال پیش
والد
کامیت
e1e906a589

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/Constant.java

@@ -67,4 +67,5 @@ public class Constant {
     public static final String MEDICAL_CODE_NAME_KEY = "MEDICAL_CODE_NAME_KEY";
     public static final String PROJECT_TYPE_KEY = "project_type";
 //    public static final String PROJECT_CODE_KEY = "project_code";
+
 }

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

@@ -1,6 +1,7 @@
 package org.jeecg.modules.medical.controller;
 
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -9,9 +10,17 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.medical.Constant;
+import org.jeecg.modules.medical.EnchanceTypeEnum;
 import org.jeecg.modules.medical.entity.FactorEnchance;
 import org.jeecg.modules.medical.service.IFactorEnchanceService;
 
@@ -69,6 +78,7 @@ public class FactorEnchanceController extends JeecgController<FactorEnchance, IF
 								   HttpServletRequest req) {
 		QueryWrapper<FactorEnchance> queryWrapper = QueryGenerator.initQueryWrapper(factorEnchance, req.getParameterMap());
 		Page<FactorEnchance> page = new Page<FactorEnchance>(pageNo, pageSize);
+		queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0);
 		IPage<FactorEnchance> pageList = factorEnchanceService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
@@ -84,7 +94,25 @@ public class FactorEnchanceController extends JeecgController<FactorEnchance, IF
 	@RequiresPermissions("medical:factor_enchance:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody FactorEnchance factorEnchance) {
+		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		if(sysUser!=null){
+//			dto.setUserid(sysUser.getUsername());
+//			dto.setUsername(sysUser.getRealname());
+			factorEnchance.setCreateBy(sysUser.getUsername());
+			factorEnchance.setCreateTime(new Date(System.currentTimeMillis()));
+			factorEnchance.setState(Constant.EFF_STATE);
+			factorEnchance.setDelFlag(CommonConstant.DEL_FLAG_0);
+		}
 		factorEnchanceService.save(factorEnchance);
+		EnchanceTypeEnum enchanceTypeEnum = EnchanceTypeEnum.getType(factorEnchance.getEnhanceType());
+		switch (enchanceTypeEnum){
+			case SQL:
+				factorEnchanceService.saveSqlFactorEnchance(factorEnchance);
+				break;
+			case LOGICAL_EXPRESSION:
+				factorEnchanceService.saveLogicalFactorEnchance(factorEnchance);
+				break;
+		}
 		return Result.OK("添加成功!");
 	}
 	
@@ -99,6 +127,13 @@ public class FactorEnchanceController extends JeecgController<FactorEnchance, IF
 	@RequiresPermissions("medical:factor_enchance:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
 	public Result<String> edit(@RequestBody FactorEnchance factorEnchance) {
+		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		if(sysUser!=null){
+//			dto.setUserid(sysUser.getUsername());
+//			dto.setUsername(sysUser.getRealname());
+			factorEnchance.setUpdateBy(sysUser.getUsername());
+			factorEnchance.setUpdateTime(new Date(System.currentTimeMillis()));
+		}
 		factorEnchanceService.updateById(factorEnchance);
 		return Result.OK("编辑成功!");
 	}
@@ -114,7 +149,11 @@ public class FactorEnchanceController extends JeecgController<FactorEnchance, IF
 	@RequiresPermissions("medical:factor_enchance:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		factorEnchanceService.removeById(id);
+		Wrapper<FactorEnchance> updateWrapper = new UpdateWrapper<>();
+
+		factorEnchanceService.lambdaUpdate().set(FactorEnchance::getDelFlag, CommonConstant.DEL_FLAG_1).eq(FactorEnchance::getId, Integer.parseInt(id)).update();
+//		factorEnchanceService.updateById(factorEnchance);
+//		factorEnchanceService.removeById(id);
 		return Result.OK("删除成功!");
 	}
 	

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

@@ -4,7 +4,10 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
+
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableLogic;
@@ -101,4 +104,10 @@ public class FactorEnchance implements Serializable {
 	@Excel(name = "要素提取分类;规则ID", width = 15)
     @ApiModelProperty(value = "要素提取分类;规则ID")
     private java.lang.Integer factorCatalog;
+    @TableField(exist = false)
+    private List<Integer> inParamList;
+    @TableField(exist = false)
+    private List<Integer> outParamList;
+    @TableField(exist = false)
+    private List<FactorCondRela> factorCondRelaList;
 }

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

@@ -10,5 +10,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IFactorEnchanceService extends IService<FactorEnchance> {
-
+    public Integer saveSqlFactorEnchance(FactorEnchance factorEnchance);
+    public Integer saveLogicalFactorEnchance(FactorEnchance factorEnchance);
 }

+ 66 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/FactorEnchanceServiceImpl.java

@@ -1,12 +1,28 @@
 package org.jeecg.modules.medical.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.modules.medical.Constant;
+import org.jeecg.modules.medical.entity.EventAttr;
+import org.jeecg.modules.medical.entity.FactorAttrRela;
+import org.jeecg.modules.medical.entity.FactorCondRela;
 import org.jeecg.modules.medical.entity.FactorEnchance;
+import org.jeecg.modules.medical.entity.RuleFactorRela;
+import org.jeecg.modules.medical.mapper.FactorAttrRelaMapper;
+import org.jeecg.modules.medical.mapper.FactorCondRelaMapper;
 import org.jeecg.modules.medical.mapper.FactorEnchanceMapper;
+import org.jeecg.modules.medical.mapper.RuleFactorRelaMapper;
+import org.jeecg.modules.medical.service.IFactorCondRelaService;
 import org.jeecg.modules.medical.service.IFactorEnchanceService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @Description: factor_enchance
  * @Author: jeecg-boot
@@ -16,4 +32,54 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class FactorEnchanceServiceImpl extends ServiceImpl<FactorEnchanceMapper, FactorEnchance> implements IFactorEnchanceService {
 
+    @Resource
+    FactorCondRelaMapper factorCondRelaMapper;
+    @Resource
+    FactorAttrRelaMapper factorAttrRelaMapper;
+
+    @Override
+    public Integer saveSqlFactorEnchance(FactorEnchance factorEnchance) {
+//        List<FactorAttrRela> factorAttrRelaList = new ArrayList<>();
+        if(CollectionUtil.isNotEmpty(factorEnchance.getInParamList())){
+            FactorAttrRela factorAttrRela = null;
+            int index=1;
+            for(Integer eventAttrId : factorEnchance.getInParamList()){
+                factorAttrRela = new FactorAttrRela();
+                factorAttrRela.setFactorEnhanceId(factorEnchance.getId());
+                factorAttrRela.setIoType(Constant.INPUT);
+                factorAttrRela.setSeqNum(index);
+                factorAttrRela.setEventAttrId(eventAttrId);
+                index++;
+//                factorAttrRelaList.add(factorAttrRela);
+                factorAttrRelaMapper.insert(factorAttrRela);
+            }
+        }
+        if(CollectionUtil.isNotEmpty(factorEnchance.getOutParamList())){
+            FactorAttrRela factorAttrRela = null;
+            int index=1;
+            for(Integer eventAttrId : factorEnchance.getOutParamList()){
+                factorAttrRela = new FactorAttrRela();
+                factorAttrRela.setFactorEnhanceId(factorEnchance.getId());
+                factorAttrRela.setIoType(Constant.OUTPUT);
+                factorAttrRela.setSeqNum(index);
+                factorAttrRela.setEventAttrId(eventAttrId);
+                index++;
+//                factorAttrRelaList.add(factorAttrRela);
+                factorAttrRelaMapper.insert(factorAttrRela);
+            }
+        }
+
+        return 1;
+    }
+
+    @Override
+    public Integer saveLogicalFactorEnchance(FactorEnchance factorEnchance) {
+        if(CollectionUtil.isNotEmpty(factorEnchance.getFactorCondRelaList())) {
+            for (FactorCondRela factorCondRela : factorEnchance.getFactorCondRelaList()) {
+                factorCondRelaMapper.insert(factorCondRela);
+            }
+            return factorEnchance.getFactorCondRelaList().size();
+        }
+        return -1;
+    }
 }