diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java
index 342b24a..da2323d 100644
--- a/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java
+++ b/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java
@@ -3,7 +3,6 @@ package com.psdc.service;
 import com.psdc.entity.PsdcScene;
 import com.psdc.entity.request.PsdcSceneRequest;
 import com.psdc.entity.res.PsdcSceneRes;
-import com.psdc.entity.vo.SceneVo;
 
 import java.util.List;
 import java.util.Map;
@@ -20,8 +19,6 @@ public interface IPsdcSceneService {
      */
     Boolean insert(PsdcSceneRes scenes);
 
-    Boolean insertByCode(PsdcSceneRequest scenes);
-
     List<PsdcScene> sceneList();
 
     /** 
@@ -29,7 +26,7 @@ public interface IPsdcSceneService {
      * @param scenes 实例对象
      * @return 实例对象
      */
-    Boolean update(PsdcScene scenes);
+    Boolean update(PsdcSceneRes scenes);
 
     /** 
      * 通过策略名称删除数据
diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java
index 87713be..98730fb 100644
--- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java
+++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java
@@ -6,13 +6,15 @@ import com.psdc.entity.res.PsdcSceneRes;
 import com.psdc.entity.vo.DeviceVo;
 import com.psdc.entity.vo.SceneVo;
 import com.psdc.mapper.PsdcSceneMapper;
+import com.psdc.mapper.SysUserMapper;
 import com.psdc.service.IPsdcSceneService;
 import com.psdc.utils.SecurityUtils;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -27,9 +29,15 @@ import static org.springframework.transaction.annotation.Propagation.REQUIRES_NE
 @Slf4j
 @Service
 public class PsdcSceneServiceImpl implements IPsdcSceneService {
-    @Autowired
+    @Resource
     private PsdcSceneMapper psdcSceneMapper;
 
+    @Resource
+    private SysUserMapper sysUserMapper;
+
+    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
 
     /**
      * 新增数据
@@ -41,6 +49,7 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService {
     public Boolean insert(PsdcSceneRes scenes) {
         Date date = new Date();
         long timestamp = getSecondTimestampTwo(date);
+        String userName = sysUserMapper.selectUserById(scenes.getUserId()).getUserName();
         List<SceneVo> scenesList = new ArrayList<>();
         for (DeviceVo dev : scenes.getDeviceVos()) {
             if (null != dev.getIntemp() && !"".equals(dev.getIntemp())) {
@@ -58,51 +67,13 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService {
             }
         }
 
-
         try {
             for (SceneVo sc : scenesList) {
                 sc.setSceneCode(timestamp);
                 sc.setUserId(scenes.getUserId());
-            }
-            psdcSceneMapper.InsertSceneData(scenesList);
-            return true;
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.info("Sorry,新增场景策略失败!+ 错误原因: {}", e.getMessage());
-            return false;
-        }
-    }
-
-    /**
-     * 在原有策略基础上增加设备温度管理
-     *
-     * @param scenes
-     * @return
-     */
-    @Override
-    public Boolean insertByCode(PsdcSceneRequest scenes) {
-        long userId = SecurityUtils.getUserId();
-        List<SceneVo> scenesList = new ArrayList<>();
-        String sceneName = psdcSceneMapper.querySceneNameById(scenes.getSceneCode());
-        Integer deviceId = scenes.getDeviceId();
-        if (null != scenes.getIntemp() && !"".equals(scenes.getIntemp())) {
-            SceneVo sceneVo = new SceneVo(sceneName, deviceId, "进水温度", "intemp", scenes.getIntemp());
-            scenesList.add(sceneVo);
-        }
-        if (null != scenes.getOuttemp() && !"".equals(scenes.getOuttemp())) {
-            SceneVo sceneVo = new SceneVo(sceneName, deviceId, "出水温度", "outtemp", scenes.getOuttemp());
-            scenesList.add(sceneVo);
-        }
-        if (null != scenes.getTemp() && !"".equals(scenes.getTemp())) {
-            SceneVo sceneVo = new SceneVo(sceneName, deviceId, "温度", "temp", scenes.getTemp());
-            scenesList.add(sceneVo);
-        }
-
-
-        try {
-            for (SceneVo sc : scenesList) {
-                sc.setSceneCode(scenes.getSceneCode());
-                sc.setUserId(userId);
+                sc.setCreateBy(userName);
+                sc.setCreateTime(scenes.getCreateTime());
+                sc.setSceneRemark(scenes.getSceneRemark());
             }
             psdcSceneMapper.InsertSceneData(scenesList);
             return true;
@@ -127,9 +98,36 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService {
      */
     @Override
     @Transactional(propagation = REQUIRES_NEW)
-    public Boolean update(PsdcScene scenes) {
+    public Boolean update(PsdcSceneRes scenes) {
+
+        Date date = new Date();
+        String userName = sysUserMapper.selectUserById(scenes.getUserId()).getUserName();
+        List<SceneVo> scenesList = new ArrayList<>();
+        for (DeviceVo dev : scenes.getDeviceVos()) {
+            if (null != dev.getIntemp() && !"".equals(dev.getIntemp())) {
+                SceneVo sceneVo;
+                sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "进水温度", "intemp", dev.getIntemp());
+                scenesList.add(sceneVo);
+            }
+            if (null != dev.getOuttemp() && !"".equals(dev.getOuttemp())) {
+                SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "出水温度", "outtemp", dev.getOuttemp());
+                scenesList.add(sceneVo);
+            }
+            if (null != dev.getTemp() && !"".equals(dev.getTemp())) {
+                SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "温度", "temp", dev.getTemp());
+                scenesList.add(sceneVo);
+            }
+        }
+
         try {
-            psdcSceneMapper.update(scenes);
+            for (SceneVo sc : scenesList) {
+                sc.setSceneCode(scenes.getSceneCode());
+                sc.setUserId(scenes.getUserId());
+                sc.setUpdateBy(userName);
+                sc.setUpdateTime(date);
+                sc.setSceneRemark(scenes.getSceneRemark());
+            }
+            psdcSceneMapper.UpdateSceneData(scenesList);
             return true;
         } catch (Exception e) {
             e.printStackTrace();
@@ -202,10 +200,14 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService {
         for (PsdcSceneRes psr : sceneRes) {
             Long code = psr.getSceneCode();
             List<SceneVo> listByCode = new ArrayList<>();
-            for (SceneVo sv : list) {
-                if (code == sv.getSceneCode()) { // 判断是否为同个策略
-                    listByCode.add(sv);
+            if (null != sceneCode && 0 != sceneCode){
+                for (SceneVo sv : list) {
+                    if (code == sv.getSceneCode()) { // 判断是否为同个策略
+                        listByCode.add(sv);
+                    }
                 }
+            } else {
+                listByCode = psdcSceneMapper.findSceneByUserAndSceneCode(userId, code, sceneName);
             }
             List<DeviceVo> ary = new ArrayList<>();
             Integer deviceId = listByCode.get(0).getDeviceId();
diff --git a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml
index de0ad81..9cedea4 100644
--- a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml
+++ b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml
@@ -47,10 +47,10 @@
     </insert>
 
     <insert id="InsertSceneData" parameterType="com.psdc.entity.vo.SceneVo" useGeneratedKeys="true">
-        Insert into psdc_scene(scene_name,scene_code,user_id,device_id,device_sn,scene_context,scene_key,scene_value)
+        Insert into psdc_scene(scene_name,scene_code,user_id,device_id,device_sn,scene_context,scene_key,scene_value,scene_remark, create_by, create_time)
         Values
         <foreach collection="sceneRecord" item="entity" separator=",">
-            (#{entity.sceneName}, #{entity.sceneCode},#{entity.userId}, #{entity.deviceId}, #{entity.deviceSn}, #{entity.sceneContext}, #{entity.sceneKey}, #{entity.sceneValue})
+            (#{entity.sceneName}, #{entity.sceneCode},#{entity.userId}, #{entity.deviceId}, #{entity.deviceSn}, #{entity.sceneContext}, #{entity.sceneKey}, #{entity.sceneValue},#{entity.sceneRemark},#{entity.createBy},#{entity.createTime})
         </foreach>
     </insert>
 
@@ -61,24 +61,29 @@
                 <if test="item.sceneName != null and item.sceneName != ''">
                     `scene_name`= #{item.sceneName},
                 </if>
-                <if test="deviceId != null and deviceId != ''">
-                    device_id = #{deviceId},
-                </if>
-                <if test="item.deviceSn != null and item.deviceSn != ''">
-                    `device_sn` = #{item.deviceSn},
-                </if>
                 <if test="item.sceneContext != null and item.sceneContext != ''">
                     `scene_context` = #{item.sceneContext},
                 </if>
-                <if test="item.sceneKey != null and item.sceneKey != ''">
-                    `scene_key` = ${item.sceneKey},
-                </if>
                 <if test="item.sceneValue != null and item.sceneValue != ''">
-                    `scene_value` = ${item.sceneValue}
+                    `scene_value` = ${item.sceneValue},
+                </if>
+                <if test="item.sceneRemark != null and item.sceneRemark != ''">
+                    scene_remark = #{item.sceneRemark},
                 </if>
             </set>
             <where>
-                `scene_code` = ${item.sceneCode}
+                <if test="item.sceneCode != null and item.sceneCode != ''">
+                    And scene_code = ${item.sceneCode}
+                </if>
+                <if test="item.userId != null and item.userId != ''">
+                    And user_id = ${item.userId}
+                </if>
+                <if test="item.deviceId != null and item.deviceId != ''">
+                    And device_id = ${item.deviceId}
+                </if>
+                <if test="item.sceneKey != null and item.sceneKey != ''">
+                    And scene_key = #{item.sceneKey}
+                </if>
             </where>
         </foreach>
     </update>
diff --git a/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java b/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java
index add6a5c..d24b897 100644
--- a/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java
+++ b/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java
@@ -79,7 +79,7 @@ public class PsdcSceneController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:cl:list')")
     @Log(title = "策略管理", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@Validated @RequestBody PsdcScene scenes) {
+    public AjaxResult edit(@Validated @RequestBody PsdcSceneRes scenes) {
         return toAjax(psdcSceneService.update(scenes));
     }