瀏覽代碼

3.1.2 新需求修改

liubo 3 年之前
父節點
當前提交
e3ddc7f90e

+ 10 - 7
zd-modules/zd-chemical/src/main/java/com/zd/chemical/controller/HxpStockController.java

@@ -111,13 +111,16 @@ public class HxpStockController extends BaseController {
     @ApiOperation(value = "查询库存管理列表(入库记录)")
     public TableDataInfo<HxpStockJoinVO> listJoin(HxpStockSearch hxpStockSearch) {
         startPage();
-        List<HxpStockJoinVO> list = new ArrayList<>();
-        if(tokenService.getLoginUser().getSysUser().getUserType().equals("22")){
-            hxpStockSearch.setLoginUserId(tokenService.getLoginUser().getUserid());
-            list = hxpStockService.selectHxpStockListJoin(hxpStockSearch);
-        }else{
-            list = hxpStockService.selectHxpStockListJoin(hxpStockSearch);
-        }
+        List<HxpStockJoinVO> list = hxpStockService.selectHxpStockListJoin(hxpStockSearch);
+        return getDataTable(list);
+    }
+
+    @GetMapping("/listJoinByUser")
+    @ApiOperation(value = "学生端查询入库记录")
+    public TableDataInfo<HxpStockJoinVO> listJoinByUser(HxpStockSearch hxpStockSearch) {
+        startPage();
+        hxpStockSearch.setLoginUserId(SecurityUtils.getUserId());
+        List<HxpStockJoinVO> list = hxpStockService.selectHxpStockListJoin(hxpStockSearch);
         return getDataTable(list);
     }
 

+ 20 - 12
zd-modules/zd-chemical/src/main/java/com/zd/chemical/controller/HxpUserecordController.java

@@ -1,11 +1,9 @@
 package com.zd.chemical.controller;
 
 import com.zd.chemical.domain.HxpUserecord;
-import com.zd.chemical.domain.vo.HxpStockJoinVO;
-import com.zd.chemical.domain.vo.HxpStockSearch;
-import com.zd.chemical.domain.vo.HxpUserecordSearch;
-import com.zd.chemical.domain.vo.HxpUserecordVo;
+import com.zd.chemical.domain.vo.*;
 import com.zd.chemical.service.IHxpUserecordService;
+import com.zd.common.core.domain.R;
 import com.zd.common.core.domain.per.PerFun;
 import com.zd.common.core.domain.per.PerPrefix;
 import com.zd.common.core.utils.poi.ExcelUtil;
@@ -64,16 +62,27 @@ public class HxpUserecordController extends BaseController {
     @ApiOperation(value = "查询化学品使用记录列表")
     public TableDataInfo<HxpUserecordVo> getHxpUserecordList(HxpUserecordSearch hxpUserecordSearch) {
         startPage();
-        List<HxpUserecordVo> list = new ArrayList <>();
-        if(tokenService.getLoginUser().getSysUser().getUserType().equals("22")){
-            hxpUserecordSearch.setLoginUserId(tokenService.getLoginUser().getUserid());
-            list = hxpUserecordService.getHxpUserecordList(hxpUserecordSearch);
-        }else{
-            list = hxpUserecordService.getHxpUserecordList(hxpUserecordSearch);
-        }
+        List<HxpUserecordVo> list = hxpUserecordService.getHxpUserecordList(hxpUserecordSearch);
+        return getDataTable(list);
+    }
+
+    @GetMapping("/getHxpUserecordListByUser")
+    @ApiOperation(value = "学生端查询化学品使用记录列表")
+    public TableDataInfo<HxpUserecordVo> getHxpUserecordListByUser(HxpUserecordSearch hxpUserecordSearch) {
+        startPage();
+        hxpUserecordSearch.setLoginUserId(tokenService.getLoginUser().getUserid());
+        List<HxpUserecordVo> list = hxpUserecordService.getHxpUserecordList(hxpUserecordSearch);
         return getDataTable(list);
     }
 
+    /**
+     * 获取化学品使用记录详细信息
+     */
+    @ApiOperation(value = "获取化学品使用记录详细信息")
+    @GetMapping(value = "/queryDetail/{id}")
+    public R<HxpUserecordDetailVo> queryDetailById(@PathVariable("id") Long id) {
+        return R.ok(hxpUserecordService.queryDetailById(id));
+    }
 
     /**
      * 导出化学品使用记录列表
@@ -99,7 +108,6 @@ public class HxpUserecordController extends BaseController {
      * 获取化学品使用记录详细信息
      */
     @ApiOperation(value = "获取化学品使用记录详细信息")
-    @PreAuthorize(hasPermi = PerPrefix.HXP_USERECORD+ PerFun.QUERY)
     @GetMapping(value = "/{id}")
     public ResultData<HxpUserecord> getInfo(@PathVariable("id") Long id) {
         return ResultData.success(hxpUserecordService.selectHxpUserecordById(id));

+ 12 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/domain/HxpStock.java

@@ -186,6 +186,10 @@ public class HxpStock extends BaseEntity {
      */
     @ApiModelProperty(value = "入库第二验证人")
     private Long joinTwoUser;
+
+    @ApiModelProperty(value = "入库视频")
+    private String joinVideo;
+
     /**
      * 标签编号(二维码编号)
      */
@@ -657,4 +661,12 @@ public class HxpStock extends BaseEntity {
     public void setqType(Integer qType) {
         this.qType = qType;
     }
+
+    public String getJoinVideo() {
+        return joinVideo;
+    }
+
+    public void setJoinVideo(String joinVideo) {
+        this.joinVideo = joinVideo;
+    }
 }

+ 23 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/domain/HxpUserecord.java

@@ -48,6 +48,10 @@ public class HxpUserecord extends BaseEntity {
     @Excel(name = "领用第二验证人")
     @ApiModelProperty(value = "领用第二验证人")
     private Long outTwoUser;
+
+    @ApiModelProperty(value = "领用操作视频")
+    private String outVideo;
+
     /**
      * 领用时间
      */
@@ -69,6 +73,9 @@ public class HxpUserecord extends BaseEntity {
     @ApiModelProperty(value = "归还方式(1是称重,2是录入)")
     private Integer returnType;
 
+    @ApiModelProperty(value = "归还操作视频")
+    private String returnVideo;
+
     /**
      * 归还时称重重量
      */
@@ -245,4 +252,20 @@ public class HxpUserecord extends BaseEntity {
     public void setChemicalName(String chemicalName) {
         this.chemicalName = chemicalName;
     }
+
+    public String getOutVideo() {
+        return outVideo;
+    }
+
+    public void setOutVideo(String outVideo) {
+        this.outVideo = outVideo;
+    }
+
+    public String getReturnVideo() {
+        return returnVideo;
+    }
+
+    public void setReturnVideo(String returnVideo) {
+        this.returnVideo = returnVideo;
+    }
 }

+ 11 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/domain/vo/HxpStockJoinVO.java

@@ -95,6 +95,9 @@ public class HxpStockJoinVO {
     @ApiModelProperty(value = "身份验证")
     private String verify;
 
+    @ApiModelProperty(value = "入库视频")
+    private String joinVideo;
+
     public Date getJoinTime() {
         return joinTime;
     }
@@ -246,4 +249,12 @@ public class HxpStockJoinVO {
     public void setTareUnit(String tareUnit) {
         this.tareUnit = tareUnit;
     }
+
+    public String getJoinVideo() {
+        return joinVideo;
+    }
+
+    public void setJoinVideo(String joinVideo) {
+        this.joinVideo = joinVideo;
+    }
 }

+ 352 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/domain/vo/HxpUserecordDetailVo.java

@@ -0,0 +1,352 @@
+package com.zd.chemical.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class HxpUserecordDetailVo {
+
+    private Long id;
+
+    @ApiModelProperty(value = "化学品名称")
+    private String chemicalName;
+
+    @ApiModelProperty(value = "化学品编号")
+    private String joinNum;
+
+    @ApiModelProperty(value = "CAS")
+    private String casNum;
+
+    @ApiModelProperty(value = "别名")
+    private String anotherName;
+
+    @ApiModelProperty(value = "化学品分类")
+    private String classifyName;
+
+    @ApiModelProperty(value = "纯度")
+    private String purity;
+
+    @ApiModelProperty(value = "化学品形态名称")
+    private String chemicalShapeName;
+
+    @ApiModelProperty(value = "化学品属性名称")
+    private String classifyAttribute;
+
+    @ApiModelProperty(value = "标签类型 1=是RFID,2是二维码")
+    private Integer labelType;
+
+    @ApiModelProperty(value = "标签编号")
+    private String tagCode;
+
+    @ApiModelProperty(value = "容量规格")
+    private String chemicalAmountUnit;
+
+    @ApiModelProperty(value = "容器规格")
+    private String tareUnit;
+
+    @ApiModelProperty(value = "过期时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date expirationTime;
+
+    @ApiModelProperty(value = "领用时效小时")
+    private Integer collectHour;
+
+    @ApiModelProperty(value = "领用时效分钟")
+    private Integer collectMinute;
+
+    @ApiModelProperty(value = "机柜名称")
+    private String cabinetName;
+
+    @ApiModelProperty("所在位置")
+    private String posi;
+
+    @ApiModelProperty(value = "领用信息")
+    private OutDetail outDetail;
+
+    @ApiModelProperty(value = "归还信息")
+    private ReturnDetail  returnDetail;
+
+    static class OutDetail {
+        @ApiModelProperty(value = "领用时库存净重")
+        private String stockSuttle;
+
+        @ApiModelProperty(value = "损耗量")
+        private String lossAmount;
+
+        @ApiModelProperty(value = "领用称重净重")
+        private String collectSuttle;
+
+        @ApiModelProperty(value = "领用验证人员")
+        private String outUsers;
+
+        @ApiModelProperty(value = "领用方式(1是称重,2是录入)")
+        private Integer outType;
+
+        @ApiModelProperty(value = "领用操作视频")
+        private String outVideo;
+
+        public OutDetail() {
+        }
+
+        public String getStockSuttle() {
+            return stockSuttle;
+        }
+
+        public void setStockSuttle(String stockSuttle) {
+            this.stockSuttle = stockSuttle;
+        }
+
+        public String getLossAmount() {
+            return lossAmount;
+        }
+
+        public void setLossAmount(String lossAmount) {
+            this.lossAmount = lossAmount;
+        }
+
+        public String getCollectSuttle() {
+            return collectSuttle;
+        }
+
+        public void setCollectSuttle(String collectSuttle) {
+            this.collectSuttle = collectSuttle;
+        }
+
+        public String getOutUsers() {
+            return outUsers;
+        }
+
+        public void setOutUsers(String outUsers) {
+            this.outUsers = outUsers;
+        }
+
+        public Integer getOutType() {
+            return outType;
+        }
+
+        public void setOutType(Integer outType) {
+            this.outType = outType;
+        }
+
+        public String getOutVideo() {
+            return outVideo;
+        }
+
+        public void setOutVideo(String outVideo) {
+            this.outVideo = outVideo;
+        }
+    }
+
+    static class ReturnDetail {
+        @ApiModelProperty(value = "本次使用量")
+        private String useStockNum;
+
+        @ApiModelProperty(value = "归还库存净重")
+        private String returnSuttle;
+
+        @ApiModelProperty(value = "归还验证人员")
+        private String backUsers;
+
+        @ApiModelProperty(value = "归还方式(1是称重,2是录入)")
+        private Integer returnType;
+
+        @ApiModelProperty(value = "归还操作视频")
+        private String returnVideo;
+
+        public ReturnDetail() {
+        }
+
+        public String getUseStockNum() {
+            return useStockNum;
+        }
+
+        public void setUseStockNum(String useStockNum) {
+            this.useStockNum = useStockNum;
+        }
+
+        public String getReturnSuttle() {
+            return returnSuttle;
+        }
+
+        public void setReturnSuttle(String returnSuttle) {
+            this.returnSuttle = returnSuttle;
+        }
+
+        public String getBackUsers() {
+            return backUsers;
+        }
+
+        public void setBackUsers(String backUsers) {
+            this.backUsers = backUsers;
+        }
+
+        public Integer getReturnType() {
+            return returnType;
+        }
+
+        public void setReturnType(Integer returnType) {
+            this.returnType = returnType;
+        }
+
+        public String getReturnVideo() {
+            return returnVideo;
+        }
+
+        public void setReturnVideo(String returnVideo) {
+            this.returnVideo = returnVideo;
+        }
+    }
+
+    public String getChemicalName() {
+        return chemicalName;
+    }
+
+    public void setChemicalName(String chemicalName) {
+        this.chemicalName = chemicalName;
+    }
+
+    public String getJoinNum() {
+        return joinNum;
+    }
+
+    public void setJoinNum(String joinNum) {
+        this.joinNum = joinNum;
+    }
+
+    public String getCasNum() {
+        return casNum;
+    }
+
+    public void setCasNum(String casNum) {
+        this.casNum = casNum;
+    }
+
+    public String getAnotherName() {
+        return anotherName;
+    }
+
+    public void setAnotherName(String anotherName) {
+        this.anotherName = anotherName;
+    }
+
+    public String getClassifyName() {
+        return classifyName;
+    }
+
+    public void setClassifyName(String classifyName) {
+        this.classifyName = classifyName;
+    }
+
+    public String getPurity() {
+        return purity;
+    }
+
+    public void setPurity(String purity) {
+        this.purity = purity;
+    }
+
+    public String getChemicalShapeName() {
+        return chemicalShapeName;
+    }
+
+    public void setChemicalShapeName(String chemicalShapeName) {
+        this.chemicalShapeName = chemicalShapeName;
+    }
+
+    public String getClassifyAttribute() {
+        return classifyAttribute;
+    }
+
+    public void setClassifyAttribute(String classifyAttribute) {
+        this.classifyAttribute = classifyAttribute;
+    }
+
+    public Integer getLabelType() {
+        return labelType;
+    }
+
+    public void setLabelType(Integer labelType) {
+        this.labelType = labelType;
+    }
+
+    public String getTagCode() {
+        return tagCode;
+    }
+
+    public void setTagCode(String tagCode) {
+        this.tagCode = tagCode;
+    }
+
+    public String getChemicalAmountUnit() {
+        return chemicalAmountUnit;
+    }
+
+    public void setChemicalAmountUnit(String chemicalAmountUnit) {
+        this.chemicalAmountUnit = chemicalAmountUnit;
+    }
+
+    public String getTareUnit() {
+        return tareUnit;
+    }
+
+    public void setTareUnit(String tareUnit) {
+        this.tareUnit = tareUnit;
+    }
+
+    public Date getExpirationTime() {
+        return expirationTime;
+    }
+
+    public void setExpirationTime(Date expirationTime) {
+        this.expirationTime = expirationTime;
+    }
+
+    public Integer getCollectHour() {
+        return collectHour;
+    }
+
+    public void setCollectHour(Integer collectHour) {
+        this.collectHour = collectHour;
+    }
+
+    public Integer getCollectMinute() {
+        return collectMinute;
+    }
+
+    public void setCollectMinute(Integer collectMinute) {
+        this.collectMinute = collectMinute;
+    }
+
+    public String getCabinetName() {
+        return cabinetName;
+    }
+
+    public void setCabinetName(String cabinetName) {
+        this.cabinetName = cabinetName;
+    }
+
+    public String getPosi() {
+        return posi;
+    }
+
+    public void setPosi(String posi) {
+        this.posi = posi;
+    }
+
+    public OutDetail getOutDetail() {
+        return outDetail;
+    }
+
+    public void setOutDetail(OutDetail outDetail) {
+        this.outDetail = outDetail;
+    }
+
+    public ReturnDetail getReturnDetail() {
+        return returnDetail;
+    }
+
+    public void setReturnDetail(ReturnDetail returnDetail) {
+        this.returnDetail = returnDetail;
+    }
+}

+ 3 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/mapper/HxpUserecordMapper.java

@@ -5,6 +5,7 @@ import java.util.Map;
 
 import com.zd.chemical.domain.HxpUserecord;
 import com.zd.chemical.domain.vo.AioUserecordVo;
+import com.zd.chemical.domain.vo.HxpUserecordDetailVo;
 import com.zd.chemical.domain.vo.HxpUserecordSearch;
 import com.zd.chemical.domain.vo.HxpUserecordVo;
 import org.apache.ibatis.annotations.Param;
@@ -84,4 +85,6 @@ public interface HxpUserecordMapper
     List<HxpUserecord> selectByOvertime();
 
     int updateUserecordOvertimeByIds(@Param("list") List<Long> recordIds);
+
+    HxpUserecordDetailVo queryDetailById(Long id);
 }

+ 2 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/IHxpUserecordService.java

@@ -77,4 +77,6 @@ public interface IHxpUserecordService {
     AioUserValidationVo faceAuth(AioSubInfoVo aioSubInfoVo);
 
     void checkOvertime();
+
+    HxpUserecordDetailVo queryDetailById(Long id);
 }

+ 7 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/impl/HxpUserecordServiceImpl.java

@@ -407,4 +407,11 @@ public class HxpUserecordServiceImpl implements IHxpUserecordService {
             }
         });
     }
+
+    @Override
+    public HxpUserecordDetailVo queryDetailById(Long id) {
+        HxpUserecordDetailVo userecordDetail = hxpUserecordMapper.queryDetailById(id);
+
+        return userecordDetail;
+    }
 }

+ 10 - 1
zd-modules/zd-chemical/src/main/resources/mapper/chemical/HxpStockMapper.xml

@@ -35,6 +35,8 @@
         <result property="purity" column="purity"/>
         <result property="joinOneUser" column="join_one_user"/>
         <result property="joinTwoUser" column="join_two_user"/>
+        <result property="joinVideo" column="join_video"/>
+
         <result property="tagCode" column="tag_code"/>
         <result property="rfidCode" column="rfid_code"/>
         <result property="usages" column="usages"/>
@@ -80,6 +82,7 @@
                purity,
                join_one_user,
                join_two_user,
+               join_video,
                tag_code,
                rfid_code,
                usages,
@@ -122,6 +125,7 @@
                t.purity,
                t.join_one_user,
                t.join_two_user,
+               t.join_video,
                t.tag_code,
                t.rfid_code,
                t.usages,
@@ -334,7 +338,8 @@
                CONCAT(ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = sk.join_user_id), "")) operator,
                 CONCAT(ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = sk.join_one_user), ""),
                 case when sk.join_two_user is not null then '、' else '' end,
-                ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = sk.join_two_user), "")) verify
+                ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = sk.join_two_user), "")) verify,
+            sk.join_video as joinVideo
 
         FROM hxp_stock sk LEFT JOIN hxp_chemical_join_cabinet cjc ON sk.join_id = cjc.id
         LEFT JOIN hxp_chemical cl ON cjc.chemical_id = cl.id
@@ -640,6 +645,8 @@
 
             <if test="joinTwoUser != null">join_two_user,</if>
 
+            <if test="joinVideo != null">join_video,</if>
+
             <if test="tagCode != null">tag_code,</if>
 
             <if test="rfidCode != null">rfid_code,</if>
@@ -689,6 +696,7 @@
             <if test="purity != null and purity != ''">#{purity},</if>
             <if test="joinOneUser != null">#{joinOneUser},</if>
             <if test="joinTwoUser != null">#{joinTwoUser},</if>
+            <if test="joinVideo != null">#{joinVideo},</if>
             <if test="tagCode != null">#{tagCode},</if>
             <if test="rfidCode != null">#{rfidCode},</if>
             <if test="usages != null">#{usages},</if>
@@ -735,6 +743,7 @@
             <if test="purity != null and purity != ''">purity = #{purity},</if>
             <if test="joinOneUser != null">join_one_user = #{joinOneUser},</if>
             <if test="joinTwoUser != null">join_two_user = #{joinTwoUser},</if>
+            <if test="joinVideo != null">join_video = #{joinVideo},</if>
             <if test="tagCode != null">tag_code = #{tagCode},</if>
             <if test="rfidCode != null">rfid_code = #{rfidCode},</if>
 

+ 105 - 2
zd-modules/zd-chemical/src/main/resources/mapper/chemical/HxpUserecordMapper.xml

@@ -26,6 +26,8 @@
         <result property="backOneUser" column="back_one_user"/>
         <result property="backTwoUser" column="back_two_user"/>
 
+        <result property="outVideo" column="out_video"/>
+        <result property="returnVideo" column="return_video"/>
 
     </resultMap>
 
@@ -48,8 +50,9 @@
                collect_stock_num,
                use_status,
                back_one_user,
-               back_two_user
-
+               back_two_user,
+               out_video,
+               return_video
         from hxp_userecord
     </sql>
     <sql id="selectHxpUserecordListVo">
@@ -72,6 +75,8 @@
                t.use_status,
                t.back_one_user,
                t.back_two_user,
+               t.out_video,
+               t.return_video,
                (select chemical_name from hxp_stock where id = t.stock_id) chemicalName,
                ((select sub_id from hxp_chemical_join_cabinet where id =
                 (select join_id from hxp_stock where id = t.stock_id))) subId,
@@ -233,6 +238,95 @@
 
     </select>
 
+
+    <resultMap type="com.zd.chemical.domain.vo.HxpUserecordDetailVo" id="HxpUserecordDetailResult">
+        <result property="id" column="id"/>
+        <result property="chemicalName" column="chemicalName"/>
+        <result property="joinNum" column="joinNum"/>
+        <result property="casNum" column="casNum"/>
+        <result property="anotherName" column="anotherName"/>
+        <result property="classifyName" column="classifyName"/>
+        <result property="purity" column="purity"/>
+        <result property="chemicalShapeName" column="chemicalShapeName"/>
+        <result property="classifyAttribute" column="classifyAttribute"/>
+        <result property="labelType" column="labelType"/>
+        <result property="tagCode" column="tagCode"/>
+        <result property="chemicalAmountUnit" column="chemicalAmountUnit"/>
+        <result property="tareUnit" column="tareUnit"/>
+        <result property="expirationTime" column="expirationTime"/>
+        <result property="collectHour" column="collectHour"/>
+        <result property="collectMinute" column="collectMinute"/>
+        <result property="cabinetName" column="cabinetName"/>
+        <result property="posi" column="posi"/>
+
+        <association property="outDetail" javaType="com.zd.chemical.domain.vo.HxpUserecordDetailVo$OutDetail">
+            <result column="stockSuttle" property="stockSuttle" />
+            <result column="lossAmount" property="lossAmount" />
+            <result column="collectSuttle" property="collectSuttle" />
+            <result column="outUsers" property="outUsers" />
+            <result column="outType" property="outType" />
+            <result column="outVideo" property="outVideo" />
+        </association>
+<!--        <association property="returnDetail" javaType="com.zd.chemical.domain.vo.HxpUserecordDetailVo$ReturnDetail">-->
+<!--            <result column="useStockNum" property="useStockNum" />-->
+<!--            <result column="returnSuttle" property="returnSuttle" />-->
+<!--            <result column="backUsers" property="backUsers" />-->
+<!--            <result column="returnType" property="returnType" />-->
+<!--            <result column="returnVideo" property="returnVideo" />-->
+<!--        </association>-->
+
+    </resultMap>
+
+    <select id="queryDetailById" resultMap="HxpUserecordDetailResult">
+        select
+            hu.id,
+            hs.chemical_name chemicalName,
+            cjc.join_num joinNum,
+            hs.cas_num casNum,
+            hs.another_name anotherName,
+            (select ccy.`classify_name` from hxp_chemical_classify ccy where ccy.`id` = hs.`chemical_classify`) classifyName,
+            hs.purity,
+            (SELECT GROUP_CONCAT(CONCAT(dda.dict_label,'(',hs.chemical_unit,')')) FROM sys_dict_data dda
+                WHERE dda.dict_type = 'chemical_shape' AND dda.dict_value = hs.chemical_shape) chemicalShapeName,
+            (SELECT ifnull(GROUP_CONCAT(dda.dict_label),'') FROM sys_dict_data dda
+                WHERE dda.dict_type = 'hxp_classifyattribute' AND FIND_IN_SET(dda.dict_value, hc.classify_attribute)) classifyAttribute,
+            hs.label_type labelType,
+            hs.tag_code tagCode,
+            IFNULL(CONCAT(cjc.chemical_amount,cjc.chemical_amount_unit),'无') chemicalAmountUnit,
+            IFNULL( CONCAT(cjc.tare, cjc.chemical_amount_unit) ,'无') tareUnit,
+            hs.expiration_time expirationTime,
+            hc.collect_hour collectHour,
+            hc.collect_minute collectMinute,
+            ca.cabinet_name cabinetName,
+            CONCAT((SELECT st.name FROM lab_subject st WHERE st.id = cjc.`sub_id`),'-',
+                (SELECT dt.dept_name FROM sys_dept dt,lab_subject st WHERE dt.dept_id = st.build_id AND st.id = cjc.`sub_id`),'-',
+                (SELECT bg.name FROM lab_building bg,lab_subject st WHERE bg.id = st.floor_id AND st.id = cjc.`sub_id`),'-',
+                (SELECT slt.room FROM lab_subject_layout slt,lab_subject st WHERE slt.id = st.layout_id AND st.id = cjc.`sub_id`)) posi,
+
+            CONCAT(IFNULL(hu.collect_now_num,0)-IFNULL(hs.tare,0),hs.chemical_unit) stockSuttle,
+            concat(ifnull(hu.loss_amount, 0) , hs.chemical_unit) lossAmount,
+            CONCAT(IFNULL(hu.collect_stock_num,0)-IFNULL(hs.tare,0),hs.chemical_unit) collectSuttle,
+            CONCAT(ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = hu.out_one_user), ""),
+                   case when hu.out_two_user is not null then '、' else '' end,
+                   ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = hu.out_two_user), "")) outUsers,
+            hu.out_type outType,
+            hu.out_video outVideo,
+
+            CONCAT(IFNULL(hu.collect_stock_num,0)-IFNULL(hu.return_stock_num,0),hs.chemical_unit) useStockNum,
+            CONCAT(IFNULL(hu.return_stock_num,0)-IFNULL(hs.tare,0),hs.chemical_unit) returnSuttle,
+            CONCAT(ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = hu.back_one_user), ""),
+                   case when hu.back_two_user is not null then '、' else '' end,
+                   ifnull((SELECT ur.nick_name FROM sys_user ur WHERE ur.user_id = hu.back_two_user), "")) backUsers,
+            hu.return_type returnType,
+            hu.return_video returnVideo
+
+        from hxp_userecord hu left join hxp_stock hs on hu.stock_id = hs.id
+            left join hxp_chemical_join_cabinet cjc on hs.join_id = cjc.id
+            left join hxp_chemical hc on cjc.chemical_id = hc.id
+            left join hxp_cabinet ca on cjc.cabinet_id = ca.id
+        where hu.id = #{id}
+    </select>
+
     <insert id="insertHxpUserecord" parameterType="com.zd.chemical.domain.HxpUserecord" useGeneratedKeys="true"
             keyProperty="id">
         insert into hxp_userecord
@@ -274,6 +368,10 @@
 
             <if test="lossAmount != null">loss_amount,</if>
             <if test="outType != null">out_type,</if>
+
+            <if test="outVideo != null">out_video,</if>
+            <if test="returnVideo != null">return_video,</if>
+
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="stockId != null">#{stockId},</if>
@@ -298,6 +396,9 @@
 
             <if test="lossAmount != null">#{lossAmount},</if>
             <if test="outType != null">#{outType},</if>
+
+            <if test="outVideo != null">#{outVideo},</if>
+            <if test="returnVideo != null">#{returnVideo},</if>
         </trim>
     </insert>
 
@@ -324,6 +425,8 @@
             <if test="backOneUser != null">back_one_user = #{backOneUser},</if>
             <if test="backTwoUser != null">back_two_user = #{backTwoUser},</if>
 
+            <if test="outVideo != null">out_video = #{outVideo},</if>
+            <if test="returnVideo != null">return_video = #{returnVideo},</if>
         </trim>
         where id = #{id}
     </update>