فهرست منبع

调整节气时令数据结构

liuyaowen 1 سال پیش
والد
کامیت
ddd206bd12

+ 2 - 2
src/main/java/com/yunfeiyun/agmp/fms/controller/FmsConsoleController.java

@@ -18,6 +18,7 @@ import com.yunfeiyun.agmp.fms.domain.FmsSolar;
 import com.yunfeiyun.agmp.fms.domain.WmsWarehouse;
 import com.yunfeiyun.agmp.fms.domain.reqvo.*;
 import com.yunfeiyun.agmp.fms.domain.resvo.*;
+import com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo;
 import com.yunfeiyun.agmp.fms.service.*;
 import com.yunfeiyun.agmp.fms.util.DataAuthUtil;
 import org.slf4j.Logger;
@@ -80,9 +81,8 @@ public class FmsConsoleController {
     @PreAuthorize("@ss.hasPermi('fms:console:weather:info')")
     @GetMapping("/weather/info")
     public AjaxResult weatherInfo(ScreenDataReqVo reqVo) {
-
         FmsWeatherInfoResVo fmsWeatherInfoResVo = new FmsWeatherInfoResVo();
-        FmsSolar fmsSolar = iFmsSolarService.getNowSolar(DateUtils.dateTimeNow(), SecurityUtils.getTid());
+        FmsSolarVo fmsSolar = iFmsSolarService.getNowSolar(DateUtils.dateTimeNow(), SecurityUtils.getTid());
         fmsWeatherInfoResVo.setSolarName(fmsSolar.getSolarName());
         fmsWeatherInfoResVo.setSolarRemark(fmsSolar.getSolarRemark());
         fmsWeatherInfoResVo.setSolarDigest(fmsSolar.getSolarDigest());

+ 14 - 84
src/main/java/com/yunfeiyun/agmp/fms/controller/FmsSolarController.java

@@ -1,27 +1,21 @@
 package com.yunfeiyun.agmp.fms.controller;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.yunfeiyun.agmp.common.annotation.Log;
-import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.core.controller.BaseController;
 import com.yunfeiyun.agmp.common.core.domain.AjaxResult;
 import com.yunfeiyun.agmp.common.core.page.TableDataInfo;
 import com.yunfeiyun.agmp.common.enums.BusinessType;
-import com.yunfeiyun.agmp.common.exception.BizException;
 import com.yunfeiyun.agmp.common.utils.DateUtils;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.utils.StringUtils;
-import com.yunfeiyun.agmp.common.utils.poi.ExcelUtil;
 import com.yunfeiyun.agmp.fms.domain.FmsSolar;
+import com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo;
 import com.yunfeiyun.agmp.fms.service.IFmsSolarService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-// TODO://该业务相关接口均弃用
 /**
  * 节气时令Controller
  * 
@@ -30,7 +24,6 @@ import java.util.Map;
  */
 @RestController
 @RequestMapping("/fms/solar")
-@Deprecated
 public class FmsSolarController extends BaseController
 {
     @Autowired
@@ -41,45 +34,13 @@ public class FmsSolarController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('fms:solar:list')")
     @GetMapping("/list")
-    public TableDataInfo list(FmsSolar fmsSolar) {
+    public TableDataInfo list(FmsSolarVo fmsSolarVo) {
+        fmsSolarVo.setTid(SecurityUtils.getTid());
         startPage();
-        List<FmsSolar> list = fmsSolarService.selectFmsSolarList(fmsSolar);
-        if(list.isEmpty()){
-            fmsSolarService.updateFmsSolarAll();
-            list = fmsSolarService.selectFmsSolarList(fmsSolar);
-        }else{
-            FmsSolar tidFmsSolar = new FmsSolar();
-            tidFmsSolar.setTid(SecurityUtils.getTid());
-            List<FmsSolar> userFmsSorlarlist = fmsSolarService.selectFmsSolarList(tidFmsSolar);
-
-            Map<String, FmsSolar> fmsSolarMap = new HashMap<>();
-            for(FmsSolar fms : userFmsSorlarlist){
-                String solarName = fms.getSolarName();
-                fmsSolarMap.put(solarName, fms);
-            }
-            for(int i = 0; i < list.size(); i++){
-                FmsSolar f = list.get(i);
-                String solarName = f.getSolarName();
-                if(fmsSolarMap.containsKey(solarName)){
-                    list.set(i, fmsSolarMap.get(solarName));
-                }
-            }
-        }
-        return getDataTable(list);
+        return getDataTable(fmsSolarService.selectFmsSolarVoList(fmsSolarVo));
     }
 
-    /**
-     * 导出节气时令列表
-     */
-    @PreAuthorize("@ss.hasPermi('fms:solar:export')")
-    @Log(title = "节气时令", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response,@RequestBody FmsSolar fmsSolar) {
-        fmsSolar.setTid(SecurityUtils.getTid());
-        List<FmsSolar> list = fmsSolarService.selectFmsSolarList(fmsSolar);
-        ExcelUtil<FmsSolar> util = new ExcelUtil<FmsSolar>(FmsSolar.class);
-        util.exportExcel(response, list, "节气时令数据");
-    }
+
 
     /**
      * 获取节气时令详细信息
@@ -104,17 +65,7 @@ public class FmsSolarController extends BaseController
     @PreAuthorize("@ss.hasPermi('fms:solar:byname:info')")
     @GetMapping(value = "/now/info")
     public AjaxResult getNowInfo() {
-        return success(fmsSolarService.getNowSolar(DateUtils.dateTimeNow(), null));
-    }
-
-    /**
-     * 新增节气时令
-     */
-    @PreAuthorize("@ss.hasPermi('fms:solar:add')")
-    @Log(title = "节气时令", businessType = BusinessType.INSERT)
-    @PostMapping("/add")
-    public AjaxResult add(@RequestBody FmsSolar fmsSolar) {
-        return toAjax(fmsSolarService.insertFmsSolar(fmsSolar));
+        return success(fmsSolarService.getNowSolar(DateUtils.dateTimeNow(), SecurityUtils.getTid()));
     }
 
     /**
@@ -123,37 +74,16 @@ public class FmsSolarController extends BaseController
     @PreAuthorize("@ss.hasPermi('fms:solar:edit')")
     @Log(title = "节气时令", businessType = BusinessType.UPDATE)
     @PutMapping("/edit")
-    public AjaxResult edit(@RequestBody FmsSolar fmsSolar) {
-        String tid = SecurityUtils.getTid();
-        String solarId = fmsSolar.getSolarId();
-
-        if(StringUtils.isEmpty(solarId)){
-            throw new BizException(ErrorCode.INVALID_PARAMETER.getCode(),"solarId不能为空");
+    public AjaxResult edit(@RequestBody FmsSolarVo fmsSolarVo) {
+        fmsSolarVo.setTid(SecurityUtils.getTid());
+        FmsSolarVo oldDigest = fmsSolarService.selectFmsSolarDigestBySolarId(fmsSolarVo.getSolarId(),SecurityUtils.getTid());
+        if(ObjectUtil.isNotNull(oldDigest)){
+            return toAjax(fmsSolarService.updateFmsSolarDigest(fmsSolarVo));
         }
-
-        FmsSolar oldFmsSolar = fmsSolarService.selectFmsSolarBySolarId(solarId, tid);
-
-        fmsSolar.setTid(tid);
-        int status = 0;
-        if(oldFmsSolar == null){
-            fmsSolar.setSolarId(fmsSolar.getId());
-            status = fmsSolarService.insertFmsSolar(fmsSolar);
-        }else{
-            status = fmsSolarService.updateFmsSolar(fmsSolar);
-        }
-
-        return toAjax(status);
+        return toAjax(fmsSolarService.insertFmsSolarDigest(fmsSolarVo));
     }
 
-    /**
-     * 删除节气时令
-     */
-    @PreAuthorize("@ss.hasPermi('fms:solar:delete')")
-    @Log(title = "节气时令", businessType = BusinessType.DELETE)
-	@DeleteMapping("/delete/{solarIds}")
-    public AjaxResult remove(@PathVariable String[] solarIds) {
-        return toAjax(fmsSolarService.deleteFmsSolarBySolarIds(solarIds, SecurityUtils.getTid()));
-    }
+
 
     @PreAuthorize("@ss.hasPermi('fms:solar:update')")
     @PostMapping("/date/update")

+ 0 - 15
src/main/java/com/yunfeiyun/agmp/fms/domain/FmsSolar.java

@@ -21,22 +21,7 @@ public class FmsSolar extends BaseEntity {
     @Excel(name = "节气名称")
     private String solarName;
 
-    /** 节气内容 */
-    @Excel(name = "节气内容")
-    private String solarRemark;
-
     /** 节气开始时间 */
     @Excel(name = "节气开始时间")
     private String solarStartdate;
-
-    /** 摘要 */
-    @Excel(name = "摘要")
-    private String solarDigest;
-    @Excel(name = "租户标识")
-    private String tid;
-
-    /** 年份 */
-    private String year;
-
-
 }

+ 12 - 0
src/main/java/com/yunfeiyun/agmp/fms/domain/vo/FmsSolarVo.java

@@ -0,0 +1,12 @@
+package com.yunfeiyun.agmp.fms.domain.vo;
+
+import com.yunfeiyun.agmp.common.annotation.Excel;
+import com.yunfeiyun.agmp.fms.domain.FmsSolar;
+import lombok.Data;
+
+@Data
+public class FmsSolarVo extends FmsSolar {
+    private String solarDigest;
+    private String solarRemark;
+    private String tid;
+}

+ 31 - 5
src/main/java/com/yunfeiyun/agmp/fms/mapper/FmsSolarMapper.java

@@ -1,6 +1,7 @@
 package com.yunfeiyun.agmp.fms.mapper;
 
 import com.yunfeiyun.agmp.fms.domain.FmsSolar;
+import com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -20,12 +21,20 @@ public interface FmsSolarMapper
      * @param solarId 节气时令主键
      * @return 节气时令
      */
-    public FmsSolar selectFmsSolarBySolarId(@Param("solarId") String solarId, @Param("tid") String tid);
-    public FmsSolar selectFmsSolarBySolarName(@Param("solarName") String solarName, @Param("tid") String tid);
+    public FmsSolarVo selectFmsSolarBySolarId(@Param("solarId") String solarId, @Param("tid") String tid);
+    public FmsSolarVo selectFmsSolarBySolarName(@Param("solarName") String solarName, @Param("tid") String tid);
 
     /**
      * 查询节气时令列表
-     * 
+     *
+     * @param fmsSolar 节气时令
+     * @return 节气时令集合
+     */
+    public List<FmsSolarVo> selectFmsSolarVoList(FmsSolarVo fmsSolarVo);
+
+    /**
+     * 查询节气时令列表
+     *
      * @param fmsSolar 节气时令
      * @return 节气时令集合
      */
@@ -40,9 +49,25 @@ public interface FmsSolarMapper
     public int insertFmsSolar(FmsSolar fmsSolar);
 
     /**
+     * 新增租户节气摘要
+     *
+     * @param fmsSolarVo 节气时令
+     * @return 结果
+     */
+    public int insertFmsSolarinfo(FmsSolarVo fmsSolarVo);
+
+    /**
+     * 更新租户节气摘要
+     *
+     * @param fmsSolarVo 节气时令
+     * @return 结果
+     */
+    public int updateFmsSolarinfo(FmsSolarVo fmsSolarVo);
+
+    /**
      * 新增节气时令
      *
-     * @param fmsSolar 节气时令
+     * @param fmsSolarList 节气时令
      * @return 结果
      */
     public int insertFmsSolarBatch(List<FmsSolar> fmsSolarList);
@@ -83,7 +108,8 @@ public interface FmsSolarMapper
      * @param date 日期(yyyy-MM-dd)
      * @return 节气
      * */
-    public FmsSolar getFmsSolarByDate(FmsSolar fmsSolar);
+    public FmsSolarVo getFmsSolarByDate(String startDate);
 
 
+    public FmsSolarVo selectFmsSolarinfoBySolarId(@Param("solarId") String solarId, @Param("tid") String tid);
 }

+ 9 - 26
src/main/java/com/yunfeiyun/agmp/fms/service/IFmsSolarService.java

@@ -1,6 +1,7 @@
 package com.yunfeiyun.agmp.fms.service;
 
 import com.yunfeiyun.agmp.fms.domain.FmsSolar;
+import com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo;
 
 import java.util.List;
 
@@ -19,8 +20,9 @@ public interface IFmsSolarService
      * @param solarId 节气时令主键
      * @return 节气时令
      */
-    public FmsSolar selectFmsSolarBySolarId(String solarId, String tid);
-    public FmsSolar selectFmsSolarBySolarName(String solarName, String tid);
+    public FmsSolarVo selectFmsSolarBySolarId(String solarId, String tid);
+    public FmsSolarVo selectFmsSolarDigestBySolarId(String solarId,String tid);
+    public FmsSolarVo selectFmsSolarBySolarName(String solarName, String tid);
 
     /**
      * 查询节气时令列表
@@ -28,7 +30,7 @@ public interface IFmsSolarService
      * @param fmsSolar 节气时令
      * @return 节气时令集合
      */
-    public List<FmsSolar> selectFmsSolarList(FmsSolar fmsSolar);
+    public List<FmsSolarVo> selectFmsSolarVoList(FmsSolarVo fmsSolar);
 
     /**
      * 新增节气时令
@@ -38,13 +40,6 @@ public interface IFmsSolarService
      */
     public int insertFmsSolar(FmsSolar fmsSolar);
 
-    /**
-     * 新增节气时令
-     *
-     * @param fmsSolar 节气时令
-     * @return 结果
-     */
-    public int insertFmsSolarBatch(List<FmsSolar> fmsSolarList);
 
     /**
      * 修改节气时令
@@ -54,21 +49,6 @@ public interface IFmsSolarService
      */
     public int updateFmsSolar(FmsSolar fmsSolar);
 
-    /**
-     * 批量删除节气时令
-     * 
-     * @param solarIds 需要删除的节气时令主键集合
-     * @return 结果
-     */
-    public int deleteFmsSolarBySolarIds(String[] solarIds, String tid);
-
-    /**
-     * 删除节气时令信息
-     * 
-     * @param solarId 节气时令主键
-     * @return 结果
-     */
-    public int deleteFmsSolarBySolarId(String solarId, String tid);
 
     /**
      * 更新节气时令信息日期
@@ -78,6 +58,9 @@ public interface IFmsSolarService
      * 查询日期所属节气
      * @param date 日期
      **/
-    public FmsSolar getNowSolar(String date, String tid);
+    public FmsSolarVo getNowSolar(String date, String tid);
+
+    int updateFmsSolarDigest(FmsSolarVo fmsSolarVo);
 
+    int insertFmsSolarDigest(FmsSolarVo fmsSolarVo);
 }

+ 36 - 124
src/main/java/com/yunfeiyun/agmp/fms/service/impl/FmsSolarServiceImpl.java

@@ -6,19 +6,16 @@ import com.xkzhangsan.time.calendar.CalendarWrapper;
 import com.xkzhangsan.time.calendar.DayWrapper;
 import com.xkzhangsan.time.utils.StringUtil;
 import com.yunfeiyun.agmp.fms.domain.FmsSolar;
+import com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo;
 import com.yunfeiyun.agmp.fms.mapper.FmsSolarMapper;
 import com.yunfeiyun.agmp.fms.service.IFmsSolarService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -42,28 +39,29 @@ public class FmsSolarServiceImpl implements IFmsSolarService
      * @return 节气时令
      */
     @Override
-    public FmsSolar selectFmsSolarBySolarId(String solarId, String tid) {
+    public FmsSolarVo selectFmsSolarBySolarId(String solarId, String tid) {
         return fmsSolarMapper.selectFmsSolarBySolarId(solarId,tid);
     }
 
     @Override
-    public FmsSolar selectFmsSolarBySolarName(String solarName, String tid) {
+    public FmsSolarVo selectFmsSolarDigestBySolarId(String solarId, String tid) {
+        return fmsSolarMapper.selectFmsSolarinfoBySolarId(solarId,tid);
+    }
+
+    @Override
+    public FmsSolarVo selectFmsSolarBySolarName(String solarName, String tid) {
         return fmsSolarMapper.selectFmsSolarBySolarName(solarName,tid);
     }
 
     /**
      * 查询节气时令列表
      * 
-     * @param fmsSolar 节气时令
+     * @param fmsSolarVo 节气时令
      * @return 节气时令
      */
     @Override
-    public List<FmsSolar> selectFmsSolarList(FmsSolar fmsSolar) {
-        fmsSolar.setYear(String.valueOf(LocalDate.now().getYear()));
-        if (StringUtil.isEmpty(fmsSolar.getTid())) {
-            fmsSolar.setTid("");
-        }
-        return fmsSolarMapper.selectFmsSolarList(fmsSolar);
+    public List<FmsSolarVo> selectFmsSolarVoList(FmsSolarVo fmsSolarVo) {
+        return fmsSolarMapper.selectFmsSolarVoList(fmsSolarVo);
     }
 
     /**
@@ -74,21 +72,10 @@ public class FmsSolarServiceImpl implements IFmsSolarService
      */
     @Override
     public int insertFmsSolar(FmsSolar fmsSolar) {
-        fmsSolar.setYear(String.valueOf(LocalDate.now().getYear()));
         return fmsSolarMapper.insertFmsSolar(fmsSolar);
     }
 
     /**
-     * 新增节气时令
-     *
-     * @param fmsSolarList@return 结果
-     */
-    @Override
-    public int insertFmsSolarBatch(List<FmsSolar> fmsSolarList) {
-        return fmsSolarMapper.insertFmsSolarBatch(fmsSolarList);
-    }
-
-    /**
      * 修改节气时令
      * 
      * @param fmsSolar 节气时令
@@ -99,124 +86,49 @@ public class FmsSolarServiceImpl implements IFmsSolarService
         return fmsSolarMapper.updateFmsSolar(fmsSolar);
     }
 
-    /**
-     * 批量删除节气时令
-     * 
-     * @param solarIds 需要删除的节气时令主键
-     * @return 结果
-     */
-    @Override
-    public int deleteFmsSolarBySolarIds(String[] solarIds, String tid) {
-        return fmsSolarMapper.deleteFmsSolarBySolarIds(solarIds,tid);
-    }
-
-    /**
-     * 删除节气时令信息
-     * 
-     * @param solarId 节气时令主键
-     * @return 结果
-     */
-    @Override
-    public int deleteFmsSolarBySolarId(String solarId, String tid) {
-        return fmsSolarMapper.deleteFmsSolarBySolarId(solarId,tid);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
     @Override
     public int updateFmsSolarAll()  {
-        Map<String, String> solarDigestMap = new HashMap<>();
-        solarDigestMap.put("小寒", "气温持续低迷,寒冷干燥。");
-        solarDigestMap.put("大寒", "一年中最冷的时期。");
-        solarDigestMap.put("立春", "温暖回升,开始春耕。");
-        solarDigestMap.put("雨水", "雨水增多,气温回升。");
-        solarDigestMap.put("惊蛰", "气温升高,雷雨增多,万物复苏。");
-        solarDigestMap.put("春分", "昼夜等长,温度适中。");
-        solarDigestMap.put("清明", "气温进一步回升,雨量增多。");
-        solarDigestMap.put("谷雨", "雨水充足,利于农作物生长。");
-        solarDigestMap.put("立夏", "气温升高,降水增多。");
-        solarDigestMap.put("小满", "小麦等夏收作物灌浆饱满。");
-        solarDigestMap.put("芒种", "小麦、油菜成熟,进入收获期。");
-        solarDigestMap.put("夏至", "白昼最长,气温升高。");
-        solarDigestMap.put("小暑", "是二十四节气之第十一个节气,干支历午月的结束以及未月的起始。斗指辛,太阳到达黄经105度,于每年公历7月6-8日交节。暑,是炎热的意思,小暑为小热,还不十分热。小暑虽不是一年中最炎热的时节,但紧接着就是一年中最热的节气大暑,民间有“小暑大暑,上蒸下煮”之说。中国多地自小暑起进入雷暴最多的时节。");
-        solarDigestMap.put("大暑", "一年中最热的时期,高温多雨。");
-        solarDigestMap.put("立秋", "气温开始逐渐降低,昼夜温差增大。");
-        solarDigestMap.put("处暑", "炎热逐渐退去,降水减少。");
-        solarDigestMap.put("白露", "昼夜温差增大,早晨有露水。");
-        solarDigestMap.put("秋分", "气候特点: 昼夜等长,气温适中。");
-        solarDigestMap.put("寒露", "气温逐渐降低,开始有霜冻。");
-        solarDigestMap.put("霜降", "气温骤降,有霜出现。");
-        solarDigestMap.put("立冬", "气温显著降低,进入冬季。");
-        solarDigestMap.put("小雪", "气温进一步降低,开始降雪。");
-        solarDigestMap.put("大雪", "气温持续降低,大面积降雪。");
-        solarDigestMap.put("冬至", "昼最短,夜最长,气温最低。");
-
         try {
-            LocalDate currentDate = LocalDate.now();
-            int year = currentDate.getYear();
-
-            FmsSolar selectFmsSolar = new FmsSolar();
-            selectFmsSolar.setTid("");
-            selectFmsSolar.setYear(String.valueOf(year));
-
-            List<FmsSolar> fmsSolarList = selectFmsSolarList(selectFmsSolar);
-
-            Map<String, FmsSolar> solarMap = new HashMap<>();
-            for(FmsSolar fmsSolar : fmsSolarList){
-                String solarName = fmsSolar.getSolarName();
-                String startDate = fmsSolar.getSolarStartdate();
-                String key = solarName + startDate;
-                solarMap.put(key, fmsSolar);
-            }
-
+            Calendar calendar = Calendar.getInstance();
+            int year = calendar.get(Calendar.YEAR);
+            List<FmsSolar> fmsSolarList = fmsSolarMapper.selectFmsSolarList(null);
             CalendarWrapper calendarWrapper = CalendarUtil.generateCalendarWithLunar(year);
             List<DayWrapper> list = calendarWrapper.getDayList();
-            List<FmsSolar> insertList = new ArrayList<>();
+            LinkedHashMap<String,FmsSolar> lunarMap = fmsSolarList.stream().collect(Collectors.toMap(FmsSolar::getSolarName,item->item,(a,b)->a,LinkedHashMap::new));
             for(DayWrapper dayWrapper : list){
                 LunarDate lunarDate = dayWrapper.getLunarDate();
-                String solarName = lunarDate.getSolarTerm();
-                if(StringUtil.isEmpty(solarName)){
-                    continue;
+                if(StringUtil.isNotEmpty(lunarDate.getSolarTerm())){
+                    FmsSolar fmsSolar = lunarMap.get(lunarDate.getSolarTerm());
+                    if(null != fmsSolar){
+                        fmsSolar.setSolarStartdate(dayWrapper.getDateStr());
+                    }
                 }
-                String startDate = lunarDate.getLocalDate().toString();
-                String key = solarName + startDate;
-                if(!solarMap.containsKey(key)){
-                    FmsSolar fmsSolar = new FmsSolar();
-                    fmsSolar.setSolarId(fmsSolar.getId());
-                    fmsSolar.setTid("");
-                    fmsSolar.setYear(String.valueOf(year));
-                    fmsSolar.setSolarName(solarName);
-                    fmsSolar.setSolarStartdate(startDate);
-                    fmsSolar.setSolarDigest(solarDigestMap.get(solarName));
-
-                    insertList.add(fmsSolar);
-                    log.info("更新节气时令:{} {}", lunarDate.getSolarTerm(), lunarDate);
-                }
-            }
-
-            if(!insertList.isEmpty()){
-                return insertFmsSolarBatch(insertList);
             }
+            return fmsSolarMapper.updateFmsSolarByBatch(fmsSolarList);
         }catch (Exception e){
             log.error("更新失败",e);
             return 0;
         }
-        return 1;
     }
 
     @Override
-    public FmsSolar getNowSolar(String date, String tid) {
-        FmsSolar selectFmsSolar = new FmsSolar();
-        selectFmsSolar.setTid(tid);
-        selectFmsSolar.setYear(String.valueOf(LocalDate.now().getYear()));
-        selectFmsSolar.setSolarStartdate(date);
-
-        FmsSolar fmsSolar = fmsSolarMapper.getFmsSolarByDate(selectFmsSolar);
+    public FmsSolarVo getNowSolar(String date, String tid) {
+        FmsSolarVo fmsSolar = fmsSolarMapper.getFmsSolarByDate(date);
         if(null == fmsSolar){
-            selectFmsSolar.setTid("");
-            return fmsSolarMapper.getFmsSolarByDate(selectFmsSolar);
+            return fmsSolarMapper.getFmsSolarByDate(null);
         }
         return fmsSolar;
     }
 
+    @Override
+    public int updateFmsSolarDigest(FmsSolarVo fmsSolarVo) {
+        return fmsSolarMapper.updateFmsSolarinfo(fmsSolarVo);
+    }
+
+    @Override
+    public int insertFmsSolarDigest(FmsSolarVo fmsSolarVo) {
+        return fmsSolarMapper.insertFmsSolarinfo(fmsSolarVo);
+    }
+
 
 }

+ 58 - 46
src/main/resources/mapper/FmsSolarMapper.xml

@@ -5,39 +5,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 <mapper namespace="com.yunfeiyun.agmp.fms.mapper.FmsSolarMapper">
 
     <sql id="selectFmsSolarVo">
-        select solarId, solarName, solarRemark, solarStartdate, solarDigest, year, tid
-        from FmsSolar
+        select fs.solarId, solarName,  solarStartdate, fsd.solarDigest,fsd.solarRemark
+        from FmsSolar fs
+        LEFT JOIN ( select * from FmsSolarinfo where tid = #{tid} ) fsd on fsd.solarId = fs.solarId
     </sql>
 
-    <select id="selectFmsSolarList" parameterType="FmsSolar" resultType="FmsSolar">
+    <select id="selectFmsSolarVoList" parameterType="com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo" resultType="com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo">
         <include refid="selectFmsSolarVo"/>
         <where>
-            tid = #{tid}
-            <if test="solarName != null  and solarName != ''"> and solarName like concat('%', #{solarName}, '%')</if>
-            <if test="solarRemark != null  and solarRemark != ''"> and solarRemark = #{solarRemark}</if>
-            <if test="solarStartdate != null  and solarStartdate != ''"> and solarStartdate = #{solarStartdate}</if>
-            <if test="solarDigest != null  and solarDigest != ''"> and solarDigest = #{solarDigest}</if>
-            <if test="year != null and year != ''"> and year = #{year}</if>
+            <if test="solarName != null  and solarName != ''"> and fs.solarName like concat('%', #{solarName}, '%')</if>
+            <if test="solarStartdate != null  and solarStartdate != ''"> and fs.solarStartdate = #{solarStartdate}</if>
         </where>
-        order by solarStartdate
+        order by fs.solarStartdate
     </select>
 
-    <select id="selectFmsSolarBySolarId" parameterType="String" resultType="FmsSolar">
+    <select id="selectFmsSolarBySolarId" parameterType="String" resultType="com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo">
         <include refid="selectFmsSolarVo"/>
-        where solarId = #{solarId} and tid = #{tid}
+        <where>
+            fs.solarId = #{solarId}
+        </where>
     </select>
-    <select id="selectFmsSolarBySolarName" parameterType="String" resultType="FmsSolar">
+    <select id="selectFmsSolarBySolarName" parameterType="String" resultType="com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo">
         <include refid="selectFmsSolarVo"/>
-        where solarName = #{solarName} and year = #{year} and tid = #{tid}
+        <where>
+            fs.solarName = #{solarName}
+        </where>
     </select>
 
-    <select id="getFmsSolarByDate" parameterType="FmsSolar" resultType="FmsSolar">
+    <select id="getFmsSolarByDate" parameterType="java.lang.String" resultType="com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo">
         <include refid="selectFmsSolarVo"/>
         <where>
-            tid = #{tid} and year = #{year}
-            <if test="solarStartdate != null and solarStartdate != ''">and solarStartdate &lt;= #{solarStartdate}</if>
+            <if test="solarStartdate != null and solarStartdate != ''">and fs.solarStartdate &lt;= #{solarStartdate}</if>
         </where>
-        order by solarStartdate desc limit 1
+        order by fs.solarStartdate desc limit 1
     </select>
         
     <insert id="insertFmsSolar" parameterType="FmsSolar">
@@ -45,20 +45,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="solarId != null">solarId,</if>
             <if test="solarName != null">solarName,</if>
-            <if test="solarRemark != null">solarRemark,</if>
             <if test="solarStartdate != null">solarStartdate,</if>
-            <if test="solarDigest != null">solarDigest,</if>
-            <if test="year != null">year,</if>
-            <if test="tid != null">tid,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="solarId != null">#{solarId},</if>
             <if test="solarName != null">#{solarName},</if>
-            <if test="solarRemark != null">#{solarRemark},</if>
             <if test="solarStartdate != null">#{solarStartdate},</if>
-            <if test="solarDigest != null">#{solarDigest},</if>
-            <if test="year != null">#{year},</if>
-            <if test="tid != null">#{tid},</if>
          </trim>
     </insert>
 
@@ -68,20 +60,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <trim prefix="(" suffix=")" suffixOverrides=",">
                 <if test="item.solarId != null">solarId,</if>
                 <if test="item.solarName != null">solarName,</if>
-                <if test="item.solarRemark != null">solarRemark,</if>
                 <if test="item.solarStartdate != null">solarStartdate,</if>
-                <if test="item.solarDigest != null">solarDigest,</if>
-                <if test="item.year != null">year,</if>
-                <if test="item.tid != null">tid,</if>
             </trim>
             <trim prefix="values (" suffix=")" suffixOverrides=",">
                 <if test="item.solarId != null">#{item.solarId},</if>
                 <if test="item.solarName != null">#{item.solarName},</if>
-                <if test="item.solarRemark != null">#{item.solarRemark},</if>
                 <if test="item.solarStartdate != null">#{item.solarStartdate},</if>
-                <if test="item.solarDigest != null">#{item.solarDigest},</if>
-                <if test="item.year != null">#{item.year},</if>
-                <if test="item.tid != null">#{item.tid},</if>
             </trim>
         </foreach>
     </insert>
@@ -90,9 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <update id="updateFmsSolar" parameterType="FmsSolar">
         update FmsSolar
         <trim prefix="SET" suffixOverrides=",">
-            <if test="solarRemark != null">solarRemark = #{solarRemark},</if>
             <if test="solarStartdate != null">solarStartdate = #{solarStartdate},</if>
-            <if test="solarDigest != null">solarDigest = #{solarDigest},</if>
         </trim>
         where solarId = #{solarId} and tid = #{tid}
     </update>
@@ -101,22 +83,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <foreach collection="fmsSolarList" item="item" separator=";">
             update FmsSolar
             <trim prefix="SET" suffixOverrides=",">
-                <if test="item.solarRemark != null">solarRemark = #{item.solarRemark},</if>
                 <if test="item.solarStartdate != null">solarStartdate = #{item.solarStartdate},</if>
-                <if test="item.solarDigest != null">solarDigest = #{item.solarDigest},</if>
-                <if test="tid != null">tid = #{item.tid},</if>
             </trim>
-            where solarName = #{item.solarName} and year = #{item.year}
-            <if test="tid != null and tid !='' and tid != '-1'">
-                and tid = #{tid}
-            </if>
-
+            where solarName = #{item.solarName}
         </foreach>
     </update>
 
     <delete id="deleteFmsSolarBySolarId" parameterType="String">
         delete from FmsSolar where solarId = #{solarId}
-        <if test="tid != null and tid !='' and tid != '-1'">and tid = #{tid}</if>
     </delete>
 
     <delete id="deleteFmsSolarBySolarIds" parameterType="String">
@@ -124,6 +98,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <foreach item="solarId" collection="array" open="(" separator="," close=")">
             #{solarId}
         </foreach>
-        <if test="tid != null and tid !='' and tid != '-1'">and tid = #{tid}</if>
     </delete>
+
+    <insert id="insertFmsSolarinfo">
+        insert into FmsSolarinfo
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="solarId != null">solarId,</if>
+            <if test="solarDigest != null">solarDigest,</if>
+            <if test="solarRemark != null">solarRemark,</if>
+            <if test="tid != null">tid,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="solarId != null">#{solarId},</if>
+            <if test="solarDigest != null">#{solarDigest},</if>
+            <if test="solarRemark != null">#{solarRemark},</if>
+            <if test="tid != null">#{tid},</if>
+        </trim>
+    </insert>
+
+    <update id="updateFmsSolarinfo">
+        update FmsSolarinfo
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="solarDigest != null">solarDigest = #{solarDigest},</if>
+            <if test="solarRemark != null">solarRemark = #{solarRemark},</if>
+        </trim>
+        where solarId = #{solarId} and tid = #{tid}
+    </update>
+
+    <select id="selectFmsSolarList" resultType="com.yunfeiyun.agmp.fms.domain.FmsSolar">
+        select solarId, solarName, solarRemark, solarStartdate
+        from FmsSolar
+        <where>
+            <if test="solarName != null  and solarName != ''"> and fs.solarName like concat('%', #{solarName}, '%')</if>
+            <if test="solarRemark != null  and solarRemark != ''"> and fs.solarRemark = #{solarRemark}</if>
+            <if test="solarStartdate != null  and solarStartdate != ''"> and fs.solarStartdate = #{solarStartdate}</if>
+        </where>
+    </select>
+
+    <select id="selectFmsSolarinfoBySolarId" resultType="com.yunfeiyun.agmp.fms.domain.vo.FmsSolarVo">
+        select solarId,solarDigest,solarRemark,tid from FmsSolarinfo where tid = #{tid} and solarId = #{solarId}
+    </select>
 </mapper>