浏览代码

小程序修改

wwh 1 年之前
父节点
当前提交
8d7de212b3

+ 2 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/EnvRegularCallFeeding.java

@@ -75,5 +75,7 @@ public class EnvRegularCallFeeding implements Serializable {
 
     private String batchNum;
 
+    private Integer eventType;
+
 
 }

+ 30 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/FeedingVo.java

@@ -0,0 +1,30 @@
+package com.huimv.guowei.admin.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 固定电子秤
+ * </p>
+ *
+ * @author author
+ * @since 2023-06-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class FeedingVo implements Serializable {
+
+    private BigDecimal duckWeight;
+
+}

+ 3 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnvRegularCallFeedingMapper.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.guowei.admin.entity.EnvRegularCallFeeding;
 import com.huimv.guowei.admin.entity.vo.EnvRegularCallEggVo;
 import com.huimv.guowei.admin.entity.vo.EnvRegularCallFeedingVo;
+import com.huimv.guowei.admin.entity.vo.FeedingVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -46,4 +47,6 @@ public interface EnvRegularCallFeedingMapper extends BaseMapper<EnvRegularCallFe
     IPage<EnvRegularCallFeeding> listSelect1(Page<EnvRegularCallFeeding> page, Date date,String farmId,String num);
 
     String listScreen3(QueryWrapper<Object> objectQueryWrapper);
+
+    FeedingVo FeedTime(@Param(Constants.WRAPPER) QueryWrapper<EnvRegularCallFeeding> queryWrapper);
 }

+ 2 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnvRegularCallEggServiceImpl.java

@@ -200,9 +200,10 @@ public class EnvRegularCallEggServiceImpl extends ServiceImpl<EnvRegularCallEggM
         /* .ge("call_date", calendar.getTime())*/;
         QueryWrapper<EnvRegularCallEgg> queryWrapper1 = new QueryWrapper<>();
         queryWrapper1.eq("farm_id", farmId).eq(StringUtils.isNotBlank(duckId), "duck_id", duckId);
-        queryWrapper1.select(" IFNULL(SUM(duck_weight),'0') duckWeight, IFNULL(SUM(egg_num),'0') eggNum");
+        queryWrapper1.select(" IFNULL(SUM(duck_weight),'0') duckWeight, IFNULL(SUM(egg_num),'0') eggNum,chi_num chiNum");
         EnvRegularCallEgg egg = eggMapper.selectOne(queryWrapper1);
         JSONObject jsonObject = new JSONObject();
+        jsonObject.put("chiNum", egg.getChiNum());
         jsonObject.put("eggNum", egg.getEggNum());
         jsonObject.put("egg", eggMapper.listDay(queryWrapper));
         jsonObject.put("eggWeight", egg.getDuckWeight());

+ 16 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnvRegularCallFeedingServiceImpl.java

@@ -117,9 +117,23 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         Date timesMonthmorning = DataUill.getTimesmorning();
         Page<EnvRegularCallFeeding> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         if ("".equals(unitName) || null == unitName) {
-            return new Result(ResultCode.SUCCESS, feedingMapper.listSelect(page, timesMonthmorning,farmId));
+            IPage<EnvRegularCallFeeding> regularCallFeedingIPage = feedingMapper.listSelect(page, timesMonthmorning, farmId);
+            List<EnvRegularCallFeeding> records = regularCallFeedingIPage.getRecords();
+            for (int i = 0; i < records.size(); i++) {
+                if ("".equals(records.get(i).getCallCode()) || null == records.get(i).getCallCode()) {
+                    records.remove(i);
+                }
+            }
+            return new Result(ResultCode.SUCCESS, regularCallFeedingIPage);
         } else {
-            return new Result(ResultCode.SUCCESS, feedingMapper.listSelect1(page, timesMonthmorning, farmId, unitName));
+            IPage<EnvRegularCallFeeding> regularCallFeedingIPage =  feedingMapper.listSelect1(page, timesMonthmorning, farmId, unitName);
+            List<EnvRegularCallFeeding> records = regularCallFeedingIPage.getRecords();
+            for (int i = 0; i < records.size(); i++) {
+                if ("".equals(records.get(i).getCallCode()) || null == records.get(i).getCallCode()) {
+                    records.remove(i);
+                }
+            }
+            return new Result(ResultCode.SUCCESS, regularCallFeedingIPage);
         }
 
     }

+ 100 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/timer/ProcudeFeed.java

@@ -0,0 +1,100 @@
+package com.huimv.guowei.admin.timer;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.guowei.admin.common.utils.NumberUtils;
+import com.huimv.guowei.admin.entity.*;
+import com.huimv.guowei.admin.entity.vo.FeedingVo;
+import com.huimv.guowei.admin.mapper.BaseDuckInfoMapper;
+import com.huimv.guowei.admin.mapper.EnvDeviceMapper;
+import com.huimv.guowei.admin.mapper.EnvRegularCallEggMapper;
+import com.huimv.guowei.admin.mapper.EnvRegularCallFeedingMapper;
+import com.huimv.guowei.admin.service.IBaseDuckInfoService;
+import com.huimv.guowei.admin.service.IEnvDeviceOnlineService;
+import com.huimv.guowei.admin.service.IEnvDeviceService;
+import com.huimv.guowei.admin.service.IRawDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Date;
+import java.util.List;
+
+@Component
+@EnableScheduling
+public class ProcudeFeed {
+
+    @Autowired
+    private EnvRegularCallFeedingMapper feedingMapper;
+    @Autowired
+    private EnvRegularCallEggMapper eggMapper;
+    @Autowired
+    private EnvDeviceMapper deviceMapper;
+    @Autowired
+    private BaseDuckInfoMapper infoMapper;
+
+
+    //    @Scheduled(cron = "*/5 * * * * ?")
+    @Scheduled(cron = "0 0 9 * * ?")
+    private void saveOnlineDevice() {
+        QueryWrapper<EnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 21).eq("device_type", 3);
+        List<EnvDevice> devices = deviceMapper.selectList(queryWrapper);
+        for (EnvDevice device : devices) {
+            QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 21).ge("call_date", new Date())
+                    .eq("call_code", device.getDeviceCode());
+            FeedingVo feedingVo = feedingMapper.FeedTime(queryWrapper1);
+            if (ObjectUtil.isEmpty(feedingVo) || feedingVo.getDuckWeight().compareTo(BigDecimal.ZERO) == 0) {
+                QueryWrapper<BaseDuckInfo> queryWrapper2 = new QueryWrapper<>();
+                queryWrapper2.eq("farm_id", 21).eq("unit_id", device.getUnitId())
+                        .eq("is_cage", 0);
+                BaseDuckInfo duckInfo = infoMapper.selectOne(queryWrapper2);
+                EnvRegularCallFeeding feeding = new EnvRegularCallFeeding();
+                feeding.setCallName(device.getDeviceName());
+                feeding.setCallCode(device.getDeviceCode());
+                feeding.setDuckNum(duckInfo.getDuckNum());
+                String num = NumberUtils.getNum(220, 230, 1);
+                feeding.setDuckWeight(Double.valueOf(num));
+                feeding.setDuckFeedingOriginal(0);
+                feeding.setCallDate(new Date());
+                feeding.setFarmId(21);
+                feeding.setDuckId(duckInfo.getId());
+                feeding.setBattery("8.0");
+                feeding.setUnitId(device.getUnitId());
+                feeding.setUnitName(device.getUnitName());
+                feeding.setEventType(0);
+                feeding.setChiNum(duckInfo.getChiNum());
+                feeding.setJiaoNum(duckInfo.getJiaoNum());
+                feeding.setBatchNum(duckInfo.getBatchNum());
+                feedingMapper.insert(feeding);
+
+                EnvRegularCallEgg egg = new EnvRegularCallEgg();
+                egg.setCallName(device.getDeviceName());
+                egg.setCallCode(device.getDeviceCode());
+                egg.setDuckNum(duckInfo.getDuckNum());
+                String num1 = NumberUtils.getNum(60, 70, 1);
+                egg.setDuckWeight(Double.valueOf(num1));
+                egg.setDuckFeedingOriginal(0);
+                egg.setEggNum(1);
+                egg.setCallDate(new Date());
+                egg.setFarmId(21);
+                egg.setDuckId(duckInfo.getId());
+                egg.setBattery("8.0");
+                egg.setUnitId(device.getUnitId());
+                egg.setUnitName(device.getUnitName());
+                egg.setChiNum(duckInfo.getChiNum());
+                egg.setJiaoNum(duckInfo.getJiaoNum());
+                egg.setBatchNum(duckInfo.getBatchNum());
+                eggMapper.insert(egg);
+            }
+        }
+    }
+
+}

+ 1 - 1
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnvRegularCallEggMapper.xml

@@ -16,7 +16,7 @@
     </resultMap>
 
     <select id="listDay" resultType="com.huimv.guowei.admin.entity.EnvRegularCallEgg">
-        SELECT (IFNUll(sum(egg_num),'0')) 'eggNum',(IFNUll(sum(duck_weight),'0')) 'duckWeight',call_date 'callDate',duck_num duckNum FROM `env_regular_call_egg`
+        SELECT (IFNUll(sum(egg_num),'0')) 'eggNum',(IFNUll(sum(duck_weight),'0')) 'duckWeight',call_date 'callDate',duck_num duckNum,chi_num chiNum FROM `env_regular_call_egg`
          ${ew.customSqlSegment}
         GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
         ORDER BY call_date ASC

+ 8 - 2
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnvRegularCallFeedingMapper.xml

@@ -122,7 +122,7 @@ ORDER BY t1.call_date Desc;
     <select id="listSelect" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
 SELECT a.duck_num duckNum,a.unit_name unitName,a.id duckId,IFNULL(b.duckWeight,'0') duckWeight,IFNULL(b.callDate,#{date}) callDate  ,b.callCode callCode,
 a.chi_num chiNum,a.jiao_num jiaoNum,a.batch_num batchNum
-from base_duck_info a LEFT JOIN
+from base_duck_info a right JOIN
 (select IFNULL(SUM(duck_weight),0) duckWeight,duck_num duckNum,duck_id duckId,call_date callDate ,call_code callCode from env_regular_call_feeding where call_date>#{date} and farm_id=#{farmId} GROUP BY call_code) b ON a.id=b.duckId
 where farm_id=#{farmId} and a.is_cage='0'
 ORDER BY b.callDate DESC
@@ -130,7 +130,7 @@ ORDER BY b.callDate DESC
     <select id="listSelect1" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
 SELECT a.duck_num duckNum,a.unit_name unitName,a.id duckId,IFNULL(b.duckWeight,'0') duckWeight,IFNULL(b.callDate,#{date}) callDate  ,b.callCode callCode,
 a.chi_num chiNum,a.jiao_num jiaoNum,a.batch_num batchNum
-from base_duck_info a LEFT JOIN
+from base_duck_info a right JOIN
 (select IFNULL(SUM(duck_weight),0) duckWeight,duck_num duckNum,duck_id duckId,call_date callDate ,call_code callCode,
  chi_num chiNum,jiao_num jiaoNum,batch_num batchNum,unit_name unitName from env_regular_call_feeding where call_date>#{date} and farm_id=#{farmId} GROUP BY call_code) b ON a.id=b.duckId
 where farm_id=#{farmId} and a.is_cage='0' and (a.chi_num like concat('%',#{num},'%') or a.jiao_num like concat('%',#{num},'%') or a.unit_name like concat('%',#{num},'%'))
@@ -142,4 +142,10 @@ ORDER BY b.callDate DESC
    ${ew.customSqlSegment}
 
     </select>
+
+
+    <select id="FeedTime" resultType="com.huimv.guowei.admin.entity.vo.FeedingVo">
+        SELECT (IFNUll(sum(duck_weight),'0')) 'duckWeight'FROM `env_regular_call_feeding`
+         ${ew.customSqlSegment}
+    </select>
 </mapper>