123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- package com.hz.employmentsite.services.impl.taskAndLog;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.hz.employmentsite.mapper.PcDotaskMapper;
- import com.hz.employmentsite.mapper.PcDotaskUserMapper;
- import com.hz.employmentsite.mapper.PcSiteUserMapper;
- import com.hz.employmentsite.mapper.cquery.DoTaskCQuery;
- import com.hz.employmentsite.model.*;
- import com.hz.employmentsite.services.service.taskAndLog.DoTaskService;
- import com.hz.employmentsite.util.StringUtils;
- import com.hz.employmentsite.vo.taskAndLog.DoTaskUserVo;
- import com.hz.employmentsite.vo.taskAndLog.DoTaskVo;
- import com.hz.employmentsite.vo.baseSettings.SiteUserVo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.UUID;
- @Service("DoTaskService")
- public class DoTaskImpl implements DoTaskService {
- @Autowired
- private DoTaskCQuery doTaskCQuery;
- @Autowired
- private StringUtils stringUtils;
- @Autowired
- private PcDotaskMapper doTaskMapper;
- @Autowired
- private PcSiteUserMapper pcSiteUserMapper;
- @Autowired
- private PcDotaskUserMapper doTaskUserMapper;
- @Override
- public PageInfo<DoTaskVo> getList(Integer page, Integer rows, String name, String startTime, String endTime, String finishStartTime, String finishEndTime, String regionCode, String streetCode, String workTypeId) {
- try {
- PageHelper.startPage(page, rows);
- List<DoTaskVo> list = doTaskCQuery.getList(null, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId);
- PageInfo<DoTaskVo> result = new PageInfo(list);
- return result;
- } catch (Exception e) {
- throw new RuntimeException("Database query exception: " + e.getMessage(), e);
- }
- }
- @Override
- public PageInfo<DoTaskVo> getMyTasks(Integer page, Integer rows, String curUserID) {
- PcSiteUserExample siteUserExp = new PcSiteUserExample();
- PcSiteUserExample.Criteria siteUserCro = siteUserExp.createCriteria();
- siteUserCro.andUserIDEqualTo(curUserID);
- var curSiteUserInfo = pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null);
- if(curSiteUserInfo==null){
- throw new RuntimeException("当前用户未绑定站点人员,未能查询到相关工作任务!");
- }else{
- PcDotaskUserExample exp = new PcDotaskUserExample();
- PcDotaskUserExample.Criteria cro = exp.createCriteria();
- cro.andSiteUserIDEqualTo(curSiteUserInfo.getSiteUserID());
- var curDoTaskUserInfo = doTaskUserMapper.selectByExample(exp).stream().toList();
- List<String> curDoTaskIDs = new ArrayList<String>();
- if (curDoTaskUserInfo.size()>0){
- curDoTaskUserInfo.forEach(item -> {
- curDoTaskIDs.add(item.getDotaskID());
- });
- };
- try {
- if(curDoTaskIDs.size()>0){
- PageHelper.startPage(page,rows);
- List<DoTaskVo> list = doTaskCQuery.getList(stringUtils.ListToInSql(curDoTaskIDs),null,null,null,null,null,null,null,null);
- PageInfo<DoTaskVo> result = new PageInfo(list);
- return result;
- }
- return null;
- } catch (Exception e) {
- throw new RuntimeException("Database query exception: " + e.getMessage(), e);
- }
- }
- }
- @Override
- public List<DoTaskUserVo> getWorkUserList(String doTaskID) {
- List<DoTaskUserVo> list = doTaskCQuery.getWorkUserList(doTaskID);
- return list;
- }
- @Override
- public List<SiteUserVo> getUserList() {
- List<SiteUserVo> list = doTaskCQuery.getUserList();
- return list;
- }
- @Override
- public DoTaskVo getDataById(String id) {
- if (stringUtils.IsNullOrEmpty(id)) {
- return null;
- }
- List<String> ids = new ArrayList<>();
- ids.add(id);
- return doTaskCQuery.getList(stringUtils.ListToInSql(ids), null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
- }
- @Override
- public int save(DoTaskVo data, String userId) {
- int result = 0;
- PcDotask dbData = doTaskMapper.selectByPrimaryKey(data.getDoTaskID());
- PcDotaskUserExample exp = new PcDotaskUserExample();
- PcDotaskUserExample.Criteria cro = exp.createCriteria();
- cro.andDotaskIDEqualTo(data.getDoTaskID());
- PcDotaskUser taskUser = doTaskUserMapper.selectByExample(exp).stream().findFirst().orElse(null);
- if (dbData == null) {
- dbData = new PcDotask();
- dbData.setDotaskID(data.getDoTaskID());
- dbData.setWorkTypeID(data.getWorkTypeID());
- dbData.setContent(data.getContent());
- dbData.setDotaskName(data.getDoTaskName());
- dbData.setRegionCode(data.getRegionCode());
- dbData.setStreetCode(data.getStreetCode());
- dbData.setSiteID(data.getSiteID());
- dbData.setFinishTime(data.getFinishTime());
- dbData.setCreateTime(new Date());
- dbData.setCreateUserID(userId);
- result = doTaskMapper.insert(dbData);
- } else {
- dbData.setWorkTypeID(data.workTypeID);
- dbData.setContent(data.content);
- dbData.setDotaskName(data.doTaskName);
- dbData.setRegionCode(data.regionCode);
- dbData.setStreetCode(data.streetCode);
- dbData.setSiteID(data.siteID);
- dbData.setFinishTime(data.finishTime);
- dbData.setModifyTime(new Date());
- dbData.setModifyUserID(userId);
- result = doTaskMapper.updateByPrimaryKeySelective(dbData);
- }
- if (result == 1) {
- String doTaskID = dbData.getDotaskID();
- if (taskUser != null) {
- PcDotaskUserExample example = new PcDotaskUserExample();
- example.or().andDotaskIDEqualTo(data.getDoTaskID());
- doTaskUserMapper.deleteByExample(example);
- }
- var doTaskUsers = data.doTaskUser.stream().toList();
- for (var curData: doTaskUsers) {
- PcDotaskUser user = new PcDotaskUser();
- user.setDotaskUserID(UUID.randomUUID().toString());
- user.setDotaskID(doTaskID);
- user.setSiteUserID(curData.siteUserID);
- doTaskUserMapper.insert(user);
- };
- }
- return result;
- }
- @Override
- public int delete(List<String> ids) {
- int result = 0;
- PcDotaskUserExample expUser = new PcDotaskUserExample();
- PcDotaskUserExample.Criteria croUser = expUser.or();
- croUser.andDotaskIDIn(ids);
- int userRows = doTaskUserMapper.deleteByExample(expUser);
- if (userRows > 0) {
- PcDotaskExample exp = new PcDotaskExample();
- PcDotaskExample.Criteria cro = exp.or();
- cro.andDotaskIDIn(ids);
- result = doTaskMapper.deleteByExample(exp);
- }
- return result;
- }
- }
|