Browse Source

增加定时任务,根据调价来修改油枪信息表中的对应的油品的价格,修改油品信息表中的价格。

MS-QJVSRANLTYEO\Administrator 4 years ago
parent
commit
6abd9cd482

+ 1 - 1
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/controller/StationClassStructureController.java

@@ -106,7 +106,7 @@ public class StationClassStructureController extends BaseController
     @GetMapping("/export")
     public AjaxResult export(StationClassStructure stationClassStructure)
     {
-        List<StationClassStructure> list = stationClassStructureService.selectStationClassStructureList(stationClassStructure);
+        List<StationClassStructure> list = stationClassStructureService.selectStationClassStructureExport(stationClassStructure);
         ExcelUtil<StationClassStructure> util = new ExcelUtil<StationClassStructure>(StationClassStructure.class);
         return util.exportExcel(list, "structure");
     }

+ 1 - 0
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/controller/StationOilPriceAdjustController.java

@@ -92,6 +92,7 @@ public class StationOilPriceAdjustController extends BaseController
         }
         LoginUser currentUser = SecurityUtils.getLoginUser();
         stationOilPriceAdjust.setOperator(currentUser.getUsername());
+        stationOilPriceAdjust.setStatus("1");
         return toAjax(stationOilPriceAdjustService.insertStationOilPriceAdjust(stationOilPriceAdjust));
     }
 

+ 9 - 8
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/domain/StationOilPrice.java

@@ -1,5 +1,6 @@
 package com.yijia.station.domain;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -26,7 +27,7 @@ public class StationOilPrice extends BaseEntity
 
     /** 油品价格 */
     @Excel(name = "油品价格")
-    private String oilPrice;
+    private BigDecimal oilPrice;
 
     /** 油站id */
     @Excel(name = "油站id")
@@ -59,16 +60,16 @@ public class StationOilPrice extends BaseEntity
     {
         return oilName;
     }
-    public void setOilPrice(String oilPrice) 
-    {
-        this.oilPrice = oilPrice;
-    }
 
-    public String getOilPrice() 
-    {
+    public BigDecimal getOilPrice() {
         return oilPrice;
     }
-    public void setStationId(Long stationId) 
+
+    public void setOilPrice(BigDecimal oilPrice) {
+        this.oilPrice = oilPrice;
+    }
+
+    public void setStationId(Long stationId)
     {
         this.stationId = stationId;
     }

+ 13 - 12
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/domain/StationOilPriceAdjust.java

@@ -1,5 +1,6 @@
 package com.yijia.station.domain;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -26,20 +27,20 @@ public class StationOilPriceAdjust extends BaseEntity
 
     /** 油品调整价格 */
     @Excel(name = "油品调整价格")
-    private String oilAdjustPrice;
+    private BigDecimal oilAdjustPrice;
 
     /** 生效状态(1,立即生效,2指定时间生效) */
     @Excel(name = "生效状态", readConverterExp = "1=,立即生效,2指定时间生效")
     private String takeEffectStatus;
 
     /** 生效时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date takeEffectDate;
 
     /** 调价时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "调价时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "调价时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date adjustDate;
 
     /** 油站id */
@@ -80,16 +81,16 @@ public class StationOilPriceAdjust extends BaseEntity
     {
         return oilName;
     }
-    public void setOilAdjustPrice(String oilAdjustPrice) 
-    {
-        this.oilAdjustPrice = oilAdjustPrice;
-    }
 
-    public String getOilAdjustPrice() 
-    {
+    public BigDecimal getOilAdjustPrice() {
         return oilAdjustPrice;
     }
-    public void setTakeEffectStatus(String takeEffectStatus) 
+
+    public void setOilAdjustPrice(BigDecimal oilAdjustPrice) {
+        this.oilAdjustPrice = oilAdjustPrice;
+    }
+
+    public void setTakeEffectStatus(String takeEffectStatus)
     {
         this.takeEffectStatus = takeEffectStatus;
     }

+ 7 - 0
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/mapper/StationClassStructureMapper.java

@@ -103,4 +103,11 @@ public interface StationClassStructureMapper
 /*获取当前人班结信息
  */
     StationClassStructure listClass(StationClassStructure stationClassStructure);
+
+    /**
+     * 导出数据
+     * @param stationClassStructure
+     * @return
+     */
+    List<StationClassStructure> selectStationClassStructureExport(StationClassStructure stationClassStructure);
 }

+ 7 - 0
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/service/IStationClassStructureService.java

@@ -103,4 +103,11 @@ public interface IStationClassStructureService
 
 
     public StationClassStructure listClass(StationClassStructure stationClassStructure);
+
+    /**
+     * 导出数据
+     * @param stationClassStructure
+     * @return
+     */
+    List<StationClassStructure> selectStationClassStructureExport(StationClassStructure stationClassStructure);
 }

+ 10 - 0
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/service/impl/StationClassStructureServiceImpl.java

@@ -151,4 +151,14 @@ public class StationClassStructureServiceImpl implements IStationClassStructureS
         return stationClassStructureMapper.listClass(stationClassStructure);
     }
 
+    /**
+     * 导出数据
+     * @param stationClassStructure
+     * @return
+     */
+    @Override
+    public List<StationClassStructure> selectStationClassStructureExport(StationClassStructure stationClassStructure) {
+        return stationClassStructureMapper.selectStationClassStructureExport(stationClassStructure);
+    }
+
 }

+ 52 - 37
Yijia-SaaS/yijia-station/src/main/java/com/yijia/station/task/SaticScheduleTask.java

@@ -1,54 +1,69 @@
 package com.yijia.station.task;
+import com.yijia.common.utils.DateUtils;
 
-
+import com.yijia.station.domain.StationOilGun;
 import com.yijia.station.domain.StationOilPrice;
 import com.yijia.station.domain.StationOilPriceAdjust;
+import com.yijia.station.service.IStationOilGunService;
 import com.yijia.station.service.IStationOilPriceAdjustService;
 import com.yijia.station.service.IStationOilPriceService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
-import java.time.LocalDateTime;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
 @Configuration      //1.主要用于标记配置类,兼备Component的效果。
 @EnableScheduling   // 2.开启定时任务
 public class SaticScheduleTask {
-
-//    private IStationOilPriceAdjustService stationOilPriceAdjustService;
-//    private IStationOilPriceService stationOilPriceService;
-//    //3.添加定时任务
-//    @Scheduled(cron = "0/5 * * * * ?")
-//    //或直接指定时间间隔,例如:5秒
-//    //@Scheduled(fixedRate=5000)
-//    private void configureTasks() {
-//        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
-//        //查询油品调价列表 查询出未调价的信息
-////        StationOilPriceAdjust stationOilPriceAdjust =new StationOilPriceAdjust();
-////        stationOilPriceAdjust.setTakeEffectStatus("1");
-////        List<StationOilPriceAdjust>  oilPriceAdjustList=stationOilPriceAdjustService.selectStationOilPriceAdjustList(stationOilPriceAdjust);
-////        //循环查看 调价的生效时间是否和当前时间相符
-////        for(StationOilPriceAdjust adjust: oilPriceAdjustList ){
-////            //判断当前时间是否符合调价生效时间
-////            if(adjust.getAdjustDate().equals(new Date()) ){
-////                //根据查询油品价格id
-////                StationOilPrice oilPrice=new StationOilPrice();
-////                oilPrice.setOilName(adjust.getOilName());
-////                oilPrice.setStationId(adjust.getStationId());
-////               List<StationOilPrice> list = stationOilPriceService.selectStationOilPriceList(oilPrice);
-////               if(list!=null && list.size()==1){
-////                   //修改调价状态
-////                   adjust.setTakeEffectStatus("2");
-////                   stationOilPriceAdjustService.updateStationOilPriceAdjust(adjust);
-////                   //修改油站对应的价格
-////                   StationOilPrice stationOilPrice=new StationOilPrice();
-////                   stationOilPrice.setOilPriceId(list.get(0).getOilPriceId());
-////                   stationOilPrice.setOilPrice(adjust.getOilAdjustPrice());
-////                   stationOilPriceService.updateStationOilPrice(stationOilPrice);
-////               }
-////            }
-//      //  }
-//    }
+    @Autowired
+    private IStationOilPriceAdjustService stationOilPriceAdjustService;
+    @Autowired
+    private IStationOilPriceService stationOilPriceService;
+    @Autowired
+    private IStationOilGunService stationOilGunService;
+    //3.添加定时任务
+   // @Scheduled(cron = "0/5 * * * * ?")
+    //或直接指定时间间隔,例如:5秒 5000
+    @Scheduled(fixedRate=5000)
+    private void configureTasks() throws ParseException {
+        //获取当前时间 yyyy-MM-dd HH:mm:ss
+        String newdate = DateUtils.getTime();
+        System.err.println("执行静态定时任务时间: " + newdate);
+        //查询油品调价列表 查询出未调价的信息
+        StationOilPriceAdjust stationOilPriceAdjust =new StationOilPriceAdjust();
+        stationOilPriceAdjust.setStatus("1");
+        stationOilPriceAdjust.setEndTime(newdate);
+        List<StationOilPriceAdjust>  oilPriceAdjustList=stationOilPriceAdjustService.selectStationOilPriceAdjustList(stationOilPriceAdjust);
+        //循环查看 调价的生效时间是否和当前时间相符
+        for(StationOilPriceAdjust adjust: oilPriceAdjustList ){
+            //修改油品价格根据油品价格id
+            StationOilPrice oilPrice=new StationOilPrice();
+            oilPrice.setOilPriceId(adjust.getOilPriceId());
+            oilPrice.setOilPrice(adjust.getOilAdjustPrice());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date sdate = sdf.parse(newdate);
+            oilPrice.setDate(sdate);
+            stationOilPriceService.updateStationOilPrice(oilPrice);
+            //修改油枪信息中的价格
+            StationOilGun gun =new StationOilGun();
+            gun.setStationId(adjust.getStationId());
+            gun.setOilName(adjust.getOilName());
+            List<StationOilGun> listGun = stationOilGunService.selectStationOilGunList(gun);
+            for(StationOilGun oilGun: listGun ){
+                StationOilGun stationOilGun =new StationOilGun();
+                stationOilGun.setOilPrice(adjust.getOilAdjustPrice());
+                stationOilGun.setOilGunId(oilGun.getOilGunId());
+                stationOilGunService.updateStationOilGun(stationOilGun);
+            }
+            StationOilPriceAdjust priceAdjust=new StationOilPriceAdjust();
+            priceAdjust.setStatus("2");
+            priceAdjust.setAdjustPriceId(adjust.getAdjustPriceId());
+            stationOilPriceAdjustService.updateStationOilPriceAdjust(priceAdjust);
+        }
+    }
 }

+ 50 - 0
Yijia-SaaS/yijia-station/src/main/resources/mapper/station/StationClassStructureMapper.xml

@@ -181,6 +181,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </where>
         )
     </select>
+<!--  导出数据-->
+    <select id="selectStationClassStructureExport" parameterType="StationClassStructure" resultMap="StationClassStructureResult">
+        SELECT order_no,station_name,oil_gun,oil_name,oil_pirce,amt,order_liters,pay_date,consumer,oil_personnel,print_num,class_structure_no
+        from station_class_structure
+        <where>
+            <if test="orderNo != null  and orderNo != ''"> and order_no = #{orderNo}</if>
+            <if test="stationId != null "> and station_id = #{stationId}</if>
+            <if test="stationName != null  and stationName != ''"> and station_name like concat('%', #{stationName}, '%')</if>
+            <if test="oilGun != null  and oilGun != ''"> and oil_gun = #{oilGun}</if>
+            <if test="oilName != null  and oilName != ''"> and oil_name like concat('%', #{oilName}, '%')</if>
+            <if test="oilPirce != null "> and oil_pirce = #{oilPirce}</if>
+            <if test="oilType != null  and oilType != ''"> and oil_type = #{oilType}</if>
+            <if test="consumerId != null "> and consumer_id = #{consumerId}</if>
+            <if test="consumer != null  and consumer != ''"> and consumer = #{consumer}</if>
+            <if test="amt != null "> and amt = #{amt}</if>
+            <if test="orderLiters != null "> and order_liters = #{orderLiters}</if>
+            <if test="payType != null  and payType != ''"> and pay_type = #{payType}</if>
+            <if test="payWay != null  and payWay != ''"> and pay_way = #{payWay}</if>
+            <if test="payDate != null "> and pay_date = #{payDate}</if>
+            <if test="oilPersonnel != null  and oilPersonnel != ''"> and oil_personnel = #{oilPersonnel}</if>
+            <if test="orderType != null  and orderType != ''"> and order_type = #{orderType}</if>
+            <if test="printNum != null "> and print_num = #{printNum}</if>
+            <if test="classStructureNo != null  and classStructureNo != ''"> and class_structure_no = #{classStructureNo}</if>
+            <if test="classStartDate != null "> and class_start_date = #{classStartDate}</if>
+            <if test="classStructureDate != null "> and class_structure_date = #{classStructureDate}</if>
+            <if test="classStructureMan != null  and classStructureMan != ''"> and class_structure_man = #{classStructureMan}</if>
+            <if test="oils != null  and oils != ''"> and oils = #{oils}</if>
+            <if test="receivableAmt != null "> and receivable_amt = #{receivableAmt}</if>
+            <if test="receivedAmt != null "> and received_amt = #{receivedAmt}</if>
+            <if test="discountAmt != null "> and discount_amt = #{discountAmt}</if>
+            <if test="discountCouponAmt != null "> and discount_coupon_amt = #{discountCouponAmt}</if>
+            <if test="discountCoupon != null  and discountCoupon != ''"> and discount_coupon = #{discountCoupon}</if>
+            <if test="wxAmt != null "> and wx_amt = #{wxAmt}</if>
+            <if test="zfbAmt != null "> and zfb_amt = #{zfbAmt}</if>
+            <if test="posAmt != null "> and pos_amt = #{posAmt}</if>
+            <if test="xjAmt != null "> and xj_amt = #{xjAmt}</if>
+            <if test="didiAppAmt != null "> and didi_app_amt = #{didiAppAmt}</if>
+            <if test="tyAppAmt != null "> and ty_app_amt = #{tyAppAmt}</if>
+            <if test="otherAmt != null "> and other_amt = #{otherAmt}</if>
+            <if test="dzkAmt != null "> and dzk_amt = #{dzkAmt}</if>
+            <if test="score != null "> and score = #{score}</if>
+            <if test="memberNo != null  and memberNo != ''"> and member_no = #{memberNo}</if>
+            <if test="memberAmt != null "> and member_amt = #{memberAmt}</if>
+            <if test="carNo != null  and carNo != ''"> and car_no = #{carNo}</if>
+            <if test="customerPhone != null  and customerPhone != ''"> and customer_phone = #{customerPhone}</if>
+            <if test="customerGrade != null  and customerGrade != ''"> and customer_grade = #{customerGrade}</if>
+        </where>
+        order by  id desc
+    </select>
+
     <insert id="insertStationClassStructure" parameterType="StationClassStructure" useGeneratedKeys="true" keyProperty="id">
         insert into station_class_structure
         <trim prefix="(" suffix=")" suffixOverrides=",">

+ 3 - 0
Yijia-SaaS/yijia-station/src/main/resources/mapper/station/StationOilPriceAdjustMapper.xml

@@ -35,6 +35,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="operator != null  and operator != ''"> and operator = #{operator}</if>
             <if test="status != null  and status != ''"> and status = #{status}</if>
             <if test="oilPriceId != null "> and oil_price_id = #{oilPriceId}</if>
+            <if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
+                AND date_format(take_effect_date,'%Y-%m-%d %H:%i:%s') &lt;= date_format(#{endTime},'%Y-%m-%d %H:%i:%s')
+            </if>
         </where>
         order by adjust_price_id desc
     </select>