From c3bca4743c5b8ea15d45cf2ffa1787529f4995ed Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期五, 18 十一月 2022 10:11:23 +0800
Subject: [PATCH] 1.试剂表体积字段和相关接口返回 2.供应商订单修改试剂价格联动试剂原本价格一起变更

---
 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml                      |    4 +-
 src/main/java/com/nanometer/smartlab/service/SysReagentService.java             |    3 +
 src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml                |    2 +
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml                      |   15 +++++--
 src/main/webapp/reagent_mng.xhtml                                               |   15 +++++++
 src/main/java/com/nanometer/smartlab/entity/SysReagent.java                     |   11 +++++
 src/main/java/com/nanometer/smartlab/controller/SupplierOrderMngController.java |    3 +
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java                     |    2 +
 src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java                     |   10 +++++
 src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java         |    6 +++
 10 files changed, 65 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/SupplierOrderMngController.java b/src/main/java/com/nanometer/smartlab/controller/SupplierOrderMngController.java
index 4695c76..f845f17 100644
--- a/src/main/java/com/nanometer/smartlab/controller/SupplierOrderMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/SupplierOrderMngController.java
@@ -542,6 +542,9 @@
 		System.out.println(this.viewOpeApply.getApplyPrice());
 		try {
 			this.opeApplyService.updaetOpeApplyPrice(this.viewOpeApply.getApplyPrice(),this.viewOpeApply.getId());
+			if (this.viewOpeApply.getReagent() != null && this.viewOpeApply.getReagent().getId() != null) {
+				sysReagentService.updateSysReagentPrice(this.viewOpeApply.getReagent().getId(), this.viewOpeApply.getApplyPrice());
+			}
 			FacesUtils.info("修改成功。");
 			refreshTable();
 			RequestContext.getCurrentInstance().execute("PF('dialog').hide()");
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
index a843b61..4a1f6f1 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
@@ -42,6 +42,7 @@
 	    <result property="supplierName" column="supplierName"></result>
         <result property="deadline" column="deadline"></result>
         <result property="productHome" column="product_home"></result>
+        <result property="density" column="density"></result>
     </association>
   </resultMap>
 
@@ -176,6 +177,7 @@
     <select id="getOpeReagentStatusInfoList" parameterType="java.util.Map"  resultMap="OpeReagentStatus">
 		select s.id ,name,cas, deadline,reagent_code,bm3.meta_value reagent_format,r.main_metering,bm1.meta_value reagent_type,bm2.meta_value product_home,
 		bm4.meta_value reagent_unit,
+		r.density,
 		s.article_number
 		from ope_reagent_status s
 		left join sys_reagent r on r.id = s.reagent_id
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
index b3cb481..165c386 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -462,12 +462,12 @@
     </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
+    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,volume
     <if test="receiptNumber != null">
         ,receipt_number
     </if>
     )
-    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState}
+    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState},#{volume}
         <if test="receiptNumber != null">
             ,#{receiptNumber}
         </if>)
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
index da75df3..f403ef0 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
@@ -53,4 +53,6 @@
     SysReagent getSysReagentListNewRowData(@Param("id")String rowKey);
 
     List<Map> selectAll(Map params);
+
+    void updateSysReagentPriceById(@Param("reagentId") String reagentId,@Param("price") BigDecimal price);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
index 661eba9..ffc7672 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
@@ -30,6 +30,7 @@
     <result property="unitName" column="unitName"></result>
     <result property="formatName" column="formatName"></result>
     <result property="safetynum" column="safetynum"></result>
+    <result property="density" column="density"></result>
   </resultMap>
 
   <sql id="queryWhereSql">
@@ -427,14 +428,14 @@
 
 
     <insert id="insertSysReagent" parameterType="com.nanometer.smartlab.entity.SysReagent">
-    insert into sys_reagent(id, name, cas, reagent_type, reagent_character, supplier_id, reagent_format, main_metering, reagent_unit, price, per_box, memo, valid_flag, create_time, update_time,deadline, product_sn, dangerous_flag,control_products,product_home,type)
-    values (#{id}, #{name}, #{cas}, #{reagentType}, #{reagentCharacter}, #{supplierId}, #{reagentFormat}, #{mainMetering}, #{reagentUnit}, #{price}, #{perBox}, #{memo}, 1, now(), now(),#{deadline}, #{productSn}, #{dangerousFlag},#{controlProducts},#{productHome},#{type})
+    insert into sys_reagent(id, name, cas, reagent_type, reagent_character, supplier_id, reagent_format, main_metering, reagent_unit, price, per_box, memo, valid_flag, create_time, update_time,deadline, product_sn, dangerous_flag,control_products,product_home,type,density)
+    values (#{id}, #{name}, #{cas}, #{reagentType}, #{reagentCharacter}, #{supplierId}, #{reagentFormat}, #{mainMetering}, #{reagentUnit}, #{price}, #{perBox}, #{memo}, 1, now(), now(),#{deadline}, #{productSn}, #{dangerousFlag},#{controlProducts},#{productHome},#{type},#{density})
   </insert>
 
   <update id="updateSysReagent" parameterType="com.nanometer.smartlab.entity.SysReagent">
     update sys_reagent set name=#{name}, cas=#{cas}, reagent_type=#{reagentType}, reagent_character=#{reagentCharacter}, supplier_id=#{supplierId}, reagent_format=#{reagentFormat},
     main_metering=#{mainMetering}, reagent_unit=#{reagentUnit}, price=#{price}, per_box=#{perBox}, memo=#{memo}, update_time=now(), deadline = #{deadline}, product_sn = #{productSn}, dangerous_flag = #{dangerousFlag}, control_products = #{controlProducts}
-    ,product_home=#{productHome},type=#{type}
+    ,product_home=#{productHome},type=#{type},density = #{density}
     where id=#{id}
   </update>
 
@@ -486,8 +487,14 @@
     set safetynum = #{safetynum}
     where id = #{id}
   </update>
+    <update id="updateSysReagentPriceById">
+      update sys_reagent
+      set price = #{price}
+      where id = #{reagentId}
 
-  <select id="countReagentByDetail" resultMap="SysReagent">
+    </update>
+
+    <select id="countReagentByDetail" resultMap="SysReagent">
     select
     *
     from sys_reagent as sr
diff --git a/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java b/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java
index 45bb3f4..7bab2a0 100644
--- a/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java
+++ b/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java
@@ -26,6 +26,8 @@
     private BigDecimal remainder;
     private String place;
     private StoreType storeType;
+    // 体积
+    private BigDecimal volume;
 
     private SysReagent reagent;
     private String userName;
@@ -287,4 +289,12 @@
     public void setNote(String note) {
         this.note = note;
     }
+
+    public BigDecimal getVolume() {
+        return volume;
+    }
+
+    public void setVolume(BigDecimal volume) {
+        this.volume = volume;
+    }
 }
diff --git a/src/main/java/com/nanometer/smartlab/entity/SysReagent.java b/src/main/java/com/nanometer/smartlab/entity/SysReagent.java
index e5936d1..860b4fb 100644
--- a/src/main/java/com/nanometer/smartlab/entity/SysReagent.java
+++ b/src/main/java/com/nanometer/smartlab/entity/SysReagent.java
@@ -51,6 +51,9 @@
     private ValidFlag supplierFlag;
 
 
+    private BigDecimal density;
+
+
     public void change(){
         if("1".equals(favor)){
             favor = "2";
@@ -323,4 +326,12 @@
     public void setSupplierFlag(ValidFlag supplierFlag) {
         this.supplierFlag = supplierFlag;
     }
+
+    public BigDecimal getDensity() {
+        return density;
+    }
+
+    public void setDensity(BigDecimal density) {
+        this.density = density;
+    }
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentService.java b/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
index 251ba7f..206a80a 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
@@ -3,6 +3,7 @@
 import com.nanometer.smartlab.entity.SysReagent;
 import com.nanometer.smartlab.entity.SysUser;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -56,4 +57,6 @@
     boolean export2Excel(List<Map> list, Integer type) throws Exception;
 
     List<Map> selectAll(String name, String cas, String supplierId, Integer type, String productSn);
+
+    void updateSysReagentPrice(String reagentId, BigDecimal applyPrice);
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
index eb22dbe..5279a64 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -22,6 +22,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -239,6 +240,11 @@
         return sysReagentDao.selectAll(params);
     }
 
+    @Override
+    public void updateSysReagentPrice(String reagentId, BigDecimal applyPrice) {
+        sysReagentDao.updateSysReagentPriceById(reagentId, applyPrice);
+    }
+
 
     @Transactional(propagation = Propagation.REQUIRED)
     public int getSysReagentTotalCount(String name, String cas, String supplierId,Integer type) {
diff --git a/src/main/webapp/reagent_mng.xhtml b/src/main/webapp/reagent_mng.xhtml
index 01a8c83..c7f94c7 100644
--- a/src/main/webapp/reagent_mng.xhtml
+++ b/src/main/webapp/reagent_mng.xhtml
@@ -129,6 +129,10 @@
                 <p:column headerText="含税售价">
                     <h:outputText value="#{row.price}"></h:outputText>
                 </p:column>
+
+                <p:column headerText="密度g/ml"  rendered="#{reagentMngController.type == 1}">
+                    <h:outputText value="#{row.density}"  decimalPlaces="4" minValue="0" maxlength="6" ></h:outputText>
+                </p:column>
                 <!--<p:column headerText="每箱数量">
                     <h:outputText value="#{row.perBox}"></h:outputText>
                 </p:column>
@@ -457,6 +461,17 @@
                                    var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
                 </p:selectOneMenu>-->
                 </p:row>
+
+                <p:row rendered="#{reagentMngController.action == constants.ACTION_ADD or reagentMngController.sysReagent.type == 1}">
+                    <p:column>
+                        <p:outputLabel value="密度g/ml"/>
+                    </p:column>
+                    <p:column>
+                        <p:inputNumber value="#{reagentMngController.sysReagent.density}"
+                                       decimalPlaces="4" minValue="0" maxlength="6"
+                                       />
+                    </p:column>
+                </p:row>
                 <!--<p:row>
                     <p:column>
                         <p:outputLabel value="种类"></p:outputLabel>

--
Gitblit v1.9.2