From 24a5d5638b40a6921f24fd01997db64237c6b653 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 28 十二月 2020 08:55:41 +0800
Subject: [PATCH] 1.替换字典 和数据字典同步 2.入库

---
 src/main/webapp/warehouse_reagent_use.xhtml                                      |    2 
 src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java   |    8 +
 src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java        |  135 ++++++++++++++++++++++++++
 src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java            |    2 
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml                       |   22 ++++
 src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.xml                         |   17 +++
 src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java |   27 +++++
 src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java       |    4 
 src/main/java/com/nanometer/smartlab/service/SysReagentService.java              |    2 
 src/main/java/com/nanometer/smartlab/api/ApiAction.java                          |   25 ++++
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java                      |    2 
 src/main/java/com/nanometer/smartlab/service/BaseMetaService.java                |    2 
 src/main/java/com/nanometer/smartlab/service/BaseMetaServiceImpl.java            |    5 +
 src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.java                        |    3 
 src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java          |   11 ++
 15 files changed, 260 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index eba9df5..53318c8 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -10,7 +10,7 @@
 import com.nanometer.smartlab.dao.SysLaboratoryContainerDao;
 import com.nanometer.smartlab.dao.SysWarehouseContainerDao;
 import com.nanometer.smartlab.entity.*;
-import com.nanometer.smartlab.entity.SysWarning;
+import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto;
 import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
 import com.nanometer.smartlab.entity.enumtype.ApiStatus;
 import com.nanometer.smartlab.entity.enumtype.ReplaceDictType;
@@ -1265,5 +1265,28 @@
     }
 
 
+   /**
+   * @Description: 入库
+   * @date 2020/12/24 14:19
+   */
+    @ResponseBody
+    @RequestMapping("putInStorage")
+    public Object putInWarehouse(@RequestBody InWarehouseInfoDto inWarehouseInfo) {
+        try {
+
+            if (inWarehouseInfo.getReagentCode() != null && inWarehouseInfo.getReagentCode().size() > 0) {
+                sysWarehouseService.putInWarehouse(inWarehouseInfo);
+                return ResponseModel.getOkInstence("入库成功");
+            } else {
+                return ResponseModel.getErrInstance("无试剂条码");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.info(e);
+            return ResponseModel.getErrInstance("系统出错");
+        }
+
+    }
+
 
 }
diff --git a/src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java b/src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java
index 2949efb..b23aaf7 100644
--- a/src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java
@@ -1,8 +1,11 @@
 package com.nanometer.smartlab.controller;
 
+import com.nanometer.smartlab.entity.BaseMeta;
 import com.nanometer.smartlab.entity.EncodeReplaceDict;
 import com.nanometer.smartlab.entity.SysUser;
 import com.nanometer.smartlab.entity.enumtype.ReplaceDictType;
+import com.nanometer.smartlab.entity.enumtype.ValidFlag;
+import com.nanometer.smartlab.service.BaseMetaService;
 import com.nanometer.smartlab.service.EncodeReplaceDictService;
 import com.nanometer.smartlab.util.FacesUtils;
 import org.apache.log4j.Logger;
@@ -23,6 +26,8 @@
 
     @Resource
     private EncodeReplaceDictService encodeReplaceDictService;
+    @Resource
+    private BaseMetaService baseMetaService;
 
     private LazyDataModel<EncodeReplaceDict> dataModel;
 
@@ -99,6 +104,10 @@
             FacesUtils.warn("请选择数据");
         } else {
             encodeReplaceDictService.deleteOne(selectOne.getId());
+            ReplaceDictType type = selectOne.getType();
+            String groupId = "encode_replace_" + type.getKey();
+            BaseMeta baseMeta = baseMetaService.getBaseMeta(groupId, selectOne.getNumber(),null);
+            baseMetaService.deleteBaseMeta(Collections.singletonList(baseMeta.getId()));
             FacesUtils.info("删除成功");
         }
     }
@@ -113,10 +122,28 @@
                 encodeReplaceDictService.checkAddOne(encodeReplaceDict);
                 encodeReplaceDictService.addOne(encodeReplaceDict, getUser());
 
+                BaseMeta baseMeta = new BaseMeta();
+                baseMeta.setMetaKey(encodeReplaceDict.getNumber());
+                baseMeta.setMetaValue(encodeReplaceDict.getInfo());
+                ReplaceDictType type = encodeReplaceDict.getType();
+                String groupId = "encode_replace_" + type.getKey();
+                baseMeta.setGroupId(groupId);
+                baseMetaService.insertBaseMeta(baseMeta);
+
             } else {
                 //更新
                 //校验实体
                 encodeReplaceDictService.checkUpdateOne(encodeReplaceDict);
+                //更新前拿出baseMeta
+                EncodeReplaceDict originData = encodeReplaceDictService.getOne(encodeReplaceDict.getId());
+                ReplaceDictType type = originData.getType();
+                String groupId = "encode_replace_" + type.getKey();
+                BaseMeta baseMeta = baseMetaService.getBaseMeta(groupId, originData.getNumber(),null);
+                baseMeta.setMetaKey(encodeReplaceDict.getNumber());
+                baseMeta.setMetaValue(encodeReplaceDict.getInfo());
+                baseMeta.setGroupId("encode_replace_" + encodeReplaceDict.getType().getKey());
+                baseMeta.setValidFlag(ValidFlag.VALID);
+                baseMetaService.updateBaseMeta(baseMeta);
                 encodeReplaceDictService.updateOne(encodeReplaceDict);
             }
 
diff --git a/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.java b/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.java
index 63a94c7..4a01f06 100644
--- a/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.java
@@ -1,6 +1,7 @@
 package com.nanometer.smartlab.dao;
 
 import com.nanometer.smartlab.entity.BaseMeta;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.dao.DataAccessException;
 
 import java.util.List;
@@ -20,4 +21,6 @@
     public int deleteBaseMeta(String id) throws DataAccessException;
     public int deleteBaseMetas(List<String> ids) throws DataAccessException;
     public List<BaseMeta> getAllBaseMeta() throws DataAccessException;
+
+    BaseMeta selectBaseMeta(@Param("groupId") String groupId, @Param("key")String key,@Param("value") String value);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.xml b/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.xml
index b69671e..88b4780 100644
--- a/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/BaseMetaDao.xml
@@ -55,8 +55,23 @@
     where valid_flag = 1
     <include refid="queryWhereSql"/>
   </select>
+    <select id="selectBaseMeta" resultMap="BaseMeta">
+      select * from  base_meta
+      where
+      1= 1
+      <if test="groupId != null and groupId != ''">
+       and group_id = #{groupId}
+      </if>
+      <if test="key != null and key != ''">
+        and meta_key = #{key}
+      </if>
+      <if test="value != null and value != ''">
+        and meta_value = #{value}
+      </if>
+      limit 1
+    </select>
 
-  <insert id="insertBaseMeta" parameterType="com.nanometer.smartlab.entity.BaseMeta">
+    <insert id="insertBaseMeta" parameterType="com.nanometer.smartlab.entity.BaseMeta">
     insert into base_meta(id, group_id, meta_key, meta_value, order_index, memo, create_time, update_time, valid_flag)
     values (#{id}, #{groupId}, #{metaKey}, #{metaValue}, #{orderIndex}, #{memo}, now(), now(), 1)
   </insert>
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
index cc30590..521dc99 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
@@ -33,4 +33,6 @@
     Map getSysReagentDetail(String id);
 
     String getReagentUnitByReagentId(String reagentId);
+
+    List<SysReagent> getReagent(Map params);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
index 682c9e2..7f6ea53 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
@@ -115,6 +115,7 @@
     AND f.user_id= #{user}
     WHERE f.id IS NOT NULL
     and sr.valid_flag = 1
+    and sr.type != 3
     <if test="cas != null and cas != ''">
       and sr.cas like concat("%", #{cas} ,"%")
     </if>
@@ -143,6 +144,7 @@
     AND f.user_id = #{user}
     AND f.id IS NULL
     where sr.valid_flag = 1
+    and sr.type != 3
     <if test="cas != null and cas != ''">
       and sr.cas like concat("%", #{cas} ,"%")
     </if>
@@ -375,7 +377,27 @@
       and  product_home is null
     </if>
   </select>
+  <select id="getReagent" resultMap="SysReagent">
+    select * From sys_reagent
+    where type=3
+    and  valid_flag = 1
+    <if test="name!=null and name!=''">
+      and  name =#{name}
+    </if>
+    <if test="cas!=null and cas!=''">
+      and  cas =#{cas}
+    </if>
+    <if test="packing!=null and packing!=''">
+      and  reagent_unit =#{packing}
+    </if>
+    <if test="factory!=null and factory!=''">
+      and  product_home =#{factory}
+    </if>
+    <if test="specifications!=null and specifications!=''">
+      and  reagent_format =#{specifications}
+    </if>
 
+  </select>
 
 
   <insert id="insertSysReagent" parameterType="com.nanometer.smartlab.entity.SysReagent">
diff --git a/src/main/java/com/nanometer/smartlab/service/BaseMetaService.java b/src/main/java/com/nanometer/smartlab/service/BaseMetaService.java
index ad53683..52d11d8 100644
--- a/src/main/java/com/nanometer/smartlab/service/BaseMetaService.java
+++ b/src/main/java/com/nanometer/smartlab/service/BaseMetaService.java
@@ -24,4 +24,6 @@
     public String getBaseMetaValue(String id);
     public String getBaseMetaKey(String id);
     public List<BaseMeta> getAllBaseMeta();
+
+    BaseMeta getBaseMeta(String groupId, String key,String value);
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/BaseMetaServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/BaseMetaServiceImpl.java
index a5abf01..269f52b 100644
--- a/src/main/java/com/nanometer/smartlab/service/BaseMetaServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/BaseMetaServiceImpl.java
@@ -282,4 +282,9 @@
     public List<BaseMeta> getAllBaseMeta() {
         return this.baseMetaDao.getAllBaseMeta();
     }
+
+    @Override
+    public BaseMeta getBaseMeta(String groupId, String key,String value) {
+        return baseMetaDao.selectBaseMeta(groupId,key,value);
+    }
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java
index 2be7830..8fccc0c 100644
--- a/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java
+++ b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java
@@ -17,7 +17,9 @@
 
     void updateOne(EncodeReplaceDict encodeReplaceDict);
 
-    boolean checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception;
+    void checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception;
 
     void checkUpdateOne(EncodeReplaceDict encodeReplaceDict) throws Exception;
+
+    EncodeReplaceDict getOne(Long id);
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java
index be4a4fc..0870e7c 100644
--- a/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java
@@ -59,7 +59,7 @@
     }
 
     @Override
-    public boolean checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception {
+    public void checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception {
         Map<String, Object> params = null;
         params = new HashMap<>();
         //同一个类型下的编号是否重复
@@ -78,7 +78,6 @@
             throw new Exception("信息重复");
         }
         //同时不存在就合格
-        return check1 == 0 && check2 == 0;
     }
 
     @Override
@@ -103,5 +102,10 @@
         }
     }
 
+    @Override
+    public EncodeReplaceDict getOne(Long id) {
+        return encodeReplaceDictMapper.selectByPrimaryKey(id);
+    }
+
 
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentService.java b/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
index 66ba215..efa925f 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
@@ -36,4 +36,6 @@
     List<SysReagent> reagentList(SysUser user, String name, String cas, String supplierId, String productSn, int first, int pageSize);
 
     String getReagentUnitByReagentId(String reagentId);
+
+    List<SysReagent>  getReagent(String name, String cas, String factory, String specifications, String packing);
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
index d615fcc..3a3e9e6 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -142,6 +142,17 @@
         return sysReagentDao.getReagentUnitByReagentId(reagentId);
     }
 
+    @Override
+    public List<SysReagent> getReagent(String name, String cas, String factory, String specifications, String packing) {
+        Map<String, String> params = new HashMap<>();
+        params.put("name", name);
+        params.put("cas", cas);
+        params.put("factory", factory);
+        params.put("specifications", specifications);
+        params.put("packing", packing);
+        return sysReagentDao.getReagent(params);
+    }
+
 
     @Transactional(propagation = Propagation.REQUIRED)
     public int getSysReagentTotalCount(String name, String cas, String supplierId,Integer type) {
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java
index b1c2675..5ad2982 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java
@@ -1,6 +1,7 @@
 package com.nanometer.smartlab.service;
 
 import com.nanometer.smartlab.entity.SysWarehouse;
+import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto;
 import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
 
 import java.util.List;
@@ -21,4 +22,5 @@
 
     List<SysWarehouseDto> getWarehouseList();
 
+    void putInWarehouse(InWarehouseInfoDto inWarehouseInfo) throws Exception;
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
index dbd05ef..2d2fe60 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
@@ -1,14 +1,18 @@
 package com.nanometer.smartlab.service;
 
+import com.nanometer.smartlab.dao.BaseMetaDao;
 import com.nanometer.smartlab.dao.SysWarehouseDao;
-import com.nanometer.smartlab.entity.SysWarehouse;
+import com.nanometer.smartlab.entity.*;
+import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto;
 import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
+import com.nanometer.smartlab.entity.enumtype.*;
 import com.nanometer.smartlab.exception.AlarmCode;
 import com.nanometer.smartlab.exception.AlarmException;
 import com.nanometer.smartlab.exception.BusinessException;
 import com.nanometer.smartlab.exception.ExceptionEnumCode;
 import com.nanometer.smartlab.util.IDUtils;
 import com.nanometer.smartlab.util.MessageUtil;
+import com.sun.xml.internal.bind.v2.model.core.ID;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.springframework.dao.DataAccessException;
@@ -34,6 +38,20 @@
 
     @Resource(name = "sysWarehouseDao")
     SysWarehouseDao sysWarehouseDao;
+    @Resource
+    DangerousEncodeService dangerousEncodeService;
+    @Resource
+    BaseMetaService baseMetaService;
+    @Resource
+    BaseMetaDao baseMetaDao;
+    @Resource
+    SysReagentService sysReagentService;
+    @Resource
+    OpeReagentStatusService opeReagentStatusService;
+    @Resource
+    OpeUseFlowService opeUseFlowService;
+    @Resource
+    OpeWarehouseReserveService opeWarehouseReserveService;
 
     @Transactional(propagation = Propagation.REQUIRED)
     public List<SysWarehouse> getSysWarehouseList(String type, String name, Integer first, Integer pageSize) {
@@ -170,4 +188,119 @@
     public List<SysWarehouseDto> getWarehouseList() {
         return sysWarehouseDao.selectWarehouse();
     }
+
+    @Override
+    @Transactional
+    public void putInWarehouse(InWarehouseInfoDto inWarehouseInfo) throws Exception {
+        List<String> codes = inWarehouseInfo.getReagentCode();
+        if (codes !=null && codes.size()>0){
+            //
+            codes.forEach(code->{
+             //获取试剂名称码 5到8位
+                String reagentCode = code.substring(4, 8);
+                //获取厂商编码 第3位
+                String factoryCode = code.substring(2, 3);
+                //获取规格  第4位
+                String specificationsCode = code.substring(3, 4);
+                //获取包装  第19位
+                String packingCode = code.substring(18, 19);
+
+                //厂商
+                BaseMeta factory = baseMetaService
+                        .getBaseMeta("encode_replace_"+ReplaceDictType.factory.getKey(), factoryCode,null);
+                //规格
+                BaseMeta specifications = baseMetaService
+                        .getBaseMeta("encode_replace_"+ReplaceDictType.specifications.getKey(), specificationsCode,null);
+                //厂商信息
+                BaseMeta packing= baseMetaService
+                        .getBaseMeta("encode_replace_"+ReplaceDictType.packing.getKey(), packingCode,null);
+
+                //Todo 校验
+                DangerousEncode dangerousEncode = new DangerousEncode();
+                //数据库存储的前缀00空着
+                dangerousEncode.setReagentCode("00"+reagentCode);
+                List<DangerousEncode> dangerousEncodes =
+                        dangerousEncodeService.selectAll(dangerousEncode,null,null);
+
+                String reagentName = dangerousEncodes.get(0).getReagentName();
+                String cas = dangerousEncodes.get(0).getCas();
+                //查找是否存在试剂
+                List<SysReagent> reagent = sysReagentService
+                        .getReagent(reagentName, cas, factory.getId(), specifications.getId(), packing.getId());
+
+                    OpeReagentStatus ors = new OpeReagentStatus();
+                if (reagent != null &&reagent.size()>0){
+                    //存在试剂
+                    String reagentId = reagent.get(0).getId();
+                    ors.setReagentId(reagentId);
+
+                }else{
+                    //试剂不存在
+                    SysReagent sr = new SysReagent();
+                    sr.setId(IDUtils.uuid());
+                    sr.setCas(cas);
+                    sr.setName(reagentName);
+                    sr.setProductHome(factory.getId());
+                    sr.setReagentFormat(specifications.getId());
+                    sr.setReagentUnit(packing.getId());
+                    //设备生成试剂类型 为3
+                    sr.setType(3);
+                    sr.setDangerousFlag(DangerousFlag.NORMAL);
+                    SysReagent sysReagent = sysReagentService.insertSysReagent(sr);
+                    String reagentId = sysReagent.getId();
+                    ors.setReagentId(reagentId);
+                }
+
+                ors.setId(IDUtils.uuid());
+                //入仓库
+                ors.setStatus(ArrivalStatus.WAREHOUSE);
+                //批号
+                ors.setArticleNumber(inWarehouseInfo.getArticleNumber());
+                ors.setValidFlag(ValidFlag.VALID);
+                ors.setContainerId(inWarehouseInfo.getContainerId());
+                ors.setHouseId(inWarehouseInfo.getWarehouseId());
+                ors.setUserId(inWarehouseInfo.getUser());
+                ors.setReagentCode(code);
+                opeReagentStatusService.insertOpeReagentStatus(ors);
+
+                //更新试剂流向
+                OpeUseFlow opeUseFlow = new OpeUseFlow();
+                //入仓库
+                opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
+                opeUseFlow.setContainerId(inWarehouseInfo.getContainerId());
+                opeUseFlow.setHouseId(inWarehouseInfo.getWarehouseId());
+                opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
+                opeUseFlow.setReagentCode(code);
+                //持有者
+                opeUseFlow.setUserId(inWarehouseInfo.getUser());
+                Map<String, String> metaMap = new HashMap<>();
+                metaMap.put("groupId", "operate_status");
+                metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey()));
+                List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
+                opeUseFlow.setOperateState(baseMetaList.get(0).getId());
+                opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+
+                //更新仓库库存
+                // 仓库库存update
+                OpeWarehouseReserve opeWarehouseReserve = opeWarehouseReserveService
+                        .getOpeWarehouseReserve2(ors.getReagentId(), inWarehouseInfo.getArticleNumber(), inWarehouseInfo.getWarehouseId());
+                if (opeWarehouseReserve == null) {
+                    opeWarehouseReserve = new OpeWarehouseReserve();
+                    opeWarehouseReserve.setReagentId(ors.getReagentId());
+                    opeWarehouseReserve.setArticleNumber(inWarehouseInfo.getArticleNumber());
+                    opeWarehouseReserve.setReserve(0);
+                    opeWarehouseReserve.setWarehouseId(inWarehouseInfo.getWarehouseId());
+                }
+                //库存加1
+                opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + 1);
+                if (StringUtils.isBlank(opeWarehouseReserve.getId())) {
+                    this.opeWarehouseReserveService.insertOpeWarehouseReserve(opeWarehouseReserve);
+                } else {
+                    this.opeWarehouseReserveService.updateOpeWarehouseReserve(opeWarehouseReserve);
+                }
+
+            });
+        }
+
+    }
 }
diff --git a/src/main/webapp/warehouse_reagent_use.xhtml b/src/main/webapp/warehouse_reagent_use.xhtml
index b787822..0767d75 100644
--- a/src/main/webapp/warehouse_reagent_use.xhtml
+++ b/src/main/webapp/warehouse_reagent_use.xhtml
@@ -261,7 +261,7 @@
 		</p:column>
 
 		<p:column headerText="包装" width="90px;" style="text-align: center;">
-			<h:outputText value="#{row.mainMetering}" />
+			<h:outputText value="#{row.mainMetering==null?'':row.mainMetering}" />
 		</p:column>
 
 		<p:column headerText="数量" width="90px;" style="text-align: center;">

--
Gitblit v1.9.2