From 69f11b34307678ae29e35646eb57883bfe5ce984 Mon Sep 17 00:00:00 2001
From: 陈战涛 <chenzhantao7055@sina.com>
Date: 星期二, 30 五月 2023 20:42:13 +0800
Subject: [PATCH] 扦样化验优化1-新增扦样信息

---
 igds-inout/src/main/resources/mapper/InoutRecordMapper.xml                    |    1 
 igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckParam.java           |   32 +
 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java          |   69 ++
 igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckData.java            |   65 ++
 igds-web/src/main/resources/static/admin/inout/in-sample.js                   |  486 +++++++++++++++++++++
 igds-core/src/main/java/com/ld/igds/models/InoutRecord.java                   |   16 
 igds-inout/src/main/java/com/ld/igds/inout/mapper/InoutCheckMapper.java       |   35 +
 igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java          |   16 
 igds-inout/src/main/resources/mapper/InoutCheckMapper.xml                     |   55 ++
 igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java    |   90 +++
 igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java |   47 ++
 igds-web/src/main/resources/templates/admin/inout/in-sample.html              |  449 +++++++++++++++++++
 12 files changed, 1,345 insertions(+), 16 deletions(-)

diff --git a/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java b/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java
index 5c71a3d..cb3f900 100644
--- a/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java
+++ b/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java
@@ -143,7 +143,7 @@
     @PropertyDef(label = "璐ㄦ鏃堕棿")
     private Date checkTime;
 
-    @Column(name = "SAMPLE_USER_")
+    @Column(name = "SAMPLE_USER_", length = 50)
     @PropertyDef(label = "鎵︽牱浜�")
     private String sampleUser;
 
@@ -151,11 +151,11 @@
     @PropertyDef(label = "鎵︽牱鏃堕棿")
     private Date sampleTime;
 
-    @Column(name = "SAMPLE_TYPE_")
+    @Column(name = "SAMPLE_TYPE_", length = 1)
     @PropertyDef(label = "鎵︽牱鏂瑰紡", description = "0-浜哄伐锛�1=鑷姩锛�2=鏅鸿兘闅忔満")
-    private Date sampleType;
+    private String sampleType;
 
-    @Column(name = "CHECK_ID_")
+    @Column(name = "CHECK_ID_", length = 12)
     @PropertyDef(label = "璐ㄦ鍗曞彿")
     private String checkId;
 
@@ -193,7 +193,7 @@
     @PropertyDef(label = "绌鸿溅绉伴噸鏃堕棿")
     private Date emptyWeightTime;
 
-    @Column(name = "EMPTY_WEIGHT_USER_")
+    @Column(name = "EMPTY_WEIGHT_USER_", length = 50)
     @PropertyDef(label = "绌鸿溅绉伴噸浜�")
     private String emptyWeightUser;
 
@@ -237,7 +237,7 @@
     @PropertyDef(label = "缁撶畻閲戦", description = "鍗曚綅锛氬厓")
     private Double settleMoney = 0.00;
 
-    @Column(name = "SETTLE_ID_")
+    @Column(name = "SETTLE_ID_", length = 50)
     @PropertyDef(label = "缁撶畻鍗曞彿", description = "濡傛灉鏄崟杞︾粨绠楀繀濉�")
     private String settleId;
 
@@ -270,11 +270,11 @@
     @PropertyDef(label = "鍖呰鐗�", description = "1锛氶夯琚�2锛氱紪缁囪3锛氭暎瑁�9锛氬叾浠�")
     private String bzw;
 
-    @Column(name = "dbz", length = 2)
+    @Column(name = "dbz")
     @PropertyDef(label = "鍗曞寘閲�", description = "鍗曚綅锛氬叕鏂�")
     private Double dbz;
 
-    @Column(name = "bzbjs", length = 2)
+    @Column(name = "bzbjs")
     @PropertyDef(label = "鍖呬欢鏁�", description = "鍗曚綅锛氫欢")
     private int bzbjs;
 
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
index 06ab024..f3f1ee1 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
@@ -10,9 +10,7 @@
 import com.ld.igds.data.Page;
 import com.ld.igds.data.PageResponse;
 import com.ld.igds.inout.InoutConstant;
-import com.ld.igds.inout.dto.InoutData;
-import com.ld.igds.inout.dto.InoutGateDto;
-import com.ld.igds.inout.dto.InoutParam;
+import com.ld.igds.inout.dto.*;
 import com.ld.igds.inout.manager.InoutCommonManager;
 import com.ld.igds.inout.manager.InoutManager;
 import com.ld.igds.io.dto.WeightDto;
@@ -716,4 +714,90 @@
                     "鍚庡彴寮傚父锛�" + e.getMessage());
         }
     }
+
+
+    /**
+     * 鎵︽牱椤甸潰
+     *
+     * @param sort 琛ㄧず浣跨敤鐨勫嚭鍏ュ簱璁惧閰嶅鍙凤紝涓嶄紶閫掗粯璁や负1
+     * @return
+     */
+    @RequestMapping("/in-sample")
+    public ModelAndView inSample(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) {
+        if (StringUtils.isEmpty(sort)) {
+            sort = commonManager.getInoutWeightByClient(httpRequest);
+        }
+        ModelAndView view = new ModelAndView();
+        // 浠撳簱鍒楄〃鍋氫笅鎷夋浣跨敤
+        List<Depot> listDepot = commonManager.listDepot(true);
+        view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
+
+        IUser user = ContextUtil.getLoginUser();
+        view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
+
+        String deptId = ContextUtil.subDeptId(user);
+
+        view.addObject("bizType", BizType.INOUT_IN.getCode());
+        view.addObject("type", InoutConstant.TYPE_IN);
+        view.addObject("deptId", deptId);
+
+        //鍏ュ簱娴佺▼
+        String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(), deptId, InoutConstant.TYPE_IN);
+        view.addObject("inoutProgress", inoutProgress);
+
+        // 褰撳墠娴佺▼鑺傜偣
+        view.addObject("progress", InoutConstant.PROGRESS_CHECK);
+
+        // 绮鍝佺涓嬫媺妗�
+        List<DicTrigger> listFoodVariety = inoutCommonManager.getDicTrigger(
+                Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
+        view.addObject("listFoodVariety", listFoodVariety);
+
+        // 绮绛夌骇涓嬫媺妗�
+        List<DicTrigger> listFoodLevel = inoutCommonManager.getDicTrigger(
+                Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId());
+        view.addObject("listFoodLevel", listFoodLevel);
+
+        view.addObject("endTime",
+                DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+        view.addObject("startTime", DateFormatUtils.format(
+                DateUtil.getNewByDay(null, -10), "yyyy-MM-dd"));
+
+        // 鑾峰彇鍑哄叆搴撻厤缃俊鎭�
+        List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId);
+
+        // 鑾峰彇鎵︽牱鏈轰俊鎭�
+        InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_20, InoutConstant.PROGRESS_CHECK, 1);
+        view.addObject("checkDto", conf);
+        view.setViewName("admin/inout/in-sample");
+        return view;
+    }
+
+    /**
+     * 鍒嗛〉鑾峰彇鎵︽牱璁板綍淇℃伅
+     *
+     * @param param
+     * @return
+     */
+    @RequestMapping("/page-sample-data")
+    public PageResponse<Page<InoutCheckData>> pageSampleData(@RequestBody InoutCheckParam param) {
+        return inoutManager.pageSampleData(param);
+    }
+
+    /**
+     * 鎵︽牱椤甸潰鎻愪氦
+     *
+     * @param data
+     * @return
+     */
+    @RequestMapping("/update-sample")
+    public PageResponse<InoutCheckData> updateSample(@RequestBody InoutCheckData data) {
+        try {
+            return inoutManager.updateSampleData(data);
+        } catch (Exception e) {
+            log.error("鍚庡彴寮傚父:{}", e);
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "鍚庡彴寮傚父锛�" + e.getMessage(), null);
+        }
+    }
 }
\ No newline at end of file
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckData.java b/igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckData.java
new file mode 100644
index 0000000..5e461b1
--- /dev/null
+++ b/igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckData.java
@@ -0,0 +1,65 @@
+package com.ld.igds.inout.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 鍑哄叆搴撴墻鏍锋暟鎹皝瑁�
+ *
+ * @author czt
+ * @date 2023-05-30 16:25
+ */
+@Data
+public class InoutCheckData implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	
+	//娴佹按鍙�
+	private String id;
+	
+	//缁勭粐缂栫爜
+	private String companyId;
+
+	//搴撳尯缂栫爜
+	private String deptId;
+
+	//鍑哄叆搴撶被鍨�,IN=鍏ュ簱锛孫UT=鍑哄簱
+	private String type;
+
+	//娴佺▼杩涘害
+	private String progress;
+
+	//鏁版嵁鐘舵��
+	private String recordStatus;
+
+	//鏅烘収鍗″彿
+	private String intelCard;
+
+	//鐧昏鏃堕棿
+	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+	private Date registerTime;
+
+	//鐧昏浜�
+	private String registerUser;
+
+	//杞﹁埞鍙�
+	private String plateNum;
+
+	//鎵︽牱浜�
+	private String sampleUser;
+
+	//鎵︽牱鏃堕棿
+	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+	private Date sampleTime;
+
+	//鎵︽牱鏂瑰紡锛�0-浜哄伐锛�1=鑷姩锛�2=鏅鸿兘闅忔満
+	private String sampleType;
+
+	//璐ㄦ鍗曞彿
+	private String checkId;
+
+	//鎵︽牱鐘舵��
+	private String sampleStatus;
+}
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckParam.java b/igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckParam.java
new file mode 100644
index 0000000..ebb9163
--- /dev/null
+++ b/igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckParam.java
@@ -0,0 +1,32 @@
+package com.ld.igds.inout.dto;
+
+import com.bstek.dorado.annotation.PropertyDef;
+import com.ld.igds.data.BaseParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 鍑哄叆搴�-鎵︽牱鍙傛暟
+ * 
+ * @author czt
+ * @date 2023-05-30 18:10
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class InoutCheckParam extends BaseParam {
+
+	public String plateNum;// 杞︾墝鍙�
+
+	private String id;// 娴佹按鍙�
+
+	private String progress;// 褰撳墠鎵�鍦ㄦ祦绋�
+
+	private String type;// 涓氬姟鏁版嵁绫诲瀷锛屽嚭搴撴垨鑰呭叆搴�
+
+	private String checkId;// 鍖栭獙鍗曞彿
+
+	private String sampleStatus; //鎵︽牱鐘舵��
+}
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
index b933596..f980613 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -11,9 +11,7 @@
 import com.ld.igds.file.CoreFileService;
 import com.ld.igds.file.dto.FileData;
 import com.ld.igds.inout.InoutConstant;
-import com.ld.igds.inout.dto.InoutData;
-import com.ld.igds.inout.dto.InoutGateDto;
-import com.ld.igds.inout.dto.InoutParam;
+import com.ld.igds.inout.dto.*;
 import com.ld.igds.inout.service.InoutService;
 import com.ld.igds.m.service.InoutCommonService;
 import com.ld.igds.models.Depot;
@@ -25,6 +23,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
@@ -1104,4 +1103,66 @@
         return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
     }
 
-}
+
+    /**
+     * 鏍规嵁鏉′欢鑾峰彇鎵︽牱鏁版嵁
+     * @param param
+     * @return
+     */
+    public PageResponse<Page<InoutCheckData>> pageSampleData(InoutCheckParam param) {
+
+        if (StringUtils.isEmpty(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(param.getDeptId())) {
+            param.setDeptId(ContextUtil.subDeptId(null));
+        }
+
+        //鑻ユ煡璇㈡潯浠朵负宸叉墻鏍凤紝鍒欐祦绋嬬疆绌猴紱鑻ユ湭鎵︽牱锛屽垯娴佺▼涓嶅鐞嗭紝浠嶄负鎵︽牱鍖栭獙娴佺▼(CHECK)
+        if ("SAMPLE".equals(param.getSampleStatus())) {
+            param.setProgress(null);
+        }
+
+        //鑾峰彇鎵︽牱鏁版嵁
+        Page<InoutCheckData> sampleList = inoutService.pageSampleData(param);
+
+
+        if (null == sampleList.getRecords() || sampleList.getRecords().isEmpty()) {
+            return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
+                    "鑾峰彇鍒版暟鎹俊鎭负绌�");
+        }
+        return new PageResponse<>(RespCodeEnum.CODE_0000, sampleList);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public PageResponse<InoutCheckData> updateSampleData(InoutCheckData data) throws Exception {
+
+        // 鑾峰彇涓氬姟鏁版嵁淇℃伅
+        InoutParam param = new InoutParam();
+        param.setCompanyId(data.getCompanyId());
+        param.setId(data.getId());
+        InoutData curData = inoutService.inoutProgressQuery(param);
+        if (null == curData) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "娌℃湁鑾峰彇鍒板叆搴撲笟鍔℃暟鎹俊鎭紝鏇存柊澶辫触", data);
+        }
+        if (InoutConstant.PROGRESS_RECORD.equals(curData.getProgress())) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "褰撳墠娴佺▼宸茬粡缁撴潫锛屼笉鏀寔淇敼");
+        }
+
+        //鎵︽牱淇℃伅
+        curData.setSampleTime(data.getSampleTime());
+        curData.setSampleType(data.getSampleType());
+        curData.setSampleUser(data.getSampleUser());
+
+        String msg = inoutService.updateSampleData(curData);
+
+        if (null != msg) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
+        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛");
+    }
+
+}
\ No newline at end of file
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/mapper/InoutCheckMapper.java b/igds-inout/src/main/java/com/ld/igds/inout/mapper/InoutCheckMapper.java
new file mode 100644
index 0000000..22320b5
--- /dev/null
+++ b/igds-inout/src/main/java/com/ld/igds/inout/mapper/InoutCheckMapper.java
@@ -0,0 +1,35 @@
+package com.ld.igds.inout.mapper;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.ld.igds.inout.dto.InoutCheckData;
+import com.ld.igds.inout.dto.InoutCheckParam;
+import com.ld.igds.inout.dto.InoutData;
+import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
+/**
+ * 鍑哄叆搴�-鎵︽牱鍖栭獙鏌ヨ
+ * @author czt
+ * @date 2023-05-30 17:45
+ */
+public interface InoutCheckMapper {
+
+    /**
+     * 鍒嗛〉鑾峰彇鎵︽牱鏁版嵁
+     *
+     * @param page
+     * @param param
+     * @return
+     */
+    List<InoutCheckData> pageSampleData(@Param("page") Page<InoutCheckData> page,
+                                        @Param("param") InoutCheckParam param);
+
+
+    /**
+     * 鏇存柊鎵︽牱鏁版嵁
+     *
+     * @param data
+     * @return
+     */
+    int updateSampleData(@Param("data") InoutData data);
+}
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java b/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java
index 791b08c..c3fc0e4 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java
@@ -244,4 +244,20 @@
      * @return
      */
     int checkExist(InoutParam param);
+
+    /**
+     * 鍒嗛〉鑾峰彇鎵︽牱鏁版嵁
+     *
+     * @param param
+     * @return
+     */
+    Page<InoutCheckData> pageSampleData(InoutCheckParam param);
+
+    /**
+     * 鏇存柊鎵︽牱淇℃伅
+     * @param data
+     * @return
+     * @throws Exception
+     */
+    String updateSampleData(InoutData data);
 }
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
index 88ab4fd..c8483bc 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -11,6 +11,9 @@
 import com.ld.igds.inout.InoutConstant;
 import com.ld.igds.inout.dto.InoutData;
 import com.ld.igds.inout.dto.InoutParam;
+import com.ld.igds.inout.dto.InoutCheckData;
+import com.ld.igds.inout.dto.InoutCheckParam;
+import com.ld.igds.inout.mapper.InoutCheckMapper;
 import com.ld.igds.inout.mapper.InoutRecordMapper;
 import com.ld.igds.inout.service.InoutService;
 import com.ld.igds.io.constant.OrderRespEnum;
@@ -38,6 +41,8 @@
 
     @Resource
     private InoutRecordMapper inoutMapper;
+    @Resource
+    private InoutCheckMapper inoutCheckMapper;
     @Resource
     private RedisUtil redisUtil;
     @Resource
@@ -750,4 +755,46 @@
     public String buildInoutKey(String deptId, String key, String type, String bizId) {
         return Constant.APP_NAME + ":" + deptId + ":" + key + ":" + type + ":" + bizId;
     }
+
+    @Override
+    public Page<InoutCheckData> pageSampleData(InoutCheckParam param) {
+
+        //璁剧疆璧峰鍜屾埅姝㈡椂闂�
+        if (null != param.getStart()) {
+            param.setStart(DateUtil.getCurZero(param.getStart()));
+        }
+        if (null != param.getEnd()) {
+            param.setEnd(DateUtil.getNextZero(param.getEnd()));
+        }
+
+        // 璁剧疆杞︾墝鍜屾楠屽崟鎹殑妯$硦鏌ヨ
+        if (StringUtils.isNotEmpty(param.getPlateNum())) {
+            param.setPlateNum("%" + param.getPlateNum() + "%");
+        }
+        if (StringUtils.isNotEmpty(param.getCheckId())) {
+            param.setCheckId("%" + param.getCheckId() + "%");
+        }
+
+        Page<InoutCheckData> page = new Page<>(param.getPage(), param.getLimit());
+        page.setSearchCount(true);
+
+        List<InoutCheckData> records = inoutCheckMapper.pageSampleData(page, param);
+        page.setRecords(records);
+
+        return page;
+    }
+
+    @Override
+    public String updateSampleData(InoutData data) {
+        if (StringUtils.isEmpty(data.getCompanyId())) {
+            data.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(data.getDeptId())) {
+            data.setCompanyId(ContextUtil.subDeptId(null));
+        }
+
+        int num = inoutCheckMapper.updateSampleData(data);
+        return null;
+    }
+
 }
diff --git a/igds-inout/src/main/resources/mapper/InoutCheckMapper.xml b/igds-inout/src/main/resources/mapper/InoutCheckMapper.xml
new file mode 100644
index 0000000..8c2856d
--- /dev/null
+++ b/igds-inout/src/main/resources/mapper/InoutCheckMapper.xml
@@ -0,0 +1,55 @@
+<?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.ld.igds.inout.mapper.InoutCheckMapper">
+
+    <select id="pageSampleData" resultType="com.ld.igds.inout.dto.InoutCheckData"
+            parameterType="com.ld.igds.inout.dto.InoutCheckParam">
+        select
+        ID_ as id,
+        COMPANY_ID_ as companyId,
+        DEPT_ID_ as deptId,
+        TYPE_ as type,
+        PROGRESS_ as progress,
+        RECORD_STATUS_ as recordStatus,
+        INTEL_CARD_ as intelCard,
+        REGISTER_TIME_ as registerTime,
+        REGISTER_USER_ as registerUser,
+        PLATE_NUM_ as plateNum,
+        SAMPLE_USER_ as sampleUser,
+        SAMPLE_TIME_ as sampleTime,
+        SAMPLE_TYPE_ as sampleType,
+        CHECK_ID_ as checkId,
+        IF(ISNULL(SAMPLE_TIME_),'NONE','SAMPLE') AS sampleStatus
+        from
+        D_INOUT_RECORD
+        <where>
+            <if test="param.companyId != null and param.companyId != '' ">AND COMPANY_ID_ = #{param.companyId}</if>
+            <if test="param.deptId != null and  param.deptId != '' ">AND DEPT_ID_ = #{param.deptId}</if>
+            <if test="param.checkId != null and param.checkId != '' ">AND CHECK_ID_ like #{param.checkId}</if>
+            <if test="param.plateNum != null and param.plateNum != '' ">AND PLATE_NUM_ like #{param.plateNum}</if>
+            <if test="param.progress != null and param.progress != '' ">AND PROGRESS_ = #{param.progress}</if>
+            <if test="param.start != null">AND REGISTER_TIME_ <![CDATA[ >= ]]>#{param.start,jdbcType=TIMESTAMP}</if>
+            <if test="param.end != null">AND REGISTER_TIME_  <![CDATA[ <= ]]>#{param.end,jdbcType=TIMESTAMP}</if>
+            <if test="param.sampleStatus != null and param.sampleStatus == 'NONE' ">AND SAMPLE_TIME_ IS NULL</if>
+            <if test="param.sampleStatus != null and param.sampleStatus != 'NONE' ">AND SAMPLE_TIME_ IS NOT NULL</if>
+        </where>
+        AND RECORD_STATUS_ != 'DEL'
+        AND RECORD_STATUS_ != 'ERROR'
+        ORDER BY REGISTER_TIME_
+    </select>
+
+    <update id="updateSampleData" parameterType="com.ld.igds.inout.dto.InoutData">
+        update D_INOUT_RECORD set
+        <if test="data.sampleUser != null">SAMPLE_USER_ = #{data.sampleUser},</if>
+        <if test="data.sampleTime != null">SAMPLE_TIME_ = #{data.sampleTime},</if>
+        <if test="data.sampleType != null">SAMPLE_TYPE_ = #{data.sampleType},</if>
+        TYPE_ = #{data.type}
+        where
+        COMPANY_ID_ =#{data.companyId}
+        and ID_ =#{data.id}
+    </update>
+
+</mapper>
\ No newline at end of file
diff --git a/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml b/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
index dd5bfbe..5d19ebb 100644
--- a/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
+++ b/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
@@ -255,7 +255,6 @@
         <if test="data.completeTime != null">COMPLETE_TIME_ = #{data.completeTime},</if>
         <if test="data.completeUser != null">COMPLETE_USER_ = #{data.completeUser},</if>
         <if test="data.remarks != null">REMARKS_ = #{data.remarks},</if>
-        <if test="data.curStorage != null">CUR_STORAGE_ = #{data.curStorage},</if>
         <if test="data.foodType != null">FOOD_TYPE_ = #{data.foodType},</if>
         <if test="data.price != null">PRICE_ = #{data.price},</if>
         <if test="data.settleMoney != null">SETTLE_MONEY_ = #{data.settleMoney},</if>
diff --git a/igds-web/src/main/resources/static/admin/inout/in-sample.js b/igds-web/src/main/resources/static/admin/inout/in-sample.js
new file mode 100644
index 0000000..3538deb
--- /dev/null
+++ b/igds-web/src/main/resources/static/admin/inout/in-sample.js
@@ -0,0 +1,486 @@
+//褰撳墠鑺傜偣 鍏ュ簱璐ㄦ
+var layer;
+var form;
+var table;
+var page = 1;
+var limit = 10;
+var curSampleData = null;// 褰撳墠缂栬緫鏁版嵁
+var curCheckItems = null;// 褰撳墠鏁版嵁鐨勬鏌ラ」淇℃伅
+
+$(function () {
+    layui.use(['layer', 'laydate', 'form', 'table'], function () {
+        layer = layui.layer;
+        form = layui.form;
+        table = layui.table;
+        var laydate = layui.laydate;
+
+        laydate.render({
+            elem: '#start',
+            theme: '#7b8e9f',
+            value: startTime
+        });
+
+        laydate.render({
+            elem: '#end',
+            theme: '#7b8e9f',
+            value: endTime
+        });
+
+        laydate.render({
+            elem: '#foodYear',
+            theme: '#7b8e9f',
+            type: 'year',
+        });
+
+        // 鍒濆鍖栬〃鍗曟暟鎹�
+        renderTable();
+
+        // 鐩戝惉琛屽伐鍏蜂簨浠�
+        table.on('tool(tableData)', function (obj) {
+            if (obj.event === 'edit') {
+                //灞曠ず鏁版嵁
+                showDetail(obj);
+            }
+        });
+
+        //鐩戝惉绮鍝佺
+        layui.form.on('select(select_foodVariety)', function (data) {
+            updateFoodVariety(data.value);
+        });
+
+        //鐩戝惉鍖栭獙缁撴灉鍗曞~鍐欐暟鎹�,骞剁粰鍑烘彁绀虹粨鏋�
+        table.on('edit(tableCheckItem)', function (obj) {
+            getResult(obj);
+        });
+    });
+
+    //鏄剧ず鍏ュ簱娴佺▼
+    showProgress();
+
+    // 鍒濆鍖朩ebSocket
+    initInoutWS(deptId, bizType, progress, userId);
+});
+
+
+// socket淇℃伅杩斿洖铏曠悊
+function socketOnMessage(packet) {
+    layer.alert(packet.data);
+    window.parent.sysNotify(packet.data);
+}
+
+/**
+ * 鏉′欢鏌ヨ
+ */
+function flushData() {
+    var index = layer.load();
+    var param = form.val("form-param");
+
+    table.reload('tableData', {
+        url: "../../basic/inout/page-sample-data",
+        where: param
+    });
+
+    $("thead tr").css({
+        "border-bottom": "2px solid #53adce",
+        "background": "#eff4f6"
+    });
+    layer.close(index);
+}
+
+/**
+ * 娓叉煋琛ㄥ崟鏁版嵁
+ */
+function renderTable() {
+    var param = form.val("form-param");
+    // 娓呯┖鏁版嵁
+    $("#tableData").empty();
+    table.render({
+        elem: '#tableData',
+        url: '../../basic/inout/page-sample-data',
+        page: true,
+        limit: limit,
+        even: true,
+        method: 'POST',
+        contentType: "application/json;charset=UTF-8",
+        cols: [[{
+            field: 'checkId',
+            title: '璐ㄦ鍗曞彿',
+            style: 'color: #f67d06;font-weight: bold'
+        }, {
+            field: 'plateNum',
+            title: '杞﹁埞鍙�',
+            width: '15%',
+            style: 'font-weight: bold'
+        }, {
+            field: 'registerTime',
+            title: '鐧昏鏃堕棿',
+            width: '15%'
+        }, {
+            field: 'sampleUser',
+            title: '鎵︽牱浜�',
+            width: '15%'
+        }, {
+            field: 'sampleTime',
+            title: '鎵︽牱鏃堕棿',
+            width: '15%'
+        }, {
+            field: 'sampleType',
+            title: '鎵︽牱绫诲瀷',
+            width: '10%',
+            templet: function (item) {
+                if (item.sampleType == null) {
+                    return "鍏朵粬";
+                }
+                if (item.sampleType == '0') {
+                    return "浜哄伐";
+                }
+                if (item.sampleType == '1') {
+                    return "鑷姩";
+                }
+                if (item.sampleType == '2') {
+                    return "鏅鸿兘闅忔満";
+                }
+            }
+        }, {
+            field: 'sampleStatus',
+            title: '鏄惁鎵︽牱',
+            width: '10%',
+            templet: function (item) {
+                if (item.sampleStatus == null) {
+                    return "鏈墻鏍�";
+                }
+                if (item.sampleStatus == 'NONE') {
+                    return "鏈墻鏍�";
+                }
+                if (item.sampleStatus == 'SAMPLE') {
+                    return "宸叉墻鏍�";
+                }
+            }
+        }, {
+            field: '',
+            title: '鎿嶄綔',
+            width: '10%',
+            toolbar: "#barControl"
+        }]],
+        where: param,
+        parseData: function (res) {
+            if ("0000" == res.code) {
+                return {
+                    "code": "0",
+                    "msg": res.msg,
+                    "count": res.data.total,
+                    "data": res.data.records
+                }
+            } else {
+                return {
+                    "code": "1",
+                    "msg": res.msg
+                }
+            }
+        }
+    });
+    $("thead tr").css({
+        "border-bottom": "2px solid #53adce",
+        "background": "#eff4f6"
+    });
+}
+
+// 琛ㄥ崟娓呯┖
+function resetForm() {
+    $("#form-param")[0].reset();
+    form.render();
+};
+
+//鏍规嵁濉啓鍖栭獙鏁版嵁,缁欏嚭鎻愰啋鏄惁鍚堟牸
+function getResult(obj) {
+    var data = obj.data;
+    //濉啓鐨勬暟鎹��
+    var newValue = data.value;
+    //鏍囧噯鍊�
+    var limit = data.upperLimit;
+    //杩愮畻绗�
+    var symbol = data.operaSymbol;
+
+    if (symbol && limit) {
+        if (">=" == symbol) {
+            if (newValue < limit) {
+                data.remarks = "涓嶅悎鏍�";
+            } else {
+                data.remarks = "鍚堟牸";
+            }
+        }
+        if ("<=" == symbol) {
+            if (newValue > limit) {
+                data.remarks = "涓嶅悎鏍�";
+            } else {
+                data.remarks = "鍚堟牸";
+            }
+        }
+        if ("==" == symbol) {
+            if (newValue != limit) {
+                data.remarks = "涓嶅悎鏍�";
+            } else {
+                data.remarks = "鍚堟牸";
+            }
+        }
+    }
+    obj.update(data);
+    //鏍规嵁鍖栭獙缁撴灉鎻愰啋鏄惁鍚堟牸
+    updateCheckResultTip();
+}
+
+//鏍规嵁閫夋嫨浠撳簱鏄剧ず绮鍝佺
+function updateFoodVariety(foodVariety) {
+    if (null == foodVariety || "" == foodVariety) return;
+    form.val("form-detail", {
+        foodVariety: foodVariety
+    });
+    form.render();
+
+    flushCheckItem(foodVariety);
+}
+
+
+// 鏍规嵁妯″紡鍚姩寮�濮嬫墻鏍�
+function checkExe(type) {
+    checkDto.type = type;
+    var param = JSON.stringify(checkDto);
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../api/check/check-exe",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: param,
+        success: function (result) {
+            layer.close(index);
+            if (result.code != "0000") {
+                layer.alert(result.msg);
+            } else {
+                layer.msg("鎿嶄綔鍛戒护鍙戦�佹垚鍔燂紒");
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鍚庡彴寮傚父锛屾搷浣滃懡浠ゅ彂閫佸け璐ワ紒");
+        }
+    });
+};
+
+// 鍏抽棴鎵︽牱鏈哄櫒
+function checkStop() {
+    var param = JSON.stringify(checkDto);
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../api/check/stop",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: param,
+        success: function (result) {
+            layer.close(index);
+            if (result.code != "0000") {
+                layer.alert(result.msg);
+            } else {
+                layer.msg("鎿嶄綔鍛戒护鍙戦�佹垚鍔燂紒");
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鍚庡彴寮傚父锛屾搷浣滃懡浠ゅ彂閫佸け璐ワ紒");
+        }
+    });
+};
+
+// 鎵︽牱鏈哄浣�
+function checkReset() {
+    var param = JSON.stringify(checkDto);
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../api/check/reset",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: param,
+        success: function (result) {
+            layer.close(index);
+            if (result.code != "0000") {
+                layer.alert(result.msg);
+            } else {
+                layer.msg("鎿嶄綔鍛戒护鍙戦�佹垚鍔燂紒");
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鍚庡彴寮傚父锛屾搷浣滃懡浠ゅ彂閫佸け璐ワ紒");
+        }
+    });
+}
+
+// 鎵︽牱鏈鸿В闄ゆ�ュ仠
+function checkResetStop() {
+    var param = JSON.stringify(checkDto);
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../api/check/reset-stop",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: param,
+        success: function (result) {
+            layer.close(index);
+            if (result.code != "0000") {
+                layer.alert(result.msg);
+            } else {
+                layer.msg("鎿嶄綔鍛戒护鍙戦�佹垚鍔燂紒");
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鍚庡彴寮傚父锛屾搷浣滃懡浠ゅ彂閫佸け璐ワ紒");
+        }
+    });
+}
+
+//闅愯棌淇℃伅--鏇挎崲涓�*
+function replaceStr(str) {
+    if (!str) {
+        return "";
+    }
+    var split = str.split("");
+
+    if (split.length == 1) {
+        return "*";
+    }
+    if (split.length == 2 || split.length == 3) {
+        return str.slice(0, 1) + "**"
+    }
+    return str.slice(0, 1) + "***" + str.slice(split.length - 1);
+}
+
+function showDetail(obj) {
+    curSampleData = obj.data;
+
+    // 璧嬪��
+    form.val("form-detail", curSampleData);
+    form.render();
+
+    layer.open({
+        type: 1,
+        title: "鎵︽牱淇℃伅",
+        area: ['900px', '400px'],
+        shade: 0,
+        content: $('#checkDetail'),
+        btnAlign: 'c',
+        btn: ['淇濆瓨鎻愪氦', '鍏抽棴鍙栨秷'],
+        yes: function () {
+            // 鏇存柊鍒伴〉闈�
+            var data = form.val("form-detail");
+            obj.update(data);
+            // 鍚堝苟鏇存柊鐣跺墠缂栬緫鏁版嵁
+            Object.assign(curSampleData, data);
+
+            submit();
+        }, btn2: function () {
+            layer.closeAll();
+        },
+        closeBtn: 0
+    });
+}
+
+// 褰撳墠瀹屾垚
+function submit() {
+
+    if (!curSampleData.sampleUser) {
+        layer.alert("璇疯緭鍏ユ墻鏍蜂汉锛侊紒");
+        return;
+    }
+    if (!curSampleData.sampleTime) {
+        layer.alert("璇疯緭鍏ユ墻鏍锋椂闂达紒锛�");
+        return;
+    }
+
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout/update-sample",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(curSampleData),
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.close(index);
+                notify(result.msg, result.data);
+            } else {
+                layer.closeAll();
+                curSampleData = null;
+                notify("鏁版嵁鎻愪氦鎴愬姛", result.data);
+                flushData();
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鎻愪氦澶辫触锛岃閲嶆柊灏濊瘯锛�");
+        }
+    });
+}
+
+//鎺у埗娴佺▼鐜妭鏄剧ず
+function showProgress() {
+    if (!inoutProgress) {
+        return;
+    }
+    if (inoutProgress.indexOf("REGISTER") == -1) {
+        $("#progress-register").css("display", "none");
+    }
+    if (inoutProgress.indexOf("CHECK") == -1) {
+        $("#progress-check").css("display", "none");
+    }
+    if (inoutProgress.indexOf("WEIGHT_FULL") == -1) {
+        $("#progress-fullWeight").css("display", "none");
+    }
+    if (inoutProgress.indexOf("HANDLE") == -1) {
+        $("#progress-hand").css("display", "none");
+    }
+    if (inoutProgress.indexOf("WEIGHT_EMPTY") == -1) {
+        $("#progress-emptyWeight").css("display", "none");
+    }
+    if (inoutProgress.indexOf("CARD_BACK") == -1) {
+        $("#progress-cardBack").css("display", "none");
+    }
+}
+
+/**
+ * 寮瑰嚭鎻愰啋妗�
+ * @param msg 鎻愰啋淇℃伅
+ * @param data 鏁版嵁淇℃伅锛屽彲鑳戒负绌�
+ */
+function notify(msg, data) {
+    if (data) {
+        //璧嬪��
+        $("#resultMsg").text(msg);
+        $("#resultUserName").text(data.userName);
+        $("#resultPlateNum").text(data.plateNum);
+        if ("IN" == data.type) {
+            $("#resultType").text("鍏ュ簱-" + INOUT_PROGRESS_MSG(data.progress));
+        } else {
+            $("#resultType").text("鍑哄簱-" + INOUT_PROGRESS_MSG(data.progress));
+        }
+        $("#resultIntelCard").text(data.intelCard);
+
+        layer.open({
+            type: 1,
+            offset: ['150px', '200px'],
+            area: '450px;',
+            shade: 0.8,
+            id: 'dialog_notify_info',
+            btn: ['纭畾'],
+            content: $('#dialog-from-notify'),
+            yes: function (index) {
+                layer.closeAll();
+            }
+        });
+    } else {
+        layer.alert(msg, {offset: ['300px', '300px']});
+    }
+}
\ No newline at end of file
diff --git a/igds-web/src/main/resources/templates/admin/inout/in-sample.html b/igds-web/src/main/resources/templates/admin/inout/in-sample.html
new file mode 100644
index 0000000..66fcc91
--- /dev/null
+++ b/igds-web/src/main/resources/templates/admin/inout/in-sample.html
@@ -0,0 +1,449 @@
+<!DOCTYPE html>
+<html lang="zh-cn" xmlns:th=http://www.thymeleaf.org>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="viewport"
+          content="width=device-width, initial-scale=1, maximum-scale=1">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <title>鍑哄叆搴撶鐞�-鎵︽牱</title>
+
+    <link rel="stylesheet" type="text/css"
+          th:href="@{../../static/plugins/layui/css/layui.css?v=2.5.5}">
+    <link rel="stylesheet" type="text/css"
+          th:href="@{../../static/admin/inout/style.css}">
+
+    <style type="text/css">
+        .qyzj-tabBox {
+            margin-top: 0px !important;
+            overflow: hidden;
+            width: 100%;
+        }
+
+        #layui-table-page1 {
+            text-align: right !important;
+        }
+
+        .display-none {
+            display: none;
+        }
+
+        .control-btn {
+            height: 35px;
+            line-height: 30px;
+            background-color: #f67d06;
+        }
+
+        .tip-red {
+            text-align: right;
+            padding-left: 40px;
+            font-size: 16px;
+            color: red;
+            font-weight: bold;
+        }
+
+        thead span {
+            font-weight: bold
+        }
+
+        #label1, #label4, #label5 {
+            color: red;
+        }
+
+        .layui-select-disabled .layui-disabled {
+            color: #000 !important;
+        }
+
+        .layui-table td {
+            font-weight: bold;
+        }
+
+        .rk-step-wrap {
+            padding: 0px;
+            border-bottom: 0px;
+            text-align: center;
+        }
+
+        .qyzj-btnbox {
+            margin-top: 10px;
+        }
+
+        .qyzj-btnbox .rkbk-quick {
+            margin-top: 13px;
+        }
+
+        .qyzj-con {
+            margin-top: 10px;
+            background: #dee6ec;
+        }
+
+        .rkbk-search-input {
+            background: #FFF !important;
+        }
+
+        .rkbk-search-input.bg-date {
+            background: #FFF !important;
+        }
+
+        thead span {
+            font-weight: bold
+        }
+
+        .red {
+            color: red;
+            font-weight: bold;
+        }
+
+        .layui-select-disabled .layui-disabled {
+            color: #000 !important;
+        }
+
+        .layui-table td {
+            font-weight: bold;
+        }
+
+        .layui-elem-quote {
+            padding: 10px;
+            color: blue;
+        }
+    </style>
+
+</head>
+
+<body>
+<div class="l-container layui-clear">
+    <div class="rk-main">
+
+        <div class="qyzj-btnbox layui-clear">
+            <!--鎵︽牱鎿嶄綔-->
+            <div class="rkbk-quick fl">
+                <button type="button" class="rkbk-quick-btn layui-btn btn-violet"
+                        onclick="checkExe('big')">
+                    <i><img th:src="@{../../static/images/icon-hyd.png}"/></i>澶ц溅鎵︽牱
+                </button>
+                <button type="button" class="rkbk-quick-btn layui-btn btn-violet"
+                        onclick="checkExe('small')">
+                    <i><img th:src="@{../../static/images/icon-hyd.png}"/></i>灏忚溅鎵︽牱
+                </button>
+                <button class="rkbk-quick-btn layui-btn btn-blue"
+                        onclick="checkReset()">
+                    <i><img th:src="@{../../static/images/icon-fuwei.png}"/></i>鎵︽牱澶嶄綅
+                </button>
+                <button class="rkbk-quick-btn layui-btn btn-red"
+                        onclick="checkStop()">
+                    <i><img th:src="@{../../static/images/icon-stop.png}"/></i>鎵︽牱鎬ュ仠
+                </button>
+                <button class="rkbk-quick-btn layui-btn btn-blue"
+                        onclick="checkResetStop()">
+                    <i><img th:src="@{../../static/images/icon-fuwei.png}"/></i>鎬ュ仠澶嶄綅
+                </button>
+            </div>
+            <!--娴佺▼寮曞-->
+            <div class="rk-step-wrap fr">
+                <ul class="rk-step">
+                    <li id="progress-register" class="active rk-step-first">
+                        <span class="rk-step-span">
+                            <img th:src="@{../../static/images/icon-dengji.png}"/>
+                        </span>
+                        <p>鍏ュ簱鐧昏</p>
+                    </li>
+                    <li id="progress-check" class="active">
+                        <span class="rk-step-span">
+                            <img th:src="@{../../static/images/icon-zhijian.png}"/>
+                        </span>
+                        <p>鎵︽牱璐ㄦ</p>
+                    </li>
+                    <li id="progress-fullWeight">
+                        <span class="rk-step-span">
+                            <img th:src="@{../../static/images/icon-chengzhong.png}"/>
+                        </span>
+                        <p>婊¤溅绉伴噸</p>
+                    </li>
+                    <li id="progress-hand">
+                        <span class="rk-step-span">
+                            <img th:src="@{../../static/images/icon-xiehuo.png}"/>
+                        </span>
+                        <p>鍏ュ簱鍊间粨</p>
+                    </li>
+                    <li id="progress-emptyWeight">
+                        <span class="rk-step-span">
+                            <img th:src="@{../../static/images/icon-chengzhong.png}"/>
+                        </span>
+                        <p>绌鸿溅绉伴噸</p>
+                    </li>
+                    <li id="progress-cardBack">
+                        <span class="rk-step-span">
+                            <img th:src="@{../../static/images/icon-banli.png}"/>
+                        </span>
+                        <p>绂诲簱纭</p>
+                    </li>
+                </ul>
+            </div>
+        </div>
+
+        <div class="qyzj-con radius-6">
+            <div class="qyzj-con-top layui-row">
+                <form class="layui-form" action="" id="form-param" lay-filter="form-param">
+
+                    <div class="layui-form-item display-none">
+                        <label class="layui-form-label">闅愯棌-绫诲瀷</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="type" th:value="${type}" autocomplete="off"
+                                   class="layui-input rkbk-search-input">
+                        </div>
+                    </div>
+
+                    <div class="layui-form-item display-none">
+                        <label class="layui-form-label">闅愯棌-娴佺▼</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="progress" th:value="${progress}" autocomplete="off"
+                                   class="layui-input rkbk-search-input">
+                        </div>
+                    </div>
+
+                    <div class="layui-col-xs3">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">璐ㄦ鍗曞彿</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="checkId" placeholder="璇疯緭鍏�" autocomplete="off"
+                                       class="layui-input rkbk-search-input">
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="layui-col-xs3">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">杞﹁埞鍙�</label>
+                            <div class="layui-input-block rkbk-selBox">
+                                <input type="text" name="plateNum" placeholder="璇疯緭鍏�" autocomplete="off"
+                                       class="layui-input rkbk-search-input">
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="layui-col-xs3">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">璧峰鏃堕棿</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="start" placeholder="璇疯緭鍏�"
+                                       autocomplete="off"
+                                       class="layui-input rkbk-search-input bg-date" id="start">
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="layui-col-xs3">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">鎴鏃堕棿</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="end" placeholder="璇疯緭鍏�"
+                                       autocomplete="off"
+                                       class="layui-input rkbk-search-input bg-date" id="end">
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="layui-col-xs3">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">鏄惁鎵︽牱</label>
+                            <div class="layui-input-block rkbk-selBox">
+                                <select name="sampleStatus">
+                                    <option value="NONE" selected>鏈墻鏍�</option>
+                                    <option value="SAMPLE">宸叉墻鏍�</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="layui-col-xs3 layui-text-right">
+                        <input type="button" value="鏌ヨ/鍒锋柊"
+                               class="qyzj-top-btn layui-btn btn-blue" onclick="flushData()"/>
+                        <input type="button" value="娓呯┖鏉′欢"
+                               class="qyzj-top-btn layui-btn btn-red" onclick="resetForm()"/>
+                    </div>
+                </form>
+            </div>
+
+            <div class="qyzj-tabBox">
+                <table class="layui-table" lay-skin="nob" id="tableData"
+                       lay-filter="tableData">
+                    <colgroup>
+                        <col width="10%">
+                        <col width="10%">
+                        <col width="15%">
+                        <col width="10%">
+                        <col width="10%">
+                        <col width="15%">
+                        <col width="10%">
+                        <col width="">
+                    </colgroup>
+                    <thead>
+                    <tr class="qyzj-table-tit">
+                        <th>璐ㄦ鍗曞彿</th>
+                        <th>杞﹁埞鍙�</th>
+                        <th>鐧昏鏃堕棿</th>
+                        <th>鏄惁鎵︽牱</th>
+                        <th>鎵︽牱浜�</th>
+                        <th>鎵︽牱鏃堕棿</th>
+                        <th>鎵︽牱绫诲瀷</th>
+                        <th>鎿嶄綔</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<script th:inline="javascript">
+    var progress = [[${progress}]];
+    var listDepot = [[${listDepot}]];
+    //涓氬姟姝ラ
+    var bizType = [[${bizType}]];
+    //鍑哄叆搴撶被鍨�
+    var type = [[${type}]];
+    //userId
+    var userId = [[${loginUser.username}]];
+
+    var checkUser = [[${loginUser.cname}]];
+
+    var companyId = [[${loginUser.companyId}]];
+    //鍝佺
+    var listFoodVariety = [[${listFoodVariety}]];
+    var startTime = [[${startTime}]];
+    var endTime = [[${endTime}]];
+    //鎵︽牱鏈轰俊鎭�
+    var checkDto = [[${checkDto}]];
+
+    //鎵�灞炲垎搴�
+    var deptId = [[${deptId}]];
+
+    var inoutProgress = [[${inoutProgress}]];
+
+</script>
+
+
+<script th:src="@{../../static/plugins/layui/layui.js}"></script>
+<script th:src="@{../../static/js/jquery.min.js}"></script>
+<script th:src="@{../../static/js/constant.js}"></script>
+<script th:src="@{../../static/js/igds-common.js}"></script>
+<script th:src="@{../../static/admin/inout/in-sample.js}"></script>
+
+<script type="text/html" id="barControl">
+    <a class="layui-btn control-btn" lay-event="edit">鎵︽牱纭</a>
+</script>
+</body>
+
+<!-- 鍖栭獙淇℃伅锛屽寘鎷熀鏈俊鎭拰鍖栭獙缁撴灉 -->
+<div class="layui-tab-content" id="checkDetail" style="display: none;">
+    <!-- 琛ㄥ崟鍩烘湰淇℃伅 -->
+    <form class="layui-form" id="form-detail" lay-filter="form-detail">
+
+        <div class="layui-col-xs6" style="display: none;">
+            <div class="layui-form-item">
+                <label class="layui-form-label">闅愯棌瀛楁-娴佹按缂栧彿</label>
+                <div class="layui-input-block">
+                    <input type="text" name="id" autocomplete="off" class="layui-input rkbk-search-input">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-col-xs6">
+            <div class="layui-form-item">
+                <label class="layui-form-label">璐ㄦ鍗曞彿</label>
+                <div class="layui-input-block">
+                    <input type="text" name="checkId" autocomplete="off"
+                           class="layui-input rkbk-search-input" disabled="">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-col-xs6">
+            <div class="layui-form-item">
+                <label class="layui-form-label">杞�  鐗�  鍙�</label>
+                <div class="layui-input-block">
+                    <input type="text" name="plateNum" autocomplete="off"
+                           class="layui-input rkbk-search-input" disabled="">
+                </div>
+            </div>
+        </div>
+        <div class="layui-col-xs6">
+            <div class="layui-form-item">
+                <label class="layui-form-label">鐧昏鏃堕棿</label>
+                <div class="layui-input-block">
+                    <input type="text" name="registerTime" autocomplete="off"
+                           class="layui-input rkbk-search-input" disabled="">
+                </div>
+            </div>
+        </div>
+        <div class="layui-col-xs6">
+            <div class="layui-form-item">
+                <label class="layui-form-label red">鎵︽牱浜哄憳</label>
+                <div class="layui-input-block">
+                    <input type="text" name="sampleUser" autocomplete="off" class="layui-input rkbk-search-input">
+                </div>
+            </div>
+        </div>
+        <div class="layui-col-xs6">
+            <div class="layui-form-item">
+                <label class="layui-form-label red">鎵︽牱鏃堕棿</label>
+                <div class="layui-input-block">
+                    <input type="text" name="sampleTime" autocomplete="off" class="layui-input rkbk-search-input">
+                </div>
+            </div>
+        </div>
+        <div class="layui-col-xs6">
+            <div class="layui-form-item">
+                <label class="layui-form-label red">鎵︽牱鏂瑰紡</label>
+                <div class="layui-input-block">
+                    <input type="radio" name="sampleType" value="0" title="浜哄伐" checked>
+                    <input type="radio" name="sampleType" value="1" title="鑷姩">
+                    <input type="radio" name="sampleType" value="2" title="鏅鸿兘闅忔満">
+                </div>
+            </div>
+        </div>
+        <div class="layui-col-xs12">
+            <blockquote class="layui-elem-quote">
+                <div>
+                    <span style="font-weight: bold; margin-right: 10px;">澶囨敞锛氭墻鏍锋椂闂撮渶鏅氫簬鐧昏鏃堕棿</span>
+                </div>
+            </blockquote>
+        </div>
+    </form>
+</div>
+
+<!-- 寮瑰嚭妗嗙殑淇℃伅 -->
+<div class="layui-tab-content" id="dialog-from-notify"
+     style="display: none;">
+    <table class="layui-table">
+        <colgroup>
+            <col width="100">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td>杩斿洖淇℃伅</td>
+            <td id="resultMsg" style="color: red; font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>鎵胯繍浜�</td>
+            <td id="resultUserName" style="font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>杞︾墝鍙�</td>
+            <td id="resultPlateNum" style="font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>涓嬩竴姝�</td>
+            <td id="resultType" style="font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>鏅烘収鍗″彿</td>
+            <td id="resultIntelCard" style="font-weight: bold;"></td>
+        </tr>
+        </tbody>
+    </table>
+</div>
+
+</html>

--
Gitblit v1.9.3