|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.Wrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.plugins.Page; | 
|---|
|  |  |  | import com.core.common.DateUtils; | 
|---|
|  |  |  | import com.zy.crm.manager.entity.Item; | 
|---|
|  |  |  | import com.zy.crm.manager.entity.Pri; | 
|---|
|  |  |  | import com.zy.crm.manager.entity.PriOnline; | 
|---|
|  |  |  | import com.zy.crm.manager.service.ItemService; | 
|---|
|  |  |  | import com.zy.crm.manager.service.PriOnlineService; | 
|---|
|  |  |  | import com.zy.crm.manager.entity.*; | 
|---|
|  |  |  | import com.zy.crm.manager.service.*; | 
|---|
|  |  |  | import com.core.annotations.ManagerAuth; | 
|---|
|  |  |  | import com.core.common.BaseRes; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.core.common.R; | 
|---|
|  |  |  | import com.core.domain.KeyValueVo; | 
|---|
|  |  |  | import com.zy.crm.common.web.BaseController; | 
|---|
|  |  |  | import com.zy.crm.manager.service.PriService; | 
|---|
|  |  |  | import com.zy.crm.system.entity.Role; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.core.io.ClassPathResource; | 
|---|
|  |  |  | import org.springframework.util.ClassUtils; | 
|---|
|  |  |  | 
|---|
|  |  |  | private PriService priService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ItemService itemService; | 
|---|
|  |  |  | private PlanService planService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/priOnline/{id}/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestParam(required = false)String condition, | 
|---|
|  |  |  | @RequestParam Map<String, Object> param){ | 
|---|
|  |  |  | EntityWrapper<PriOnline> wrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | wrapper.setSqlSelect("id,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); | 
|---|
|  |  |  | wrapper.setSqlSelect("id,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); | 
|---|
|  |  |  | wrapper.in("member_id", getUserRoleBelongsToUserId("allopen")); | 
|---|
|  |  |  | excludeTrash(param); | 
|---|
|  |  |  | convert(param, wrapper); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ | 
|---|
|  |  |  | boolean signUserId = false; | 
|---|
|  |  |  | boolean signDeptId = false; | 
|---|
|  |  |  | boolean signHostId = false; | 
|---|
|  |  |  | for (Map.Entry<String, Object> entry : map.entrySet()){ | 
|---|
|  |  |  | if (entry.getKey().equals("dept_id")){ | 
|---|
|  |  |  | signDeptId = true; | 
|---|
|  |  |  | if (String.valueOf(entry.getValue()).equals("19")){ | 
|---|
|  |  |  | signHostId = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (Map.Entry<String, Object> entry : map.entrySet()){ | 
|---|
|  |  |  | String val = String.valueOf(entry.getValue()); | 
|---|
|  |  |  | if (val.contains(RANGE_TIME_LINK)){ | 
|---|
|  |  |  | String[] dates = val.split(RANGE_TIME_LINK); | 
|---|
|  |  |  | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); | 
|---|
|  |  |  | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); | 
|---|
|  |  |  | } else if (entry.getKey().equals("dept_id")){ | 
|---|
|  |  |  | if (!val.equals("19")){ | 
|---|
|  |  |  | wrapper.eq(entry.getKey(), val); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (entry.getKey().equals("user_id") && !signDeptId){ | 
|---|
|  |  |  | signUserId = true; | 
|---|
|  |  |  | wrapper.eq(entry.getKey(), val); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | wrapper.like(entry.getKey(), val); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!signUserId && !signDeptId){ | 
|---|
|  |  |  | wrapper.eq("user_id", getUserId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (signHostId){ | 
|---|
|  |  |  | wrapper.or().eq("host_id",1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | priOnline.setOrderNum(format.format(new Date())); | 
|---|
|  |  |  | //创建人员 | 
|---|
|  |  |  | priOnline.setUserId(getUserId()); | 
|---|
|  |  |  | //创建人员部门 | 
|---|
|  |  |  | priOnline.setDeptId(getDeptId()); | 
|---|
|  |  |  | //更新时间 | 
|---|
|  |  |  | priOnline.setUpdateTime(new Date()); | 
|---|
|  |  |  | //更新人员 | 
|---|
|  |  |  | 
|---|
|  |  |  | //状态,未完成 | 
|---|
|  |  |  | priOnline.setStatus(0); | 
|---|
|  |  |  | //业务员 | 
|---|
|  |  |  | Item item = itemService.selectById(priOnline.getItemId()); | 
|---|
|  |  |  | priOnline.setMemberId(item.getMember()); | 
|---|
|  |  |  | //        Item item = itemService.selectById(priOnline.getItemId()); | 
|---|
|  |  |  | Plan plan = planService.selectById(priOnline.getItemId()); | 
|---|
|  |  |  | priOnline.setMemberId(plan.getUserId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //设置项目流程 | 
|---|
|  |  |  | item.setStep(2); | 
|---|
|  |  |  | itemService.updateById(item); | 
|---|
|  |  |  | plan.setStep(2); | 
|---|
|  |  |  | planService.updateById(plan); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | priOnlineService.insert(priOnline); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | 
|---|
|  |  |  | priOnline.setUpdateUserId(getUserId()); | 
|---|
|  |  |  | //状态,未完成 | 
|---|
|  |  |  | priOnline.setStatus(0); | 
|---|
|  |  |  | priOnline.setDeptId(getDeptId()); | 
|---|
|  |  |  | //业务员 | 
|---|
|  |  |  | Item item = itemService.selectById(priOnline.getItemId()); | 
|---|
|  |  |  | priOnline.setMemberId(item.getMember()); | 
|---|
|  |  |  | //        Item item = itemService.selectById(priOnline.getItemId()); | 
|---|
|  |  |  | Plan plan = planService.selectById(priOnline.getItemId()); | 
|---|
|  |  |  | priOnline.setMemberId(plan.getUserId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | priOnlineService.insert(priOnline); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | 
|---|
|  |  |  | for (PriOnline priOnline : page.getRecords()){ | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("id", priOnline.getId()); | 
|---|
|  |  |  | map.put("value", priOnline.getOrderNum() + "/" + priOnline.getItemId$() + "/" + priOnline.getMemberId$()); | 
|---|
|  |  |  | map.put("value", priOnline.getOrderNum() + "/" + priOnline.getPlanId$() + "/" + priOnline.getMemberId$()); | 
|---|
|  |  |  | result.add(map); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(result); | 
|---|