From f5ccc7e9ca548c6bddf51ebe8e943fc09a3b2ff4 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期二, 26 一月 2021 18:12:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/yufei' into master

---
 src/main/webapp/warehouse_reagent_use.xhtml                                      |   37 ++++--
 src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml              |   23 +++-
 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml                       |   24 ++++
 src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.java             |    2 
 src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml                 |    2 
 src/main/webapp/warehouse_reagent_use_person.xhtml                               |   42 +++++---
 src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java             |    9 +
 src/main/java/com/nanometer/smartlab/entity/OpeApply.java                        |   21 ++++
 src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java     |    2 
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   56 +++++++++--
 src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java |   69 +++++++------
 11 files changed, 202 insertions(+), 85 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index c226a40..c7697d0 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -1,15 +1,12 @@
 package com.nanometer.smartlab.controller;
 
+import com.nanometer.smartlab.dao.BaseMetaDao;
 import com.nanometer.smartlab.dao.OpeApplyDao;
 import com.nanometer.smartlab.dao.OpeReagentStatusDao;
 import com.nanometer.smartlab.dao.OpeWarehouseReserveDao;
 import com.nanometer.smartlab.entity.*;
 import com.nanometer.smartlab.entity.dto.ApplyListDto;
-import com.nanometer.smartlab.entity.enumtype.ApplyStatusVo;
-import com.nanometer.smartlab.entity.enumtype.ApplyStatus;
-import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
-import com.nanometer.smartlab.entity.enumtype.SeeFlag;
-import com.nanometer.smartlab.entity.enumtype.ValidFlag;
+import com.nanometer.smartlab.entity.enumtype.*;
 import com.nanometer.smartlab.exception.BusinessException;
 import com.nanometer.smartlab.exception.ExceptionEnumCode;
 import com.nanometer.smartlab.service.*;
@@ -74,6 +71,8 @@
 	private SysSupplierService sysSupplierService;
 	@Resource
 	private OpeOrderService opeOrderService;
+	@Resource
+	private BaseMetaDao baseMetaDao;
 
 	@Resource
 	private MenuController menuController;
@@ -1148,7 +1147,7 @@
 				this.opeWarehouseReserveService.reagentDStore3(opeList,userId);
 
 				//扣库存
-				opeWarehouseReserveService.btWarehouseReserveReduce(list2);
+				opeWarehouseReserveService.btWarehouseReserveReduce(list2,userId);
 			}
 
 			for(int i=0;i<list2.size();i++){
@@ -1199,6 +1198,9 @@
 			printTable.put("phone", applyPersonInfo.get("phone"));
 			String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
 			printTable.put("receiptNumber", receiptNum);
+			printTable.put("project", applyPersonInfo.get("project"));
+			SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId);
+			printTable.put("lab", lab.getName());
 			this.receiptNumber = receiptNum;
 			for (OpeApplyReserve oar : selectedTmpOrderList) {
 				ApplyListDto lis = new ApplyListDto();
@@ -1445,9 +1447,11 @@
 			printTable.put("department", applyPersonInfo.get("meta_value"));
 			printTable.put("date", Utils.now("yyyy-MM-dd"));
 			printTable.put("phone", applyPersonInfo.get("phone"));
-
+			printTable.put("project", applyPersonInfo.get("project"));
+			SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId);
 			String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
 			printTable.put("receiptNumber", receiptNum);
+			printTable.put("lab", lab.getName());
 			this.receiptNumber = receiptNum;
 
 			//int size = 0;
@@ -1545,8 +1549,38 @@
 				}
 				this.opeWarehouseReserveService.reagentDStore4(opeList,userId);
 				for(int i=0;i<list2.size();i++){
+
+					List<String> reagentCodes = opeReagentStatusService
+							.generateReagentCode(list2.get(i).getStartReagentCode2(), list2.get(i).getEndReagentCode2());
+					Integer selectNum = list2.get(i).getSelectNum();
+					for (int j = 0;j<selectNum;j++){
+						// 试剂使用情况入库insert
+						OpeUseFlow opeUseFlow = new OpeUseFlow();
+						opeUseFlow.setReagentCode(reagentCodes.get(0));
+						opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
+						//仓库信息
+						List<OpeWarehouseReserve> warehouseReserveInfo = opeWarehouseReserveService
+								.selectWarehouseByRidAndArticleNumberAndWarehouse(list2.get(i).getReagent().getId()
+										, list2.get(i).getArticleNumber()
+										, list2.get(i).getWarehouseId());
+						opeUseFlow.setHouseId(list2.get(i).getWarehouseId());
+						opeUseFlow.setContainerId(warehouseReserveInfo.get(0).getContainerId());
+						opeUseFlow.setCreateTime(warehouseReserveInfo.get(0).getUpdateTime());
+						opeUseFlow.setUserId(userId);
+						opeUseFlow.setRemainder(list2.get(i).getReagent().getMainMetering()!=null?list2.get(i).getReagent().getMainMetering():new BigDecimal(0));
+						opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
+
+						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());
+						this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+						reagentCodes.remove(0);
+					}
+
 					list2.get(i).setReserve(list2.get(i).getReserve()-list2.get(i).getSelectNum());
-					opeWarehouseReserveDao.updateOpeWarehouseReserve(list2.get(i));
+					opeWarehouseReserveDao.updateOpeWarehouseReserve2(list2.get(i));
 				}
 
 
@@ -2659,8 +2693,9 @@
 				//{
 				//	this.oriLaboratoryId = this.laboratory.get(0).getId();
 				//}
-				this.laboratoryId=this.laboratory.get(0).getId();
-				this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(this.laboratory.get(0).getId());
+
+				this.laboratoryId= laboratoryId==null?this.laboratory.get(0).getId():laboratoryId;
+				this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
 			}else {
 				this.oriLaboratoryId = null;
 				this.laboratoryContainers = null;
@@ -2699,6 +2734,7 @@
 	}
 
 	public String getLaboratoryContainerId() {
+
 		return laboratoryContainerId;
 	}
 
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
index e1e86dc..17ab524 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
@@ -223,7 +223,6 @@
     from ope_reagent_status as oa
    <include refid="queryJoins3"/>
     where oa.valid_flag = 1
-    	  and (oa.status = -1 or oa.status = 0 )
     <include refid="queryWhereSql3"/>
 	<if	test="applyPerson != null and applyPerson != ''"  >
 		and su.name like concat("%",#{applyPerson},"%")
@@ -263,7 +262,6 @@
    <include refid="queryJoins2"/>
    left  join sys_user su on su.id = oa.user_id
     where oa.valid_flag = 1
-   		 and (oa.status = -1 or oa.status = 0 )
     <include refid="queryWhereSql2"/>
 	  <if	test="applyPerson != null and applyPerson != ''"  >
 		  and su.name like concat("%",#{applyPerson},"%")
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
index 533c5fd..d0b9b40 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -116,9 +116,29 @@
 	</sql>
 
 	<select id="getOpeUseFlowList" parameterType="java.util.Map" resultMap="OpeUseFlow">
-	    <include refid="queryColumns"/>
+        select oa.*,
+        sr.*,
+        ors.article_number as articleNumber,
+        sr.id as reagentId,
+        su.name as userName,
+        ss.name as supplierName,
+        l.name as laboratoryName,
+        w.name as warehouseName,
+        lc.name as warehouseContainerName,
+        wc.name as laboratoryContainerName,
+        lc.container_code as warehouseContainerCode,
+        wc.container_code as laboratoryContainerCode,
+        bm1.meta_value as operatestateName
 	    from ope_use_flow as oa
-	   <include refid="queryJoins"/>
+        left join ope_reagent_status ors on ors.reagent_code = oa.reagent_code
+        left join sys_reagent sr on ors.reagent_id = sr.id
+        left join sys_supplier as ss on sr.supplier_id = ss.id
+        left join sys_user as su on oa.user_id = su.id
+        left join sys_warehouse_container wc on wc.id = oa.container_id
+        left join sys_warehouse w on w.id = wc.warehouse_id
+        left join sys_laboratory_container lc on lc.id = oa.container_id
+        left join sys_laboratory l on l.id = lc.laboratory_id
+        left join base_meta bm1 on bm1.id = oa.operatestate
 	    where oa.valid_flag = 1
 	    <include refid="queryWhereSql"/>
    		order by oa.create_time desc
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.java b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.java
index b8b67db..5c2db61 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.java
@@ -24,6 +24,8 @@
 
     int updateOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve);
 
+    int updateOpeWarehouseReserve2(OpeWarehouseReserve opeWarehouseReserve);
+
     OpeWarehouseReserve getOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve);
 
     List<OpeWarehouseReserve> selectByReId(String id);
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
index 36ae49e..e1377d9 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
@@ -7,6 +7,7 @@
     <result property="reserve" column="reserve"></result>
     <result property="updateTime" column="update_time"></result>
       <result property="warehouseId" column="warehouseId"></result>
+      <result property="containerId" column="container_id"></result>
       <result property="warehouseName" column="warehouseName"></result>
     <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
 
@@ -102,12 +103,12 @@
   </select>
 
     <insert id="insertOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
-        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId)
-        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId})
+        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,container_id)
+        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{containerId})
     </insert>
     <insert id="insertOpeWarehouseReserve2" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
-        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,apply_code,order_code)
-        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{applyCode},#{orderCode})
+        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,apply_code,order_code,container_id)
+        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{applyCode},#{orderCode},#{containerId})
     </insert>
 
     <update id="updateOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
@@ -122,9 +123,19 @@
             <if test="warehouseId != null and warehouseId !=''">
                 warehouseId=#{warehouseId},
             </if>
+            <if test="containerId != null and containerId !=''">
+                container_id=#{containerId},
+            </if>
         </set>
         where id=#{id}
     </update>
+
+    <update id="updateOpeWarehouseReserve2" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
+        update ope_warehouse_reserve
+         set reserve=#{reserve}
+        where id=#{id}
+    </update>
+
 
     <select id="selectByReId" resultMap="OpeWarehouseReserve">
         select * from ope_warehouse_reserve where reagent_id=#{id}
@@ -161,7 +172,9 @@
         owr.warehouseId,
         sw.NAME warehouseName,
         owr.reserve,
-        owr.article_number
+        owr.article_number,
+        owr.container_id,
+        owr.update_time
         FROM
         ope_warehouse_reserve owr
         LEFT JOIN sys_warehouse sw ON sw.id = owr.warehouseId
diff --git a/src/main/java/com/nanometer/smartlab/entity/OpeApply.java b/src/main/java/com/nanometer/smartlab/entity/OpeApply.java
index c35ed83..e2eba2e 100644
--- a/src/main/java/com/nanometer/smartlab/entity/OpeApply.java
+++ b/src/main/java/com/nanometer/smartlab/entity/OpeApply.java
@@ -99,6 +99,9 @@
     private BigDecimal applyPrice;
     private int stockFlag;
     private String stockFlagValue;
+    //用于存放仓库 和仓库货柜的id
+    private String warehouseId;
+    private String warehouseContainerId;
 
     public String getStockFlagValue() {
         return stockFlagValue;
@@ -356,7 +359,23 @@
 		this.ownerDepartment = ownerDepartment;
 	}
 
-	@Override
+    public String getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(String warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public String getWarehouseContainerId() {
+        return warehouseContainerId;
+    }
+
+    public void setWarehouseContainerId(String warehouseContainerId) {
+        this.warehouseContainerId = warehouseContainerId;
+    }
+
+    @Override
 	public int compareTo(OpeApply o) {
         if(this.projectOwner == null || o.getProjectOwner() == null){
             return 1;
diff --git a/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java b/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java
index 84f2322..5fcd8a3 100644
--- a/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java
+++ b/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java
@@ -30,6 +30,9 @@
     private String endReagentCode2;
     private String applyCode;
     private String orderCode;
+    //新增 货柜id
+    private String containerId;
+
 
     /**
      * 补贴条码的暂存领用数量
@@ -189,5 +192,11 @@
         this.useNum = useNum;
     }
 
+    public String getContainerId() {
+        return containerId;
+    }
 
+    public void setContainerId(String containerId) {
+        this.containerId = containerId;
+    }
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java
index 71b4738..07a1fdd 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java
@@ -42,7 +42,7 @@
 
 	List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(String id,String articleNumber,boolean flag);
 
-	void btWarehouseReserveReduce(List<OpeApplyReserve> opeList);
+	void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId);
 
 	List<OpeWarehouseReserve> selectWarehouseByRidAndArticleNumberAndWarehouse(String id, String articleNumber, String warehouseId);
 
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
index a0deb2c..c26f32f 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -508,23 +508,7 @@
 					opeReagentStatus.setStoreType(StoreType.DIRECTSTORE);
 					this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus);
 
-					// 试剂使用情况入库insert
-					OpeUseFlow opeUseFlow = new OpeUseFlow();
-					opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode());
-					opeUseFlow.setStatus(opeReagentStatus.getStatus());
-					opeUseFlow.setHouseId(opeReagentStatus.getHouseId());
-					opeUseFlow.setContainerId(opeReagentStatus.getContainerId());
-					opeUseFlow.setUserId(opeReagentStatus.getUserId());
-					opeUseFlow.setPlace(opeReagentStatus.getPlace());
-					opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0));
-					opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
 
-					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());
-					this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
 					// 试剂使用情况领用insert
 					OpeUseFlow ouf=new OpeUseFlow();
 					ouf.setReagentCode(opeReagentStatus.getReagentCode());
@@ -572,23 +556,7 @@
 					opeReagentStatus.setStoreType(StoreType.DIRECTSTORE);
 					this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus);
 
-					// 试剂使用情况入库insert
-					OpeUseFlow opeUseFlow = new OpeUseFlow();
-					opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode());
-					opeUseFlow.setStatus(opeReagentStatus.getStatus());
-					opeUseFlow.setHouseId(opeReagentStatus.getHouseId());
-					opeUseFlow.setContainerId(opeReagentStatus.getContainerId());
-					opeUseFlow.setUserId(opeReagentStatus.getUserId());
-					opeUseFlow.setPlace(opeReagentStatus.getPlace());
-					opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0));
-					opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
 
-					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());
-					this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
 					// 试剂使用情况领用insert
 					OpeUseFlow ouf=new OpeUseFlow();
 					ouf.setReagentCode(opeReagentStatus.getReagentCode());
@@ -637,6 +605,8 @@
 			ope.setReserve(opeApplyReserve.getArrivalNum());
 			//仓库
 			ope.setWarehouseId(opeApplyReserve.getHouseId());
+			//仓库的货柜号
+			ope.setContainerId(opeApplyReserve.getContainerId());
 			//试剂
 			ope.setReagentId(opeApplyReserve.getReagent().getId());
 			//订单编号
@@ -705,13 +675,13 @@
 	}
 
 	@Override
-	public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) {
+	public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId) {
 		if (opeList.size() < 1) {
 			return;
 		}
 		for (OpeApplyReserve oar : opeList) {
 			String reagentId = oar.getReagent().getId();
-
+			List<String> reagentCodes = new ArrayList<>(oar.getReagentCode());
 			//开始库存扣除
 			List<OpeWarehouseReserve> cacheUpdateList = oar.getCacheUpdateList();
 			for (OpeWarehouseReserve owr : cacheUpdateList) {
@@ -719,6 +689,7 @@
 				List<OpeWarehouseReserve> reserveList = opeWarehouseReserveService
 						.selectWarehouseByRidAndArticleNumberAndWarehouse(reagentId, owr.getArticleNumber(), owr.getWarehouseId());
 				Integer numLeave = owr.getUseNum();
+
 				for (OpeWarehouseReserve warehouseReserve:reserveList){
 					//库存大于剩余领用-》直接扣完
 					int usedNum = 0;
@@ -731,6 +702,35 @@
 					//	warehouseReserve.setReserve(0);
 						usedNum =  warehouseReserve.getReserve();
 					}
+
+					//更新流向,加入一条
+					if (usedNum > 0) {
+						for (int i = 0; i < usedNum; i++) {
+							// 试剂使用情况入库insert TODO 流向需要当时的时间和地点
+							OpeUseFlow opeUseFlow = new OpeUseFlow();
+							opeUseFlow.setReagentCode(reagentCodes.get(0));
+							opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
+							opeUseFlow.setUserId(userId);
+							//仓库地点
+							opeUseFlow.setHouseId(warehouseReserve.getWarehouseId());
+							opeUseFlow.setContainerId(warehouseReserve.getContainerId());
+							opeUseFlow.setRemainder(oar.getReagent().getMainMetering()!=null?oar.getReagent().getMainMetering():new BigDecimal(0));
+							//入库时间
+							opeUseFlow.setCreateTime(warehouseReserve.getUpdateTime());
+							opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
+
+							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());
+							this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+							reagentCodes.remove(0);
+						}
+
+					}
+
+					
 					//更新库存
 					opeWarehouseReserveService.updateBtReserve(warehouseReserve.getId(),usedNum);
 					if (numLeave < 1) {
@@ -826,6 +826,7 @@
                 opeWarehouseReserve.setArticleNumber(opeApply.getArticleNumber());
                 opeWarehouseReserve.setReserve(0);
                 opeWarehouseReserve.setWarehouseId(opeApply.getHouseId());
+                opeWarehouseReserve.setContainerId(opeApply.getContainerId());
             }
             opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum());
             if (StringUtils.isBlank(opeWarehouseReserve.getId())) {
diff --git a/src/main/webapp/warehouse_reagent_use.xhtml b/src/main/webapp/warehouse_reagent_use.xhtml
index 504a5eb..5232d75 100644
--- a/src/main/webapp/warehouse_reagent_use.xhtml
+++ b/src/main/webapp/warehouse_reagent_use.xhtml
@@ -205,44 +205,53 @@
 
 	<p:dialog id="apply-ui" header="领用单" widgetVar="printDialog" appendTo="@(body)" modal="true" resizable="false">
 		<div id="printTarget">
-			<div style=" margin: 10mm 10mm 0mm 2mm;">
-		<h:form id="printDialog">
+			<div style="margin: 11mm 27mm 0mm 30mm;">
+		<h:form id="printDialog" style="width: 1100px">
 
 			<p:outputPanel style="text-align: center;font-size: 14px;font-weight: 700;">#{warehouseStockMngController.printTable['head']}</p:outputPanel>
 			<p:outputPanel style="text-align: center;font-size: 15px;margin: 20px;font-weight: 700;">#{warehouseStockMngController.printTable['title']}</p:outputPanel>
-				<div>
-					<div style="display: flex;flex-direction: row;justify-content: flex-end;">
-						<div style="width: 100px;">单据编号:</div>
-						<div style="width: 300px;">
-							<p:inputText value="#{warehouseStockMngController.receiptNumber}" valueChangeListener="#{warehouseStockMngController.receiptNumberChange}">
+			<div>
+				<div style="display: flex;flex-direction: row;justify-content: flex-end;width: 1081px;">
+					<div style="width: 98px;">单据编号:</div>
+					<div style="width:183px;">
+						<!--                                <input style="border: 0;" value="#{warehouseStockMngController.printTable['receiptNumber']}"/>-->
+						<p:inputText value="#{warehouseStockMngController.receiptNumber}" valueChangeListener="#{warehouseStockMngController.receiptNumberChange}">
 							<p:ajax event="valueChange" listener="#{warehouseStockMngController.receiptNumberChange()}"  />
-						</p:inputText></div>
+						</p:inputText>
 					</div>
 				</div>
+			</div>
 
 			<div style="margin: 10px 0;">
 				<div style="display: inline-flex;">
 					<div style="width: 100px;margin-left: 10px;">部门:</div>
 					<div style="width: 300px;">#{warehouseStockMngController.printTable['department']}</div>
 				</div>
+				<div style="display: inline-flex;">
+					<div style="width: 100px;">申购人:</div>
+					<div style="width: 200px;padding-top: 1px;">#{warehouseStockMngController.printTable['applyPerson']}</div>
+				</div>
 				<div style="display: inline-flex;float: right;">
 					<div style="width: 100px;">日期:</div>
-					<div style="width: 300px;padding-top: 1px;"><input style="border: 0;" value="#{warehouseStockMngController.printTable['date']}"/></div>
+					<div style="width: 200px;padding-top: 1px;"><input style="border: 0;" value="#{warehouseStockMngController.printTable['date']}"/></div>
 				</div>
 			</div>
 
 			<div style="margin-bottom: 20px;">
 				<div style="display: inline-flex;">
-					<div style="width: 100px;margin-left: 10px;">申购人:</div>
-					<div style="width: 300px;">#{warehouseStockMngController.printTable['applyPerson']}</div>
+					<div style="width: 100px;margin-left: 10px;">课题组</div>
+					<div style="width: 300px;">#{warehouseStockMngController.printTable['project']}</div>
+				</div>
+				<div style="display: inline-flex;">
+					<div style="width: 100px;">使用地点:</div>
+					<div style="width: 200px;padding-top: 1px;">#{warehouseStockMngController.printTable['lab']}</div>
 				</div>
 				<div style="display: inline-flex;float: right;">
 					<div style="width: 100px;">联系方式:</div>
-					<div style="width: 300px;">
+					<div style="width: 200px;">
 						<input style="border: 0;" value="#{warehouseStockMngController.printTable['phone']}"/></div>
 				</div>
 			</div>
-
 
 
 
@@ -264,7 +273,7 @@
 		</p:column>
 
 		<p:column headerText="包装" width="90px;" style="text-align: center;">
-			<h:outputText value="#{row.mainMetering==null?'':row.mainMetering}" />
+			<h:outputText value="#{row.mainMetering==null?'':row.mainMetering.replace('null','')}" />
 		</p:column>
 
 		<p:column headerText="数量" width="90px;" style="text-align: center;">
diff --git a/src/main/webapp/warehouse_reagent_use_person.xhtml b/src/main/webapp/warehouse_reagent_use_person.xhtml
index 9214833..bfdf613 100644
--- a/src/main/webapp/warehouse_reagent_use_person.xhtml
+++ b/src/main/webapp/warehouse_reagent_use_person.xhtml
@@ -115,15 +115,15 @@
 	</h:form>
 	<p:dialog id="apply-ui" header="领用单" widgetVar="printDialog" appendTo="@(body)" modal="true" resizable="false">
 		<div id="printTarget">
-			<div style=" margin: 10mm 10mm 0mm 2mm;">
-				<h:form id="printDialog">
+			<div style=" margin: 11mm 27mm 0mm 30mm;">
+				<h:form id="printDialog" style="width: 1100px">
 
 					<p:outputPanel style="text-align: center;font-size: 14px;font-weight: 700;">#{warehouseStockMngController.printTable['head']}</p:outputPanel>
 					<p:outputPanel style="text-align: center;font-size: 15px;margin: 20px;font-weight: 700;">#{warehouseStockMngController.printTable['title']}</p:outputPanel>
 					<div>
-						<div style="display: flex;flex-direction: row;justify-content: flex-end;">
-							<div style="width: 100px;">单据编号:</div>
-							<div style="width: 300px;">
+						<div style="display: flex;flex-direction: row;justify-content: flex-end;width: 1081px;">
+							<div style="width: 98px;">单据编号:</div>
+							<div style="width: 183px;">
 <!--                                <input style="border: 0;" value="#{warehouseStockMngController.printTable['receiptNumber']}"/>-->
                                 <p:inputText value="#{warehouseStockMngController.receiptNumber}" valueChangeListener="#{warehouseStockMngController.receiptNumberChange}">
 									<p:ajax event="valueChange" listener="#{warehouseStockMngController.receiptNumberChange()}"  />
@@ -137,20 +137,28 @@
 							<div style="width: 100px;margin-left: 10px;">部门:</div>
 							<div style="width: 300px;">#{warehouseStockMngController.printTable['department']}</div>
 						</div>
+						<div style="display: inline-flex;">
+							<div style="width: 100px;">申购人:</div>
+							<div style="width: 200px;padding-top: 1px;">#{warehouseStockMngController.printTable['applyPerson']}</div>
+						</div>
 						<div style="display: inline-flex;float: right;">
 							<div style="width: 100px;">日期:</div>
-							<div style="width: 300px;padding-top: 1px;"><input style="border: 0;" value="#{warehouseStockMngController.printTable['date']}"/></div>
+							<div style="width: 200px;padding-top: 1px;"><input style="border: 0;" value="#{warehouseStockMngController.printTable['date']}"/></div>
 						</div>
 					</div>
 
 					<div style="margin-bottom: 20px;">
 						<div style="display: inline-flex;">
-							<div style="width: 100px;margin-left: 10px;">申购人:</div>
-							<div style="width: 300px;">#{warehouseStockMngController.printTable['applyPerson']}</div>
+							<div style="width: 100px;margin-left: 10px;">课题组</div>
+							<div style="width: 300px;">#{warehouseStockMngController.printTable['project']}</div>
+						</div>
+						<div style="display: inline-flex;">
+							<div style="width: 100px;">使用地点:</div>
+							<div style="width: 200px;padding-top: 1px;">#{warehouseStockMngController.printTable['lab']}</div>
 						</div>
 						<div style="display: inline-flex;float: right;">
 							<div style="width: 100px;">联系方式:</div>
-							<div style="width: 300px;">
+							<div style="width: 200px;">
 								<input style="border: 0;" value="#{warehouseStockMngController.printTable['phone']}"/></div>
 						</div>
 					</div>
@@ -176,7 +184,7 @@
 						</p:column>
 
 						<p:column headerText="包装" width="90px;" style="text-align: center;">
-							<h:outputText value="#{row.mainMetering==null?'':row.mainMetering}" />
+							<h:outputText value="#{row.mainMetering==null?'':row.mainMetering.replace('null','')}" />
 						</p:column>
 
 						<p:column headerText="数量" width="90px;" style="text-align: center;">
@@ -188,17 +196,17 @@
 						</p:column>
 					</p:dataTable>
 
-					<div style="margin-top: 20px;">
+					<div style="margin-top: 20px;margin-right: 94px;">
 						<div style="display: flex;flex-direction: row;justify-content: flex-end;">
 							<div style="width: 100px">签收人:</div>
-							<div style="width: 300px"></div>
+							<div style="width: 100px"></div>
 						</div>
 					</div>
 
-					<div style="margin: 10px 0">
+					<div style="margin: 10px 94px 10px 0;">
 						<div style="display: flex;flex-direction: row;justify-content: flex-end;">
 							<div style="width: 100px">日期:</div>
-							<div style="width: 300px"></div>
+							<div style="width: 100px"></div>
 						</div>
 					</div>
 
@@ -237,7 +245,7 @@
 		</div>
 	</p:dialog>
 	<p:dialog modal="true" header="领用详情" appendTo="@(body)" id="reagentCodeDialogForPerson"
-		widgetVar="reagentCodeDialogForPerson" resizable="false" width="930" class="ui-dialog">
+		widgetVar="reagentCodeDialogForPerson" resizable="false" width="1000" class="ui-dialog">
 		<p:tabView dynamic="true" style="margin-left: 26px">
 			<p:tab title="补贴条码" id="applyInOrder">
 				<h:form id="reagentCodeDialogForm2">
@@ -265,13 +273,15 @@
 													 minValue="0" decimalPlaces="0"
 													 required="true" requiredMessage="请输入领用数量" id="useNum"/>
 							<p:column>
+								<p:panel styleClass="btn" style="text-align: right">
 							  <p:commandButton value="添加"
 											   process="@this,useNum"
 											   styleClass="yes-btn"
 											   actionListener="#{warehouseStockMngController.add2()}"
 											   update="@(.reagentCode),endReagentCode"
-											   style="position: relative;left: 20px;width: 58px;height: 34px;">
+											   style="position: relative;left: -8px;width: 62px;height: 34px;font-size: 12px;background-color: #ee7135">
 							  </p:commandButton>
+								</p:panel>
 							</p:column>
 					</p:panelGrid>
 					<p:separator style="margin: 15px"/>

--
Gitblit v1.9.2