收样管理

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})
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 org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
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})
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="experLocalCode != null and experLocalCode!=''">exper_local_code,</if>
<if test="experLocal != null and experLocal!=''">exper_local,</if>
<if test="times != null ">times,</if>
del_flag,
create_user,
create_time,
@ -24,6 +25,7 @@
<if test="devModule != null and devModule != ''">#{devModule},</if>
<if test="experLocalCode != null and experLocalCode != ''">#{experLocalCode},</if>
<if test="experLocal != null and experLocal!=''">#{experLocal},</if>
<if test="times != null ">#{times},</if>
0,
#{createUser},
#{createTime},
@ -52,10 +54,10 @@
</insert>
<!--添加试验主要设备-->
<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">
(
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>
</insert>
@ -108,7 +110,7 @@
</insert>
<!--修改试验标准配置-->
<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}
</update>
<!--删除试验项-->
@ -178,7 +180,8 @@
dev_type_name AS devTypeName,
dev_module AS devModule,
exper_local_code AS experLocalCode,
exper_local AS experLocal
exper_local AS experLocal,
times
FROM tb_exper_config
WHERE id = #{id}
</select>
@ -210,8 +213,7 @@
exper_dev_name AS experDevName,
exper_dev_module AS experDevModule,
exper_dev_code AS experDevCode,
DATE_FORMAT(dev_contract_date, '%Y-%m-%d') AS devContractDate,
times
DATE_FORMAT(dev_contract_date, '%Y-%m-%d') AS devContractDate
FROM tb_config_man_dev
WHERE config_id = #{id}
</select>

View File

@ -373,6 +373,7 @@
<!--查询试验模板数据、基础数据-->
<select id="getTestBasicInfo" resultType="com.bonus.aqgqj.basis.entity.vo.TestVo">
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_name AS customName,
a.id AS configId,
@ -390,7 +391,8 @@
ANY_VALUE(tsc.exper_local_code) AS exper_local_code,
ANY_VALUE(tsc.exper_local) AS exper_local,
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
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}
@ -421,7 +423,7 @@
te.dev_module AS devModule,
te.sample_date AS sampleDate,
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,
tc.custom_name AS customName,
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 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_config_man_dev tcmd on tec.id = tcmd.config_id
WHERE te.id = #{id}
</select>
<!--试验依据信息-->

View File

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

View File

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

View File

@ -290,4 +290,42 @@ function batchDownLoad() {
};
// xhr.send(params);
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 class="layui-form-item" >
<div class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
<div class="layui-input-inline" id="basisName-1">
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label>
<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 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 />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label>
<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 class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
<div class="layui-input-inline" id="basisName-1">
</div>
</div>
</div>

View File

@ -133,9 +133,13 @@
</div>
<div class="layui-form-item" >
<div class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
<div class="layui-input-inline" id="basisName-1">
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label>
<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 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 />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>实验周期</label>
<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 class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
<div class="layui-input-inline" id="basisName-1">
</div>
</div>
</div>

View File

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

View File

@ -53,6 +53,8 @@
</button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="batchDownLoad()">下载
</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"-->
<!-- onclick="commitCheckTestData()">-->
<!-- <div class="layout" style="justify-content: space-around;">-->