瀏覽代碼

修改给数字孪生染整的数据

wukai 2 月之前
父節點
當前提交
42af00acdb

+ 1 - 1
jjt-admin/src/main/resources/application-prod.yml

@@ -35,7 +35,7 @@ spring:
     druid:
       # 主库数据源
       master:
-        url: jdbc:sqlserver://192.168.66.138:1433;DataBaseName=twin2025
+        url: jdbc:sqlserver://cpsdb.tlct.com.cn:1433;DataBaseName=twin2025
         username: sa
         password: Azxcvb!1
       # 从库数据源

+ 17 - 0
jjt-biz/src/main/java/com/jjt/biz/controller/ApiYrController.java

@@ -3,11 +3,14 @@ package com.jjt.biz.controller;
 import com.jjt.biz.service.IApiYrService;
 import com.jjt.biz.vo.YrCompareBackReq;
 import com.jjt.biz.vo.YrCompareReq;
+import com.jjt.biz.vo.YrLineCurrVO;
 import com.jjt.biz.vo.YrTwinVO;
 import com.jjt.common.constant.CacheConstants;
 import com.jjt.common.core.controller.BaseController;
 import com.jjt.common.core.domain.R;
 import com.jjt.common.core.redis.RedisCache;
+import com.jjt.dye.domain.DyeHourLine;
+import com.jjt.dye.service.IDyeHourLineService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -33,6 +36,8 @@ public class ApiYrController extends BaseController {
     private RedisCache redisCache;
     @Value("${local.rzCompare}")
     private String path;
+    @Resource
+    private IDyeHourLineService hourLineService;
 
     @ApiOperation("染整线数字孪生")
     @GetMapping("/api/yr/data")
@@ -40,6 +45,18 @@ public class ApiYrController extends BaseController {
     @ResponseBody
     public R<?> data() {
         YrTwinVO vo = redisCache.getCacheObject(CacheConstants.RZ_MOCK);
+        startPage();
+        List<DyeHourLine> list = hourLineService.selectDyeHourLineListLast();
+        List<YrLineCurrVO> currVOS = new ArrayList<>();
+        list.forEach(dhl -> {
+            YrLineCurrVO curr = new YrLineCurrVO();
+            curr.setLine(dhl.getLine());
+            curr.setSpeed(dhl.getSpeed());
+            curr.setTgTmp(dhl.getTmpTg());
+            curr.setDxTmp(dhl.getTmpDx());
+            currVOS.add(curr);
+        });
+        vo.setCurr(currVOS);
         return R.ok(vo);
     }
 

+ 31 - 0
jjt-biz/src/main/java/com/jjt/biz/vo/YrLineCurrVO.java

@@ -0,0 +1,31 @@
+package com.jjt.biz.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 员工产量统计对象 TWIN_EMP_CALC
+ *
+ * @author wukai
+ * @date 2025-01-18
+ */
+@ApiModel(value = "YrLineCurrVO", description = "印染当前数据")
+@Data
+public class YrLineCurrVO {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty("产线")
+    private String line;
+    @ApiModelProperty("速度")
+    private BigDecimal speed;
+    @ApiModelProperty("定型温度")
+    private BigDecimal dxTmp;
+    @ApiModelProperty("烫光温度")
+    private BigDecimal tgTmp;
+    @ApiModelProperty("订单号")
+    private String order;
+    @ApiModelProperty("花型")
+    private String color;
+}

+ 2 - 0
jjt-biz/src/main/java/com/jjt/biz/vo/YrTwinVO.java

@@ -24,4 +24,6 @@ public class YrTwinVO {
     private List<YrProdTradeVO> prodTrade;
     @ApiModelProperty("能耗趋势")
     private List<YrEnergyTradeVO> energyTrade;
+    @ApiModelProperty("成本趋势")
+    private List<YrLineCurrVO> curr;
 }

+ 6 - 0
jjt-biz/src/main/java/com/jjt/dye/mapper/DyeHourLineMapper.java

@@ -67,4 +67,10 @@ public interface DyeHourLineMapper extends BaseMapper<DyeHourLine>
      * @param hour 小时
      */
     void deleteByHour(@Param("date") Date date, @Param("hour") int hour);
+    /**
+     * 获取上一小时数据
+     *
+     * @return 数据
+     */
+    List<DyeHourLine> selectDyeHourLineListLast();
 }

+ 6 - 0
jjt-biz/src/main/java/com/jjt/dye/service/IDyeHourLineService.java

@@ -72,4 +72,10 @@ public interface IDyeHourLineService {
      * @param hour 小时
      */
     void calc(LocalDate date, int hour);
+    /**
+     * 获取上一小时数据
+     *
+     * @return  数据
+     */
+    List<DyeHourLine> selectDyeHourLineListLast();
 }

+ 10 - 0
jjt-biz/src/main/java/com/jjt/dye/service/impl/DyeHourLineServiceImpl.java

@@ -228,6 +228,16 @@ public class DyeHourLineServiceImpl implements IDyeHourLineService {
     }
 
     /**
+     * 获取上一小时数据
+     *
+     * @return 数据
+     */
+    @Override
+    public List<DyeHourLine> selectDyeHourLineListLast() {
+        return dyeHourLineMapper.selectDyeHourLineListLast();
+    }
+
+    /**
      * 计算指定参数的值
      *
      * @param lineCalcHours 数据列表

+ 1 - 1
jjt-biz/src/main/java/com/jjt/lean/controller/ScsController.java

@@ -31,7 +31,7 @@ import java.util.concurrent.TimeUnit;
  *
  * @author ruoyi
  */
-@Api(tags = "全厂孪生数据接口")
+@Api(tags = "供应链安全")
 @RestController
 @RequestMapping("/lean/scs")
 @Slf4j

+ 58 - 24
jjt-biz/src/main/resources/mapper/dye/DyeHourLineMapper.xml

@@ -5,33 +5,55 @@
 <mapper namespace="com.jjt.dye.mapper.DyeHourLineMapper">
 
     <resultMap type="DyeHourLine" id="DyeHourLineResult">
-        <result property="hourLineId"    column="HOUR_LINE_ID"    />
-        <result property="dataDate"    column="DATA_DATE"    />
-        <result property="workDay"    column="WORK_DAY"    />
-        <result property="hour"    column="HOUR"    />
-        <result property="line"    column="LINE"    />
-        <result property="uptime"    column="UPTIME"    />
-        <result property="length"    column="LENGTH"    />
-        <result property="lengthM"    column="LENGTH_M"    />
-        <result property="speed"    column="SPEED"    />
-        <result property="speedM"    column="SPEED_M"    />
-        <result property="energy"    column="ENERGY"    />
-        <result property="energyM"    column="ENERGY_M"    />
-        <result property="amp"    column="AMP"    />
-        <result property="ampM"    column="AMP_M"    />
-        <result property="tmpDx"    column="TMP_DX"    />
-        <result property="tmpDxM"    column="TMP_DX_M"    />
-        <result property="tmpTg"    column="TMP_TG"    />
-        <result property="tmpTgM"    column="TMP_TG_M"    />
-        <result property="createdBy"    column="CREATED_BY"    />
-        <result property="createdTime"    column="CREATED_TIME"    />
-        <result property="updatedBy"    column="UPDATED_BY"    />
-        <result property="updatedTime"    column="UPDATED_TIME"    />
-        <result property="remark"    column="REMARK"    />
+        <result property="hourLineId" column="HOUR_LINE_ID"/>
+        <result property="dataDate" column="DATA_DATE"/>
+        <result property="workDay" column="WORK_DAY"/>
+        <result property="hour" column="HOUR"/>
+        <result property="line" column="LINE"/>
+        <result property="uptime" column="UPTIME"/>
+        <result property="length" column="LENGTH"/>
+        <result property="lengthM" column="LENGTH_M"/>
+        <result property="speed" column="SPEED"/>
+        <result property="speedM" column="SPEED_M"/>
+        <result property="energy" column="ENERGY"/>
+        <result property="energyM" column="ENERGY_M"/>
+        <result property="amp" column="AMP"/>
+        <result property="ampM" column="AMP_M"/>
+        <result property="tmpDx" column="TMP_DX"/>
+        <result property="tmpDxM" column="TMP_DX_M"/>
+        <result property="tmpTg" column="TMP_TG"/>
+        <result property="tmpTgM" column="TMP_TG_M"/>
+        <result property="createdBy" column="CREATED_BY"/>
+        <result property="createdTime" column="CREATED_TIME"/>
+        <result property="updatedBy" column="UPDATED_BY"/>
+        <result property="updatedTime" column="UPDATED_TIME"/>
+        <result property="remark" column="REMARK"/>
     </resultMap>
 
     <sql id="selectDyeHourLineVo">
-        select HOUR_LINE_ID, DATA_DATE, HOUR, LINE, UPTIME, LENGTH, LENGTH_M, SPEED, SPEED_M, ENERGY, ENERGY_M, AMP, AMP_M, TMP_DX, TMP_DX_M, TMP_TG, TMP_TG_M, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME, REMARK from DYE_HOUR_LINE
+        select HOUR_LINE_ID,
+               DATA_DATE,
+               HOUR,
+               LINE,
+               UPTIME,
+               LENGTH,
+               LENGTH_M,
+               SPEED,
+               SPEED_M,
+               ENERGY,
+               ENERGY_M,
+               AMP,
+               AMP_M,
+               TMP_DX,
+               TMP_DX_M,
+               TMP_TG,
+               TMP_TG_M,
+               CREATED_BY,
+               CREATED_TIME,
+               UPDATED_BY,
+               UPDATED_TIME,
+               REMARK
+        from DYE_HOUR_LINE
     </sql>
 
     <select id="selectDyeHourLineList" parameterType="DyeHourLine" resultMap="DyeHourLineResult">
@@ -43,12 +65,24 @@
             <if test="line != null  and line != ''">and LINE = #{line}</if>
             <if test="length != null ">and LENGTH = #{length}</if>
         </where>
+        order by data_date desc,hour desc
     </select>
 
     <select id="selectDyeHourLineByHourLineId" parameterType="Long" resultMap="DyeHourLineResult">
         <include refid="selectDyeHourLineVo"/>
         where HOUR_LINE_ID = #{hourLineId}
     </select>
+    <select id="selectDyeHourLineListLast" resultType="com.jjt.dye.domain.DyeHourLine">
+        WITH RankedData AS (SELECT *,
+                                   ROW_NUMBER() OVER (
+                                       PARTITION BY LINE
+                                       ORDER BY DATA_DATE DESC, HOUR DESC
+                                       ) AS rn
+                            FROM DYE_HOUR_LINE)
+        SELECT *
+        FROM RankedData
+        WHERE rn = 1;
+    </select>
 
     <insert id="insertDyeHourLine" parameterType="DyeHourLine" useGeneratedKeys="true" keyProperty="hourLineId">
         insert into DYE_HOUR_LINE