package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.mapper.BattWarehouseMapper; import com.whyc.pojo.db_param.PageParam; import com.whyc.pojo.db_wms.BattWarehouse; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Calendar; import java.util.List; @Service public class BattWarehouseService { @Resource private BattWarehouseMapper mapper; @Autowired private PageParamService pageParamService; /** * 获取需要活化的电池: * 条件1:未在活化安排中 * 条件2:大于活化周期 * @return */ public List getActivateList() { PageParam param = pageParamService.getActivatePeriod(); Integer period = param.getValue(); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH,-period); QueryWrapper query = Wrappers.query(); query.eq("on_plan",0); //未活化过 或者 活化时间超过活化周期 query.isNull("activate_time").or().le("activate_time",calendar.getTime()); return mapper.selectList(query); } public List getChargeList() { Integer period = 1; Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH,-period); QueryWrapper query = Wrappers.query(); query.eq("charge_on_plan",0); //未充电过 或者 充电时间超过充电周期 query.isNull("charge_time").or().le("charge_time",calendar.getTime()); return mapper.selectList(query); } public List getDischargeList() { Integer period = 2; Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH,-period); QueryWrapper query = Wrappers.query(); query.eq("discharge_on_plan",0); //未放电过 或者 放电时间超过放电周期 query.isNull("discharge_time").or().le("discharge_time",calendar.getTime()); return mapper.selectList(query); } public List getAll() { return mapper.selectList((Wrapper) ActionUtil.objeNull); } public void addBatch(List listNew) { mapper.insertBatchSomeColumn(listNew); } public void updateActivateBatchById(List list) { mapper.updateActivateBatchById(list); } public void updateChargeBatchById(List list) { mapper.updateChargeBatchById(list); } public void updateDischargeBatchById(List list) { mapper.updateDischargeBatchById(list); } public BattWarehouse getByTaskNo(String taskNo) { QueryWrapper query = Wrappers.query(); query.eq("task_no",taskNo).or().eq("charge_task_no",taskNo).or().eq("discharge_task_no",taskNo); query.last(" limit 1"); return mapper.selectOne(query); } /*** * 结束活化,更新活化时间,重置task_no为null,on_plan为0 * @param id */ public void finishActivationById(Integer id) { UpdateWrapper update = Wrappers.update(); update.set("task_no",null); update.set("on_plan",0); update.set("activate_time",Calendar.getInstance().getTime()); update.eq("id",id); mapper.update((BattWarehouse) ActionUtil.objeNull,update); } public void finishChargeById(Integer id) { UpdateWrapper update = Wrappers.update(); update.set("charge_task_no",null); update.set("charge_on_plan",0); update.set("charge_time",Calendar.getInstance().getTime()); update.eq("id",id); mapper.update((BattWarehouse) ActionUtil.objeNull,update); } public void finishDischargeById(Integer id) { UpdateWrapper update = Wrappers.update(); update.set("discharge_task_no",null); update.set("discharge_on_plan",0); update.set("discharge_time",Calendar.getInstance().getTime()); update.eq("id",id); mapper.update((BattWarehouse) ActionUtil.objeNull,update); } }