收样管理

This commit is contained in:
jjLv 2024-09-04 13:14:51 +08:00
parent 3ec01ac0e6
commit b8c7c0912d
11 changed files with 90 additions and 43 deletions

View File

@ -47,14 +47,6 @@ public class ConfigMainDevVo {
@Pattern(regexp = "\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}", message = "合同生效日期格式不正确", groups = {Query.class}) @Pattern(regexp = "\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}", message = "合同生效日期格式不正确", groups = {Query.class})
private String devContractDate; private String devContractDate;
/**
* 试验周期
*/
// @NotNull(message = "试验周期不能为空", groups = {Query.class})
@Min(value = 1,message = "周期格式不正确(范围为正整数)", groups = {Query.class})
// @Pattern(regexp = "^\\+?[1-9][0-9]*$", message = "周期格式不正确(范围为正整数)", groups = {Query.class})
private Integer times;
/** /**
* 查询条件限制 * 查询条件限制
*/ */

View File

@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
import java.util.Date; import java.util.Date;
@ -114,6 +115,14 @@ public class ExperConfigVo {
@Pattern(regexp = "^(?:0(?:\\.\\d{0,2})?|[1-9]\\d{0,7}(?:\\.\\d{0,2})?)$", message = "金额格式不正确范围0-1000000000并且最多保留两位小数", groups = {ConfigItemsVo.Query.class}) @Pattern(regexp = "^(?:0(?:\\.\\d{0,2})?|[1-9]\\d{0,7}(?:\\.\\d{0,2})?)$", message = "金额格式不正确范围0-1000000000并且最多保留两位小数", groups = {ConfigItemsVo.Query.class})
private String amountAll; private String amountAll;
/**
* 试验周期
*/
// @NotNull(message = "试验周期不能为空", groups = {Query.class})
@Min(value = 1,message = "周期格式不正确(范围为正整数)", groups = {ConfigMainDevVo.Query.class})
// @Pattern(regexp = "^\\+?[1-9][0-9]*$", message = "周期格式不正确(范围为正整数)", groups = {Query.class})
private Integer times;
/** /**
* 查询条件限制 * 查询条件限制
*/ */

View File

@ -11,6 +11,7 @@
<if test="devModule != null and devModule != ''">dev_module,</if> <if test="devModule != null and devModule != ''">dev_module,</if>
<if test="experLocalCode != null and experLocalCode!=''">exper_local_code,</if> <if test="experLocalCode != null and experLocalCode!=''">exper_local_code,</if>
<if test="experLocal != null and experLocal!=''">exper_local,</if> <if test="experLocal != null and experLocal!=''">exper_local,</if>
<if test="times != null ">times,</if>
del_flag, del_flag,
create_user, create_user,
create_time, create_time,
@ -24,6 +25,7 @@
<if test="devModule != null and devModule != ''">#{devModule},</if> <if test="devModule != null and devModule != ''">#{devModule},</if>
<if test="experLocalCode != null and experLocalCode != ''">#{experLocalCode},</if> <if test="experLocalCode != null and experLocalCode != ''">#{experLocalCode},</if>
<if test="experLocal != null and experLocal!=''">#{experLocal},</if> <if test="experLocal != null and experLocal!=''">#{experLocal},</if>
<if test="times != null ">#{times},</if>
0, 0,
#{createUser}, #{createUser},
#{createTime}, #{createTime},
@ -52,10 +54,10 @@
</insert> </insert>
<!--添加试验主要设备--> <!--添加试验主要设备-->
<insert id="addMainDev"> <insert id="addMainDev">
INSERT INTO tb_config_man_dev(id,config_id,dev_type_code,dev_type_name,exper_id,exper_dev_name,exper_dev_module,exper_dev_code,dev_contract_date,times) VALUES INSERT INTO tb_config_man_dev(id,config_id,dev_type_code,dev_type_name,exper_id,exper_dev_name,exper_dev_module,exper_dev_code,dev_contract_date) VALUES
<foreach collection="mainDeviceVos" separator="," item="item"> <foreach collection="mainDeviceVos" separator="," item="item">
( (
null,#{item.configId},#{item.devTypeCode},#{item.devTypeName},#{item.experId},#{item.experDevName},#{item.experDevModule},#{item.experDevCode},#{item.devContractDate},#{item.times} null,#{item.configId},#{item.devTypeCode},#{item.devTypeName},#{item.experId},#{item.experDevName},#{item.experDevModule},#{item.experDevCode},#{item.devContractDate}
) )
</foreach> </foreach>
</insert> </insert>
@ -108,7 +110,7 @@
</insert> </insert>
<!--修改试验标准配置--> <!--修改试验标准配置-->
<update id="editExperConfig"> <update id="editExperConfig">
UPDATE tb_exper_config SET dev_type_code = #{devTypeCode},dev_type_name = #{devTypeName},dev_module = #{devModule}, UPDATE tb_exper_config SET dev_type_code = #{devTypeCode},dev_type_name = #{devTypeName},dev_module = #{devModule},times = #{times},
exper_local_code = #{experLocalCode},exper_local = #{experLocal},update_user = #{updateUser},update_time = #{updateTime} WHERE id = #{id} exper_local_code = #{experLocalCode},exper_local = #{experLocal},update_user = #{updateUser},update_time = #{updateTime} WHERE id = #{id}
</update> </update>
<!--删除试验项--> <!--删除试验项-->
@ -178,7 +180,8 @@
dev_type_name AS devTypeName, dev_type_name AS devTypeName,
dev_module AS devModule, dev_module AS devModule,
exper_local_code AS experLocalCode, exper_local_code AS experLocalCode,
exper_local AS experLocal exper_local AS experLocal,
times
FROM tb_exper_config FROM tb_exper_config
WHERE id = #{id} WHERE id = #{id}
</select> </select>
@ -210,8 +213,7 @@
exper_dev_name AS experDevName, exper_dev_name AS experDevName,
exper_dev_module AS experDevModule, exper_dev_module AS experDevModule,
exper_dev_code AS experDevCode, exper_dev_code AS experDevCode,
DATE_FORMAT(dev_contract_date, '%Y-%m-%d') AS devContractDate, DATE_FORMAT(dev_contract_date, '%Y-%m-%d') AS devContractDate
times
FROM tb_config_man_dev FROM tb_config_man_dev
WHERE config_id = #{id} WHERE config_id = #{id}
</select> </select>

View File

@ -373,6 +373,7 @@
<!--查询试验模板数据、基础数据--> <!--查询试验模板数据、基础数据-->
<select id="getTestBasicInfo" resultType="com.bonus.aqgqj.basis.entity.vo.TestVo"> <select id="getTestBasicInfo" resultType="com.bonus.aqgqj.basis.entity.vo.TestVo">
SELECT DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate, SELECT DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate,
DATE_FORMAT(DATE_ADD(ts.sample_date,INTERVAL a.times YEAR), '%Y-%m-%d') AS nextExperTime,
custom_id AS customId, custom_id AS customId,
custom_name AS customName, custom_name AS customName,
a.id AS configId, a.id AS configId,
@ -390,7 +391,8 @@
ANY_VALUE(tsc.exper_local_code) AS exper_local_code, ANY_VALUE(tsc.exper_local_code) AS exper_local_code,
ANY_VALUE(tsc.exper_local) AS exper_local, ANY_VALUE(tsc.exper_local) AS exper_local,
ANY_VALUE(tsc.id) AS id, ANY_VALUE(tsc.id) AS id,
ANY_VALUE(tsd.sample_id) AS sample_id ANY_VALUE(tsd.sample_id) AS sample_id,
ANY_VALUE(tsc.times) AS times
FROM tb_sample_device tsd FROM tb_sample_device tsd
LEFT JOIN tb_exper_config tsc ON tsc.dev_type_code = tsd.dev_type_code AND tsc.del_flag = 0 LEFT JOIN tb_exper_config tsc ON tsc.dev_type_code = tsd.dev_type_code AND tsc.del_flag = 0
WHERE tsd.sample_id = #{id} AND tsd.del_falg = 0 AND tsd.dev_type_code = #{devTypeCode} WHERE tsd.sample_id = #{id} AND tsd.del_falg = 0 AND tsd.dev_type_code = #{devTypeCode}
@ -421,7 +423,7 @@
te.dev_module AS devModule, te.dev_module AS devModule,
te.sample_date AS sampleDate, te.sample_date AS sampleDate,
DATE_FORMAT(te.exper_time, '%Y-%m-%d') AS experTime, DATE_FORMAT(te.exper_time, '%Y-%m-%d') AS experTime,
DATE_FORMAT(DATE_ADD(te.exper_time,INTERVAL tcmd.times YEAR), '%Y-%m-%d') AS nextExperTime, DATE_FORMAT(DATE_ADD(te.exper_time,INTERVAL tec.times YEAR), '%Y-%m-%d') AS nextExperTime,
te.submit_unit AS customId, te.submit_unit AS customId,
tc.custom_name AS customName, tc.custom_name AS customName,
te.submit_location AS experLocal, te.submit_location AS experLocal,
@ -438,7 +440,6 @@
LEFT JOIN tb_custom tc ON te.submit_unit = tc.id AND tc.del_flag = 0 LEFT JOIN tb_custom tc ON te.submit_unit = tc.id AND tc.del_flag = 0
LEFT JOIN sys_user su ON te.update_user = su.id AND su.del_flag = 0 LEFT JOIN sys_user su ON te.update_user = su.id AND su.del_flag = 0
LEFT JOIN tb_exper_config tec on te.dev_type_code = tec.dev_type_code and tec.del_flag = 0 LEFT JOIN tb_exper_config tec on te.dev_type_code = tec.dev_type_code and tec.del_flag = 0
LEFT JOIN tb_config_man_dev tcmd on tec.id = tcmd.config_id
WHERE te.id = #{id} WHERE te.id = #{id}
</select> </select>
<!--试验依据信息--> <!--试验依据信息-->

View File

@ -364,7 +364,6 @@ function saveData(data) {
"experDevCode": data.field["experDevCode"], "experDevCode": data.field["experDevCode"],
"devContractDate": data.field["devContractDate"], "devContractDate": data.field["devContractDate"],
"experId": null, "experId": null,
"times":data.field["times"],
}]; }];
//获取试验项内容列表 //获取试验项内容列表
@ -389,6 +388,7 @@ function saveData(data) {
'devTypeCode': value, 'devTypeCode': value,
'devTypeName': text, 'devTypeName': text,
'amountAll':data.field["amountAll"], 'amountAll':data.field["amountAll"],
'times':data.field["times"],
'devModule': data.field["devModule"], 'devModule': data.field["devModule"],
'experLocalCode':'', 'experLocalCode':'',
'experLocal': data.field["experLocal"], 'experLocal': data.field["experLocal"],
@ -534,6 +534,9 @@ function setFormData(data) {
//设备规格 //设备规格
$('#devModule').val(data.devModule) $('#devModule').val(data.devModule)
//实验周期
$('#times').val(data.times)
//总金额 //总金额
$('#amountAll').val(data.amountAll) $('#amountAll').val(data.amountAll)
@ -558,8 +561,6 @@ function setFormData(data) {
$('#experDevCode').val(data.mainDeviceVos[0].experDevCode) $('#experDevCode').val(data.mainDeviceVos[0].experDevCode)
//合同生效日期 //合同生效日期
$('#devContractDate').val(data.mainDeviceVos[0].devContractDate) $('#devContractDate').val(data.mainDeviceVos[0].devContractDate)
//实验周期
$('#times').val(data.mainDeviceVos[0].times)
//试验依据 //试验依据
for (let i = 0; i < data.basisVos.length; i++) { for (let i = 0; i < data.basisVos.length; i++) {
var k = i+1; var k = i+1;

View File

@ -364,7 +364,6 @@ function saveData(data) {
"experDevCode": data.field["experDevCode"], "experDevCode": data.field["experDevCode"],
"devContractDate": data.field["devContractDate"], "devContractDate": data.field["devContractDate"],
"experId": null, "experId": null,
"times":data.field["times"],
}]; }];
//获取试验项内容列表 //获取试验项内容列表
@ -389,6 +388,7 @@ function saveData(data) {
'devTypeCode': value, 'devTypeCode': value,
'devTypeName': text, 'devTypeName': text,
'amountAll':data.field["amountAll"], 'amountAll':data.field["amountAll"],
'times':data.field["times"],
'devModule': data.field["devModule"], 'devModule': data.field["devModule"],
'experLocalCode':'', 'experLocalCode':'',
'experLocal': data.field["experLocal"], 'experLocal': data.field["experLocal"],
@ -534,6 +534,9 @@ function setFormData(data) {
//设备规格 //设备规格
$('#devModule').val(data.devModule) $('#devModule').val(data.devModule)
//实验周期
$('#times').val(data.times)
//总金额 //总金额
$('#amountAll').val(data.amountAll) $('#amountAll').val(data.amountAll)
@ -558,8 +561,6 @@ function setFormData(data) {
$('#experDevCode').val(data.mainDeviceVos[0].experDevCode) $('#experDevCode').val(data.mainDeviceVos[0].experDevCode)
//合同生效日期 //合同生效日期
$('#devContractDate').val(data.mainDeviceVos[0].devContractDate) $('#devContractDate').val(data.mainDeviceVos[0].devContractDate)
//实验周期
$('#times').val(data.mainDeviceVos[0].times)
//试验依据 //试验依据
for (let i = 0; i < data.basisVos.length; i++) { for (let i = 0; i < data.basisVos.length; i++) {
var k = i+1; var k = i+1;

View File

@ -290,4 +290,42 @@ function batchDownLoad() {
}; };
// xhr.send(params); // xhr.send(params);
xhr.send(); xhr.send();
}
/**批量下载基础数据excel文件*/
function batchDownLoadTwo() {
const size = temp_all_list.length
if (size === 0) {
return layer.msg('未选择数据', {icon: 7});
}
let idArr = [];
$.each(temp_all_list, function (index, item) {
idArr.push(item.id)
})
let obj = {
'ids': idArr
}
console.log(idArr)
let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let url = dataUrl + "/download/downLoadZipsTwo?token=" + tokens + "&encryptedData=" + encodeURIComponent(encryptCBC(JSON.stringify(obj)));
let xhr = new XMLHttpRequest();
xhr.open("post", url, true);
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader('Content-Type','application/json;charset=UTF-8')
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
let blob = this.response;
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = "基础数据记录" + ".zip"; // 文件名
} else {
layer.msg("数据导出发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000});
}
a.click();
window.URL.revokeObjectURL(url);
};
// xhr.send(params);
xhr.send();
} }

View File

@ -135,9 +135,13 @@
</div> </div>
<div class="layui-form-item" > <div class="layui-form-item" >
<div class="layui-inline basis"> <div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label>
<div class="layui-input-inline" id="basisName-1"> <div class="layui-input-inline" >
<input type="number" id="times" name="times" min="1" lay-verify="required" class="layui-input" placeholder="请输入实验周期" maxlength="3" />
</div>
<div class="layui-input-inlineTwo" >
<span style="display: flex;margin: 10px 10px;"></span>
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
@ -146,13 +150,9 @@
<input type="text" id="amountAll" name="amountAll" lay-verify="required" class="layui-input" placeholder="总金额" maxlength="7" style="background-color: #f0f0f0;" readonly /> <input type="text" id="amountAll" name="amountAll" lay-verify="required" class="layui-input" placeholder="总金额" maxlength="7" style="background-color: #f0f0f0;" readonly />
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
<div class="layui-input-inline" > <div class="layui-input-inline" id="basisName-1">
<input type="number" id="times" name="times" min="1" lay-verify="required" class="layui-input" placeholder="请输入实验周期" maxlength="3" />
</div>
<div class="layui-input-inlineTwo" >
<span style="display: flex;margin: 10px 10px;"></span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -133,9 +133,13 @@
</div> </div>
<div class="layui-form-item" > <div class="layui-form-item" >
<div class="layui-inline basis"> <div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label>
<div class="layui-input-inline" id="basisName-1"> <div class="layui-input-inline" >
<input type="number" id="times" name="times" min="1" lay-verify="required" class="layui-input" placeholder="请输入实验周期" maxlength="3" />
</div>
<div class="layui-input-inlineTwo" >
<span style="display: flex;margin: 10px 10px;"></span>
</div> </div>
</div> </div>
<!-- <div class="btn-box">--> <!-- <div class="btn-box">-->
@ -148,13 +152,9 @@
<input type="text" id="amountAll" name="amountAll" lay-verify="required" class="layui-input" placeholder="总金额" maxlength="7" style="background-color: #f0f0f0;" readonly /> <input type="text" id="amountAll" name="amountAll" lay-verify="required" class="layui-input" placeholder="总金额" maxlength="7" style="background-color: #f0f0f0;" readonly />
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
<div class="layui-input-inline" > <div class="layui-input-inline" id="basisName-1">
<input type="number" id="times" name="times" min="1" lay-verify="required" class="layui-input" placeholder="请输入实验周期" maxlength="3" />
</div>
<div class="layui-input-inlineTwo" >
<span style="display: flex;margin: 10px 10px;"></span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -84,6 +84,7 @@
</div> </div>
<div class="btn-box" style="display: none;"> <div class="btn-box" style="display: none;">
<button class="layui-btn layui-btn-norma save" onclick="download()">下载</button> <button class="layui-btn layui-btn-norma save" onclick="download()">下载</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button> <button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
</div> </div>
</div> </div>

View File

@ -53,6 +53,8 @@
</button> </button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="batchDownLoad()">下载 <button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="batchDownLoad()">下载
</button> </button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="batchDownLoadTwo()">导出基础数据
</button>
<!-- <button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-2"--> <!-- <button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-2"-->
<!-- onclick="commitCheckTestData()">--> <!-- onclick="commitCheckTestData()">-->
<!-- <div class="layout" style="justify-content: space-around;">--> <!-- <div class="layout" style="justify-content: space-around;">-->