From 7673755cb8f1b4160ad2a6ffd79ea3fc7e25e7eb Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 30 五月 2024 18:28:58 +0800 Subject: [PATCH] 代码初始化 --- server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 31 +++ server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java | 4 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 121 +++++++------- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java | 4 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 190 +++++++++++++++++++---- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java | 14 + server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/CarUseBookController.java | 2 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 3 server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java | 10 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 99 ------------ 10 files changed, 273 insertions(+), 205 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java index c4359f8..6d88b2c 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java @@ -419,12 +419,31 @@ } -public interface noticesObjectType{ + +public static Integer approveTypeToNoticeType(Integer approveType){ + if(Constants.equalsInteger(approveType,Constants.approveObjectType.unConstructionVisit) + ||Constants.equalsInteger(approveType,Constants.approveObjectType.constructionVisit)){ + return Constants.noticesObjectType.visit; + }else if(Constants.equalsInteger(approveType,Constants.approveObjectType.visitReporting)){ + return Constants.noticesObjectType.visitReporting; + }else if(Constants.equalsInteger(approveType,Constants.approveObjectType.cityUseCar) + ||Constants.equalsInteger(approveType,Constants.approveObjectType.unCityUseCar)){ + return Constants.noticesObjectType.useCar; + }else { + return Constants.noticesObjectType.system; + } + +} + + + + public interface noticesObjectType{ int visit = 0;//璁垮鐢宠 - int visitReporting = 2;//璁垮鎶ュ - int cityUseCar = 3;//甯傚唴鐢ㄨ溅 - int unCityUseCar = 4;//甯傚鐢ㄨ溅 - int logisticsCarUse = 5;//鐗╂祦杞﹂绾� + int visitReporting = 1;//璁垮鎶ュ + int useCar = 2;//鐢ㄨ溅鐢宠 + int dangerDeal = 3;//闅愭偅澶勭悊 + int logisticsCarUse = 4;//鐗╂祦杞﹀鎵� + int system = 5;//绯荤粺娑堟伅 } @@ -575,6 +594,8 @@ return reqJson; } + + public enum NoticeType { ZERO(0, "寰呭鏍�","","","寰呭鏍�","寰呭鐞�","澶勭悊涓�"), diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java index e76940e..7f25314 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java @@ -961,105 +961,6 @@ } } - /** - * 灏嗘寚瀹氭牸寮忕殑瀛楃涓茶浆鎹负鏃ユ湡鍨� - * - * @param strDate - * - 鏃ユ湡 - * @param oracleFormat - * --oracle鍨嬫棩鏈熸牸寮� - * @return 杞崲寰楀埌鐨勬棩鏈� - */ - @SuppressWarnings("unchecked") - public static Date stringToDate(String strDate, String oracleFormat) { - if (strDate == null) - return null; - Hashtable<Integer, String> h = new Hashtable<Integer, String>(); - String javaFormat = new String(); - String s = oracleFormat.toLowerCase(); - if (s.indexOf("yyyy") != -1) - h.put(new Integer(s.indexOf("yyyy")), "yyyy"); - else if (s.indexOf("yy") != -1) - h.put(new Integer(s.indexOf("yy")), "yy"); - if (s.indexOf("mm") != -1) - h.put(new Integer(s.indexOf("mm")), "MM"); - - if (s.indexOf("dd") != -1) - h.put(new Integer(s.indexOf("dd")), "dd"); - if (s.indexOf("hh24") != -1) - h.put(new Integer(s.indexOf("hh24")), "HH"); - if (s.indexOf("mi") != -1) - h.put(new Integer(s.indexOf("mi")), "mm"); - if (s.indexOf("ss") != -1) - h.put(new Integer(s.indexOf("ss")), "ss"); - - int intStart = 0; - while (s.indexOf("-", intStart) != -1) { - intStart = s.indexOf("-", intStart); - h.put(new Integer(intStart), "-"); - intStart++; - } - - intStart = 0; - while (s.indexOf("/", intStart) != -1) { - intStart = s.indexOf("/", intStart); - h.put(new Integer(intStart), "/"); - intStart++; - } - - intStart = 0; - while (s.indexOf(" ", intStart) != -1) { - intStart = s.indexOf(" ", intStart); - h.put(new Integer(intStart), " "); - intStart++; - } - - intStart = 0; - while (s.indexOf(":", intStart) != -1) { - intStart = s.indexOf(":", intStart); - h.put(new Integer(intStart), ":"); - intStart++; - } - - if (s.indexOf("骞�") != -1) - h.put(new Integer(s.indexOf("骞�")), "骞�"); - if (s.indexOf("鏈�") != -1) - h.put(new Integer(s.indexOf("鏈�")), "鏈�"); - if (s.indexOf("鏃�") != -1) - h.put(new Integer(s.indexOf("鏃�")), "鏃�"); - if (s.indexOf("鏃�") != -1) - h.put(new Integer(s.indexOf("鏃�")), "鏃�"); - if (s.indexOf("鍒�") != -1) - h.put(new Integer(s.indexOf("鍒�")), "鍒�"); - if (s.indexOf("绉�") != -1) - h.put(new Integer(s.indexOf("绉�")), "绉�"); - - int i = 0; - while (h.size() != 0) { - Enumeration e = h.keys(); - int n = 0; - while (e.hasMoreElements()) { - i = ((Integer) e.nextElement()).intValue(); - if (i >= n) - n = i; - } - String temp = (String) h.get(new Integer(n)); - h.remove(new Integer(n)); - - javaFormat = temp + javaFormat; - } - SimpleDateFormat df = new SimpleDateFormat(javaFormat); - - Date myDate = new Date(); - try { - myDate = df.parse(strDate); - } catch (Exception e) { - // e.printStackTrace(); - return null; - } - - return myDate; - } public static Date StringToDate(String DATE1) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java b/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java index b0be2e5..2b76c44 100644 --- a/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java +++ b/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java @@ -59,7 +59,7 @@ @ExcelColumn(name="鏍囬") private String title; - @ApiModelProperty(value = "绠�浠�") + @ApiModelProperty(value = "绠�浠�",notes = "灞曠ず鐘舵�佹弿杩� 鏍规嵁param2 璁剧疆") @ExcelColumn(name="绠�浠�") private String info; @@ -88,11 +88,11 @@ private String typeDetail; - @ApiModelProperty(value = "鍏宠仈鍙傛暟1") + @ApiModelProperty(value = "鍏宠仈鍙傛暟1" ,notes = "瀛樺偍 娑堟伅灞曠ずJSON ") @ExcelColumn(name="鍏宠仈鍙傛暟1") private String param1; - @ApiModelProperty(value = "鍏宠仈鍙傛暟2") + @ApiModelProperty(value = "鍏宠仈鍙傛暟2",notes = "鐢ㄤ簬瀛樺偍 涓氬姟鐘舵�佷俊鎭� 0 =寰呭鐞�;1=宸插悓鎰�/宸插鐞�;2=宸叉嫆缁�/宸查��鍥�;3=宸茶浆浜�;4=宸叉挙閿�") @ExcelColumn(name="鍏宠仈鍙傛暟2") private String param2; @@ -128,6 +128,10 @@ @ExcelColumn(name="鐘舵�� 0姝e父 1宸插叧闂� ") private Integer status; + @ApiModelProperty(value = "鏄惁鎶勯�� 0涓嶆槸 1鏄�", example = "1") + @ExcelColumn(name="鏄惁鎶勯�� 0涓嶆槸 1鏄�") + private Integer sendacopy; + @ApiModelProperty(value = "鏄惁宸茶 0鏈 1宸茶", example = "1") @ExcelColumn(name="鏄惁宸茶 0鏈 1宸茶") private Integer readed; diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/CarUseBookController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/CarUseBookController.java index 9737e6e..e3ce650 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/CarUseBookController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/CarUseBookController.java @@ -31,7 +31,7 @@ @ApiOperation("鏂板缓") @PostMapping("/create") @RequiresPermissions("business:carusebook:create") - public ApiResponse create(@RequestBody CarUseBook carUseBook) { + public ApiResponse create(@RequestBody CarUseBook carUseBook) throws Exception { return ApiResponse.success(carUseBookService.create(carUseBook)); } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java index 7e5ce04..c0f201a 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java @@ -36,7 +36,7 @@ @ApiOperation("鏂板缓") @PostMapping("/create") @CloudRequiredPermission("business:carusebook:create") - public ApiResponse create(@RequestBody CarUseBook carUseBook,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + public ApiResponse create(@RequestBody CarUseBook carUseBook,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) throws Exception { LoginUserInfo loginUserInfo = getLoginUser(token); carUseBook.setCreator(loginUserInfo.getId()); carUseBook.setMemberId(loginUserInfo.getMemberId()); @@ -90,7 +90,7 @@ @ApiOperation("鏌ヨ杞﹁締棰勭害璁板綍") @PostMapping("/carUseBookList") - public ApiResponse<List<CarUseBook>> carUseBookList (@RequestBody CarUseBook carUseBook, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + public ApiResponse<List<CarUseBook>> carUseBookList (@RequestBody CarUseBook carUseBook, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) throws Exception { return ApiResponse.success(carUseBookService.carUseBookList(carUseBook)); } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java index ceb9bf9..7285243 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java @@ -1,11 +1,13 @@ package com.doumee.cloud.admin; import com.doumee.api.BaseController; +import com.doumee.biz.system.SystemUserBiz; import com.doumee.config.DataSyncConfig; import com.doumee.config.annotation.CloudRequiredPermission; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; +import com.doumee.core.annotation.trace.Trace; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; @@ -17,12 +19,14 @@ import com.doumee.dao.business.dto.ResetPasswordDTO; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.MemberRole; +import com.doumee.dao.system.dto.UpdatePwdDto; import com.doumee.service.business.MemberService; import com.doumee.service.business.ext.ERPSyncService; import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromHKServiceImpl; import io.swagger.annotations.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -48,6 +52,8 @@ @Autowired private MemberService memberService; + @Autowired + private SystemUserBiz systemUserBiz; @PreventRepeat @ApiOperation("鏂板缓") @PostMapping("/create") @@ -345,5 +351,13 @@ + @Trace(withRequestParameters = false) + @ApiOperation("淇敼褰撳墠鐢ㄦ埛瀵嗙爜") + @PostMapping("/updatePwd") + public ApiResponse updatePwd (@RequestHeader(Constants.HEADER_USER_TOKEN) String token, @Validated @RequestBody UpdatePwdDto dto) { + dto.setUserId(this.getLoginUser(token).getId()); + systemUserBiz.updatePwd(dto); + return ApiResponse.success(null); + } } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java index c6532b5..de88795 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java @@ -21,7 +21,7 @@ * @param carUseBook 瀹炰綋瀵硅薄 * @return Integer */ - Integer create(CarUseBook carUseBook); + Integer create(CarUseBook carUseBook) throws Exception ; /** * 涓婚敭鍒犻櫎 @@ -100,7 +100,7 @@ long count(CarUseBook carUseBook); - List<CarUseBook> carUseBookList(CarUseBook carUseBook); + List<CarUseBook> carUseBookList(CarUseBook carUseBook) throws Exception ; List<DateIntervalVO> checkDateUse(Integer cars, String dateDay); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java index ad7ed25..43286ff 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java @@ -1,16 +1,20 @@ package com.doumee.service.business.impl; +import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.dto.ApproveDTO; import com.doumee.dao.business.join.ApproveJoinMapper; +import com.doumee.dao.business.join.CarUseBookJoinMapper; +import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApproveDataVO; import com.doumee.dao.system.join.NoticesJoinMapper; @@ -74,7 +78,14 @@ private VisitsMapper visitsMapper; @Autowired + private VisitsJoinMapper visitsJoinMapper; + + @Autowired + private CarUseBookJoinMapper carUseBookJoinMapper; + @Autowired private NoticesJoinMapper noticesJoinMapper; + + @Override public Integer create(Approve approve) { @@ -301,11 +312,33 @@ for (int i = 0; i < approveParamList.size(); i++) { ApproveParam approveParam = approveParamList.get(i); List<Integer> ids = this.getApproveUserIds(approveParam,createMember); - //鐢熸垚寰呭姙 notices 琛ㄦ暟鎹� - if(i==0){ - - } - for (Integer memberId:ids) { + Integer noticeType = Constants.approveTypeToNoticeType(approveTempl.getType()); + String title = "銆愯瀹㈢敵璇枫�戠敵璇蜂汉 - "; + Map<String,Object> jsonMap = new HashMap<>(); + for (int j = 0; j < ids.size(); j++) { + Integer memberId = ids.get(j); + //鐢熸垚寰呭姙 notices 琛ㄦ暟鎹� + if(i==0){ + if(jsonMap.isEmpty()){ + title = this.createNoticesData(noticeType,businessId,title,jsonMap); + } + Notices notices = new Notices(); + notices.setCreateDate(new Date()); + notices.setIsdeleted(Constants.ZERO); + notices.setObjId(businessId); + notices.setObjType(noticeType); + notices.setType(noticeType); + notices.setTitle(title); + notices.setParam1(JSONObject.toJSONString(jsonMap)); + notices.setUserId(memberId); + notices.setPalt(Constants.ZERO); + notices.setStatus(Constants.ZERO); + notices.setReaded(Constants.ZERO); + notices.setSendacopy(Constants.ZERO); + notices.setParam2("0"); + notices.setInfo("寰呭鐞�"); + noticesJoinMapper.insert(notices); + } Approve approve = new Approve(); approve.setRemark(approveParam.getRemark()); approve.setCreateDate(new Date()); @@ -327,29 +360,59 @@ } } - public void createNoticesData(List<Approve> approveList){ - for (Approve approve:approveList) { - Notices notices = new Notices(); - notices.setCreateDate(new Date()); - notices.setIsdeleted(Constants.ZERO); - notices.setObjId(approve.getObjId()); - notices.setObjId(approve.getApproveType()); - if(Constants.equalsInteger(approve.getType(),Constants.approveObjectType.unConstructionVisit) - || Constants.equalsInteger(approve.getType(),Constants.approveObjectType.constructionVisit)){ - notices.setType(Constants.ZERO); - }else if(Constants.equalsInteger(approve.getType(),Constants.approveObjectType.visitReporting)){ - notices.setType(Constants.ONE); + + + public String createNoticesData(Integer noticeType,Integer businessId,String title,Map<String,Object> jsonMap){ + jsonMap.clear(); + if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visit) + || Constants.equalsInteger(noticeType,Constants.noticesObjectType.visitReporting)){ + //璁垮璁板綍涓庤瀹㈡姤澶� + Visits visits = visitsJoinMapper.selectJoinOne(Visits.class, + new MPJLambdaWrapper<Visits>().selectAll(Visits.class) + .selectAs(Member::getName,Visits::getReceptMemberName) + .selectAs(Company::getName,Visits::getReceptMemberDepartment) + .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .eq(Visits::getId,businessId) + .last(" limit 1 ") + ); + if(Objects.isNull(visits)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌涓氬姟鏁版嵁淇℃伅"); } - - - + if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visit)){ + title = title + visits.getName(); + }else{ + title = "銆愯瀹㈡姤澶囥�戠敵璇蜂汉 - " + visits.getName(); + } + jsonMap.put("name", "璁块棶浜�:" + visits.getCompanyName() + " - " + visits.getReceptMemberName()); + jsonMap.put("sTime", "鍏ュ洯鏃堕棿:" + DateUtil.DateToStr(visits.getStarttime() , "yyyy-MM-dd HH:mm")); + jsonMap.put("eTime", "绂诲洯鏃堕棿:" + DateUtil.DateToStr(visits.getEndtime() , "yyyy-MM-dd HH:mm")); + jsonMap.put("reason", StringUtils.isBlank(visits.getReason())?"鏉ヨ浜嬬敱: - ": "鏉ヨ浜嬬敱:" +visits.getReason()); + jsonMap.put("carNos", StringUtils.isBlank(visits.getCarNos())?"闅忚杞﹁締: - ": "闅忚杞﹁締:" +visits.getCarNos()); + }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.useCar)){ + //鐢ㄨ溅鐢宠 + CarUseBook carUseBook = carUseBookJoinMapper.selectJoinOne(CarUseBook.class, + new MPJLambdaWrapper<CarUseBook>().selectAll(CarUseBook.class) + .selectAs(Member::getName,CarUseBook::getMemberName) + .selectAs(Company::getName,CarUseBook::getCompanyName) + .leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .eq(CarUseBook::getId,businessId) + .last(" limit 1 ") + ); + if(Objects.isNull(carUseBook)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌涓氬姟鏁版嵁淇℃伅"); + } + title = "銆愮敤杞︾敵璇枫�戠敵璇蜂汉 - " + carUseBook.getMemberName(); + jsonMap.put("name", "鐢宠浜�:" + carUseBook.getCompanyName() + " - " + carUseBook.getMemberName()); + jsonMap.put("sTime", "寮�濮嬫椂闂�:" + DateUtil.DateToStr(carUseBook.getStartTime() , "yyyy-MM-dd HH:mm")); + jsonMap.put("eTime", "缁撴潫鏃堕棿:" + DateUtil.DateToStr(carUseBook.getEndTime() , "yyyy-MM-dd HH:mm")); + jsonMap.put("usrNum", StringUtils.isBlank(carUseBook.getMemberIds())?"涔樿溅浜烘暟: 0浜�": "涔樿溅浜烘暟: " +carUseBook.getMemberIds().split(",").length +"浜�"); + jsonMap.put("mdd", StringUtils.isBlank(carUseBook.getAddr())?"鐩殑鍦�: - ": "鐩殑鍦�:" +carUseBook.getAddr()); + }else { + throw new BusinessException(ResponseStatus.NOT_ALLOWED); } - - - - - - + return title; } @@ -822,16 +885,18 @@ .ne(Approve::getId,approve.getId())); }else{ //澶勭悊鍏朵粬涓氬姟鏁版嵁 - if(approve.getApproveType().equals(Constants.ZERO)&&approve.getIsEndCheck()==Constants.ONE){ - //鎴栫 涓� 缁堝 + if((approve.getApproveType().equals(Constants.ZERO) + || approve.getApproveType().equals(Constants.TWO)) &&approve.getIsEndCheck()==Constants.ONE){ + //鎴栫 / 鍗曚汉瀹� 涓� 缁堝 approveJoinMapper.update(null,new UpdateWrapper<Approve>() .lambda() .set(Approve::getStatus,Constants.approveStatus.otherDeal) .in(Approve::getId,approveList.stream().map(m->m.getId()).collect(Collectors.toList()))); dealBusinessBean = true; - }else if(approve.getApproveType().equals(Constants.ZERO)&&approve.getIsEndCheck()!=Constants.ONE){ - //鎴栫 闈炵粓瀹� 鍒欏紑鍚笅涓�姝ヤ笟鍔℃祦绋� + }else if((approve.getApproveType().equals(Constants.ZERO) + || approve.getApproveType().equals(Constants.TWO)) &&approve.getIsEndCheck()!=Constants.ONE){ + //鎴栫 / 鍗曚汉瀹� 闈炵粓瀹� 鍒欏紑鍚笅涓�姝ヤ笟鍔℃祦绋� /**澶勭悊鏈骇鏁版嵁**/ approveJoinMapper.update(null,new UpdateWrapper<Approve>() .lambda() @@ -846,7 +911,7 @@ .eq(Approve::getObjType,approve.getObjType()) .eq(Approve::getLevel,(approve.getLevel()+1)) ); - + //TODO 鏇存柊娑堟伅鏁版嵁 鍙戦�佷笅涓�绾ф暟鎹秷鎭� }else if(approve.getApproveType().equals(Constants.ONE)&&approve.getIsEndCheck()==Constants.ONE){ //浼氱 涓旂粓瀹� if(approveList.size()==Constants.ZERO){ @@ -867,8 +932,6 @@ //TODO 瀹℃壒鏈�氳繃閫氱煡 } - - }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals( Constants.approveObjectType.unCityUseCar)){ // 甯傚唴澶栫敤杞︾敵璇� @@ -886,6 +949,67 @@ } } + public void passNextNotices(Boolean dealBusinessBean,Approve approve){ + //鏍规嵁瀹℃壒璁板綍鏌ヨ 閫氱煡璁板綍 + Integer noticeType = Constants.approveTypeToNoticeType(approve.getObjType()); + Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda() + .eq(Notices::getObjId,approve.getObjId()) + .eq(Notices::getObjType,noticeType) + .eq(Notices::getUserId,approve.getChekorId()) + .eq(Notices::getSendacopy,Constants.ZERO) + .eq(Notices::getIsdeleted,Constants.ZERO) + ); + if(Objects.isNull(notices)){ + return; + } + + + if(Constants.equalsInteger(approve.getApproveType(),Constants.ZERO)){ + //鎴栫 + //1銆佷慨鏀硅嚜宸辩殑鏁版嵁璁板綍 + + //2銆佹洿鏂颁粬浜虹殑鍚岀骇璁板綍 涓烘妱閫� + + //3銆佸鏋滀笉鏄粓瀹$敓鎴愪笅涓�绾х殑鏁版嵁璁板綍 + + + }else if(Constants.equalsInteger(approve.getApproveType(),Constants.ONE)){ + //浼氱 + //1銆佷慨鏀硅嚜宸辩殑鏁版嵁璁板綍 + + //2銆佹牴鎹槸鍚︿负鏈�鍚庝竴浣嶅鎵逛汉 濡傛灉涓嶆槸 鍒欑粨鏉� + + //3銆� 濡傛灉鏄渶鍚庝竴浣嶅鎵逛汉 涓斾笉鏄粓瀹″紑鍚笅涓�绾ф暟鎹� + + }else{ + //鍗曚汉绛� + //1銆佷慨鏀硅嚜宸辩殑鏁版嵁璁板綍 + + //2銆� 鏄惁鏄粓瀹� 寮�鍚笅涓�绾ф暟鎹� + + + } + //涓氬姟閫氳繃 淇敼瀹℃壒瀵瑰簲娑堟伅璁板綍 + if(Constants.equalsInteger(approve.getStatus(),Constants.approveStatus.pass)){ + + } + // + + //缁堝涓氬姟 鍙戦�佹妱閫� + if (Constants.equalsInteger(approve.getIsEndCheck(),Constants.ONE)) { + + + + } + + + + + + + + } + public void dealBusinessData(ApproveDTO approveDTO,Approve approve,Visits visits,CarUseBook carUseBook){ if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit) ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java index a7ef81c..fba319f 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java @@ -11,6 +11,7 @@ import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.ApproveMapper; +import com.doumee.dao.business.CarDriverMapper; import com.doumee.dao.business.CarUseBookMapper; import com.doumee.dao.business.CarsMapper; import com.doumee.dao.business.join.ApproveJoinMapper; @@ -67,9 +68,12 @@ @Autowired private ApproveService approveService; + @Autowired + private CarDriverMapper carDriverMapper; + @Override - public Integer create(CarUseBook carUseBook) { + public Integer create(CarUseBook carUseBook) throws Exception { if(Objects.isNull(carUseBook) || Objects.isNull(carUseBook.getCarId()) || Objects.isNull(carUseBook.getStartTime()) @@ -85,31 +89,33 @@ ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } + if(carUseBook.getEndTime().getTime()<=System.currentTimeMillis()){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"閫夋嫨鏃ユ湡寮傚父[缁撴潫鏃堕棿灏忎簬褰撳墠鏃堕棿],璇峰埛鏂伴噸璇�"); + } + if(!(DateUtil.getDateFromString(carUseBook.getPlanUseDate()+":00").getTime()>=carUseBook.getStartTime().getTime() + && DateUtil.getDateFromString(carUseBook.getPlanUseDate() +":00").getTime()<= carUseBook.getEndTime().getTime()) + ){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍑哄彂鏃堕棿閿欒"); + } carUseBook.setStatus(Constants.ZERO); carUseBook.setCreateDate(new Date()); + carUseBook.setIsdeleted(Constants.ZERO); Cars cars = carsMapper.selectById(carUseBook.getCarId()); if(Objects.isNull(cars)||!cars.getType().equals(Constants.ONE)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"杞﹁締淇℃伅寮傚父"); } - //鏌ヨ杞﹁締鎻愪氦鏃堕棿鏄惁瀛樺湪鍐茬獊鐨勯绾﹁褰� - List<CarUseBook> carUseBookList = carUseBookJoinMapper.selectJoinList(CarUseBook.class, - new MPJLambdaWrapper<CarUseBook>() - .selectAll(CarUseBook.class) - .selectAs(Member::getName,CarUseBook::getMemberName) - .selectAs(Member::getPhone,CarUseBook::getMemberMobile) - .leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) - .eq(CarUseBook::getId,carUseBook.getCarId()) - .in(CarUseBook::getStatus,0,1,2) - .and(i->i.and(j->j.lt(CarUseBook::getStartTime,carUseBook.getStartTime()).gt(CarUseBook::getStartTime,carUseBook.getStartTime())) - .or() - .and(j->j.lt(CarUseBook::getEndTime,carUseBook.getEndTime()).gt(CarUseBook::getEndTime,carUseBook.getStartTime())) - .or() - .and(j->j.gt(CarUseBook::getStartTime,carUseBook.getStartTime()).lt(CarUseBook::getEndTime,carUseBook.getEndTime())) - .or() - .and(j->j.lt(CarUseBook::getStartTime,carUseBook.getStartTime()).gt(CarUseBook::getEndTime,carUseBook.getEndTime())) - ) + //鏍规嵁杞﹁締鏌ヨ鍙告満淇℃伅 + CarDriver carDriver = carDriverMapper.selectOne(new QueryWrapper<CarDriver>().lambda() + .eq(CarDriver::getCarId,cars.getId()) + .eq(CarDriver::getIsdeleted,Constants.ZERO) + .eq(CarDriver::getStatus,Constants.ONE) + .last( " limit 1 ") ); - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carUseBookList)){ + if(Objects.nonNull(carDriver)&&Objects.nonNull(carDriver.getMemberId())){ + carUseBook.setDriverId(carDriver.getMemberId()); + } + //鏌ヨ杞﹁締鎻愪氦鏃堕棿鏄惁瀛樺湪鍐茬獊鐨勯绾﹁褰� + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(this.carUseBookList(carUseBook))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪杞﹁締棰勭害鏃堕棿涓庡凡棰勭害鏃堕棿鍐茬獊~"); } carUseBookMapper.insert(carUseBook); @@ -166,10 +172,10 @@ queryWrapper.select("t1.phone",CarUseBook::getMemberPhone); queryWrapper.select("t2.name",CarUseBook::getDriverName); queryWrapper.select("t2.phone",CarUseBook::getDriverPhone); -// queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); + queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) -// .leftJoin("company t4 on t1.company_id=t4.id") + .leftJoin("company t4 on t1.company_id=t4.id") .eq(CarUseBook::getId,id) .last("limit 1" ); CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper); @@ -244,15 +250,7 @@ .eq(pageWrap.getModel().getMemberId() != null, CarUseBook::getMemberId, pageWrap.getModel().getMemberId()) .eq(pageWrap.getModel().getDriverId() != null, CarUseBook::getDriverId, pageWrap.getModel().getDriverId()) .apply(pageWrap.getModel().getCompanyName() != null, "t4.company_name_path like '%"+pageWrap.getModel().getCompanyName()+"%'") - .and(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), - i->i.and(j->j.lt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").gt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"23:59:59")) - .or() - .and(j->j.lt(CarUseBook::getEndTime,pageWrap.getModel().getQueryDate() +"23:59:59").gt(CarUseBook::getEndTime,pageWrap.getModel().getQueryDate() +"00:00:00")) - .or() - .and(j->j.gt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").lt(CarUseBook::getEndTime,pageWrap.getModel().getQueryDate() +"23:59:59")) - .or() - .and(j->j.lt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").gt(CarUseBook::getEndTime,pageWrap.getModel().getQueryDate() +"23:59:59")) - ) + .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryStartTime()) @@ -282,7 +280,7 @@ * @return */ @Override - public List<CarUseBook> carUseBookList(CarUseBook carUseBook){ + public List<CarUseBook> carUseBookList(CarUseBook carUseBook) throws Exception { if(Objects.isNull(carUseBook) || Objects.isNull(carUseBook.getCarId()) || Objects.isNull(carUseBook.getStartTime()) @@ -295,16 +293,15 @@ .selectAs(Member::getName,CarUseBook::getMemberName) .selectAs(Member::getPhone,CarUseBook::getMemberMobile) .leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) - .eq(CarUseBook::getId,carUseBook.getCarId()) + .eq(CarUseBook::getCarId,carUseBook.getCarId()) .in(CarUseBook::getStatus,0,1,2) - .and(i->i.and(j->j.lt(CarUseBook::getStartTime,carUseBook.getStartTime()).gt(CarUseBook::getStartTime,carUseBook.getStartTime())) - .or() - .and(j->j.lt(CarUseBook::getEndTime,carUseBook.getStartTime()).gt(CarUseBook::getEndTime,carUseBook.getStartTime())) - .or() - .and(j->j.gt(CarUseBook::getStartTime,carUseBook.getStartTime()).lt(CarUseBook::getEndTime,carUseBook.getEndTime())) - .or() - .and(j->j.lt(CarUseBook::getStartTime,carUseBook.getStartTime()).gt(CarUseBook::getEndTime,carUseBook.getEndTime())) - ) + .apply(" ( " + + " '"+DateUtil.getPlusTime(carUseBook.getStartTime())+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(carUseBook.getEndTime())+"' " + + " or " + + " ( '"+DateUtil.getPlusTime(carUseBook.getStartTime())+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(carUseBook.getEndTime())+"' ) " + + " or " + + " ( '"+DateUtil.getPlusTime(carUseBook.getStartTime())+"' > t.start_time AND '"+DateUtil.getPlusTime(carUseBook.getEndTime())+"' < t.end_time )" + + " ) " ) ); return carUseBookList; } @@ -329,8 +326,8 @@ ||Objects.isNull(interval.getCode())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閰嶇疆閿欒锛岃鑱旂郴绠$悊鍛�"); } - Date startTime = DateUtil.StringToDate(dateDay + workStart.getCode(),"yyyy-MM-dd HH:mm:ss"); - Date endTime = DateUtil.StringToDate(dateDay + workEnd.getCode(),"yyyy-MM-dd HH:mm:ss"); + Date startTime = DateUtil.StringToDate((dateDay + " " +workStart.getCode()),"yyyy-MM-dd HH:mm:ss"); + Date endTime = DateUtil.StringToDate(dateDay + " " + workEnd.getCode(),"yyyy-MM-dd HH:mm:ss"); Long intervalTime = Long.valueOf(interval.getCode()); LocalDateTime localStartTime = startTime.toInstant() .atZone(ZoneId.systemDefault()) @@ -344,29 +341,32 @@ .eq(CarUseBook::getIsdeleted,Constants.ZERO) .eq(CarUseBook::getCarId,cars) .in(CarUseBook::getStatus,0,1,2) - .and(i->i.like(CarUseBook::getStartTime,dateDay).or().like(CarUseBook::getEndTime,dateDay) + .and(i->i.like(CarUseBook::getStartTime,dateDay) + .or().like(CarUseBook::getEndTime,dateDay) .or().apply(" START_TIME < '"+dateDay+" 00:00:00' and END_TIME > '"+dateDay+" 23:59:59' ")) ); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carUseBookList)){ for (DateIntervalVO dateIntervalVO:dateIntervalVOList) { - if( - carUseBookList.stream().filter( - i-> - ( i.getStartTime().getTime()<DateUtil.stringToDate(dateIntervalVO.getStartTime(),"yyyy-MM-dd HH:mm:ss ").getTime() - && i.getEndTime().getTime() > DateUtil.stringToDate(dateIntervalVO.getStartTime(),"yyyy-MM-dd HH:mm:ss ").getTime()) - || - ( i.getStartTime().getTime()<DateUtil.stringToDate(dateIntervalVO.getEndTime(),"yyyy-MM-dd HH:mm:ss ").getTime() - && i.getEndTime().getTime() > DateUtil.stringToDate(dateIntervalVO.getEndTime(),"yyyy-MM-dd HH:mm:ss ").getTime()) - || - ( DateUtil.stringToDate(dateIntervalVO.getStartTime(),"yyyy-MM-dd HH:mm:ss ").getTime() < i.getStartTime().getTime() - && DateUtil.stringToDate(dateIntervalVO.getStartTime(),"yyyy-MM-dd HH:mm:ss ").getTime() > i.getStartTime().getTime()) - || - ( DateUtil.stringToDate(dateIntervalVO.getStartTime(),"yyyy-MM-dd HH:mm:ss ").getTime() < i.getEndTime().getTime() - && DateUtil.stringToDate(dateIntervalVO.getStartTime(),"yyyy-MM-dd HH:mm:ss ").getTime() > i.getEndTime().getTime()) - - ).collect(Collectors.toList()).size()>Constants.ZERO){ + //鍒ゆ柇鏃堕棿鏄惁澶т簬褰撳墠 + if(DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){ dateIntervalVO.setIsUse(Constants.ONE); - }; + continue; + } + for (CarUseBook i:carUseBookList ) { + if( + (DateUtil.getDateFromString(dateIntervalVO.getStartTime()).getTime() <= i.getStartTime().getTime() && + i.getStartTime().getTime() < DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()) + || + (DateUtil.getDateFromString(dateIntervalVO.getStartTime()).getTime() < i.getEndTime().getTime() && + i.getEndTime().getTime() <= DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()) + || + (DateUtil.getDateFromString(dateIntervalVO.getStartTime()).getTime() >= i.getStartTime().getTime() && + DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime() <= i.getEndTime().getTime()) + ){ + dateIntervalVO.setIsUse(Constants.ONE); + break; + } + } } } return dateIntervalVOList; @@ -394,6 +394,7 @@ dateIntervalVO.setStartTime(startTime); dateIntervalVO.setEndTime(endTime); dateIntervalVO.setIsUse(Constants.ZERO); + dateIntervalVOList.add(dateIntervalVO); } return dateIntervalVOList; } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index 9867701..7f6b533 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -1086,6 +1086,9 @@ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.selectAll(Member.class) .selectAs(Company::getName,Member::getCompanyName) ; + if(StringUtils.isNotBlank(member.getName())){ + queryWrapper.like(Member::getName,member.getName()); + } if(null != member.getType()) { queryWrapper.eq(Member::getType,member.getType()); -- Gitblit v1.9.3