From bb71b47a43244e6db57cbc3cd0223bc5a64023d7 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 10 十一月 2023 10:40:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/zycrm' into zycrm --- src/main/java/com/zy/crm/manager/entity/ReimburseOnlineDetl.java | 68 + src/main/java/com/zy/crm/manager/mapper/AllFollMapper.java | 12 src/main/java/com/zy/crm/manager/entity/PriOnline2Foll.java | 75 +++ src/main/webapp/static/js/priOnline2/priOnline.js | 148 +++-- src/main/webapp/views/plan/plan.html | 12 src/main/java/com/zy/crm/manager/service/AllFollService.java | 8 src/main/java/com/zy/crm/manager/service/PriOnline2FollService.java | 8 src/main/resources/mapper/PlanMapper.xml | 4 src/main/java/com/zy/crm/manager/controller/PlanController.java | 154 +++++ src/main/java/com/zy/crm/manager/service/impl/PriOnline2FollServiceImpl.java | 12 src/main/resources/mapper/PriOnline2FollMapper.xml | 13 src/main/webapp/static/js/reimburseOnline/reimburseOnline.js | 12 src/main/resources/mapper/PriOnline2Mapper.xml | 45 + src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java | 8 src/main/java/com/zy/crm/manager/entity/Plan.java | 300 +++++++---- src/main/java/com/zy/crm/manager/service/impl/PriOnline2ServiceImpl.java | 11 src/main/webapp/views/priOnline2/priOnline.html | 7 src/main/java/com/zy/crm/manager/entity/PlanType.java | 5 src/main/java/com/zy/crm/manager/service/PriOnline2Service.java | 3 src/main/java/com/zy/crm/manager/entity/PriOnline2.java | 102 +++ src/main/java/com/zy/crm/manager/service/impl/AllFollServiceImpl.java | 12 src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java | 212 +++++-- src/main/resources/mapper/AllFollMapper.xml | 13 src/main/java/com/zy/crm/manager/mapper/PriOnline2FollMapper.java | 12 src/main/java/com/zy/crm/manager/mapper/PriOnline2Mapper.java | 2 src/main/webapp/static/js/plan/plan.js | 145 +++++ src/main/java/com/zy/crm/manager/entity/AllFoll.java | 82 +++ 27 files changed, 1,191 insertions(+), 294 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/PlanController.java b/src/main/java/com/zy/crm/manager/controller/PlanController.java index 0cd26b0..4e77bb0 100644 --- a/src/main/java/com/zy/crm/manager/controller/PlanController.java +++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java @@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; -import com.core.common.BaseRes; -import com.core.common.Cools; -import com.core.common.DateUtils; -import com.core.common.R; +import com.core.common.*; import com.core.domain.KeyValueVo; import com.core.exception.CoolException; import com.zy.crm.common.model.SettleDto; @@ -118,6 +115,23 @@ }); } + @RequestMapping(value = "/plan/assistantPlan/view/auth") + @ManagerAuth(memo = "鏌ョ湅鍓鍒掔敵璇峰崟") + @Transactional + public R assistantPlanView(@RequestParam Long hostPlanId) { + Plan plan = planService.selectById(hostPlanId); + if (plan.getAssistantHostSign()==1){ + EntityWrapper<Plan> wrapper = new EntityWrapper<>(); + wrapper.eq("id",plan.getHostPlanId()); + Page<Plan> planPage = planService.selectPage(new Page<>(1, 1), wrapper); + return R.ok(planPage); + } + EntityWrapper<Plan> wrapper = new EntityWrapper<>(); + wrapper.eq("id",plan.getAssistantPlanId()); + Page<Plan> planPage = planService.selectPage(new Page<>(1, 1), wrapper); + return R.ok(planPage); + } + @RequestMapping(value = "/plan/add/auth") @ManagerAuth(memo = "娣诲姞瑙勫垝鐢宠鍗�") @Transactional @@ -169,6 +183,11 @@ manager = getUser(); } PlanType planType = planTypeService.selectById(plan.getPlanType()); + if (planType.getType().equals(2)) { + plan.setStatus2(0); + }else { + plan.setStatus2(10); + } User planLeader = planTypeService.findPlanLeader(planType); plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager, planLeader))); @@ -187,6 +206,91 @@ } return R.ok(); + } + + @RequestMapping(value = "/plan/assistantPlan/add/auth") + @ManagerAuth(memo = "娣诲姞鍓鍒掔敵璇峰崟") + @Transactional + public R assistantPlanAdd(@RequestParam Long hostPlanId) { + Plan hostPlan = planService.selectById(hostPlanId); + if (hostPlan.getAssistantHostSign()!=0){ + return R.error("姝よ鍒掑崟涓嶉渶瑕佸垱寤哄壇娴佺▼"); + } + PlanType planType2 = planTypeService.selectById(hostPlan.getPlanType()); + if (planType2.getType()!=2){ + return R.error("姝よ鍒掑崟涓嶉渶瑕佸垱寤哄壇娴佺▼"); + } + if (!Cools.isEmpty(hostPlan.getAssistantPlanId()) && hostPlan.getAssistantPlanId()!=0){ + return R.error("姝よ鍒掑崟宸插瓨鍦ㄥ壇瑙勫垝鍗曪紝id涓�"+hostPlan.getAssistantPlanId()); + } + // pre + Plan plan = new Plan(hostPlan); + // begin + Long hostId = getHostId(); + if (planService.selectByUuid(hostId, plan.getUuid()) != null) { + throw new CoolException("瑙勫垝鍗曞凡瀛樺湪"); + } + + Order order = orderService.selectById(plan.getOrderId()); + if (Cools.isEmpty(order)) { + throw new CoolException("璺熻釜椤圭洰涓嶅瓨鍦�"); + } + + if (!order.getDirector().equals(getUserId())){ + throw new CoolException("鍙厑璁歌窡韪」鐩礋璐d汉娣诲姞鎵�閫夐」鐩鍒掔敵璇峰崟"); + } + + Date now = new Date(); + plan.setHostId(hostId); + plan.setUuid(planService.getUuid(hostId)); // 瑙勫垝鍗曚唬鍙� + plan.setDeptId(getDeptId()); // 鎵�灞為儴闂� + plan.setUserId(getUserId()); // 鎵�灞炰汉鍛� + + plan.setAppleTime(now); + plan.setCreateBy(getUserId()); + plan.setCreateTime(now); + plan.setUpdateBy(getUserId()); + plan.setUpdateTime(now); + plan.setStatus(0); + plan.setStatus2(0); + plan.setStep(1); + plan.setSettle(1); // 1.寮�濮� + plan.setAssistantHostSign(1);//鍓鍒掑崟 + + User manager = new User(); + try{ + manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + }catch (Exception e){ + manager = getUser(); + } + PlanType planType = new PlanType(hostPlan.getHostId(),1);//1:璐ф灦 + User planLeader = planTypeService.findPlanLeader(planType); + plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager, planLeader))); + + plan.setDirector(planLeader.getId()); + + if (!planService.insert(plan)) { + throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯"); + } + plan.setAssistantPlanId(plan.getId()); + plan.setHostPlanId(hostPlanId); + if (!planService.updateById(plan)) { + throw new CoolException("鏇存柊澶辫触锛岃閲嶈瘯"); + } + // 鑷姩娣诲姞璺熻繘浜� + PlanFoll planFoll = new PlanFoll(); + planFoll.setPlanId(plan.getId()); + planFoll.setUserId(planLeader.getId()); + if (!planFollService.insert(planFoll)) { + throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯"); + } + + hostPlan.setAssistantPlanId(plan.getId()); + hostPlan.setHostPlanId(hostPlanId); + if (!planService.updateById(hostPlan)) { + throw new CoolException("鏇存柊澶辫触锛岃閲嶈瘯"); + } + return R.ok("淇濆瓨鎴愬姛"); } @RequestMapping(value = "/plan/update/auth") @@ -249,6 +353,21 @@ int priOnline2 = priOnline2Service.selectCount(new EntityWrapper<PriOnline2>().eq("item_id", id)); if (priOnline2!=0){ return R.error("瀛樺湪鍏宠仈鐨勬牳浠峰崟锛岀姝㈠垹闄わ紒锛侊紒"); + } + Plan planA = planService.selectById(id); + if (planA.getAssistantHostSign()==1){ + Plan planB = planService.selectById(planA.getHostPlanId()); + planB.setAssistantPlanId(0L); + planB.setHostPlanId(0L); + planB.setStatus2(0); + planService.updateById(planB); + }else { + if (!Cools.isEmpty(planA.getAssistantPlanId()) && planA.getAssistantPlanId()!=0){ + Plan planB = planService.selectById(planA.getAssistantPlanId()); + if (!Cools.isEmpty(planB)){ + return R.error("瀛樺湪鍏宠仈鐨勫壇瑙勫垝鍗曪紝绂佹鍒犻櫎锛侊紒锛� 鍓鍒掑崟ID锛�"+planB.getId()); + } + } } planService.deleteById(id); } @@ -419,8 +538,7 @@ // break; case 1: // 鏌ユ壘瑙勫垝缁勯暱 - PlanType planType = planTypeService.selectById(plan.getPlanType()); - User planLeader = planTypeService.findPlanLeader(planType); + User planLeader = userService.selectById(plan.getDirector()); if (Cools.isEmpty(planLeader)) { throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�"); } @@ -562,6 +680,12 @@ plan.setUpdateBy(getUserId()); plan.setUpdateTime(new Date()); + if (plan.getAssistantHostSign()==1){ + Plan planHost = planService.selectById(plan.getHostPlanId()); + planHost.setStatus2(1); + planService.updateById(planHost); + } + if (!planService.updateById(plan)) { throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -625,6 +749,9 @@ } // 鏌ユ壘瑙勫垝缁勯暱 PlanType planType = planTypeService.selectById(plan.getPlanType()); + if (plan.getAssistantHostSign()==1){ + planType.setType(1); + } User planLeader = planTypeService.findPlanLeader(planType); if (Cools.isEmpty(planLeader)) { throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�"); @@ -691,6 +818,7 @@ EntityWrapper<Plan> wrapper = new EntityWrapper<>(); wrapper.like("name", condition); wrapper.eq("status",1); + wrapper.eq("assistant_host_sign",0); List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 4).or().eq("process_memo", 5));//2锛氭牳浠锋祦绋� int type =0; @@ -725,6 +853,20 @@ map.put("value", plan.getName()); result.add(map); } + if (type==1){ + EntityWrapper<Plan> wrapper2 = new EntityWrapper<>(); + wrapper2.like("name", condition); + wrapper2.eq("status",1); + wrapper2.eq("assistant_host_sign",1); + List<Plan> plan2s = planService.selectList(wrapper2); + for (Plan plan : plan2s){ + Map<String, Object> map = new HashMap<>(); + map.put("id", plan.getId()); +// map.put("value", plan.getName()+"---"+plan.getId()); + map.put("value", plan.getName()); + result.add(map); + } + } return R.ok(result); } diff --git a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java index a78fcc4..84ae90d 100644 --- a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java +++ b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java @@ -57,6 +57,9 @@ @Autowired private UserService userService; + @Autowired + private PriOnline2FollService priOnline2FollService; + String PZH = " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "; @RequestMapping(value = "/priOnline2/{id}/auth") @@ -86,12 +89,22 @@ @RequestParam(defaultValue = "10") Integer limit, @RequestParam(required = false) String orderByField, @RequestParam(required = false) String orderByType, + @RequestParam(required = false) String allSwitch, @RequestParam(required = false) String condition, - @RequestParam Map<String, Object> param) { + @RequestParam Map<String, Object> paramSou) { EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); - wrapper.setSqlSelect("id,title,create_time as createTime,filepath,settle,settle_size as settleSize,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.setSqlSelect("id,title,create_time as createTime,assistant_plan_id as assistantPlanId,host_plan_id as hostPlanId,assistant_host_sign as assistantHostSign,filepath,settle,settle_size as settleSize,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); + excludeTrash(paramSou); + Map<String, Object> param = convertallSwitch(paramSou); + + if (!Cools.isEmpty(allSwitch)){ + List<PriOnline2> priOnline2List = priOnline2Service.listByAll(getUserId()); + Page<PriOnline2> page1 = new Page<PriOnline2>(curr, limit).setRecords(priOnline2List); + page1.setTotal(priOnline2Service.listByAllTotal(getUserId())); + return R.ok(page1); + } + convert(param, wrapper); allLike(PriOnline2.class, param.keySet(), wrapper, condition); wrapper.or().eq("member_id", getUserId()); @@ -101,6 +114,14 @@ return R.ok(priOnline2Service.selectPage(new Page<>(curr, limit), wrapper)); } + private Map<String, Object> convertallSwitch(Map<String, Object> map) { + for (Map.Entry<String, Object> entry : map.entrySet()) { + if (entry.getKey().equals("allSwitch")) { + map.remove("allSwitch"); + } + } + return map; + } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { boolean signUserId = false; boolean signDeptId = false; @@ -143,68 +164,68 @@ wrapper.or().eq("host_id", 1); } } - @RequestMapping(value = "/priOnline2/HJ/add/auth") - @ManagerAuth(memo = "鎺ュ彇闆嗘垚鏍镐环浠诲姟") - public R addHJ(PriOnline2 priOnline2) { - PriOnline2 priOnline21 = priOnline2Service.selectById(priOnline2.getId()); - if (priOnline21.getSettle()!=1 || !priOnline21.getMemberId().equals(0L)){ - return R.error("姝ら泦鎴愭牳浠峰崟鐘舵�佸凡鏀瑰彉锛岃鍒锋柊椤甸潰閲嶆柊閫夋嫨锛�"); - } - Date now = new Date(); - priOnline21.setMemberId(getUserId()); +// @RequestMapping(value = "/priOnline2/HJ/add/auth") +// @ManagerAuth(memo = "鎺ュ彇闆嗘垚鏍镐环浠诲姟") +// public R addHJ(PriOnline2 priOnline2) { +// PriOnline2 priOnline21 = priOnline2Service.selectById(priOnline2.getId()); +// if (priOnline21.getSettle()!=1 || !priOnline21.getMemberId().equals(0L)){ +// return R.error("姝ら泦鎴愭牳浠峰崟鐘舵�佸凡鏀瑰彉锛岃鍒锋柊椤甸潰閲嶆柊閫夋嫨锛�"); +// } +// Date now = new Date(); +// priOnline21.setMemberId(getUserId()); +// +// +// List<SettleDto> planDtos = JSON.parseArray(priOnline21.getSettleMsg(), SettleDto.class); +// List<SettleDto> planDtoList = new ArrayList<>(); +// for (SettleDto dto : planDtos) { +// if (dto.getStep().equals(2)) { +// dto.setUserId(getUserId()); +// dto.setUsername(getUser().getNickname()); +// if (Cools.isEmpty(dto.getMsg())) { +// dto.setMsg(getUser().getNickname() + "鎺ュ彇鏍镐环"); +// } else { +// dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + getUser().getNickname() + "鎺ュ彇鏍镐环"); +// } +// dto.setTime(DateUtils.convert(new Date())); +// } +// planDtoList.add(dto); +// } +// priOnline21.setSettleMsg(JSON.toJSONString(planDtoList)); +// priOnline21.setUpdateUserId(getUserId()); +// priOnline21.setUpdateTime(now); +// priOnline2Service.updateById(priOnline21); +// return R.ok("鎺ュ彇鎴愬姛"); +// } - - List<SettleDto> planDtos = JSON.parseArray(priOnline21.getSettleMsg(), SettleDto.class); - List<SettleDto> planDtoList = new ArrayList<>(); - for (SettleDto dto : planDtos) { - if (dto.getStep().equals(2)) { - dto.setUserId(getUserId()); - dto.setUsername(getUser().getNickname()); - if (Cools.isEmpty(dto.getMsg())) { - dto.setMsg(getUser().getNickname() + "鎺ュ彇鏍镐环"); - } else { - dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + getUser().getNickname() + "鎺ュ彇鏍镐环"); - } - dto.setTime(DateUtils.convert(new Date())); - } - planDtoList.add(dto); - } - priOnline21.setSettleMsg(JSON.toJSONString(planDtoList)); - priOnline21.setUpdateUserId(getUserId()); - priOnline21.setUpdateTime(now); - priOnline2Service.updateById(priOnline21); - return R.ok("鎺ュ彇鎴愬姛"); - } - - @RequestMapping(value = "/priOnline2/HJ/search/auth") - @ManagerAuth - public R priOnline2Search(String condition) { - EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); - wrapper.like("template_name", condition); - wrapper.eq("member_id",0L); - - List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5));//2锛氭牳浠锋祦绋� - int type =0; - for (ProcessPermissions processPermissions:processPermissionsList){ - if (getUserId().equals(processPermissions.getUserId())){ - type=1; - break; - } - } - if (type==0){ - return R.error("浣犱笉鏄牳浠峰憳,鏃犳潈鎺ヤ换鍔�"); - } - List<Map<String, Object>> result = new ArrayList<>(); - - List<PriOnline2> priOnline2s = priOnline2Service.selectList(wrapper); - for (PriOnline2 priOnline2 : priOnline2s){ - Map<String, Object> map = new HashMap<>(); - map.put("id", priOnline2.getId()); - map.put("name", priOnline2.getTemplateName()+" - ID:"+priOnline2.getId()); - result.add(map); - } - return R.ok(result); - } +// @RequestMapping(value = "/priOnline2/HJ/search/auth") +// @ManagerAuth +// public R priOnline2Search(String condition) { +// EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); +// wrapper.like("template_name", condition); +// wrapper.eq("member_id",0L); +// +// List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5));//2锛氭牳浠锋祦绋� +// int type =0; +// for (ProcessPermissions processPermissions:processPermissionsList){ +// if (getUserId().equals(processPermissions.getUserId())){ +// type=1; +// break; +// } +// } +// if (type==0){ +// return R.error("浣犱笉鏄牳浠峰憳,鏃犳潈鎺ヤ换鍔�"); +// } +// List<Map<String, Object>> result = new ArrayList<>(); +// +// List<PriOnline2> priOnline2s = priOnline2Service.selectList(wrapper); +// for (PriOnline2 priOnline2 : priOnline2s){ +// Map<String, Object> map = new HashMap<>(); +// map.put("id", priOnline2.getId()); +// map.put("name", priOnline2.getTemplateName()+" - ID:"+priOnline2.getId()); +// result.add(map); +// } +// return R.ok(result); +// } @RequestMapping(value = "/priOnline2/add/auth") @@ -223,6 +244,10 @@ // Item item = itemService.selectById(priOnline.getItemId()); Plan plan = planService.selectById(priOnline2.getItemId()); User userUp = userService.selectById(plan.getUserId()); + priOnline2.setAssistantHostSign(plan.getAssistantHostSign()); + priOnline2.setAssistantPlanId(plan.getAssistantPlanId()); + priOnline2.setHostPlanId(plan.getHostPlanId()); + //涓氬姟鍛� priOnline2.setUserId(userUp.getId()); @@ -263,17 +288,11 @@ List<String> initNames = new ArrayList<>(); initNames.add("鎺ュ彇鏍镐环浠诲姟"); initNames.add("瀹屾垚鏍镐环"); - if (planType.getType().equals(2)) { - initNames.add("瀹屾垚鏍镐环"); - } // initNames.add("缁忕悊瀹℃牳"); initNames.add("涓氬姟鍛樼‘璁�"); List<User> users = new ArrayList<>(); users.add(getUser()); users.add(getUser()); - if (planType.getType().equals(2)) { - users.add(new User()); - } users.add(userUp); priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.InItFlowPath(users, initNames, users.size()))); priOnline2.setSettleSize(users.size()); @@ -285,12 +304,36 @@ planService.updateById(plan); priOnline2Service.insert(priOnline2); + + // 鑷姩娣诲姞璺熻繘浜� + for (User user:users){ + List<PriOnline2Foll> priOnline2Folls = priOnline2FollService.selectList(new EntityWrapper<PriOnline2Foll>().eq("pri_online2_id", plan.getId()).eq("user_id", user.getId())); + if (Cools.isEmpty(priOnline2Folls) || priOnline2Folls.size()==0){ + PriOnline2Foll priOnline2Foll = new PriOnline2Foll(); + priOnline2Foll.setPriOnline2Id(plan.getId()); + priOnline2Foll.setUserId(user.getId()); + if (!priOnline2FollService.insert(priOnline2Foll)) { + throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯"); + } + } + } + + + if (plan.getAssistantHostSign()==1){ + Plan plan1 = planService.selectById(plan.getHostPlanId()); + plan1.setStatus2(2); + planService.updateById(plan1); + } + return R.ok(); } @RequestMapping(value = "/priOnline2/addOther/auth") @ManagerAuth(memo = "鍙﹀瓨鏍镐环绠$悊") public R addOther(@RequestBody Map<String, Object> map) { + if (true){ + return R.error("绂佹锛�"); + } PriOnline2 online = priOnline2Service.selectById(Long.parseLong(map.get("id").toString())); PriOnline2 priOnline2 = new PriOnline2(); @@ -441,6 +484,11 @@ Plan plan = planService.selectById(priOnline2.getItemId()); plan.setStatus(1); planService.updateById(plan); + if (plan.getAssistantHostSign()==1){ + Plan planHost = planService.selectById(priOnline2.getHostPlanId()); + planHost.setStatus2(1); + planService.updateById(planHost); + } } priOnline2Service.deleteBatchIds(Arrays.asList(ids)); @@ -614,12 +662,28 @@ if (!priOnline2Service.updateById(priOnline2)) { throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�"); } + + Plan plan = planService.selectById(priOnline2.getItemId()); + plan.setStatus(3); + planService.selectById(plan); + if (user.getId().equals(priOnline2.getUserId())) { - try { - priQuoteAdd(priOnline2.getId(), plannerId); - } catch (Exception e) { - return R.error("鑷姩鐢熸垚鎶ヤ环鍗曞け璐�"); + if (priOnline2.getAssistantHostSign()==0){ + try { + priQuoteAdd(priOnline2.getId(), plannerId); + } catch (Exception e) { + return R.error("鑷姩鐢熸垚鎶ヤ环鍗曞け璐�"); + } + }else { + try { + Plan planHost = planService.selectById(priOnline2.getHostPlanId()); + planHost.setStatus2(3); + planService.selectById(planHost); + } catch (Exception e) { + return R.error("鏇存柊涓昏〃澶辫触"); + } } + } return R.ok("瀹℃壒鎴愬姛"); diff --git a/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java b/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java index 80b0e9e..60b6511 100644 --- a/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java +++ b/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java @@ -188,16 +188,16 @@ } ProcessPermissions processPermissions3 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", param.getCheckData().equals("鍚�")? "3-1" : "3-2"));//3锛氭姤閿�娴佺▼ - User president3 = userService.selectById(processPermissions3.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣3纭浜� + User president3 = userService.selectById(processPermissions3.getUserId()); // 鑾峰彇娴佺▼鑺傜偣3纭浜� ProcessPermissions processPermissions4 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", "4-1"));//3锛氭姤閿�娴佺▼ - User president4 = userService.selectById(processPermissions4.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣4纭浜� + User president4 = userService.selectById(processPermissions4.getUserId()); // 鑾峰彇娴佺▼鑺傜偣4纭浜� ProcessPermissions processPermissions5 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", "5-1"));//3锛氭姤閿�娴佺▼ - User president5 = userService.selectById(processPermissions5.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣5纭浜� + User president5 = userService.selectById(processPermissions5.getUserId()); // 鑾峰彇娴佺▼鑺傜偣5纭浜� ProcessPermissions processPermissions6 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", "6-1"));//3锛氭姤閿�娴佺▼ - User president6 = userService.selectById(processPermissions6.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣6纭浜� + User president6 = userService.selectById(processPermissions6.getUserId()); // 鑾峰彇娴佺▼鑺傜偣6纭浜� reimburseOnline.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(reimburseOnline, manager,president3,president4,president5,president6,getUser()))); reimburseOnline.setMemberId(manager.getId()); diff --git a/src/main/java/com/zy/crm/manager/entity/AllFoll.java b/src/main/java/com/zy/crm/manager/entity/AllFoll.java new file mode 100644 index 0000000..415104f --- /dev/null +++ b/src/main/java/com/zy/crm/manager/entity/AllFoll.java @@ -0,0 +1,82 @@ +package com.zy.crm.manager.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.crm.manager.service.PlanService; +import com.zy.crm.system.entity.User; +import com.zy.crm.system.service.UserService; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("man_all_foll") +public class AllFoll implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value= "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 瑙勫垝鍗� + */ + @ApiModelProperty(value= "瑙勫垝鍗�") + @TableField("plan_id") + private Long planId; + + /** + * 璺熻繘浜� + */ + @ApiModelProperty(value= "璺熻繘浜�") + @TableField("user_id") + private Long userId; + + /** + * memo + */ + @ApiModelProperty(value= "琛ㄧ被") + @TableField("memo") + private Long memo; + + public AllFoll() {} + + public AllFoll(Long planId, Long userId) { + this.planId = planId; + this.userId = userId; + } + +// PlanFoll planFoll = new PlanFoll( +// null, // 瑙勫垝鍗� +// null // 璺熻繘浜篬闈炵┖] +// ); + + public String getPlanId$(){ + PlanService service = SpringUtils.getBean(PlanService.class); + Plan plan = service.selectById(this.planId); + if (!Cools.isEmpty(plan)){ + return String.valueOf(plan.getName()); + } + return null; + } + + public String getUserId$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.userId); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + +} diff --git a/src/main/java/com/zy/crm/manager/entity/Plan.java b/src/main/java/com/zy/crm/manager/entity/Plan.java index 4e02dbf..069b34f 100644 --- a/src/main/java/com/zy/crm/manager/entity/Plan.java +++ b/src/main/java/com/zy/crm/manager/entity/Plan.java @@ -33,327 +33,421 @@ /** * ID */ - @ApiModelProperty(value= "ID") + @ApiModelProperty(value = "ID") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 鎵�灞炲晢鎴� */ - @ApiModelProperty(value= "鎵�灞炲晢鎴�") + @ApiModelProperty(value = "鎵�灞炲晢鎴�") @TableField("host_id") private Long hostId; /** * 鎵�灞為儴闂� */ - @ApiModelProperty(value= "鎵�灞為儴闂�") + @ApiModelProperty(value = "鎵�灞為儴闂�") @TableField("dept_id") private Long deptId; /** * 涓氬姟绫诲瀷 */ - @ApiModelProperty(value= "涓氬姟绫诲瀷") + @ApiModelProperty(value = "涓氬姟绫诲瀷") @TableField("plan_type") private Long planType; /** * 涓氬姟鍛� */ - @ApiModelProperty(value= "涓氬姟鍛�") + @ApiModelProperty(value = "涓氬姟鍛�") @TableField("user_id") private Long userId; /** * 璺熻釜椤圭洰 */ - @ApiModelProperty(value= "璺熻釜椤圭洰") + @ApiModelProperty(value = "璺熻釜椤圭洰") @TableField("order_id") private Long orderId; /** * 鐢叉柟鍗曚綅 */ - @ApiModelProperty(value= "鐢叉柟鍗曚綅") + @ApiModelProperty(value = "鐢叉柟鍗曚綅") @TableField("cstmr_id") private Long cstmrId; /** * 瑙勫垝鍗曚唬鍙� */ - @ApiModelProperty(value= "瑙勫垝鍗曚唬鍙�") + @ApiModelProperty(value = "瑙勫垝鍗曚唬鍙�") private String uuid; /** * 瑙勫垝鍗曞悕绉� */ - @ApiModelProperty(value= "瑙勫垝鍗曞悕绉�") + @ApiModelProperty(value = "瑙勫垝鍗曞悕绉�") private String name; /** * 鐢宠鏃ユ湡 */ - @ApiModelProperty(value= "鐢宠鏃ユ湡") + @ApiModelProperty(value = "鐢宠鏃ユ湡") @TableField("apple_time") - @DateTimeFormat(pattern="yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date appleTime; /** * 鏂规鎵�闇� */ - @ApiModelProperty(value= "鏂规鎵�闇�") + @ApiModelProperty(value = "鏂规鎵�闇�") @TableField("plan_need") private String planNeed; /** * 绔嬮」 1: 鏄� 0: 鍚� */ - @ApiModelProperty(value= "绔嬮」 1: 鏄� 0: 鍚� ") + @ApiModelProperty(value = "绔嬮」 1: 鏄� 0: 鍚� ") @TableField("be_item") private Integer beItem; /** * 琛ㄥ崟鍐呭 */ - @ApiModelProperty(value= "琛ㄥ崟鍐呭") + @ApiModelProperty(value = "琛ㄥ崟鍐呭") private String form; /** * 瑙勫垝鍛� */ - @ApiModelProperty(value= "瑙勫垝鍛�") + @ApiModelProperty(value = "瑙勫垝鍛�") private Long planner; /** * 瀹屾垚鏃堕棿 */ - @ApiModelProperty(value= "瀹屾垚鏃堕棿") + @ApiModelProperty(value = "瀹屾垚鏃堕棿") @TableField("finish_time") - @DateTimeFormat(pattern="yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date finishTime; /** * 鏇存敼鏂规 1: 鏄� 0: 鍚� */ - @ApiModelProperty(value= "鏇存敼鏂规 1: 鏄� 0: 鍚� ") + @ApiModelProperty(value = "鏇存敼鏂规 1: 鏄� 0: 鍚� ") private Integer change; /** * 鏇存敼娆℃暟 */ - @ApiModelProperty(value= "鏇存敼娆℃暟") + @ApiModelProperty(value = "鏇存敼娆℃暟") @TableField("change_time") private Integer changeTime; /** * 鏇存敼鏂规鍘熷洜 */ - @ApiModelProperty(value= "鏇存敼鏂规鍘熷洜") + @ApiModelProperty(value = "鏇存敼鏂规鍘熷洜") @TableField("change_reason") private String changeReason; /** * 瑙勬牸濂栭噾 */ - @ApiModelProperty(value= "瑙勬牸濂栭噾") + @ApiModelProperty(value = "瑙勬牸濂栭噾") @TableField("plan_bonus") private Double planBonus; /** * 瑙勬牸缁勯暱濂栭噾 */ - @ApiModelProperty(value= "瑙勬牸缁勯暱濂栭噾") + @ApiModelProperty(value = "瑙勬牸缁勯暱濂栭噾") @TableField("plan_leader_bonus") private Double planLeaderBonus; /** * 闄勪欢 */ - @ApiModelProperty(value= "闄勪欢") + @ApiModelProperty(value = "闄勪欢") private String files; /** * 杩涘害 1: 寮�濮� 2: 缁勯暱瀹℃牳 3: 鍞墠缁勯暱瀹℃牳 4: 瑙勫垝鍛樺鏍� 5: 瀹℃壒閫氳繃 */ - @ApiModelProperty(value= "杩涘害 1: 寮�濮� 2: 缁勯暱瀹℃牳 3: 鍞墠瀹℃牳 4: 瑙勫垝鍛樺鏍� 5: 瀹℃壒閫氳繃 ") + @ApiModelProperty(value = "杩涘害 1: 寮�濮� 2: 缁勯暱瀹℃牳 3: 鍞墠瀹℃牳 4: 瑙勫垝鍛樺鏍� 5: 瀹℃壒閫氳繃 ") private Integer settle; /** * 瀹℃牳杩涘害 */ - @ApiModelProperty(value= "瀹℃牳杩涘害") + @ApiModelProperty(value = "瀹℃牳杩涘害") @TableField("settle_msg") private String settleMsg; /** * 璇勮 */ - @ApiModelProperty(value= "璇勮") + @ApiModelProperty(value = "璇勮") private String comment; /** * 鐘舵�� 1: 姝e父 0: 绂佺敤 */ - @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ") + @ApiModelProperty(value = "鐘舵�� 1: 姝e父 0: 绂佺敤 ") private Integer status; /** * 娣诲姞浜哄憳 */ - @ApiModelProperty(value= "娣诲姞浜哄憳") + @ApiModelProperty(value = "娣诲姞浜哄憳") @TableField("create_by") private Long createBy; /** * 娣诲姞鏃堕棿 */ - @ApiModelProperty(value= "娣诲姞鏃堕棿") + @ApiModelProperty(value = "娣诲姞鏃堕棿") @TableField("create_time") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 淇敼浜哄憳 */ - @ApiModelProperty(value= "淇敼浜哄憳") + @ApiModelProperty(value = "淇敼浜哄憳") @TableField("update_by") private Long updateBy; /** * 淇敼鏃堕棿 */ - @ApiModelProperty(value= "淇敼鏃堕棿") + @ApiModelProperty(value = "淇敼鏃堕棿") @TableField("update_time") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * 娉ㄩ噴 */ - @ApiModelProperty(value= "娉ㄩ噴") + @ApiModelProperty(value = "娉ㄩ噴") private String memo; /** * 椤圭洰杩涘害娴佺▼{1锛氶」鐩垱寤猴紝2锛氭牳浠峰鐞嗭紝3锛氫骇鍝佽垂鐢ㄦ槑缁嗭紝4锛氭姤浠烽绠楀崟锛�5锛氭姤浠峰崟} */ - @ApiModelProperty(value= "椤圭洰杩涘害娴佺▼{1锛氶」鐩垱寤猴紝2锛氭牳浠峰鐞嗭紝3锛氫骇鍝佽垂鐢ㄦ槑缁嗭紝4锛氭姤浠烽绠楀崟锛�5锛氭姤浠峰崟}") + @ApiModelProperty(value = "椤圭洰杩涘害娴佺▼{1锛氶」鐩垱寤猴紝2锛氭牳浠峰鐞嗭紝3锛氫骇鍝佽垂鐢ㄦ槑缁嗭紝4锛氭姤浠烽绠楀崟锛�5锛氭姤浠峰崟}") private Integer step; /** * 涓氬姟鍛樿仈绯绘柟寮� */ - @ApiModelProperty(value= "涓氬姟鍛樿仈绯绘柟寮�") + @ApiModelProperty(value = "涓氬姟鍛樿仈绯绘柟寮�") private String userXmlSelPhone; /** * 鑺傜偣璐熻矗浜� */ - @ApiModelProperty(value= "鑺傜偣璐熻矗浜�") + @ApiModelProperty(value = "鑺傜偣璐熻矗浜�") private Long director; - public Plan() {} + /** + * 闆嗘垚椤圭洰璐ф灦鏍镐环鐘舵�� + */ + @ApiModelProperty(value = "鐘舵�� 3: 瀹屾垚鏍镐环 2: 寮�濮嬫牳浠� 1: 绛夊緟鏍镐环 0: 鍒濆 ") + private Integer status2; - public String getHostId$(){ + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "鍓痯lanId") + @TableField("assistant_plan_id") + private Long assistantPlanId; + + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "涓籶lanId") + @TableField("host_plan_id") + private Long hostPlanId; + + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "涓籶lanId") + @TableField("assistant_host_sign") + private Integer assistantHostSign; + + public Plan() { + } + + public Plan(Plan plan) { + this.hostId = plan.getHostId(); + this.deptId = plan.getDeptId(); + this.planType = plan.getPlanType(); + this.userId = plan.getUserId(); + this.orderId = plan.getOrderId(); + this.cstmrId = plan.getCstmrId(); + this.name = plan.getName(); + this.planNeed = plan.getPlanNeed(); + this.beItem = plan.getBeItem(); + this.form = plan.getForm(); + this.finishTime = plan.getFinishTime(); + this.change = plan.getChange(); + this.changeTime = plan.getChangeTime(); + this.changeReason = plan.getChangeReason(); + this.planBonus = plan.getPlanBonus(); + this.planLeaderBonus = plan.getPlanLeaderBonus(); + this.files = plan.getFiles(); + this.comment = plan.getComment(); + this.memo = plan.getMemo(); + this.userXmlSelPhone = plan.getUserXmlSelPhone(); + } + + public String getHostId$() { HostService service = SpringUtils.getBean(HostService.class); Host host = service.selectById(this.hostId); - if (!Cools.isEmpty(host)){ + if (!Cools.isEmpty(host)) { return String.valueOf(host.getName()); } return null; } - public String getDirector$(){ - if (this.director==null) return ""; + public String getDirector$() { + if (this.director == null) return ""; UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.director); - if (!Cools.isEmpty(user)){ + if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } - public String getDeptId$(){ + public String getDeptId$() { DeptService service = SpringUtils.getBean(DeptService.class); Dept dept = service.selectById(this.deptId); - if (!Cools.isEmpty(dept)){ + if (!Cools.isEmpty(dept)) { return String.valueOf(dept.getName()); } return null; } - public String getPlanType$(){ + public String getPlanType$() { PlanTypeService service = SpringUtils.getBean(PlanTypeService.class); PlanType planType = service.selectById(this.planType); - if (!Cools.isEmpty(planType)){ + if (!Cools.isEmpty(planType)) { return String.valueOf(planType.getName()); } return null; } - public Integer getPLType$(){ + public Integer getPLType$() { PlanTypeService service = SpringUtils.getBean(PlanTypeService.class); PlanType planType = service.selectById(this.planType); - if (!Cools.isEmpty(planType)){ + if (!Cools.isEmpty(planType)) { return planType.getType(); } return null; } - public String getUserId$(){ + public String getStatusAll$(){ + if (this.status2>3 || this.getAssistantHostSign()==1){ + return getStatus$(); + }else { + return "闆嗘垚"+getStatus$()+"/"+"璐ф灦"+getStatus2$(); + } + + } + + public String getStatus$(){ + if (null == this.status){ return null; } + switch (this.status){ + case 3: + return "瀹屾垚鏍镐环"; + case 2: + return "寮�濮嬫牳浠�"; + case 1: + return "绛夊緟鏍镐环"; + case 0: + return "鍒濆"; + default: + return String.valueOf(this.status); + } + } + + public String getStatus2$(){ + if (null == this.status2){ return null; } + switch (this.status2){ + case 3: + return "瀹屾垚鏍镐环"; + case 2: + return "寮�濮嬫牳浠�"; + case 1: + return "绛夊緟鏍镐环"; + case 0: + return "鍒濆"; + default: + return String.valueOf(this.status2); + } + } + + public String getUserId$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.userId); - if (!Cools.isEmpty(user)){ + if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } - public String getOrderId$(){ + public String getOrderId$() { OrderService service = SpringUtils.getBean(OrderService.class); Order order = service.selectById(this.orderId); - if (!Cools.isEmpty(order)){ + if (!Cools.isEmpty(order)) { return String.valueOf(order.getName()); } return null; } - public String getCstmrId$(){ + public String getCstmrId$() { CstmrService service = SpringUtils.getBean(CstmrService.class); Cstmr cstmr = service.selectById(this.cstmrId); - if (!Cools.isEmpty(cstmr)){ + if (!Cools.isEmpty(cstmr)) { return String.valueOf(cstmr.getName()); } return null; } - public String getAppleTime$(){ - if (Cools.isEmpty(this.appleTime)){ + public String getAppleTime$() { + if (Cools.isEmpty(this.appleTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd").format(this.appleTime); } - public String getPlanNeed$(){ - if (Cools.isEmpty(this.planNeed)){ + public String getPlanNeed$() { + if (Cools.isEmpty(this.planNeed)) { return null; } PlanNeedService service = SpringUtils.getBean(PlanNeedService.class); String[] planNeeds = this.planNeed.split("-"); - String name=""; - for (String planNeeda : planNeeds){ + String name = ""; + for (String planNeeda : planNeeds) { PlanNeed planNeed = service.selectById(Integer.parseInt(planNeeda)); - if (!Cools.isEmpty(planNeed)){ + if (!Cools.isEmpty(planNeed)) { // return String.valueOf(planNeed.getName()); - name = name+planNeed.getName()+";"; + name = name + planNeed.getName() + ";"; } } return name; } - public String getBeItem$(){ - if (null == this.beItem){ return null; } - switch (this.beItem){ + public String getBeItem$() { + if (null == this.beItem) { + return null; + } + switch (this.beItem) { case 1: return "鏄�"; case 0: @@ -363,16 +457,32 @@ } } - public String getFinishTime$(){ - if (Cools.isEmpty(this.finishTime)){ + public String getAssistantHostSign$() { + if (null == this.assistantHostSign) { + return null; + } + switch (this.assistantHostSign) { + case 1: + return "鍓祦绋�"; + case 0: + return "涓绘祦绋�"; + default: + return String.valueOf(this.assistantHostSign); + } + } + + public String getFinishTime$() { + if (Cools.isEmpty(this.finishTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd").format(this.finishTime); } - public String getChange$(){ - if (null == this.change){ return null; } - switch (this.change){ + public String getChange$() { + if (null == this.change) { + return null; + } + switch (this.change) { case 1: return "鏄�"; case 0: @@ -382,9 +492,11 @@ } } - public String getSettle$(){ - if (null == this.settle){ return null; } - switch (this.settle){ + public String getSettle$() { + if (null == this.settle) { + return null; + } + switch (this.settle) { // case 1: // return "绛夊緟缁勯暱瀹℃牳"; case 1: @@ -400,67 +512,53 @@ } } - public String getPlanner$(){ - if (this.planner==null) return "鏈垎閰�"; + public String getPlanner$() { + if (this.planner == null) return "鏈垎閰�"; UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.planner); - if (!Cools.isEmpty(user)){ + if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return ""; } - public String getNowHeadman$(){ + public String getNowHeadman$() { PlanTypeService planTypeService = SpringUtils.getBean(PlanTypeService.class); PlanType planType = planTypeService.selectById(this.planType); User user = planTypeService.findPlanLeader(planType); - if (!Cools.isEmpty(user)){ + if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } - public String getStatus$(){ - if (null == this.status){ return null; } - switch (this.status){ - case 2: - return "寮�濮嬫牳浠�"; - case 1: - return "绛夊緟鏍镐环"; - case 0: - return "鏈畬鎴�"; - default: - return String.valueOf(this.status); - } - } - - public String getCreateBy$(){ + public String getCreateBy$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.createBy); - if (!Cools.isEmpty(user)){ + if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } - public String getCreateTime$(){ - if (Cools.isEmpty(this.createTime)){ + public String getCreateTime$() { + if (Cools.isEmpty(this.createTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } - public String getUpdateBy$(){ + public String getUpdateBy$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.updateBy); - if (!Cools.isEmpty(user)){ + if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } - public String getUpdateTime$(){ - if (Cools.isEmpty(this.updateTime)){ + public String getUpdateTime$() { + if (Cools.isEmpty(this.updateTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); diff --git a/src/main/java/com/zy/crm/manager/entity/PlanType.java b/src/main/java/com/zy/crm/manager/entity/PlanType.java index aa2a22c..6b18800 100644 --- a/src/main/java/com/zy/crm/manager/entity/PlanType.java +++ b/src/main/java/com/zy/crm/manager/entity/PlanType.java @@ -122,6 +122,11 @@ public PlanType() {} + public PlanType(Long hostId,Integer type) { + this.hostId = hostId; + this.type = type; + } + public PlanType(Long hostId,String name,String flag,String formId,String data,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { this.hostId = hostId; this.name = name; diff --git a/src/main/java/com/zy/crm/manager/entity/PriOnline2.java b/src/main/java/com/zy/crm/manager/entity/PriOnline2.java index 715860a..4c9f42d 100644 --- a/src/main/java/com/zy/crm/manager/entity/PriOnline2.java +++ b/src/main/java/com/zy/crm/manager/entity/PriOnline2.java @@ -150,6 +150,47 @@ @ApiModelProperty(value= "") private String form; + /** + * 闆嗘垚椤圭洰璐ф灦鏍镐环鐘舵�� + */ + @ApiModelProperty(value = "鐘舵�� 3: 瀹屾垚鏍镐环 2: 寮�濮嬫牳浠� 1: 绛夊緟鏍镐环 0: 鍒濆 ") + private Integer status2; + + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "鍓痯lanId") + @TableField("assistant_plan_id") + private Long assistantPlanId; + + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "涓籶lanId") + @TableField("host_plan_id") + private Long hostPlanId; + + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "鍓痯lanId") + @TableField("assistant_pri_id") + private Long assistantPriId; + + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "涓籶lanId") + @TableField("host_pri_id") + private Long hostPriId; + + /** + * 鑺傜偣璐熻矗浜� + */ + @ApiModelProperty(value = "涓籶lanId") + @TableField("assistant_host_sign") + private Integer assistantHostSign; + public PriOnline2() {} public PriOnline2(String title, String sheetData, Date createTime, String filepath,Integer settle,Integer settleSize) { @@ -180,6 +221,20 @@ return "瀹℃壒閫氳繃"; default: return String.valueOf(this.settle); + } + } + + public String getAssistantHostSign$() { + if (null == this.assistantHostSign) { + return null; + } + switch (this.assistantHostSign) { + case 1: + return "鍓祦绋�"; + case 0: + return "涓绘祦绋�"; + default: + return String.valueOf(this.assistantHostSign); } } @@ -262,15 +317,50 @@ return null; } - public String getStatus$() { - if (null == this.status){ return null; } - switch (this.status){ + public String getStatusAll$(){ + PlanService planService = SpringUtils.getBean(PlanService.class); + Plan plan = planService.selectById(this.itemId); + if (plan.getStatus2()>3 || (!Cools.isEmpty(this.getAssistantHostSign()) && this.getAssistantHostSign()==1)){ + return getStatus$(); + }else { + return "闆嗘垚"+getStatus$()+"/"+"璐ф灦"+getStatus2$(); + } + + } + + public String getStatus$(){ + PlanService planService = SpringUtils.getBean(PlanService.class); + Plan plan = planService.selectById(this.itemId); + if (null == plan.getStatus()){ return null; } + switch (plan.getStatus()){ + case 3: + return "瀹屾垚鏍镐环"; + case 2: + return "寮�濮嬫牳浠�"; case 1: - return "宸插畬鎴�"; + return "绛夊緟鏍镐环"; case 0: - return "鏈畬鎴�"; + return "鍒濆"; default: - return String.valueOf(this.status); + return String.valueOf(plan.getStatus()); + } + } + + public String getStatus2$(){ + PlanService planService = SpringUtils.getBean(PlanService.class); + Plan plan = planService.selectById(this.itemId); + if (null == plan.getStatus2()){ return null; } + switch (plan.getStatus2()){ + case 3: + return "瀹屾垚鏍镐环"; + case 2: + return "寮�濮嬫牳浠�"; + case 1: + return "绛夊緟鏍镐环"; + case 0: + return "鍒濆"; + default: + return String.valueOf(plan.getStatus2()); } } diff --git a/src/main/java/com/zy/crm/manager/entity/PriOnline2Foll.java b/src/main/java/com/zy/crm/manager/entity/PriOnline2Foll.java new file mode 100644 index 0000000..eadc8b9 --- /dev/null +++ b/src/main/java/com/zy/crm/manager/entity/PriOnline2Foll.java @@ -0,0 +1,75 @@ +package com.zy.crm.manager.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.crm.manager.service.PriOnline2Service; +import com.zy.crm.system.entity.User; +import com.zy.crm.system.service.UserService; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("man_pri_online2_foll") +public class PriOnline2Foll implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value= "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 瑙勫垝鍗� + */ + @ApiModelProperty(value= "瑙勫垝鍗�") + @TableField("pri_online2_id") + private Long priOnline2Id; + + /** + * 璺熻繘浜� + */ + @ApiModelProperty(value= "璺熻繘浜�") + @TableField("user_id") + private Long userId; + + public PriOnline2Foll() {} + + public PriOnline2Foll(Long priOnline2Id, Long userId) { + this.priOnline2Id = priOnline2Id; + this.userId = userId; + } + +// PlanFoll planFoll = new PlanFoll( +// null, // 瑙勫垝鍗� +// null // 璺熻繘浜篬闈炵┖] +// ); + + public String getPriOnline2Id$(){ + PriOnline2Service service = SpringUtils.getBean(PriOnline2Service.class); + PriOnline2 priOnline2 = service.selectById(this.priOnline2Id); + if (!Cools.isEmpty(priOnline2)){ + return String.valueOf(priOnline2.getTemplateName()); + } + return null; + } + + public String getUserId$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.userId); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + +} diff --git a/src/main/java/com/zy/crm/manager/entity/ReimburseOnlineDetl.java b/src/main/java/com/zy/crm/manager/entity/ReimburseOnlineDetl.java index e73a8f9..3ddc816 100644 --- a/src/main/java/com/zy/crm/manager/entity/ReimburseOnlineDetl.java +++ b/src/main/java/com/zy/crm/manager/entity/ReimburseOnlineDetl.java @@ -68,70 +68,70 @@ */ @ApiModelProperty(value= "绋庣巼") @TableField("tax_rate") - private Long taxRate; + private Double taxRate; /** * 鏈◣鏈竵閲戦 */ @ApiModelProperty(value= "鏈◣鏈竵閲戦") @TableField("untaxed_amount_in_local_currency") - private Long untaxedAmountInLocalCurrency; + private Double untaxedAmountInLocalCurrency; /** * 鏈◣閲戦 */ @ApiModelProperty(value= "鏈◣閲戦") @TableField("untaxed_amount") - private Long untaxedAmount; + private Double untaxedAmount; /** * 绋庨 */ @ApiModelProperty(value= "绋庨") @TableField("tax_amount") - private Long taxAmount; + private Double taxAmount; /** * 鍙戠エ閲戦 */ @ApiModelProperty(value= "鍙戠エ閲戦") @TableField("invoice_value") - private Long invoiceValue; + private Double invoiceValue; /** * 鍙戠エ鏈竵閲戦 */ @ApiModelProperty(value= "鍙戠エ鏈竵閲戦") @TableField("invoice_amount_in_local_currency") - private Long invoiceAmountInLocalCurrency; + private Double invoiceAmountInLocalCurrency; /** * 鎶ラ攢姣斾緥 */ @ApiModelProperty(value= "鎶ラ攢姣斾緥") @TableField("reimbursement_ratio") - private Long reimbursementRatio; + private Double reimbursementRatio; /** * 鎶ラ攢閲戦 */ @ApiModelProperty(value= "鎶ラ攢閲戦") @TableField("reimbursement_amount") - private Long reimbursementAmount; + private Double reimbursementAmount; /** * 鎶ラ攢鏈竵閲戦 */ @ApiModelProperty(value= "鎶ラ攢鏈竵閲戦") @TableField("reimbursement_amount_in_local_currency") - private Long reimbursementAmountInLocalCurrency; + private Double reimbursementAmountInLocalCurrency; /** * 鍑虹撼纭閲戦 */ @ApiModelProperty(value= "鍑虹撼纭閲戦") @TableField("cashier_confirmation_amount") - private Long cashierConfirmationAmount; + private Double cashierConfirmationAmount; /** * 鍑虹撼甯佺 @@ -201,7 +201,7 @@ public ReimburseOnlineDetl() {} - public ReimburseOnlineDetl(String occupation,Integer expenseType,Integer userId,Integer deptId,Integer hostId,Long orderId,Long taxRate,Long untaxedAmountInLocalCurrency,Long untaxedAmount,Long taxAmount,Long invoiceValue,Long invoiceAmountInLocalCurrency,Long reimbursementRatio,Long reimbursementAmount,Long reimbursementAmountInLocalCurrency,Long cashierConfirmationAmount,Integer cashierCurrency,Date departureTime,Date updateTime,Integer updateUserId,String updateUserName,Date creationTime,Integer creationUserId,String creationUserName,Integer reimburseId) { + public ReimburseOnlineDetl(String occupation,Integer expenseType,Integer userId,Integer deptId,Integer hostId,Long orderId,Double taxRate,Double untaxedAmountInLocalCurrency,Double untaxedAmount,Double taxAmount,Double invoiceValue,Double invoiceAmountInLocalCurrency,Double reimbursementRatio,Double reimbursementAmount,Double reimbursementAmountInLocalCurrency,Double cashierConfirmationAmount,Integer cashierCurrency,Date departureTime,Date updateTime,Integer updateUserId,String updateUserName,Date creationTime,Integer creationUserId,String creationUserName,Integer reimburseId) { this.occupation = occupation; this.expenseType = expenseType; this.userId = userId; @@ -231,16 +231,16 @@ public ReimburseOnlineDetl(Integer reminburseCostTypeId) { this.occupation = ""; this.expenseType = reminburseCostTypeId; - this.taxRate = (long)0.0; - this.untaxedAmountInLocalCurrency = (long)0.0; - this.untaxedAmount = (long)0.0; - this.taxAmount = (long)0.0; - this.invoiceValue = (long)0.0; - this.invoiceAmountInLocalCurrency = (long)0.0; - this.reimbursementRatio = (long)0.0; - this.reimbursementAmount = (long)0.0; - this.reimbursementAmountInLocalCurrency = (long)0.0; - this.cashierConfirmationAmount = (long)0.0; + this.taxRate = 0.0; + this.untaxedAmountInLocalCurrency = 0.0; + this.untaxedAmount = 0.0; + this.taxAmount = 0.0; + this.invoiceValue = 0.0; + this.invoiceAmountInLocalCurrency = 0.0; + this.reimbursementRatio = 0.0; + this.reimbursementAmount = 0.0; + this.reimbursementAmountInLocalCurrency = 0.0; + this.cashierConfirmationAmount = 0.0; } @@ -274,4 +274,30 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.creationTime); } + public void setTaxRate(String taxRate){ + String[] splitTaxRate = taxRate.split("%"); + this.taxRate=Double.parseDouble(splitTaxRate[0]); + } + + public void setTaxRate(Double taxRate){ + this.taxRate=taxRate; + } + + public String getTaxRate$(){ + return taxRate.toString()+"%"; + } + + public void setReimbursementRatio(String reimbursementRatio){ + String[] splitReimbursementRatio = reimbursementRatio.split("%"); + this.reimbursementRatio=Double.parseDouble(splitReimbursementRatio[0]); + } + + public void setReimbursementRatio(Double reimbursementRatio){ + this.reimbursementRatio=reimbursementRatio; + } + + public String getReimbursementRatio$(){ + return reimbursementRatio.toString()+"%"; + } + } \ No newline at end of file diff --git a/src/main/java/com/zy/crm/manager/mapper/AllFollMapper.java b/src/main/java/com/zy/crm/manager/mapper/AllFollMapper.java new file mode 100644 index 0000000..38d39c4 --- /dev/null +++ b/src/main/java/com/zy/crm/manager/mapper/AllFollMapper.java @@ -0,0 +1,12 @@ +package com.zy.crm.manager.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.crm.manager.entity.AllFoll; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface AllFollMapper extends BaseMapper<AllFoll> { + +} diff --git a/src/main/java/com/zy/crm/manager/mapper/PriOnline2FollMapper.java b/src/main/java/com/zy/crm/manager/mapper/PriOnline2FollMapper.java new file mode 100644 index 0000000..bc0e0aa --- /dev/null +++ b/src/main/java/com/zy/crm/manager/mapper/PriOnline2FollMapper.java @@ -0,0 +1,12 @@ +package com.zy.crm.manager.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.crm.manager.entity.PriOnline2Foll; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface PriOnline2FollMapper extends BaseMapper<PriOnline2Foll> { + +} diff --git a/src/main/java/com/zy/crm/manager/mapper/PriOnline2Mapper.java b/src/main/java/com/zy/crm/manager/mapper/PriOnline2Mapper.java index 13c70af..6749dbf 100644 --- a/src/main/java/com/zy/crm/manager/mapper/PriOnline2Mapper.java +++ b/src/main/java/com/zy/crm/manager/mapper/PriOnline2Mapper.java @@ -15,5 +15,7 @@ public interface PriOnline2Mapper extends BaseMapper<PriOnline2> { List<PriOnline2> listByPage(Page<PriOnline2> page, @Param("userIds") ArrayList<Long> userIds , @Param("condition") String condition); + List<PriOnline2> listByAll( @Param("userId") Long userId ); + Integer listByAllTotal( @Param("userId") Long userId ); } diff --git a/src/main/java/com/zy/crm/manager/service/AllFollService.java b/src/main/java/com/zy/crm/manager/service/AllFollService.java new file mode 100644 index 0000000..91f158d --- /dev/null +++ b/src/main/java/com/zy/crm/manager/service/AllFollService.java @@ -0,0 +1,8 @@ +package com.zy.crm.manager.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.crm.manager.entity.AllFoll; + +public interface AllFollService extends IService<AllFoll> { + +} diff --git a/src/main/java/com/zy/crm/manager/service/PriOnline2FollService.java b/src/main/java/com/zy/crm/manager/service/PriOnline2FollService.java new file mode 100644 index 0000000..99fa2d7 --- /dev/null +++ b/src/main/java/com/zy/crm/manager/service/PriOnline2FollService.java @@ -0,0 +1,8 @@ +package com.zy.crm.manager.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.crm.manager.entity.PriOnline2Foll; + +public interface PriOnline2FollService extends IService<PriOnline2Foll> { + +} diff --git a/src/main/java/com/zy/crm/manager/service/PriOnline2Service.java b/src/main/java/com/zy/crm/manager/service/PriOnline2Service.java index 86ba431..f2e9126 100644 --- a/src/main/java/com/zy/crm/manager/service/PriOnline2Service.java +++ b/src/main/java/com/zy/crm/manager/service/PriOnline2Service.java @@ -5,9 +5,12 @@ import com.zy.crm.manager.entity.PriOnline2; import java.util.ArrayList; +import java.util.List; public interface PriOnline2Service extends IService<PriOnline2> { Page<PriOnline2> listByPage(Page<PriOnline2> page, ArrayList<Long> userIds , String condition); + List<PriOnline2> listByAll(Long userId); + Integer listByAllTotal(Long userId); } diff --git a/src/main/java/com/zy/crm/manager/service/impl/AllFollServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/AllFollServiceImpl.java new file mode 100644 index 0000000..9c93189 --- /dev/null +++ b/src/main/java/com/zy/crm/manager/service/impl/AllFollServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.crm.manager.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.crm.manager.entity.AllFoll; +import com.zy.crm.manager.mapper.AllFollMapper; +import com.zy.crm.manager.service.AllFollService; +import org.springframework.stereotype.Service; + +@Service("allFollService") +public class AllFollServiceImpl extends ServiceImpl<AllFollMapper, AllFoll> implements AllFollService { + +} diff --git a/src/main/java/com/zy/crm/manager/service/impl/PriOnline2FollServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/PriOnline2FollServiceImpl.java new file mode 100644 index 0000000..ba1bdeb --- /dev/null +++ b/src/main/java/com/zy/crm/manager/service/impl/PriOnline2FollServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.crm.manager.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.crm.manager.entity.PriOnline2Foll; +import com.zy.crm.manager.mapper.PriOnline2FollMapper; +import com.zy.crm.manager.service.PriOnline2FollService; +import org.springframework.stereotype.Service; + +@Service("priOnline2FollService") +public class PriOnline2FollServiceImpl extends ServiceImpl<PriOnline2FollMapper, PriOnline2Foll> implements PriOnline2FollService { + +} diff --git a/src/main/java/com/zy/crm/manager/service/impl/PriOnline2ServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/PriOnline2ServiceImpl.java index c1bf5d8..b9e4276 100644 --- a/src/main/java/com/zy/crm/manager/service/impl/PriOnline2ServiceImpl.java +++ b/src/main/java/com/zy/crm/manager/service/impl/PriOnline2ServiceImpl.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.List; @Service("priOnline2Service") public class PriOnline2ServiceImpl extends ServiceImpl<PriOnline2Mapper, PriOnline2> implements PriOnline2Service { @@ -16,4 +17,14 @@ public Page<PriOnline2> listByPage(Page<PriOnline2> page, ArrayList<Long> userIds, String condition) { return page.setRecords(this.baseMapper.listByPage(page, userIds, condition)); } + + @Override + public List<PriOnline2> listByAll(Long userId) { + return this.baseMapper.listByAll(userId); + } + + @Override + public Integer listByAllTotal(Long userId) { + return this.baseMapper.listByAllTotal(userId); + } } diff --git a/src/main/resources/mapper/AllFollMapper.xml b/src/main/resources/mapper/AllFollMapper.xml new file mode 100644 index 0000000..9e6a7b3 --- /dev/null +++ b/src/main/resources/mapper/AllFollMapper.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.crm.manager.mapper.AllFollMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.crm.manager.entity.AllFoll"> + <id column="id" property="id" /> + <result column="plan_id" property="planId" /> + <result column="user_id" property="userId" /> + + </resultMap> + +</mapper> diff --git a/src/main/resources/mapper/PlanMapper.xml b/src/main/resources/mapper/PlanMapper.xml index 0d63880..631763e 100644 --- a/src/main/resources/mapper/PlanMapper.xml +++ b/src/main/resources/mapper/PlanMapper.xml @@ -36,6 +36,10 @@ <result column="memo" property="memo" /> <result column="user_xml_sel_phone" property="userXmlSelPhone" /> <result column="director" property="director" /> + <result column="status2" property="status2" /> + <result column="assistant_plan_id" property="assistantPlanId" /> + <result column="host_plan_id" property="hostPlanId" /> + <result column="assistant_host_sign" property="assistantHostSign" /> </resultMap> diff --git a/src/main/resources/mapper/PriOnline2FollMapper.xml b/src/main/resources/mapper/PriOnline2FollMapper.xml new file mode 100644 index 0000000..8bf3b61 --- /dev/null +++ b/src/main/resources/mapper/PriOnline2FollMapper.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.crm.manager.mapper.PriOnline2FollMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.crm.manager.entity.PriOnline2Foll"> + <id column="id" property="id" /> + <result column="pri_online2_id" property="priOnline2Id" /> + <result column="user_id" property="userId" /> + + </resultMap> + +</mapper> diff --git a/src/main/resources/mapper/PriOnline2Mapper.xml b/src/main/resources/mapper/PriOnline2Mapper.xml index d1a7bd1..dee724a 100644 --- a/src/main/resources/mapper/PriOnline2Mapper.xml +++ b/src/main/resources/mapper/PriOnline2Mapper.xml @@ -19,6 +19,11 @@ <result column="check_data" property="checkData" /> <result column="settle" property="settle" /> <result column="settle_size" property="settleSize" /> + <result column="assistant_plan_id" property="assistantPlanId" /> + <result column="host_plan_id" property="hostPlanId" /> + <result column="assistant_pri_id" property="assistantPriId" /> + <result column="host_pri_id" property="hostPriId" /> + <result column="assistant_host_sign" property="assistantHostSign" /> </resultMap> <!-- 鏌ヨ缁撴灉涓嶅寘鍚玡xcel鏁版嵁data锛屼互鍏嶇粨鏋滈泦杩囧ぇ --> @@ -36,6 +41,14 @@ <result column="update_time" property="updateTime" /> <result column="settle" property="settle" /> <result column="settle_size" property="settleSize" /> + <result column="assistant_plan_id" property="assistantPlanId" /> + <result column="host_plan_id" property="hostPlanId" /> + <result column="assistant_host_sign" property="assistantHostSign" /> + <result column="assistant_plan_id" property="assistantPlanId" /> + <result column="host_plan_id" property="hostPlanId" /> + <result column="assistant_pri_id" property="assistantPriId" /> + <result column="host_pri_id" property="hostPriId" /> + <result column="assistant_host_sign" property="assistantHostSign" /> </resultMap> <select id="listByPage" resultMap="NoDataResultMap"> @@ -62,4 +75,36 @@ ORDER BY id DESC </select> + <select id="listByAll" resultMap="NoDataResultMap"> + SELECT + * + FROM man_pri_online2 mp + WHERE 1=1 + and + mp.id in + ( + select + pri_online2_id + from man_pri_online2_foll + where 1=1 + and user_id = #{userId} + ) + ORDER BY id DESC + </select> + + <select id="listByAllTotal" resultType="java.lang.Integer"> + SELECT + count (1) + FROM man_pri_online2 mp + WHERE 1=1 + and + mp.id in + ( + select + pri_online2_id + from man_pri_online2_foll + where 1=1 + and user_id = #{userId} + ) + </select> </mapper> diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js index ce7b0d1..eb46181 100644 --- a/src/main/webapp/static/js/plan/plan.js +++ b/src/main/webapp/static/js/plan/plan.js @@ -139,7 +139,7 @@ skin: 'line', cols: [[ {type: 'checkbox'} - // ,{field: 'id', align: 'center',title: 'ID'} + ,{field: 'id', align: 'center',title: 'ID'} // ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'} ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�',hide: false, width: 100} ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150,hide: false} @@ -196,12 +196,17 @@ ,{field: 'settle$', align: 'center',title: '杩涘害', width: 150} // ,{field: 'settleMsg', align: 'center',title: '瀹℃牳杩涘害'} // ,{field: 'comment', align: 'center',title: '璇勮'} - ,{field: 'status$', align: 'center',title: '鐘舵��'} + ,{field: 'statusAll$', align: 'center',title: '鐘舵��'} ,{field: 'createTime$', align: 'left',title: '娣诲姞鏃ユ湡', width: 160, hide: true} ,{field: 'updateBy$', align: 'left',title: '淇敼浜�', width: 100} ,{field: 'updateTime$', align: 'left',title: '淇敼鏃堕棿', hide: true} ,{field: 'memo', align: 'left',title: '娉ㄩ噴', hide: true} - + ,{field: 'center', align: 'left',title: '鍏宠仈娴佺▼', toolbar: '#tbLook', minWidth: 160, hide: false} + ,{field: 'assistantHostSign$', align: 'left',title: '涓诲壇鏍囪', hide: false} + ,{field: 'assistantHostSign', align: 'left',title: '涓诲壇鏍囪', hide: true} + ,{field: 'hostPlanId', align: 'left',title: '涓籌D', hide: true} + ,{field: 'assistantPlanId', align: 'left',title: '鍓疘D', hide: true} + // ,{field: 'assistantPlanIdSignType', align: 'left',title: '闆嗘垚璐ф灦鏍囧織', hide: true} ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 340} ]], request: { @@ -597,6 +602,9 @@ approvalEnd(data.id); }); break; + case 'assistantPlan': + assistantPlan(data); + break; case 'edit': showEditModel(data); break; @@ -604,18 +612,22 @@ del([data.id]); break; case "uploadLink": + var planIdSign = data.id; + if (data.assistantHostSign==1){ + planIdSign = data.hostPlanId; + } // 鎵撳紑寮圭獥 // 鏋勫缓甯﹀弬鏁扮殑鍐呭 layer.open({ type: 1, - title: '涓婁紶鏂囦欢-'+data.id, + title: '涓婁紶鏂囦欢-'+planIdSign, content: $('#myModal') }); // 鑾峰彇璺緞涓嬬殑鏂囦欢鍒楄〃锛屼娇鐢� jQuery 鐨� ajax 鏂规硶 $.ajax({ url: '/plan/view/file/auth', data:{ - planId:data.id + planId:planIdSign }, success: function(response) { if (response.code==200){ @@ -648,6 +660,99 @@ }, error: function() { console.log('Failed to get file list.'); + } + }); + break; + case "look": + var $a = $(obj.tr).find('a[lay-event="look"]'); + var offset = $a.offset(); + var top2 = offset.top; + var left = offset.left; + layer.open({ + type: 1, + title: false, + area: '2100px', + offset: [top2 + 'px', (left - 1430 + $a.outerWidth()) + 'px'], + shade: .01, + shadeClose: true, + fixed: false, + content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>', + success: function (layero) { + table.render({ + elem: '#lookSSXMTable', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/plan/assistantPlan/view/auth', + where: { + hostPlanId: data.id + }, + page: true, + cellMinWidth: 100, + cols: [[ + {field: 'id', align: 'center',title: 'ID'} + ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�',hide: false, width: 100} + ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150,hide: false} + ,{ + field: 'name', + align: 'left', + title: '鍞墠瑙勫垝鐢宠鍗曞悕绉�', + width: 220, + style: 'cursor:pointer', + event: 'more', + hide: false + } + ,{field: 'uuid', align: 'left',title: '瑙勫垝鍗曞彿', width: 100,hide: false} + ,{ + field: 'planNeed$', + align: 'left', + title: '鎵�闇�', + templet:function(d){ + return emptyShow(d.planNeed$) + }, + hide: false + } + ,{field: 'deptId$', align: 'left',title: '鎵�灞為儴闂�',hide: true} + ,{field: 'planner$', align: 'left',title: '瑙勫垝鍛�',hide: false, width: 100} + ,{ + field: 'orderId$', + align: 'left', + title: '璺熻釜椤圭洰', + width: 220, + style: 'cursor:pointer', + event: 'orderMore',hide: false + } + ,{field: 'appleTime$', align: 'left',title: '鐢宠鏃ユ湡', hide: false} + ,{field: 'settle$', align: 'center',title: '杩涘害', width: 150} + ,{field: 'statusAll$', align: 'center',title: '鐘舵��'} + ,{field: 'createTime$', align: 'left',title: '娣诲姞鏃ユ湡', width: 160, hide: true} + ,{field: 'updateBy$', align: 'left',title: '淇敼浜�', width: 100} + ,{field: 'updateTime$', align: 'left',title: '淇敼鏃堕棿', hide: true} + ,{field: 'memo', align: 'left',title: '娉ㄩ噴', hide: true} + ,{field: 'assistantHostSign', align: 'left',title: '涓诲壇鏍囪', hide: true} + ,{field: 'hostPlanId', align: 'left',title: '涓籌D', hide: true} + ,{field: 'assistantPlanId', align: 'left',title: '鍓疘D', hide: true} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 340} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + console.log(res) + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function () { + $(layero).find('.layui-table-view').css('margin', '0'); + }, + size: '' + }); } }); break; @@ -811,6 +916,36 @@ }); } + /* 鏂板缓 */ + function assistantPlan(data) { + layer.confirm('纭畾瑕佹柊寤鸿揣鏋惰鍒掑鎵瑰悧锛�', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/plan/assistantPlan/add/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + hostPlanId: data.id + }, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + /* 鍒犻櫎 */ function del(ids) { layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { diff --git a/src/main/webapp/static/js/priOnline2/priOnline.js b/src/main/webapp/static/js/priOnline2/priOnline.js index de4daa2..0a90cb0 100644 --- a/src/main/webapp/static/js/priOnline2/priOnline.js +++ b/src/main/webapp/static/js/priOnline2/priOnline.js @@ -29,13 +29,14 @@ // 鏍戝舰鍥� var organizationTree; - window.loadTree = function (condition) { + window.loadTree = function (condition,allSwitch) { var loadIndex = layer.load(2); $.ajax({ url: baseUrl + "/dept/user/tree/auth", headers: {'token': localStorage.getItem('token')}, data: { - 'condition': condition + 'condition': condition, + 'allSwitch': allSwitch }, method: 'POST', success: function (res) { @@ -104,7 +105,7 @@ hide: false } , {field: 'itemId', align: 'center', title: '瑙勫垝鍗曞彿', hide: true} - , {field: 'status$', align: 'center', title: '鐘舵��', hide: false} + , {field: 'statusAll$', align: 'center',title: '鐘舵��'} // ,{field: 'memberId$', align: 'center',title: ''} , { field: 'settle$', @@ -121,6 +122,10 @@ , {field: 'createTime$', align: 'center', title: '鍒涘缓鏃堕棿', hide: true} , {field: 'updateUserId$', align: 'center', title: '鏇存柊浜哄憳', hide: false} , {field: 'updateTime$', align: 'center', title: '鏇存柊鏃堕棿', hide: false} + ,{field: 'assistantHostSign$', align: 'left',title: '涓诲壇鏍囪', hide: false} + ,{field: 'assistantHostSign', align: 'left',title: '涓诲壇鏍囪', hide: true} + ,{field: 'hostPlanId', align: 'left',title: '涓籌D', hide: true} + ,{field: 'assistantPlanId', align: 'left',title: '鍓疘D', hide: true} , {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 350} ]], request: { @@ -375,7 +380,7 @@ console.log(data) layer.close(i); // 鎸囧畾妯℃澘 - if ((data.settle === 1 && data.settleSize===3) || (data.settle===2 && data.settleSize===4)) { + if (((data.settle === 1 && data.settleSize===3) || (data.settle===2 && data.settleSize===4)) && data.assistantHostSign==0) { admin.open({ type: 1, area: '300px', @@ -600,17 +605,20 @@ case "uploadLink": // 鎵撳紑寮圭獥 // 鏋勫缓甯﹀弬鏁扮殑鍐呭 - console.log(data) + var planIdSign = data.id; + if (data.assistantHostSign==1){ + planIdSign = data.hostPlanId; + } layer.open({ type: 1, - title: '涓婁紶鏂囦欢-'+data.itemId, + title: '涓婁紶鏂囦欢-'+planIdSign, content: $('#myModal') }); // 鑾峰彇璺緞涓嬬殑鏂囦欢鍒楄〃锛屼娇鐢� jQuery 鐨� ajax 鏂规硶 $.ajax({ url: '/plan/view/file/auth', data:{ - planId:data.itemId + planId:planIdSign }, success: function(response) { if (response.code==200){ @@ -695,41 +703,41 @@ }); } - /* 寮圭獥 - 鏂板銆佷慨鏀� */ - function showEditModel2(mData) { - admin.open({ - type: 1, - area: '800px', - title: '鎺ュ彇' + '鏍镐环', - content: $('#editDialogHJ').html(), - success: function (layero, dIndex) { - let loadNameXml = loadNameXmlSel() - form.val('detailHJ', mData); - form.on('submit(editSubmitHJ)', function (data) { - data.field.id = loadNameXml.getValue()[0] ? loadNameXml.getValue()[0].id : null; - $.ajax({ - url: baseUrl+"/priOnline2/HJ/add/auth", - headers: {'token': localStorage.getItem('token')}, - data: data.field, - method: 'POST', - success: function (res) { - if (res.code === 200){ - layer.close(dIndex); - layer.msg(res.msg, {icon: 1}); - tableReload() - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg, {icon: 2}); - } - } - }) - }); - $(layero).children('.layui-layer-content').css('overflow', 'visible'); - layui.form.render('select'); - } - }); - } + // /* 寮圭獥 - 鏂板銆佷慨鏀� */ + // function showEditModel2(mData) { + // admin.open({ + // type: 1, + // area: '800px', + // title: '鎺ュ彇' + '鏍镐环', + // content: $('#editDialogHJ').html(), + // success: function (layero, dIndex) { + // let loadNameXml = loadNameXmlSel() + // form.val('detailHJ', mData); + // form.on('submit(editSubmitHJ)', function (data) { + // data.field.id = loadNameXml.getValue()[0] ? loadNameXml.getValue()[0].id : null; + // $.ajax({ + // url: baseUrl+"/priOnline2/HJ/add/auth", + // headers: {'token': localStorage.getItem('token')}, + // data: data.field, + // method: 'POST', + // success: function (res) { + // if (res.code === 200){ + // layer.close(dIndex); + // layer.msg(res.msg, {icon: 1}); + // tableReload() + // } else if (res.code === 403){ + // top.location.href = baseUrl+"/"; + // }else { + // layer.msg(res.msg, {icon: 2}); + // } + // } + // }) + // }); + // $(layero).children('.layui-layer-content').css('overflow', 'visible'); + // layui.form.render('select'); + // } + // }); + // } //鏇存柊form function showEditForm(mData) { @@ -824,34 +832,34 @@ }) } - window.loadNameXmlSel = function () { - return xmSelect.render({ - el: '#nameXmlSel', - autoRow: true, - filterable: true, - remoteSearch: true, - clickClose: true, - radio: true, - remoteMethod: function (val, cb, show) { - $.ajax({ - url: baseUrl + "/priOnline2/HJ/search/auth", - headers: {'token': localStorage.getItem('token')}, - data: { - condition: val - }, - method: 'POST', - success: function (res) { - if (res.code === 200) { - cb(res.data) - } else { - cb([]); - layer.msg(res.msg, {icon: 2}); - } - } - }); - } - }); - } + // window.loadNameXmlSel = function () { + // return xmSelect.render({ + // el: '#nameXmlSel', + // autoRow: true, + // filterable: true, + // remoteSearch: true, + // clickClose: true, + // radio: true, + // remoteMethod: function (val, cb, show) { + // $.ajax({ + // url: baseUrl + "/priOnline2/HJ/search/auth", + // headers: {'token': localStorage.getItem('token')}, + // data: { + // condition: val + // }, + // method: 'POST', + // success: function (res) { + // if (res.code === 200) { + // cb(res.data) + // } else { + // cb([]); + // layer.msg(res.msg, {icon: 2}); + // } + // } + // }); + // } + // }); + // } }); diff --git a/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js b/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js index 8ce8423..b0f1f28 100644 --- a/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js +++ b/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js @@ -330,18 +330,18 @@ {field: 'occupation', title: '浜嬬敱', width: 200}, // {field: 'expenseType', title: '璐圭敤绫诲瀷', width: 100}, {field: 'expenseType$', title: '璐圭敤绫诲瀷', width: 100}, - {field: 'taxRate', title: '绋庣巼', width: 60}, + {field: 'taxRate$', title: '绋庣巼', width: 60}, {field: 'untaxedAmountInLocalCurrency', title: '鏈◣鏈竵閲戦', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, {field: 'untaxedAmount', title: '鏈◣閲戦', width: 100}, {field: 'taxAmount', title: '绋庨', width: 60}, {field: 'invoiceValue', title: '鍙戠エ閲戦', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, {field: 'invoiceAmountInLocalCurrency', title: '鍙戠エ鏈竵閲戦', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, - {field: 'reimbursementRatio', title: '鎶ラ攢姣斾緥', width: 100}, + {field: 'reimbursementRatio$', title: '鎶ラ攢姣斾緥', width: 100}, {field: 'reimbursementAmount', title: '鎶ラ攢閲戦', width: 100}, {field: 'reimbursementAmountInLocalCurrency', title: '鎶ラ攢鏈竵閲戦', width: 120}, {field: 'cashierConfirmationAmount', title: '鍑虹撼纭閲戦', width: 120}, - {field: 'cashierCurrency', title: '鍑虹撼甯佺', width: 100}, - {field: 'departureTime', title: '鍑哄彂鏃ユ湡', width: 100}, + // {field: 'cashierCurrency', title: '鍑虹撼甯佺', width: 100}, + // {field: 'departureTime', title: '鍑哄彂鏃ユ湡', width: 100}, {field: 'cashierConfirmationAmount', title: '鍑虹撼纭閲戦', width: 120}, {field: 'userId', title: '鍒楁敮浜哄憳', width: 120}, {field: 'deptId', title: '鍒楁敮閮ㄩ棬', width: 120}, @@ -467,8 +467,8 @@ {field: 'reimbursementAmount', title: '鎶ラ攢閲戦', width: 100, edit: true}, {field: 'reimbursementAmountInLocalCurrency', title: '鎶ラ攢鏈竵閲戦', width: 120, edit: true}, {field: 'cashierConfirmationAmount', title: '鍑虹撼纭閲戦', width: 120, edit: true}, - {field: 'cashierCurrency', title: '鍑虹撼甯佺', width: 100, edit: true}, - {field: 'departureTime', title: '鍑哄彂鏃ユ湡', width: 100}, + // {field: 'cashierCurrency', title: '鍑虹撼甯佺', width: 100, edit: true}, + // {field: 'departureTime', title: '鍑哄彂鏃ユ湡', width: 100}, {field: 'cashierConfirmationAmount', title: '鍑虹撼纭閲戦', width: 120, edit: true}, {field: 'userId', title: '鍒楁敮浜哄憳', width: 120}, {field: 'deptId', title: '鍒楁敮閮ㄩ棬', width: 120}, diff --git a/src/main/webapp/views/plan/plan.html b/src/main/webapp/views/plan/plan.html index e7e832b..ef58192 100644 --- a/src/main/webapp/views/plan/plan.html +++ b/src/main/webapp/views/plan/plan.html @@ -106,6 +106,15 @@ </div> </div> +<!-- 琛ㄦ牸鎿嶄綔鍒� --> +<script type="text/html" id="tbLook"> + <span class="layui-text"> + <a href="javascript:;" lay-event="look"> + <i class="layui-icon" style="font-size: 12px;"></i> 鏌ョ湅鍏宠仈娴佺▼ + </a> + </span> +</script> + <div id="myModal" style="display: none;"> <div style="padding: 10px"> <div class="layui-upload"> @@ -144,6 +153,9 @@ <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> {{# } }} + {{# if (d.assistantHostSign == 0 && d.assistantPlanId==0) { }} + <a class="layui-btn layui-btn-xs btn-edit" lay-event="assistantPlan">鍒涘缓璐ф灦瑙勫垝浠诲姟</a> + {{# } }} </script> diff --git a/src/main/webapp/views/priOnline2/priOnline.html b/src/main/webapp/views/priOnline2/priOnline.html index 3bee7d9..5f0b8b2 100644 --- a/src/main/webapp/views/priOnline2/priOnline.html +++ b/src/main/webapp/views/priOnline2/priOnline.html @@ -45,10 +45,15 @@ </div> </div> <div class="layui-form-item"> + <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off" style="border-color: #e1e1e1"> + </div> + <label class="layui-form-label">ALL锛�</label> + <div class="layui-input-inline" style="text-align: left"> + <input id="allSwitch" name="allSwitch" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> </div> </div> <div class="layui-inline">  @@ -66,7 +71,7 @@ <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <button class="layui-btn layui-btn-sm" lay-event="addBlank">鏂板鏍镐环</button> - <button class="layui-btn layui-btn-sm" lay-event="addBlank2">鎺ュ彇闆嗘垚鏍镐环浠诲姟</button> +<!-- <button class="layui-btn layui-btn-sm" lay-event="addBlank2">鎺ュ彇闆嗘垚鏍镐环浠诲姟</button>--> <button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="deleteData">鍒犻櫎</button> </div> </script> -- Gitblit v1.9.1