健康告知保存

master
wanghui 1 week ago
parent 1ac21d1e66
commit f640ff0a30
  1. 11
      lis-model-policy-schema/src/main/java/com/sinosoft/lis/schema/LCCustomerImpartSchema.java
  2. 116
      lis-module-common-bl/src/main/java/com/sinosoft/lis/bl/LCCustomerImpartBL.java
  3. 322
      lis-module-grp-common-web/src/main/webapp/g_busicommon/LDHealthAttachmentInput.jsp
  4. 62
      lis-module-grp-common-web/src/main/webapp/g_busicommon/LDHealthAttachmentMain.jsp
  5. 95
      lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/controller/g_app/LCCustomerImpartController.java
  6. 54
      lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/vo/g_app/LCCustomerImpartAddVO.java
  7. 15
      lis-module-grp-nb-web/src/main/webapp/g_app/LCContCommonInput.js
  8. 2
      lis-module-grp-nb-web/src/main/webapp/g_app/LCInsuredInfoInput.jsp

@ -187,8 +187,16 @@ public class LCCustomerImpartSchema extends Entity implements Schema<LCCustomerI
@Column(index = 18, name = "DisDate", desc = "发病日期", type = Schema.TYPE_DATE) @Column(index = 18, name = "DisDate", desc = "发病日期", type = Schema.TYPE_DATE)
private Date disDate; private Date disDate;
/**
* 详细描述
*/
@Getter
@Setter
@Column(index = 19, name = "DescVal", desc = "详细描述", type = Schema.TYPE_STRING)
private String descVal;
public static final int FIELDNUM = 19; // 数据库表的字段个数
public static final int FIELDNUM = 20; // 数据库表的字段个数
private transient FDate fDate = new FDate(); // 处理日期 private transient FDate fDate = new FDate(); // 处理日期
@ -287,7 +295,6 @@ public class LCCustomerImpartSchema extends Entity implements Schema<LCCustomerI
return this; return this;
} }
public LCCustomerImpartSchema setSchema(LCCustomerImpartSchema aLCCustomerImpartSchema) { public LCCustomerImpartSchema setSchema(LCCustomerImpartSchema aLCCustomerImpartSchema) {
SchemaHelper.setSchema(aLCCustomerImpartSchema, this); SchemaHelper.setSchema(aLCCustomerImpartSchema, this);
return this; return this;

@ -11,19 +11,53 @@ package com.sinosoft.lis.bl;
import com.sinosoft.lis.i18n.I18nMessage; import com.sinosoft.lis.i18n.I18nMessage;
import com.sinosoft.lis.db.LBCustomerImpartDB; import com.sinosoft.lis.db.LBCustomerImpartDB;
import com.sinosoft.lis.db.LCCustomerImpartDB; import com.sinosoft.lis.db.LCCustomerImpartDB;
import com.sinosoft.lis.pubfun.GlobalInput;
import com.sinosoft.lis.pubfun.MMap;
import com.sinosoft.lis.pubfun.PubFun; import com.sinosoft.lis.pubfun.PubFun;
import com.sinosoft.lis.controller.Action;
import com.sinosoft.lis.pubfun.PubSubmit;
import com.sinosoft.lis.schema.LBCustomerImpartSchema; import com.sinosoft.lis.schema.LBCustomerImpartSchema;
import com.sinosoft.lis.schema.LCCustomerImpartSchema; import com.sinosoft.lis.schema.LCCustomerImpartSchema;
import com.sinosoft.lis.sql.repository.LCCustomerImpartSQL;
import com.sinosoft.lis.vschema.LBCustomerImpartSet; import com.sinosoft.lis.vschema.LBCustomerImpartSet;
import com.sinosoft.lis.vschema.LCCustomerImpartSet; import com.sinosoft.lis.vschema.LCCustomerImpartSet;
import com.sinosoft.utility.CError; import com.sinosoft.persistence.SQLProxy;
import com.sinosoft.utility.Reflections; import com.sinosoft.utility.*;
import com.sinosoft.utility.SQLwithBindVariables;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Objects;
public class LCCustomerImpartBL { public class LCCustomerImpartBL {
private static final Logger logger = LoggerFactory.getLogger(LCCustomerImpartBL.class); private static final Logger logger = LoggerFactory.getLogger(LCCustomerImpartBL.class);
private LCCustomerImpartSQL lCCustomerImpartSQL = SQLProxy.getInstance(LCCustomerImpartSQL.class);
/** 投保单号 */
private String grpContNo;
/** 错误处理类,每个需要错误处理的类中都放置该类 */
private CErrors mErrors = new CErrors();
/** 提交数据的容器 */
private MMap mMMap = new MMap();
/** 操作变量 */
private String mOperate;
private String mCurrentDate;
private String mCurrentTime;
/** 传入数据的容器 */
private VData mInputData = new VData();
public LCCustomerImpartBL() {
mCurrentDate = PubFun.getCurrentDate();
mCurrentTime = PubFun.getCurrentTime();
}
// @Constructor // @Constructor
public static LCCustomerImpartSchema get() { public static LCCustomerImpartSchema get() {
LCCustomerImpartSchema schema = new LCCustomerImpartSchema(); LCCustomerImpartSchema schema = new LCCustomerImpartSchema();
@ -134,4 +168,80 @@ public class LCCustomerImpartBL {
return tLCCustomerImpartSet; return tLCCustomerImpartSet;
} }
public boolean submitData(List<LCCustomerImpartSchema> list,String operator) {
if (!getInputData(operator)) {
return false;
}
if (!checkData()) {
return false;
}
if (!dealData(list)) {
return false;
}
return saveData();
}
private boolean saveData() {
PubSubmit tPubSubmit = new PubSubmit();
mInputData.add(mMMap);
if (!tPubSubmit.submitData(mInputData, Action.INSERT_ACTION)) {
buildError("saveData", new I18nMessage("提交数据失败!", "LIS-08006"));
return false;
}
return true;
}
private boolean dealData(List<LCCustomerImpartSchema> list) {
LCCustomerImpartSchema lcCustomerImpartSchema = list.get(0);
grpContNo = lcCustomerImpartSchema.getGrpContNo();
if (Action.INSERT_ACTION.equals(mOperate)) {
SQLwithBindVariables sqLwithBindVariables = lCCustomerImpartSQL.deleteByGrpContNo(grpContNo);
mMMap.put(sqLwithBindVariables, MMap.Action.DELETE);
for (LCCustomerImpartSchema tLCCustomerImpartSchema : list) {
tLCCustomerImpartSchema.setModifyDate(mCurrentDate);
tLCCustomerImpartSchema.setMakeTime(mCurrentTime);
tLCCustomerImpartSchema.setModifyDate(mCurrentDate);
tLCCustomerImpartSchema.setMakeTime(mCurrentTime);
mMMap.put(tLCCustomerImpartSchema, MMap.Action.INSERT);
}
}
return true;
}
private boolean checkData() {
return true;
}
private boolean getInputData(String operator) {
this.mOperate = operator;
return true;
}
public CErrors getErrors() {
return mErrors;
}
/**
* 错误构造方法
* @param tFunctionName
* @param tErrorMessage
*/
private void buildError(String tFunctionName, I18nMessage tErrorMessage) {
CError tCError = new CError();
tCError.moduleName = this.getClass().getSimpleName();
tCError.functionName = tFunctionName;
tCError.errorMessage(tErrorMessage);
mErrors.addOneError(tCError);
}
} }

@ -0,0 +1,322 @@
<%
/***************************************************************
* <p>ProName:LDHealthAttachmentInput.jsp</p>
* <p>Title:附件管理</p>
* <p>Description:附件管理</p>
* <p>Copyright:Copyright (c) 2012</p>
* <p>Company:Sinosoft</p>
* @author : zhoufz
* @version : 8.0
* @date : 2014-03-20
****************************************************************/
%>
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@include file="../common/jsp/UsrCheck.jsp" %>
<%@page import="com.sinosoft.utility.XssUtil" %>
<%
String tOtherNoType = XssUtil.escapeJavaScript(request.getParameter("OtherNoType"));
String tOtherNo = XssUtil.escapeJavaScript(request.getParameter("OtherNo"));
String tSubOtherNo = XssUtil.escapeJavaScript(request.getParameter("SubOtherNo"));
String tUploadNode = XssUtil.escapeJavaScript(request.getParameter("UploadNode"));
String[] t告知内容 = {
"1、投保单位过去三年有发生过死亡或伤残情况?是否向保险公司索赔过医疗保险金?若“是”请告知。_年 疾病身故人数_ 意外身故人数_ 残疾人数_ 医疗发生金额_元",
"2、投保单位未在工作现场为参保人员提供《中华人民共和国劳动法》、《中华人民共和国安全生产法》、《中华人民共和国建筑法》等法律法规要求的安全技术、安全防护措施和其他维护安全、防范危险、预防火灾等措施?",
"3、参加投保的被保险人,近一年是否存在因患病或其他健康原因而不能工作连续达10个工作日或减轻劳动量的情况?",
"4、参加投保的被保险人,现在或过去是否存在患重大疾病或住院连续超过10天、或病假连续超过10天的情况?重大疾病内容如下:\n" +
"a、心脏病(心功能不全Ⅱ级及Ⅱ级以上)。\n" +
"b、高血压(Ⅱ级及Ⅱ级以上)、冠心病、心肌梗塞、心脏瓣膜病。\n" +
"c、脑血管疾病(脑出血、脑梗塞)、脑部的良性肿瘤、癫痫病、瘫痪、帕金森氏症。\n" +
"d、慢性肾脏疾病(肾小球肾炎、肾盂肾炎、肾病综合征、肾功能不全)。\n" +
"e、慢性阻塞性肺病(慢性支气管炎、肺气肿、肺心病)。\n" +
"f、慢性活动性肝炎、慢性病毒性肝炎、肝硬化。\n" +
"g、白血病、再生障碍性贫血、淋巴瘤、系统性红斑狼疮、糖尿病。\n" +
"h、任何恶性肿瘤、任何性质不明的肿块/阴影/结节。\n" +
"i、任何精神疾病、任何先天性或遗传性疾病、传染性疾病、性病或艾滋病。",
"5、参加投保的被保险人,是否需要参加飞行、潜水、登山、攀岩、赛车、赛马、举重、武术比赛、滑雪、滑浪、漂流、蹦极等危险活动?",
"6、参加投保的被保险人的职业是否涉及或接触任何危险物(化学物质、爆炸物、有毒物质、放射性物品或其他危险物)、高处作业(指在距坠落高度基准面 2 米或 2 米以上有可能坠落的高处进行的作业)、高压作业、潜水或水下作业、隧道坑道或井下作业等危险工作?",
"7、参加投保的被保险人,是否因工作原因需要前往正在或经常发生自然灾害、病疫、战乱、动乱、种族冲突、政局动荡的危险地区或国家?",
"8、参加投保的被保险人,是否存在以下一项或多项:\n" + "(1)非投保单位员工或非团体成员的人员(连带被保险人除外)?(2)计划长期居住或逗留在中国大陆以外的国家或地区累计超过6个月的人员? (3)残障、职业病人员?",
"9、投保时是否有正在怀孕的员工?",
"10、投保身故责任的未成年人是否有其他生效中的身故责任保险?若“是”请告知。\n" +
"富泽人寿_万元;其他保险公司_万元。"
};
%>
<script>
var tOtherNoType = "<%=tOtherNoType%>";
var tOtherNo = "<%=tOtherNo%>";
var tSubOtherNo = "<%=tSubOtherNo%>";
var tUploadNode = "<%=tUploadNode%>";
</script>
<html>
<head>
<%--<title>附件管理</title>--%><title>LIS</title>
<script src="../common/javascript/Common.js"></script>
<script src="../common/cvar/CCodeOperate.js"></script>
<script src="../common/javascript/MulLine.js"></script>
<script src="../common/javascript/EasyQuery.js"></script>
<script src="../common/easyQueryVer3/EasyQueryVer3.js"></script>
<script src="../common/easyQueryVer3/EasyQueryCache.js"></script>
<script src="../common/javascript/VerifyInput.js"></script>
<SCRIPT src="../common/laydate/laydate.js"></SCRIPT>
<link href="../common/css/Project.css" rel=stylesheet type=text/css>
<LINK href="../common/css/Project3.css" rel=stylesheet type=text/css>
<link href="../common/css/mulLine.css" rel=stylesheet type=text/css>
<script src="./LDAttachmentInput.js"></script>
<%@include file="./LDAttachmentInit.jsp" %>
<script src="../common/javascript/i18n/jquery.i18n.js"></script>
<script src="../common/javascript/i18n/jquery.i18n.messagestore.js"></script>
<script src="../common/javascript/i18n/i18n.js"></script>
</head>
<body onload="initForm(); initElementtype();">
<form name=fm id=fm method=post action="" target=fraSubmit>
<div id="divAttachment" class="container Grid" showname="附件列表">
<%-- <table class=common>--%>
<%-- <tr class=common>--%>
<%-- <td text-align: left colSpan=1>--%>
<span id="spanAttachmentGrid"></span>
<%-- </td>--%>
<%-- </tr>--%>
<%-- </table>--%>
</div>
</form>
<form name=fmupload id=fmupload method=post action="" ENCTYPE="multipart/form-data" target=fraSubmit>
<div id="divAttachmentUpload" style="display: ''">
<table class=common>
<%-- <tr class=common>--%>
<%-- <td class=title data-i18n="AttachmentType">附件类型</td>--%>
<%-- <td class=input colspan=5><input class=codeno name=AttachType id=AttachType readonly verify="附件类型~AttachmentType|notnull" style="background:url(../common/images/select--bg_03.png) no-repeat right center"--%>
<%-- ondblclick="return showCodeList('attachtype',[this, AttachTypeName],[0, 1],null,null,null,'1',180);" --%>
<%-- onkeyup="return showCodeListKey('attachtype',[this, AttachTypeName],[0, 1],null,null,null,'1',180);">--%>
<%-- <input class=codename name=AttachTypeName id=AttachTypeName readonly elementtype=nacessary></td>--%>
<%-- </tr>--%>
<tr>
<td class=title data-i18n="AttachmentPath">附件路径</td>
<%-- <td class=input colspan=5><input class=common type=file verify="附件路径~AttachmentPath|notnull" name=UploadPath style="width:400px" elementtype=nacessary><font color="#FF0000">(<span data-i18n="LIS-00112">仅支持txt,doc,docx,xls,xlsx,pdf,zip,eml 格式的文件上载,文件大小不超过5M</span>)</font></td>--%>
<td class=input colspan=5><input class=common type=file verify="附件路径~AttachmentPath|notnull"
name=UploadPath style="width:400px" elementtype=nacessary><font
color="#FF0000">(<span style="color: red">仅支持txt,doc,docx,xls,xlsx,pdf,zip,eml 格式的文件上载,询价要求文件大小不超过10M</span>)</font>
</td>
</tr>
<tr class=common>
<td class=title></td>
<td class=input></td>
<td class=title></td>
<td class=input></td>
<td class=title></td>
<td class=input></td>
</tr>
</table>
<input class=cssButton type=button name=UploadButton value="上传附件" data-i18n="AttachmentUpload-1"
id="upLoadClickBtn" onclick="upLoadClick();">
<input class=cssButton type=button name=DownloadButton value="下载附件" data-i18n="DownloadAttachmt"
id="downLoadClickBtn" onclick="downLoadClick();">
<input class=cssButton type=button name=DeleteButton value="删除附件" data-i18n="DelAttachment"
id="deleteClickBtn" onclick="deleteClick();">
<input class=cssButton type=button value="关 闭" data-i18n="Closed" id="closeBtn" onclick="top.close();">
<input class=cssButton type=button value="关 闭" data-i18n="Closed" id="closeBtn1" onclick="top.close();">
</div>
<br/><br/><br/><br/>
</form>
<span id="spanCode" style="display: 'none'; position:absolute; slategray"></span>
<div id="divAgentDetailInfo" style="display: ''; margin: 10px;">
<table class="common" width="100%">
<tbody>
<tr>
<td class="titleImg normal">
<span class="containerExpandButton">健康告知录入 (说明:1、建工险仅需填写第1-2项;2、第3-10项若为“是”,请在“详细描述”栏写明。)</span>
</td>
</tr>
</tbody>
</table>
<div id="divAgentDetail" class="container grid" showname="健康告知录入" style="display: ''">
<span id="spanAgentDetailGrid">
<!-- 简化后的表格结构 -->
<div class="flexigrid">
<!-- 表头 -->
<div class="hDiv">
<div class="hDivBox">
<table cellpadding="0" cellspacing="0" style="width: 100%">
<thead>
<tr>
<!-- 列宽比例约为 1:2:2:3:3 -->
<th axis="col1"><div style="width: 50px; text-align: center;">序号</div></th>
<th axis="col2"><div style="width: 100px; text-align: center;">告知版别</div></th>
<th axis="col3"><div style="width: 100px; text-align: center;">告知编码</div></th>
<th axis="col4"><div style="width: 800px; text-align: center;">告知内容</div></th>
<th axis="col5"><div style="width: 150px; text-align: center;">填写内容</div></th>
<th axis="col6"><div style="width: 170px; text-align: center;">详细说明</div></th>
</tr>
</thead>
</table>
</div>
</div>
<!-- 表体 (10行数据) -->
<div class="bDiv" style="height: auto;">
<table cellpadding="0" cellspacing="0" border="0" class="autoht">
<tbody>
<!-- 以下是10行数据的循环,序号1-10 -->
<!-- 每一行的ID和Name属性做了简单的递增处理以确保唯一性 -->
<% for(int i=1; i<=10; i++) { %>
<tr id="spanAgentDetailGrid<%=i-1%>" style="border-left: 2px solid #1ea5df;">
<!-- 序号列 (固定 1-10) -->
<td class="muline">
<div style="width:50px;">
<input type="text"
name="AgentDetailGridNo<%=i%>"
value="<%=i%>"
class="mulreadonly"
style="width:50px; text-align:center; border:none; background:#f0f0f0;"
readonly="readonly">
</div>
</td>
<!-- 告知版别 (固定值,示例为"通用版") -->
<td class="muline">
<div style="width:100px;">
<input type="text"
name="AgentDetailGridVer<%=i%>"
value="A01"
class="mulreadonly"
style="width:100px; text-align:center; border:none; background:#f0f0f0;"
readonly="readonly">
</div>
</td>
<!-- 告知编码 (固定值,示例为"GD00<行号>") -->
<td class="muline">
<div style="width:100px;">
<input type="text"
name="AgentDetailGridCode<%=i%>"
value="A010<%=i%>"
class="mulreadonly"
style="width:100px; text-align:center; border:none; background:#f0f0f0;"
readonly="readonly">
</div>
</td>
<!-- 告知内容 (核心修改:取数组中的值) -->
<td class="muline">
<div style="width:800px;">
<input type="text"
name="AgentDetailGridText<%=i-1%>"
value="<%= t告知内容[i-1] %>"
class="mulreadonly"
style="width:800px; text-align:left; padding-left:2px; border:none; background:#fff;"
readonly="readonly"
title="<%= t告知内容[i-1] %>">
</div>
</td>
<!-- 填写内容 (用户手输入) -->
<td class="muline">
<div style="width:150px;">
<input type="text"
name="AgentDetailGridInput<%=i%>"
value=""
class="mulcommon"
style="width:150px; text-align:left; padding-left:2px; border:none;"
verify="填写内容|notnull"
onfocus="this.style.border='1px solid #1ea5df';"
onblur="this.style.border='none';">
</div>
</td>
<!-- 详细说明 (用户手输入) -->
<td class="muline">
<div style="width:170px;">
<input type="text"
name="AgentDetailGridDesc<%=i%>"
value=""
class="mulcommon"
style="width:170px; text-align:left; padding-left:2px; border:none;"
verify="详细说明|notnull"
onfocus="this.style.border='1px solid #1ea5df';"
onblur="this.style.border='none';">
</div>
</td>
</tr>
<% } %>
</tbody>
</table>
</div>
</div>
</span>
</div>
</div>
<!-- 1. 右下角的保存按钮样式 -->
<div style="text-align: right; margin-top: 10px; margin-right: 10px;">
<input class="cssButton" type="button" value="保 存" id="saveHealthDetailBtn" onclick="saveHealthDetailData();">
</div>
<!-- 2. 数据收集与发送脚本 -->
<script>
function saveHealthDetailData() {
var dataList = []; // 用于存储所有行的数据
// 循环获取 1-10 行的输入框数据
for (var i = 1; i <= 10; i++) {
var rowData = {
seqNo: document.querySelector('input[name="AgentDetailGridNo' + i + '"]').value,
impartVer: document.querySelector('input[name="AgentDetailGridVer' + i + '"]').value,
impartCode: document.querySelector('input[name="AgentDetailGridCode' + i + '"]').value,
impartContent: document.querySelector('input[name="AgentDetailGridText' + (i-1) + '"]').value,
impartParam: document.querySelector('input[name="AgentDetailGridInput' + i + '"]').value,
descVal: document.querySelector('input[name="AgentDetailGridDesc' + i + '"]').value
};
dataList.push(rowData);
}
// 【核心修改】将 tOtherNo 和表格数据打包成一个对象
// 这里的 '<%=tOtherNo%>' 是 JSP 语法,会在页面加载时直接替换为真实的值
var submitData = {
grpContNo: '<%=tOtherNo%>',
body: dataList
};
console.log("准备提交的数据:", submitData);
// 发送 AJAX 请求给后端
var xhr = new XMLHttpRequest();
xhr.open('POST', '../API/grp_nb/g_app/LCCustomerImpartSave/ADD', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
// 修改点1:使用后端实际返回的字段名 'suc' 进行判断
// 或者使用 if (response.flagStr === "Success")
if (response.suc === true) {
alert('健康告知保存成功!');
} else {
// 修改点2:使用后端实际返回的错误信息字段 'content' 或 'flagStr'
// content 字段里有具体的错误原因(如:提交数据失败!)
alert('保存失败:' + response.content);
}
} else if (xhr.readyState === 4) {
alert('网络请求异常,状态码:' + xhr.status);
}
};
// 发送包含 otherNo 的整体数据
xhr.send(JSON.stringify(submitData));
}
</script>
</body>
</html>

@ -0,0 +1,62 @@
<%
/***************************************************************
* <p>ProName:LDHealthAttachmentMain.jsp</p>
* <p>Title:附件管理</p>
* <p>Description:附件管理</p>
* <p>Copyright:Copyright (c) 2012</p>
* <p>Company:Sinosoft</p>
* @author : zhoufz
* @version : 8.0
* @date : 2014-03-20
****************************************************************/
%>
<%@page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@include file="../common/jsp/UsrCheck.jsp"%>
<%@page import="com.sinosoft.utility.XssUtil"%>
<html>
<head>
<%--<title>附件管理</title>--%><title>LIS</title>
<script src="../common/javascript/jquery-1.7.2.js"></script>
<script src="../common/javascript/Common.js"></script>
</head>
<script language="javascript">
var intPageWidth=screen.availWidth;
var intPageHeight=screen.availHeight;
window.resizeTo(intPageWidth,intPageHeight);
window.focus();
</script>
<frameset name="fraMain" rows="0,0,0,*" frameborder="no" border="1" framespacing="0" cols="*">
<%--标题与状态区域--%>
<%--保存客户端变量的区域,该区域必须有--%>
<frame name="VD" src="../common/cvar/CVarData.jsp">
<%--保存客户端变量和WebServer实现交户的区域,该区域必须有--%>
<frame name="EX" src="../common/cvar/CExec.jsp">
<frame name="fraTitle" scrolling="no" noresize src="about:blank" >
<frameset name="fraSet" cols="0%,*,0%" frameborder="no" border="1" framespacing="0" rows="*">
<%--菜单区域--%>
<frame name="fraMenu" scrolling="yes" noresize src="about:blank">
<%
String tUploadNode = XssUtil.escapeJavaScript(request.getParameter("UploadNode"));
String tOtherNoType = XssUtil.escapeJavaScript(request.getParameter("OtherNoType"));
String tOtherNo = XssUtil.escapeJavaScript(request.getParameter("OtherNo"));
String tSubOtherNo = XssUtil.escapeJavaScript(request.getParameter("SubOtherNo"));
%>
<%--交互区域--%>
<frame id="fraInterface" name="fraInterface" scrolling="auto" src="./LDHealthAttachmentInput.jsp?OtherNoType=<%=XssUtil.escapeJavaScript(request.getParameter("OtherNoType"))%>&OtherNo=<%=XssUtil.escapeJavaScript(request.getParameter("OtherNo"))%>&SubOtherNo=<%=XssUtil.escapeJavaScript(request.getParameter("SubOtherNo"))%>&UploadNode=<%=XssUtil.escapeJavaScript(request.getParameter("UploadNode"))%>" />
<%--./LDAttachmentInput.jsp?OtherNoType=<%=XssUtil.escapeJavaScript(request.getParameter("OtherNoType"))%>&OtherNo=<%=XssUtil.escapeJavaScript(request.getParameter("OtherNo"))%>&SubOtherNo=<%=XssUtil.escapeJavaScript(request.getParameter("SubOtherNo"))%>&UploadNode=<%=XssUtil.escapeJavaScript(request.getParameter("UploadNode"))%>--%>
<%--下一步页面区域--%>
<frame id="fraNext" name="fraNext" scrolling="auto" src="about:blank"/>
</frameset>
</frameset>
<noframes>
<body bgcolor="#ffffff">
</body>
</noframes>
</html>

@ -0,0 +1,95 @@
package com.sinosoft.lis.controller.g_app;
import cn.hutool.core.collection.CollectionUtil;
import com.sinosoft.lis.bl.LCCustomerImpartBL;
import com.sinosoft.lis.controller.Action;
import com.sinosoft.lis.controller.ResponseInfo;
import com.sinosoft.lis.controller.Service;
import com.sinosoft.lis.i18n.I18nMessage;
import com.sinosoft.lis.pubfun.GlobalInput;
import com.sinosoft.lis.schema.LCCustomerImpartSchema;
import com.sinosoft.lis.vo.g_app.LCCustomerImpartAddVO;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
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.ResponseBody;
import java.util.ArrayList;
import java.util.List;
@Controller
@RequestMapping(value = Service.GRP_NB)
public class LCCustomerImpartController {
private static final Logger logger = LoggerFactory.getLogger(LCCustomerImpartController.class);
@ResponseBody
@ApiOperation("新单管理-->生成投保单-->投保书信息-->被保险人清单维护-->健康告知书附件上载-->健康保存")
@PostMapping(value = "/g_app/LCCustomerImpartSave/" + Action.ADD_ACTION)
public ResponseInfo add(@RequestBody LCCustomerImpartAddVO request) {
request.setAction(Action.ADD_ACTION);
return dealMethod(request);
}
private ResponseInfo dealMethod(@RequestBody LCCustomerImpartAddVO lcCustomerImpartAddVO){
String operator = Action.INSERT_ACTION;
ResponseInfo response = new ResponseInfo();
GlobalInput tGI = GlobalInput.get();
if (tGI == null) {
response.setContent(new I18nMessage("页面失效,请重新登陆", "LIS-18239").getMessage());
response.fail();
return response;
}
List<LCCustomerImpartAddVO.LCCustomerImpartAddParam> body = lcCustomerImpartAddVO.getBody();
if (CollectionUtil.isEmpty(lcCustomerImpartAddVO.getBody())){
response.succ();
return response;
}
List<LCCustomerImpartSchema> schemaList = new ArrayList<>();
for (LCCustomerImpartAddVO.LCCustomerImpartAddParam param : body){
String grpContNo = lcCustomerImpartAddVO.getGrpContNo();
LCCustomerImpartSchema schema = new LCCustomerImpartSchema();
schema.setGrpContNo(grpContNo);
schema.setContNo(grpContNo);
schema.setProposalContNo(grpContNo);
schema.setImpartCode(param.getImpartCode());
schema.setImpartVer(param.getImpartVer());
schema.setImpartContent(param.getImpartContent());
schema.setImpartParamModle(param.getImpartParam());
schema.setDescVal(param.getDescVal());
schema.setPatchNo(1);
schema.setOperator(tGI.Operator);
schema.setCustomerNo("");
schema.setCustomerNoType("");
schemaList.add(schema);
}
LCCustomerImpartBL lcCustomerImpartBL = new LCCustomerImpartBL();
if (lcCustomerImpartBL.submitData(schemaList,operator)){
response.setContent("操作成功");
response.succ();
}else {
response.setContent(lcCustomerImpartBL.getErrors().getFirstError());
response.fail();
}
return response;
}
}

@ -0,0 +1,54 @@
package com.sinosoft.lis.vo.g_app;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LCCustomerImpartAddVO {
@ApiModelProperty("投保单号")
private String grpContNo;
@ApiModelProperty("操作")
private String action;
@ApiModelProperty("详细数据")
private List<LCCustomerImpartAddParam> body;
@Data
public static class LCCustomerImpartAddParam{
@ApiModelProperty("投保单号")
private String grpContNo;
@ApiModelProperty("告知版别")
private String impartVer;
@ApiModelProperty("告知编码")
private String impartCode;
@ApiModelProperty("告知内容")
private String impartContent;
@ApiModelProperty("填写内容")
private String impartParam;
@ApiModelProperty("详细说明")
private String descVal;
}
}

@ -545,6 +545,21 @@ function showAttachment() {
} }
} }
/**
* 附件管理(健康告知书)
*/
function showHealthAttachment() {
if(tFlag == '4'|| tFlag == '5'){
mainRequest();
window.open("../g_busicommon/LDHealthAttachmentMain.jsp?OtherNoType=NB&OtherNo="+tGrpContNo+"&UploadNode="+tActivityID,"附件管理",'width=950,height=520,top=0,left=0,toolbar=0,location=0,directories=0,menubar=0,scrollbars=1,resizable=1,status=0');
}else{
mainRequest();
window.open("../g_busicommon/LDHealthAttachmentMain.jsp?OtherNoType=NB&OtherNo="+tGrpPropNo+"&UploadNode="+tActivityID,"附件管理",'width=950,height=520,top=0,left=0,toolbar=0,location=0,directories=0,menubar=0,scrollbars=1,resizable=1,status=0');
}
}
/** /**
* 保单保全查询窗口 * 保单保全查询窗口
*/ */

@ -118,7 +118,7 @@
<%-- <input class=cssButton value="影像件查询" data-i18n="ImgEnquiry-1" type=button onclick="queryScanPage();"></div>--%> <%-- <input class=cssButton value="影像件查询" data-i18n="ImgEnquiry-1" type=button onclick="queryScanPage();"></div>--%>
<div id="divUplond" style="display: none"> <div id="divUplond" style="display: none">
<div id="divUplondInfo" class=container showname="健康告知书附件上载" style="display: ''"> <div id="divUplondInfo" class=container showname="健康告知书附件上载" style="display: ''">
<input class=cssButton type=button value="健康告知书附件上载" data-i18n="HlthDisclAttachmentUpload" onclick="showAttachment();"> <input class=cssButton type=button value="健康告知书附件上载" data-i18n="HlthDisclAttachmentUpload" onclick="showHealthAttachment();">
</div> </div>
<br /> <br />
<div id="divConfime" align=left style="display: none" > <div id="divConfime" align=left style="display: none" >

Loading…
Cancel
Save