Commit c72e6327 by wangyang

声纹采集数据入库

parent 651523b4
INSERT INTO SYS_DBLOG(SID,STATUS)VALUES('hnxt0001',0);
INSERT INTO SYS_DBLOG(SID,STATUS)VALUES('hnxt0001',0);
COMMIT;
---------------------------------------------------------------------------------------------
CREATE TABLE XZXT.TB_ST_SW
(
XXZJBH VARCHAR2(32 BYTE) primary key ,
RYBH VARCHAR2(23 BYTE) NOT NULL,
XM VARCHAR2(50 BYTE) NOT NULL,
GMSFHM VARCHAR2(18 BYTE) NOT NULL,
YPSJ BLOB NOT NULL,
SWSJ BLOB NOT NULL,
ZSC VARCHAR2(23 BYTE) NOT NULL,
YXSC VARCHAR2(23 BYTE),
XZB VARCHAR2(23 BYTE),
NLZ VARCHAR2(23 BYTE),
CJCD VARCHAR2(23 BYTE) NOT NULL,
XXZLDF VARCHAR2(23 BYTE) NOT NULL,
LYYZ VARCHAR2(23 BYTE) NOT NULL,
LYSB VARCHAR2(23 BYTE),
FYFS VARCHAR2(23 BYTE),
XD VARCHAR2(23 BYTE),
HYFY VARCHAR2(23 BYTE),
GXSJ DATE,
CJSJ DATE,
LRR VARCHAR2(50 BYTE),
LRR_SFZH VARCHAR2(18 BYTE),
LRR_POLICEMANID VARCHAR2(10 BYTE),
XXSC_PDBZ VARCHAR2(1 BYTE)
);
COMMENT ON TABLE XZXT.TB_ST_SW IS '声纹信息数据表';
COMMENT ON COLUMN XZXT.TB_ST_SW.RYBH IS '人员编号';
COMMENT ON COLUMN XZXT.TB_ST_SW.XM IS '被采集人姓名';
COMMENT ON COLUMN XZXT.TB_ST_SW.GMSFHM IS '身份证号码';
COMMENT ON COLUMN XZXT.TB_ST_SW.YPSJ IS '采集的音频数据';
COMMENT ON COLUMN XZXT.TB_ST_SW.SWSJ IS '采集的声纹数据';
COMMENT ON COLUMN XZXT.TB_ST_SW.ZSC IS '音频总时长,单位为秒';
COMMENT ON COLUMN XZXT.TB_ST_SW.YXSC IS '音频有效时长,单位为秒';
COMMENT ON COLUMN XZXT.TB_ST_SW.XZB IS '音频信噪比,单位:dB';
COMMENT ON COLUMN XZXT.TB_ST_SW.NLZ IS '音频能量值';
COMMENT ON COLUMN XZXT.TB_ST_SW.CJCD IS '采集场地';
COMMENT ON COLUMN XZXT.TB_ST_SW.XXZLDF IS '信息质量得分,满分100';
COMMENT ON COLUMN XZXT.TB_ST_SW.LYYZ IS '录音语种';
COMMENT ON COLUMN XZXT.TB_ST_SW.LYSB IS '录音设备';
COMMENT ON COLUMN XZXT.TB_ST_SW.FYFS IS '发音方式';
COMMENT ON COLUMN XZXT.TB_ST_SW.XD IS '信道';
COMMENT ON COLUMN XZXT.TB_ST_SW.HYFY IS '汉语方言,录音语种选择汉语的,此项必填';
COMMENT ON COLUMN XZXT.TB_ST_SW.LRR IS '录入人';
COMMENT ON COLUMN XZXT.TB_ST_SW.LRR_SFZH IS '录入人身份证号';
COMMENT ON COLUMN XZXT.TB_ST_SW.LRR_POLICEMANID IS '录入人警号';
COMMENT ON COLUMN XZXT.TB_ST_SW.GXSJ IS '更新时间';
COMMENT ON COLUMN XZXT.TB_ST_SW.CJSJ IS '创建时间';
COMMENT ON COLUMN XZXT.TB_ST_SW.XXSC_PDBZ IS '删除标志';
-------------------------------------------------------------------------------------------
UPDATE SYS_DBLOG SET STATUS=1 WHERE SID='hnxt0001';
COMMIT;
\ No newline at end of file
package com.founder.controller;
import com.founder.model.TbStSw;
import com.founder.model.User;
import com.founder.service.ISwCjService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* 声纹采集Controller
*/
@Controller
public class SwCjController {
@Autowired
private ISwCjService swCjService;
/**
* 保存声纹采集数据
* @param tbStSw
* @return
*/
@RequestMapping("/saveSwSjXx")
@ResponseBody
private Map<String,String> saveSwSjXx(TbStSw tbStSw, HttpServletRequest request){
Map<String,String> map = new HashMap<>();
//判断必填项是否有值
if(tbStSw == null || StringUtils.isEmpty(tbStSw.getRybh()) ){
//失败
map.put("code","1");
map.put("msg","人员编号不能为空!");
return map;
}
if(StringUtils.isEmpty(tbStSw.getXm()) ){
//失败
map.put("code","1");
map.put("msg","姓名不能为空!");
return map;
}
if(StringUtils.isEmpty(tbStSw.getGmsfhm()) ){
//失败
map.put("code","1");
map.put("msg","公民身份证号码不能为空!");
return map;
}
if(tbStSw.getYpsj() == null || tbStSw.getYpsj().length == 0 ){
//失败
map.put("code","1");
map.put("msg","音频数据不能为空!");
return map;
}
if(tbStSw.getSwsj() == null || tbStSw.getSwsj().length == 0 ){
//失败
map.put("code","1");
map.put("msg","声纹数据不能为空!");
return map;
}
if(StringUtils.isEmpty(tbStSw.getZsc()) ){
//失败
map.put("code","1");
map.put("msg","音频总时长不能为空!");
return map;
}
if(StringUtils.isEmpty(tbStSw.getCjcd()) ){
//失败
map.put("code","1");
map.put("msg","采集场地不能为空!");
return map;
}
if(StringUtils.isEmpty(tbStSw.getXxzldf()) ){
//失败
map.put("code","1");
map.put("msg","信息质量不能为空!");
return map;
}
if(StringUtils.isEmpty(tbStSw.getLyyz()) ){
//失败
map.put("code","1");
map.put("msg","录音语种不能为空!");
return map;
}
//生成信息主键编号
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
tbStSw.setXxzjbh(uuid);
//录入人相关信息
User user = (User) request.getSession().getAttribute("User");
tbStSw.setLrr(user.getTrueName());
tbStSw.setLrrSfzh(user.getIdentitycard());
tbStSw.setLrrPolicemanid(user.getPolicemanid());
Boolean b = swCjService.saveSwSjXx(tbStSw);
if(b){
//成功
map.put("code","0");
map.put("msg","声纹数据保存成功!");
}else {
//失败
map.put("code","1");
map.put("msg","声纹数据保存失败!");
}
return map;
}
@RequestMapping("/toTest")
public ModelAndView toTest(ModelAndView model){
model.setViewName("test/test");
return model;
}
@RequestMapping("/saveTest")
@ResponseBody
public Map saveTest(TbStSw tbStSw,HttpServletRequest request,
@RequestParam("yp") MultipartFile yp,
@RequestParam("sw") MultipartFile sw){
try {
tbStSw.setSwsj(sw.getBytes());
tbStSw.setYpsj(yp.getBytes());
}catch (Exception e){
}
return saveSwSjXx(tbStSw, request);
}
}
package com.founder.dao;
import com.founder.model.TbStSw;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
@Component
@Mapper
public interface SwCjDao {
int insertSwSjXx(TbStSw tbStSw);
}
package com.founder.model;
import java.io.Serializable;
/**
* 声纹信息数据表
*/
public class TbStSw implements Serializable {
//信息主键编号
private String xxzjbh;
//人员编号
private String rybh;
//姓名
private String xm;
//公民身份证号码
private String gmsfhm;
//音频数据
private byte[] ypsj;
//声纹数据
private byte[] swsj;
//音频总时长
private String zsc;
//音频有效时长
private String yxsc;
//音频信噪比
private String xzb;
//音频能量值
private String nlz;
//采集场地
private String cjcd;
//信息质量得分
private String xxzldf;
//录音语种
private String lyyz;
//录音设备
private String lysb;
//发音方式
private String fyfs;
//信道
private String xd;
//汉语方言
private String hyfy;
//录入人
private String lrr;
//录入人身份证号
private String lrrSfzh;
//录入人警号
private String lrrPolicemanid;
public String getXxzjbh() {
return xxzjbh;
}
public void setXxzjbh(String xxzjbh) {
this.xxzjbh = xxzjbh;
}
public String getRybh() {
return rybh;
}
public void setRybh(String rybh) {
this.rybh = rybh;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public String getGmsfhm() {
return gmsfhm;
}
public void setGmsfhm(String gmsfhm) {
this.gmsfhm = gmsfhm;
}
public byte[] getYpsj() {
return ypsj;
}
public void setYpsj(byte[] ypsj) {
this.ypsj = ypsj;
}
public byte[] getSwsj() {
return swsj;
}
public void setSwsj(byte[] swsj) {
this.swsj = swsj;
}
public String getZsc() {
return zsc;
}
public void setZsc(String zsc) {
this.zsc = zsc;
}
public String getYxsc() {
return yxsc;
}
public void setYxsc(String yxsc) {
this.yxsc = yxsc;
}
public String getXzb() {
return xzb;
}
public void setXzb(String xzb) {
this.xzb = xzb;
}
public String getNlz() {
return nlz;
}
public void setNlz(String nlz) {
this.nlz = nlz;
}
public String getCjcd() {
return cjcd;
}
public void setCjcd(String cjcd) {
this.cjcd = cjcd;
}
public String getXxzldf() {
return xxzldf;
}
public void setXxzldf(String xxzldf) {
this.xxzldf = xxzldf;
}
public String getLyyz() {
return lyyz;
}
public void setLyyz(String lyyz) {
this.lyyz = lyyz;
}
public String getLysb() {
return lysb;
}
public void setLysb(String lysb) {
this.lysb = lysb;
}
public String getFyfs() {
return fyfs;
}
public void setFyfs(String fyfs) {
this.fyfs = fyfs;
}
public String getXd() {
return xd;
}
public void setXd(String xd) {
this.xd = xd;
}
public String getHyfy() {
return hyfy;
}
public void setHyfy(String hyfy) {
this.hyfy = hyfy;
}
public String getLrr() {
return lrr;
}
public void setLrr(String lrr) {
this.lrr = lrr;
}
public String getLrrSfzh() {
return lrrSfzh;
}
public void setLrrSfzh(String lrrSfzh) {
this.lrrSfzh = lrrSfzh;
}
public String getLrrPolicemanid() {
return lrrPolicemanid;
}
public void setLrrPolicemanid(String lrrPolicemanid) {
this.lrrPolicemanid = lrrPolicemanid;
}
}
package com.founder.service;
import com.founder.model.TbStSw;
public interface ISwCjService {
/**
* 保存声纹采集数据
* @param tbStSw
* @return
*/
Boolean saveSwSjXx(TbStSw tbStSw);
}
package com.founder.service.impl;
import com.founder.dao.SwCjDao;
import com.founder.model.TbStSw;
import com.founder.service.ISwCjService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class SwCjServiceImpl implements ISwCjService {
@Autowired
private SwCjDao swCjDao;
@Override
public Boolean saveSwSjXx(TbStSw tbStSw) {
Boolean b = false;
try {
int a = swCjDao.insertSwSjXx(tbStSw);
if (a > 0){
b = true;
}
}catch (Exception e){
System.out.println("插入声纹数据失败"+e);
}
return b;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.founder.dao.SwCjDao">
<insert id="insertSwSjXx" parameterType="com.founder.model.TbStSw">
insert into TB_ST_SW (
XXZJBH,
RYBH,
XM,
GMSFHM,
YPSJ,
SWSJ,
ZSC,
YXSC,
XZB,
NLZ,
CJCD,
XXZLDF,
LYYZ,
LYSB,
FYFS,
XD,
HYFY,
GXSJ,
CJSJ,
LRR,
LRR_SFZH,
LRR_POLICEMANID,
XXSC_PDBZ
) values (
#{xxzjbh ,jdbcType=VARCHAR},
#{rybh ,jdbcType=VARCHAR},
#{xm ,jdbcType=VARCHAR},
#{gmsfhm ,jdbcType=VARCHAR},
#{ypsj ,jdbcType=VARCHAR},
#{swsj ,jdbcType=VARCHAR},
#{zsc ,jdbcType=VARCHAR},
#{yxsc ,jdbcType=VARCHAR},
#{xzb ,jdbcType=VARCHAR},
#{nlz ,jdbcType=VARCHAR},
#{cjcd ,jdbcType=VARCHAR},
#{xxzldf ,jdbcType=VARCHAR},
#{lyyz ,jdbcType=VARCHAR},
#{lysb,jdbcType=VARCHAR},
#{fyfs,jdbcType=VARCHAR},
#{xd,jdbcType=VARCHAR},
#{hyfy,jdbcType=VARCHAR},
sysdate,
sysdate,
#{lrr,jdbcType=VARCHAR},
#{lrrSfzh,jdbcType=VARCHAR},
#{lrrPolicemanid,jdbcType=VARCHAR},
'0'
)
</insert>
</mapper>
\ No newline at end of file
<html>
<head>
<title>工作桌面</title>
<meta http-equiv="Content-Type" content="multipart/form-data; charset=utf-8" />
</head>
<body>
<div>
<form action="/saveTest" name="formkk" enctype="multipart/form-data" method="post">
<table>
<tbody>
<tr>
<td>人员编号:</td>
<td>
<input type="text" name="rybh">
</td>
</tr>
<tr>
<td>姓名:</td>
<td>
<input type="text" name="xm">
</td>
</tr>
<tr>
<td>公民身份证号码:</td>
<td>
<input type="text" name="gmsfhm">
</td>
</tr>
<tr>
<td>音频数据:</td>
<td>
<input type="file" name="yp">
</td>
</tr>
<tr>
<td>声纹数据:</td>
<td>
<input type="file" name="sw">
</td>
</tr>
<tr>
<td>音频总时长:</td>
<td>
<input type="text" name="zsc">
</td>
</tr>
<tr>
<td>音频有效时长:</td>
<td>
<input type="text" name="yxsc">
</td>
</tr>
<tr>
<td>音频信噪比:</td>
<td>
<input type="text" name="xzb">
</td>
</tr>
<tr>
<td>音频能量值:</td>
<td>
<input type="text" name="nlz">
</td>
</tr><tr>
<td>采集场地:</td>
<td>
<input type="text" name="cjcd">
</td>
</tr>
<tr>
<td>信息质量得分:</td>
<td>
<input type="text" name="xxzldf">
</td>
</tr>
<tr>
<td>录音语种:</td>
<td>
<input type="text" name="lyyz">
</td>
</tr>
<tr>
<td>录音设备:</td>
<td>
<input type="text" name="lysb">
</td>
</tr>
<tr>
<td>发音方式:</td>
<td>
<input type="text" name="fyfs">
</td>
</tr>
<tr>
<td>信道:</td>
<td>
<input type="text" name="xd">
</td>
</tr>
<tr>
<td>汉语方言:</td>
<td>
<input type="text" name="hyfy">
</td>
</tr>
</tbody>
</table>
<input type="button" onclick="check()" value="提交" />
</form>
</div>
<script>
function check(){
//提交form表单
document.formkk.submit();
}
</script>
</body>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment