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.DATE,-period); QueryWrapper query = Wrappers.query(); query.eq("on_plan",0); //为活化过 或者 活化时间超过活化周期 query.isNull("activate_time").or().le("activate_time",calendar); return mapper.selectList(query); } public List getAll() { return mapper.selectList((Wrapper) ActionUtil.objeNull); } public void addBatch(List listNew) { mapper.insertBatchSomeColumn(listNew); } public void updateBatchById(List list) { mapper.updateBatchById(list); } public BattWarehouse getByTaskNo(String taskNo) { QueryWrapper query = Wrappers.query(); query.eq("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); } }