Просмотр исходного кода

fixbug: 修复审核查询的一些瑕疵

Scott 2 лет назад
Родитель
Сommit
445450e691

+ 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);

+ 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*/

+ 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">

+ 12 - 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())) {
@@ -372,7 +380,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 +417,7 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
         }
 //        queryWrapper.eq("doctor_id", userByName.getDoctorId());
         queryWrapper.eq("medical_dept_code", medicalDeptCode);
+
         return this.page(page, queryWrapper);
     }
 

+ 4 - 3
jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/AfterwardsAuditDataTest.java

@@ -88,7 +88,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()));
@@ -115,6 +115,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 +130,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;