From 1cbac7aa20a183a9a893651bf0cef24b1909eb5c Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 01 二月 2021 10:19:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/yufei' into master

---
 src/main/java/com/nanometer/smartlab/service/OpeApplyService.java                |    4 
 src/main/webapp/warehouse_reagent_use.xhtml                                      |    2 
 src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml              |   13 ++-
 src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java        |    1 
 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml                       |   27 ++++++
 src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml                         |   20 +++++
 src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java   |   13 ++
 src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java             |    9 ++
 src/main/webapp/warehouse_stock_mng.xhtml                                        |   19 ++++
 src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java            |   10 +-
 src/main/webapp/approval_mng.xhtml                                               |    6 
 src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java              |    6 +
 src/main/webapp/warehouse_reagent_use_person.xhtml                               |    2 
 src/main/webapp/personal_use_info.xhtml                                          |   13 ++
 src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java     |    4 
 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java                      |    2 
 src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java          |   28 ++++++
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   47 ++++++++++-
 src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java |    9 +
 19 files changed, 198 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
index bd1da35..72494d8 100644
--- a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
@@ -54,6 +54,7 @@
 	 */
 	private LazyDataModel<OpeReagentStatus> dataModel;
 	private String reagentId;
+    private String reagentName;
 	private String reagentCode;
 	private String applyPerson;
 	private Date startTime;
@@ -244,11 +245,11 @@
 												   Map<String, Object> filters) {
 					List<OpeUseFlow> list = null;
 					try {
-						int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project);
+						int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project,applyPerson,reagentName);
 						this.setRowCount(count);
 						if (count > 0) {
 							list = opeUseFlowService.getPersonalUseInfoList
-									(reagentCode,  getUserId(),startTime,endTime ,receiptNumber,department,project,first,pageSize);
+									(reagentCode,  getUserId(),startTime,endTime ,receiptNumber,department,project,applyPerson,reagentName,first,pageSize);
 						}
 					} catch (Exception e) {
 						logger.error(e);
@@ -365,4 +366,12 @@
 	public void setPrintTable(Hashtable printTable) {
 		this.printTable = printTable;
 	}
+
+    public String getReagentName() {
+        return reagentName;
+    }
+
+    public void setReagentName(String reagentName) {
+        this.reagentName = reagentName;
+    }
 }
diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index beca0e3..008d127 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -166,6 +166,7 @@
 	private String warehouseName;
 
 	private Integer editFlag;
+	private Integer isAllApply = 0;
 	private StreamedContent file;
 	@Value("${pdf.export.file.path}")
 	private String pdfExportFilePath;
@@ -1148,7 +1149,7 @@
 				this.opeWarehouseReserveService.reagentDStore3(opeList,userId);
 
 				//扣库存
-				opeWarehouseReserveService.btWarehouseReserveReduce(list2,userId);
+				opeWarehouseReserveService.btWarehouseReserveReduce(list2);
 			}
 
 			for(int i=0;i<list2.size();i++){
@@ -1248,11 +1249,37 @@
 
 	}
 
+	/**
+	 * 点击打印  关联所有流向和领用单号e
+	 */
+
+
 	public void associatedFlowReceiptNumber2() {
 		try {
 			opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber);
 			//弹出打印窗口
 			RequestContext.getCurrentInstance().execute("document.getElementById('indirectPrint').click()");
+		} catch (Exception e) {
+			logger.info(e.getMessage());
+		}
+
+	}
+
+
+	public void closeDialog() {
+		try {
+			opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber);
+			onCancelBtnClick();
+		} catch (Exception e) {
+			logger.info(e.getMessage());
+		}
+
+	}
+
+	public void closeDialog2() {
+		try {
+			opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber);
+			onCancelBtnClick();
 		} catch (Exception e) {
 			logger.info(e.getMessage());
 		}
@@ -1567,7 +1594,7 @@
 						opeUseFlow.setHouseId(list2.get(i).getWarehouseId());
 						opeUseFlow.setContainerId(warehouseReserveInfo.get(0).getContainerId());
 						opeUseFlow.setCreateTime(warehouseReserveInfo.get(0).getUpdateTime());
-						opeUseFlow.setUserId(userId);
+						opeUseFlow.setUserId(warehouseReserveInfo.get(0).getUserId());
 						opeUseFlow.setRemainder(list2.get(i).getReagent().getMainMetering()!=null?list2.get(i).getReagent().getMainMetering():new BigDecimal(0));
 						opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
 
@@ -1709,11 +1736,11 @@
 					}
 
 					try {
-						int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id,reagentId, userName,productSn,applyCode,status);
+						int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply);
 						this.setRowCount(count);
 						if (count > 0) {
-							list = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, first,
-									pageSize,productSn,applyCode,status);
+							list = opeApplyService.getOpeApplyReserveListByNameFor(id, reagentId, userName, first,
+									pageSize, productSn, applyCode, status, isAllApply);
 						}
 					} catch (Exception e) {
 						logger.error(e);
@@ -1818,7 +1845,7 @@
 				realDataList=selectedListForPerson;
 			}else {
 				realDataList = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, null,
-						null,productSn,applyCode,status);
+						null,productSn,applyCode,status,isAllApply);
 			}
 			List<String> headerList = new ArrayList<>();
 			headerList.add("申购编号");
@@ -3011,4 +3038,12 @@
 	public void setWarehouseName(String warehouseName) {
 		this.warehouseName = warehouseName;
 	}
+
+	public Integer getIsAllApply() {
+		return isAllApply;
+	}
+
+	public void setIsAllApply(Integer isAllApply) {
+		this.isAllApply = isAllApply;
+	}
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
index b55d128..cda1831 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
@@ -360,6 +360,16 @@
         LEFT JOIN sys_user as su1 on su1.id = project.sys_user_id
         where oa.valid_flag = 1 and (oa.status=4 or oa.status=6)
         <include refid="getOpeApplyReserveList_queryWhereSql" />
+        <if test="isAllApply != null">
+            <choose>
+                <when test="isAllApply == 1">
+                    and oa.used = oa.num
+                </when>
+                <otherwise>
+                    and oa.used != oa.num
+                </otherwise>
+            </choose>
+        </if>
         GROUP BY oa.id
         )as oaa
     </select>
@@ -415,6 +425,16 @@
         LEFT JOIN sys_user as su1 on su1.id = project.sys_user_id
         where oa.valid_flag = 1 and (oa.status=4 or oa.status=6)
         <include refid="getOpeApplyReserveList_queryWhereSql" />
+        <if test="isAllApply != null">
+            <choose>
+                <when test="isAllApply == 1">
+                    and oa.used = oa.num
+                </when>
+                <otherwise>
+                    and oa.used != oa.num
+                </otherwise>
+            </choose>
+        </if>
         GROUP BY oa.id
         order by oa.update_time desc
         <if test="first != null and pageSize != null">
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java
index 352e62f..629acdf 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java
@@ -42,4 +42,6 @@
     List<OpeUseFlow> selectPersonalUseInfo(Map params);
 
     List<PersonUseDetail> getApplyInfo(Map params);
+
+    int getApplyInfoSize(Map params);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
index 89ad484..6e1b950 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -216,6 +216,12 @@
         <if test="receiptNumber !=null and receiptNumber != ''">
             and ouf.receipt_number like concat("%",#{receiptNumber},"%")
         </if>
+        <if test="reagentName !=null and reagentName != ''">
+            and sr.name like concat("%",#{reagentName},"%")
+        </if>
+        <if test="applyPerson !=null and applyPerson != ''">
+            and su.name like concat("%",#{applyPerson},"%")
+        </if>
         group by ouf.receipt_number) a
 
 
@@ -262,6 +268,12 @@
         <if test="receiptNumber !=null and receiptNumber != ''">
             and ouf.receipt_number like concat("%",#{receiptNumber},"%")
         </if>
+        <if test="reagentName !=null and reagentName != ''">
+            and sr.name like concat("%",#{reagentName},"%")
+        </if>
+        <if test="applyPerson !=null and applyPerson != ''">
+            and su.name like concat("%",#{applyPerson},"%")
+        </if>
         group by ouf.receipt_number
         ORDER BY ouf.create_time desc
         <if test="first != null and pageSize != null">
@@ -290,6 +302,21 @@
         and ouf.receipt_number = #{receiptNumber}
     </select>
 
+
+    <select id="getApplyInfoSize" resultType="java.lang.Integer">
+        SELECT
+        count(0)
+        from `ope_use_flow` ouf
+        LEFT JOIN ope_reagent_status ors ON ors.reagent_code = ouf.reagent_code
+        LEFT join sys_reagent sr ON ors.reagent_id = sr.id
+        LEFT JOIN base_meta bm ON bm.id = sr.reagent_format
+        LEFT JOIN base_meta bm1 on bm1.id = sr.reagent_unit
+        LEFT JOIN base_meta bm2 on bm2.id = sr.product_home
+        LEFT JOIN base_meta bm3 on bm3.id = sr.control_products
+        WHERE ouf.operatestate = #{operatestate}
+        and ouf.receipt_number = #{receiptNumber}
+    </select>
+
     <insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow">
     insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate)
     values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState})
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
index 060936f..4522bcc 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
@@ -12,6 +12,7 @@
     <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
 
     <result property="reagentId" column="reagent_id"></result>
+    <result property="userId" column="user_id"></result>
     <association property="reagent" javaType="com.nanometer.smartlab.entity.SysReagent">
       	<id property="id" column="reagentId"/>
 	    <result property="name" column="name"></result>
@@ -106,12 +107,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,container_id)
-        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{containerId})
+        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,container_id,user_id)
+        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{containerId},#{userId})
     </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,container_id)
-        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{applyCode},#{orderCode},#{containerId})
+        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,apply_code,order_code,container_id,user_id)
+        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{applyCode},#{orderCode},#{containerId},#{userId})
     </insert>
 
     <update id="updateOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
@@ -128,6 +129,9 @@
             </if>
             <if test="containerId != null and containerId !=''">
                 container_id=#{containerId},
+            </if>
+            <if test="userId != null and userId !=''">
+                user_id=#{userId},
             </if>
         </set>
         where id=#{id}
@@ -176,6 +180,7 @@
         owr.reserve,
         owr.article_number,
         owr.container_id,
+        owr.user_id,
         owr.update_time
         FROM
         ope_warehouse_reserve owr
diff --git a/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java b/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java
index 5fcd8a3..a53e795 100644
--- a/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java
+++ b/src/main/java/com/nanometer/smartlab/entity/OpeWarehouseReserve.java
@@ -32,6 +32,7 @@
     private String orderCode;
     //新增 货柜id
     private String containerId;
+    private String userId;
 
 
     /**
@@ -199,4 +200,12 @@
     public void setContainerId(String containerId) {
         this.containerId = containerId;
     }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
index 7369cb2..63b4259 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
@@ -55,9 +55,9 @@
 	int getOpeApplyReserveTotalCountByName(String id,String reagentName, String personName);
 	List<OpeApplyReserve> getOpeApplyReserveListByName(String id,String reagentName, String personName, Integer first,
 			Integer pageSize);
-    int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status);
+    int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status,Integer isAllApply);
     List<OpeApplyReserve> getOpeApplyReserveListByNameFor(String id,String reagentName, String personName, Integer first,
-                                                       Integer pageSize,String productSn,String applyCode,Integer status);
+                                                       Integer pageSize,String productSn,String applyCode,Integer status,Integer isAllApply);
 	public boolean updaetOpeApplyPrice(BigDecimal applyPrice,String id);
 	public boolean updaetOpeApplyStockFlag(int stockFlag,String id);
 	public boolean cancelApply(ApplyStatus status,String id);
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
index 9924439..e84cdfa 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
@@ -530,7 +530,7 @@
 	}
 
     @Override
-    public int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status) {
+    public int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status,Integer isAllApply) {
         try {
             Map<String, Object> params = new HashMap<String, Object>();
             params.put("reagentName", reagentName);
@@ -539,6 +539,7 @@
             params.put("productSn",productSn);
             params.put("applyCode",applyCode);
             params.put("status",status);
+            params.put("isAllApply",isAllApply);
             return this.opeApplyDao.getOpeApplyReserveTotalCountFor(params);
         } catch (DataAccessException e) {
             logger.error(e.getMessage(), e);
@@ -548,7 +549,7 @@
     }
     @Override
     public List<OpeApplyReserve> getOpeApplyReserveListByNameFor(String id,String reagentName, String personName, Integer first,
-                                                              Integer pageSize,String productSn,String applyCode,Integer status) {
+                                                              Integer pageSize,String productSn,String applyCode,Integer status,Integer isAllApply) {
         try {
             Map<String, Object> params = new HashMap<String, Object>();
             params.put("reagentName", reagentName);
@@ -559,6 +560,7 @@
             params.put("productSn",productSn);
             params.put("applyCode",applyCode);
             params.put("status",status);
+            params.put("isAllApply",isAllApply);
             return this.opeApplyDao.getOpeApplyReserveListFor(params);
         } catch (DataAccessException e) {
             logger.error(e.getMessage(), e);
@@ -682,12 +684,12 @@
             if (codeList == null){
                 //无条码入库 不需要增加状态和流向
                 //1.1库存表增加
-                opeWarehouseReserveService.insertOpeWarehouseReserve2(opeApplyReserve, oo);
+                opeWarehouseReserveService.insertOpeWarehouseReserve2(opeApplyReserve, oo,consigneeId);
             }else{
                 //条码入库
                 assert codeList.size() > 0;
                 //1.1入库(库存表增加)
-                opeWarehouseReserveService.insertOpeWarehouseReserve2(opeApplyReserve, oo);
+                opeWarehouseReserveService.insertOpeWarehouseReserve2(opeApplyReserve, oo,consigneeId);
                 //1.2试剂状态表增加,流向增加
                 opeReagentStatusService.orderInputWarehouseReagentStatusAndUseFlow(opeApplyReserve,consigneeId,codeList,oo);
             }
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java
index 042e7d1..952b16d 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java
@@ -48,10 +48,12 @@
 
     void updateReceiptNumberByCode2(List<OpeWarehouseReserve> codeTmp, String receiptNumber);
 
-	int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project);
+	int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project,String applyPerson,String reagentName);
 
-	List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, int first, int pageSize);
+	List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project,String applyPerson,String reagentName, int first, int pageSize);
 
     List<PersonUseDetail> getApplyInfo(String receiptNumber);
 
+	int getApplyInfoSize(String receiptNumber);
+
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
index ff8b001..40352f7 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -457,7 +457,8 @@
     }
 
     @Override
-    public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project) {
+    public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+                                       String department, String project,String applyPerson,String reagentName) {
         Map<String,Object> params = new HashMap<>();
         params.put("userId", userId);
         params.put("startTime", startTime);
@@ -466,6 +467,12 @@
         params.put("department", department);
         params.put("project", project);
         params.put("reagentCode", reagentCode);
+        params.put("applyPerson", applyPerson);
+        if (StringUtils.isNotBlank(reagentName)) {
+            //根据试剂名获取单号
+
+        }
+        params.put("reagentName", reagentName);
         //操作状态位仓库领取
         Map<String, String> metaMap2 = new HashMap<>();
         metaMap2.put("groupId", "operate_status");
@@ -478,7 +485,8 @@
     }
 
     @Override
-    public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, int first, int pageSize) {
+    public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+                                                   String department, String project,String applyPerson,String reagentName, int first, int pageSize) {
         Map<String, Object> params = new HashMap<>();
         params.put("userId", userId);
         params.put("startTime", startTime);
@@ -487,6 +495,8 @@
         params.put("department", department);
         params.put("project", project);
         params.put("reagentCode", reagentCode);
+        params.put("applyPerson", applyPerson);
+        params.put("reagentName", reagentName);
         //操作状态位仓库领取
         Map<String, String> metaMap2 = new HashMap<>();
         metaMap2.put("groupId", "operate_status");
@@ -515,4 +525,18 @@
     }
 
 
+    @Override
+    public int getApplyInfoSize(String receiptNumber) {
+        Map<String,Object> params = new HashMap<>();
+        Map<String, String> metaMap2 = new HashMap<>();
+        metaMap2.put("groupId", "operate_status");
+        metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+        List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
+        params.put("operatestate", baseMetas.get(0).getId());
+        params.put("receiptNumber", receiptNumber);
+
+        return  opeUseFlowDao.getApplyInfoSize(params);
+
+    }
+
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java
index e1dcab6..f8ea1b4 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java
@@ -38,11 +38,11 @@
 	public List<OpeWarehouseReserve> selectByReId(String id);
 	public void updateByReId(String newReId,String oldReId);
 
-	void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo);
+	void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId);
 
 	List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(String id,String articleNumber,boolean flag);
 
-	void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId);
+	void btWarehouseReserveReduce(List<OpeApplyReserve> opeList);
 
 	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 70cb85e..ea5a824 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -594,7 +594,7 @@
 
     @Override
 	@Transactional
-    public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo) {
+    public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId) {
 
 		OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId());
 		if (ope == null) {
@@ -615,6 +615,8 @@
 			//批号
 			ope.setArticleNumber(opeApplyReserve.getArticleNumber());
 			ope.setId(IDUtils.uuid());
+			//新增收货人 保存在仓库库存表
+			ope.setUserId(consigneeId);
 			opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope);
 		}else {
 			ope.setReserve(ope.getReserve() + opeApplyReserve.getArrivalNum());
@@ -674,7 +676,7 @@
 	}
 
 	@Override
-	public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId) {
+	public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) {
 		if (opeList.size() < 1) {
 			return;
 		}
@@ -709,7 +711,7 @@
 							OpeUseFlow opeUseFlow = new OpeUseFlow();
 							opeUseFlow.setReagentCode(reagentCodes.get(0));
 							opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
-							opeUseFlow.setUserId(userId);
+							opeUseFlow.setUserId(warehouseReserve.getUserId());
 							//仓库地点
 							opeUseFlow.setHouseId(warehouseReserve.getWarehouseId());
 							opeUseFlow.setContainerId(warehouseReserve.getContainerId());
@@ -826,6 +828,7 @@
                 opeWarehouseReserve.setReserve(0);
                 opeWarehouseReserve.setWarehouseId(opeApply.getHouseId());
                 opeWarehouseReserve.setContainerId(opeApply.getContainerId());
+                opeWarehouseReserve.setUserId(loginUserId);
             }
             opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum());
             if (StringUtils.isBlank(opeWarehouseReserve.getId())) {
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
index dd7524f..4a622b7 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
@@ -307,6 +307,7 @@
                     opeWarehouseReserve.setArticleNumber(inWarehouseInfo.getArticleNumber());
                     opeWarehouseReserve.setReserve(0);
                     opeWarehouseReserve.setWarehouseId(inWarehouseInfo.getWarehouseId());
+                    opeWarehouseReserve.setUserId("admin");
                 }
                 //库存加1
                 opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + 1);
diff --git a/src/main/webapp/approval_mng.xhtml b/src/main/webapp/approval_mng.xhtml
index e08bef5..fcc3af0 100644
--- a/src/main/webapp/approval_mng.xhtml
+++ b/src/main/webapp/approval_mng.xhtml
@@ -72,7 +72,7 @@
                          emptyMessage="无数据" selection="#{approvalMngController.selectedList}"
                          rows="20" pageLinks="5">
                 <p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>
-                <p:column headerText="订单状态" width="58px;" style="text-align: center">
+                <p:column headerText="订单状态" width="60px;" style="text-align: center">
                     <h:outputText value="#{row.status!=null?row.status.text:''}"></h:outputText>
                 </p:column>
                 <p:column headerText="申购编号" width="118px;">
@@ -100,7 +100,7 @@
                     <h:outputText value="#{row.reagent!=null?(''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))):''}"></h:outputText>
                 </p:column>
 
-                <p:column headerText="含税售价" width="56px;">
+                <p:column headerText="含税售价" width="60px;">
                     <h:outputText value="#{row.applyPrice}"></h:outputText>
                 </p:column>
 
@@ -124,7 +124,7 @@
                     <!--<h:outputText value="#{row.reagent!=null?row.reagent.supplierName:''}"></h:outputText>-->
                 <!--</p:column>-->
 
-                <p:column headerText="试剂类型" width="29px;">
+                <p:column headerText="试剂类型" width="60px;">
                     <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagent.reagentType)}"></h:outputText>
                 </p:column>
 
diff --git a/src/main/webapp/personal_use_info.xhtml b/src/main/webapp/personal_use_info.xhtml
index ff71fb3..5b4174d 100644
--- a/src/main/webapp/personal_use_info.xhtml
+++ b/src/main/webapp/personal_use_info.xhtml
@@ -48,10 +48,16 @@
 				}
 			</style>
 			<p:panel styleClass="center-header">
-				<p:panelGrid styleClass="filter" columns="13">
+				<p:panelGrid styleClass="filter" columns="10">
 
 					<p:outputLabel value="单据编号:"/>
 					<p:inputText value="#{personalUseInfoController.receiptNumber}"/>
+
+					<p:outputLabel value="试剂名称:"/>
+					<p:inputText value="#{personalUseInfoController.reagentName}"/>
+
+					<p:outputLabel value="申领人:"/>
+					<p:inputText value="#{personalUseInfoController.applyPerson}"/>
 
 					<p:outputLabel value="课题组:"/>
 					<p:inputText value="#{personalUseInfoController.project}"/>
@@ -103,7 +109,7 @@
 						 selectionMode="single"
 						 emptyMessage="无数据"
 						 selection="#{personalUseInfoController.selectOne}"
-						 rows="20" pageLinks="5">
+						 rows="10" pageLinks="5">
 
 <!--				<p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>-->
 				<p:column headerText="单据编号">
@@ -115,7 +121,8 @@
 				</p:column>
 
 				<p:column headerText="领用数量" width="50">
-					<h:outputText value="#{row.applyNum}"/>
+					<h:outputText value="#{personalUseInfoController.reagentName eq null
+					or personalUseInfoController.reagentName eq ''?row.applyNum:OpeUseFlowService.getApplyInfoSize(row.getReceiptNumber())}"/>
 				</p:column>
 
 				<p:column headerText="课题组">
diff --git a/src/main/webapp/warehouse_reagent_use.xhtml b/src/main/webapp/warehouse_reagent_use.xhtml
index 5232d75..d631878 100644
--- a/src/main/webapp/warehouse_reagent_use.xhtml
+++ b/src/main/webapp/warehouse_reagent_use.xhtml
@@ -303,7 +303,7 @@
 				<p:commandButton value="关闭"
 								 process="@this"
 								 styleClass="yes-btn"
-								 actionListener="#{warehouseStockMngController.onCancelBtnClick}"
+								 actionListener="#{warehouseStockMngController.closeDialog2}"
 								 style="position: relative;left: 20px;"
 								 update=":centerRootPanel"
 								 oncomplete="PF('printDialog').hide()">
diff --git a/src/main/webapp/warehouse_reagent_use_person.xhtml b/src/main/webapp/warehouse_reagent_use_person.xhtml
index bfdf613..ef3181e 100644
--- a/src/main/webapp/warehouse_reagent_use_person.xhtml
+++ b/src/main/webapp/warehouse_reagent_use_person.xhtml
@@ -216,7 +216,7 @@
 						<p:commandButton value="关闭"
 										 process="@this"
 										 styleClass="yes-btn"
-										 actionListener="#{warehouseStockMngController.onCancelBtnClick}"
+										 actionListener="#{warehouseStockMngController.closeDialog}"
 										 style="position: relative;left: 20px;"
 										 update=":centerRootPanel"
 										 oncomplete="PF('printDialog').hide()">
diff --git a/src/main/webapp/warehouse_stock_mng.xhtml b/src/main/webapp/warehouse_stock_mng.xhtml
index e475480..c5d2f4d 100644
--- a/src/main/webapp/warehouse_stock_mng.xhtml
+++ b/src/main/webapp/warehouse_stock_mng.xhtml
@@ -348,7 +348,15 @@
 			</div>
 			<h:form id="warehouseStockMngFormForPerson">
 				<p:panel styleClass="center-header" style="border-bottom:none;">
-					<p:panelGrid styleClass="filter" columns="12">
+					<p:panelGrid styleClass="filter" columns="14">
+						<style type="text/css">
+							.ui-selectonemenu.ui-widget.ui-state-default.ui-corner-all{
+								min-width: 60px !important;
+							}
+							.ui-selectonemenu-items.ui-selectonemenu-list.ui-widget-content.ui-widget.ui-corner-all.ui-helper-reset{
+								width: 77px !important;
+							}
+						</style>
 
 						<p:outputLabel value="试剂名称:"></p:outputLabel>
 						<p:inputText value="#{warehouseStockMngController.reagentId}"></p:inputText>
@@ -359,12 +367,19 @@
 						<p:outputLabel value="产品编号:"></p:outputLabel>
 						<p:inputText value="#{warehouseStockMngController.productSn}"></p:inputText>
 						<p:outputLabel value="状态:"></p:outputLabel>
-						<p:selectOneMenu value="#{warehouseStockMngController.status}">
+						<p:selectOneMenu value="#{warehouseStockMngController.status}" style="width: 60px;">
 							<f:selectItem itemLabel="全部" noSelectionOption="true"></f:selectItem>
 							<f:selectItems value="#{warehouseStockMngController.statusSelectList}" var="item"
 										   itemLabel="#{item.text}" itemValue="#{item.key}"></f:selectItems>
 						</p:selectOneMenu>
 
+						<p:outputLabel value="已领用:"></p:outputLabel>
+						<p:selectOneMenu value="#{warehouseStockMngController.isAllApply}" style="width: 60px;">
+							<f:selectItem itemLabel="否" itemValue="0"/>
+							<f:selectItem itemLabel="是"  itemValue="1"/>
+							<f:selectItem itemLabel="全部" noSelectionOption="true"/>
+						</p:selectOneMenu>
+
 						<p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink>
 					</p:panelGrid>
 				</p:panel>

--
Gitblit v1.9.2