| | |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.Date; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 车辆_用车申请信息表Service实现 |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void jdyPushCarUseBook(String dataInfo){ |
| | | JSONObject dataInfoJSON = JSONObject.parseObject(dataInfo); |
| | | if(dataInfoJSON.isEmpty()){ |
| | | return; |
| | | } |
| | | JSONObject dataJSON = dataInfoJSON.getJSONObject("data"); |
| | | String id = dataJSON.getString("_id"); |
| | | if(StringUtils.isEmpty(id)){ |
| | | String op = dataInfoJSON.getString("op"); |
| | | //删除:data_remove 新增:data_add 修改:data_update |
| | | if(StringUtils.isEmpty(op)){ |
| | | return; |
| | | } |
| | | |
| | | JSONObject dataJSON = dataInfoJSON.getJSONObject("data"); |
| | | String no = dataJSON.getString("no"); |
| | | if(StringUtils.isEmpty(no)){ |
| | | return; |
| | | } |
| | | if(op.equals("data_remove")){ |
| | | carUseBookJoinMapper.update(new UpdateWrapper<CarUseBook>().lambda() |
| | | .set(CarUseBook::getEditDate,DateUtil.getCurrDateTime()) |
| | | .set(CarUseBook::getIsdeleted,Constants.ONE).eq(CarUseBook::getJdyId,no)); |
| | | return; |
| | | } |
| | | Integer status = dataJSON.getInteger("flowState"); |
| | | if(Objects.isNull(status)||!(Constants.equalsInteger(status,Constants.ONE)||Constants.equalsInteger(status,Constants.TWO))){ |
| | | return; |
| | | } |
| | | |
| | | String carCode = dataJSON.getString("car_no"); |
| | | String startDate = dataJSON.getString("start_date"); |
| | | String endDate = dataJSON.getString("end_date"); |
| | | Integer status = dataJSON.getInteger("flowState"); |
| | | String typeInfo = dataJSON.getString("scope"); |
| | | String reason = dataJSON.getString("reason"); |
| | | String addr = dataJSON.getString("addr"); |
| | | JSONArray usersArray = dataJSON.getJSONArray("users"); |
| | | JSONObject driverJSON = dataJSON.getJSONObject("driver"); |
| | | if(!(Constants.equalsInteger(status,Constants.ONE)||Constants.equalsInteger(status,Constants.TWO))){ |
| | | |
| | | } |
| | | |
| | | CarUseBook carUseBook = carUseBookJoinMapper.selectOne(new QueryWrapper<CarUseBook>() |
| | | .lambda().eq(CarUseBook::getJdyId,id).last("limit 1")); |
| | | .lambda().eq(CarUseBook::getJdyId,no).last("limit 1")); |
| | | if(Objects.isNull(carUseBook)){ |
| | | carUseBook = new CarUseBook(); |
| | | carUseBook.setCreateDate(new Date()); |
| | | carUseBook.setCarCode(carCode); |
| | | carUseBook.setCarId(null); |
| | | carUseBook.setStartTime(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",DateUtil.getDateStrOfUTCStr(startDate))); |
| | | carUseBook.setEndTime(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",DateUtil.getDateStrOfUTCStr(endDate))); |
| | | |
| | | |
| | | carUseBook.setEditDate(new Date()); |
| | | carUseBook.setJdyId(no); |
| | | }else{ |
| | | |
| | | carUseBook.setEditDate(new Date()); |
| | | } |
| | | carUseBook.setIsdeleted(Constants.equalsInteger(status,Constants.ONE)?Constants.ZERO:Constants.ONE); |
| | | carUseBook.setCarCode(StringUtils.isBlank(carCode)?null:carCode); |
| | | if(StringUtils.isNotBlank(carCode)){ |
| | | Cars cars = carsMapper.selectOne(new QueryWrapper<Cars>().lambda() |
| | | .eq(Cars::getIsdeleted,Constants.ZERO) |
| | | .eq(Cars::getCode,carCode).last("limit 1")); |
| | | carUseBook.setCarId(Objects.nonNull(cars)?cars.getId():null); |
| | | } |
| | | carUseBook.setStartTime(StringUtils.isBlank(startDate)?null:DateUtil.getISO8601DateByStr(startDate)); |
| | | carUseBook.setEndTime(StringUtils.isBlank(endDate)?null:DateUtil.getISO8601DateByStr(endDate)); |
| | | carUseBook.setTypeInfo(StringUtils.isBlank(typeInfo)?null:typeInfo); |
| | | carUseBook.setContent(StringUtils.isBlank(typeInfo)?null:reason); |
| | | carUseBook.setAddr(StringUtils.isBlank(typeInfo)?null:addr); |
| | | carUseBook.setStatus(Constants.TWO); |
| | | JSONObject driverJSON = dataJSON.getJSONObject("driver"); |
| | | if(!driverJSON.isEmpty()){ |
| | | String driverName = driverJSON.getString("name"); |
| | | String driverUserName = driverJSON.getString("username"); |
| | | if(StringUtils.isNotBlank(driverUserName)){ |
| | | Member driverMember = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getDdId,driverUserName).last("limit 1 ")); |
| | | if(Objects.nonNull(driverMember)){ |
| | | carUseBook.setDriverId(driverMember.getId()); |
| | | } |
| | | } |
| | | } |
| | | JSONObject createJSON = dataJSON.getJSONObject("creator"); |
| | | if(!driverJSON.isEmpty()){ |
| | | String createName = createJSON.getString("name"); |
| | | String createUserName = createJSON.getString("username"); |
| | | if(StringUtils.isNotBlank(createUserName)){ |
| | | Member createMember = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getDdId,createUserName).last("limit 1 ")); |
| | | if(Objects.nonNull(createMember)){ |
| | | carUseBook.setMemberId(createMember.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | JSONArray usersArray = dataJSON.getJSONArray("users"); |
| | | if(!usersArray.isEmpty()){ |
| | | String names = ""; |
| | | List<String> userDDIdList = new ArrayList<>(); |
| | | for (int i = 0; i < usersArray.size(); i++) { |
| | | JSONObject userJSON = usersArray.getJSONObject(i); |
| | | String name = createJSON.getString("name"); |
| | | String userName = createJSON.getString("username"); |
| | | userDDIdList.add(userName); |
| | | names = names + |
| | | (StringUtils.isNotBlank(names)?",":"") |
| | | + name; |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(userDDIdList)){ |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).in(Member::getDdId,userDDIdList)); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)){ |
| | | names = String.join(",",memberList.stream().map(i->i.getName()).collect(Collectors.toList())); |
| | | carUseBook.setMemberIds(String.join(",",memberList.stream().map(i->i.getId().toString()).collect(Collectors.toList()))); |
| | | } |
| | | } |
| | | carUseBook.setMemberNames(names); |
| | | } |
| | | carUseBookMapper.insertOrUpdate(carUseBook); |
| | | } |
| | | |
| | | |