Mostly. And worked on the lists yesterday. The one thing I am confused on is how to record multiple tasks per inspection per piece of equipment. Mental block I guess.
That's where I'm saying you can do one of two things...
1) you code the checks to be 1, 2, 3, etc., to represent Weekly, Monthly, etc. Each inspection performed on a given piece of equipment counts (and is recorded) as one of those numbers. A higher number presupposes that the lower checks are also done. So if you want to check when the last 1 (Weekly) was performed, but last week was a 2, well... that counts. But last week's 2 doesn't count toward a 3. It would be a matter of behavior for your users:
If you are performing a monthly check, you must validate the weekly items as well.
Also, that could be implicit in the profile of the inspection... that everything that is listed for a given type of equipment as a "Weekly" check is included in the "Monthly" check... so when the user pulls up the equipment to see what s/he has to do for a Monthly check, the app is presenting the Weekly checklist as well as the things are uniquely Monthly. Annual would pull all of that and the checks that are uniquely annual.
2) The other option is to quietly create a record in the same process where you are recording the validated check. So the user would say that s/he has completed the Monthly check for the given piece of equipment. You would use Patch() the create the base record they are explicitly reporting, then you would immediately Patch() for the Weekly check as well, using the same info. Both statements would utilize the default record from your list (your datasource), you would just feed a different Inspection Type to the change record.
My personal preference would be #1 because if you have to do housekeeping to correct a user error there is exactly and always 1 record you have to delete/change. Using option #2, you have to take careful filters to make sure you are getting only the records you really want to delete/change.
So what you are saying since I have an InspectionProfileID that will be a unique number that represents essentially all of the tasks and their time type then whatever that ID is you count them up.
Above is my Inspection Profile list. So the ID is just a number in sequence. So you can take that number and just count them up from 1 - 1000. So, I would do all the daily tasks that would be performed. Then weekly, etc. When the log is done then it counts the number of each tasks and then based on how many tasks there are per that location / pieces of equipment then you can get a record of how many items were done.
My only issue is that my locations list isn't actinng right. I was trying to use the location field, but, it want's to add more fields to it. So it looks like it says addresses everywhere, but, if you edit it it does it correctly. When I uncheck the different linked fields all of it goes away instead of the items I want to go away.
Here is what I was thinking...
Let's start with your Locations list as is... so DiningLocationsID of 1 represents the Riegel Road location. Let's also start with your EquipmentType list, where you have "hot side", "small unit refrigeration", and "special refrigeration".
Now, at location 1, let's pretend you have 3 pieces of equipment.
============================================================================================== EquipmentID EquipmentTypeID DiningLocationsID Brand Model Notes ============================================================================================== 1 1 1 Hobart Burninator 2 2 1 Hobart Coldifier 2.0 3 2 1 Hobart Coldifier 2.0
So at that location you have a hot side and 2 small refrigeration units. What needs to be done to maintain them? That's where the InspectionProfile comes in.
============================================================================================== InspectionProfileID EquipmentTypeID TimeType TasksToPerform ============================================================================================== 1 1 1 Burninate the countryside, terrorize the villagers, also, check the wires 2 1 2 Sing Trogdor a lullaby, change filter 3 1 3 Collect tributes, other cool stuff 4 2 1 Check plug 5 2 2 Bang on the side a bit 6 2 3 Maybe stick your face in the freezer
Now, for any given Inspection cycle, you can track Inspection per piece of Equipment, and test each piece of Equipment individually for what kind of Inspection is required (Weekly, Monthly, etc.)
For instance, a Weekly check at this location would require:
The Tech would first select the Location based on those nearby. The app would inform him/her what Inspection cycle each piece of Equipment at the Location was due for (based on whatever logic you create). In this case we're assuming they are all caught up and simply require their Weekly check.
The app reads in all of the requirements from the InspectionProfiles for all of the Equipment listed for that location, and presents the results in a pre-filled Gallery (one entry per piece of equipment, but each line appropriate to the level of inspection required). Each entry in the Gallery would have a button that defaulted an "All Good" entry into the log, or an alternate button that would let the Tech enter service Notes as necessary. The record created in the InspectionLog for this piece of Equipment would bear the TimeType value from the InspectionProfile, so that each of today's entries would be marked "1" (or, Weekly). The next time a Technician visited this Location, the app could see the Equipment logged with a Weekly check on today's date, and the logic would determine if a check was necessary.
...if there is no InspectionLog entry where the TimeType is >= 4 (Annual) and the date of the entry is >= 360 days ago, it is due for an Annual check, else...
...if there is no InspectionLog entry where the TimeType is >= 3 (Semi-annual) and the date of the entry is >= 175 days ago, it is due for a Semi-Annual check, else...
...if there is no InspectionLog entry where the TimeType is >= 2 (Monthly) and the date of the entry is >= the first of this month, it is due for at least the Monthly check, else...
...if there is no InspectionLog entry where the TimeType is >= 1 (Weekly) and the date of the entry is >= the Monday of this week, it is due for at least the Weekly check, else...
...no inspection is due at this time.
Realize that the only reason to abstract an EquipmentType level to the data is if the inspections for a range of similar pieces of equipment would be largely the same. If a Brand-X small unit refrigerator has a set of inspection requirements quite different from Brand-Y small unit refrigerators, and if that hold true for most of your data, it might make sense to ditch the EquipmentType list and just link the InspectionProfile directly to your EquipmentID. (If the difference is limited to a few types of Equipment, but on the whole the EquipmentType DOES drive the Inspection items, then you might still use it, but just create a second "Small Unit Refrigerator" equipment type and create its own InspectionProfiles.
As for your last line, I'm not sure what trouble you're describing... what do you mean "it looks like it says addresses everywhere, but, if you edit it it does it correctly"? And the part about unchecking the linked fields. If you're still having trouble with this part, help me understand what you're seeing.
This is the dining locations issue I was talking about.
This is the information that I have for the locations. But, the way it looks like when you have the list for each of the locations it looks like.
Anyway the way I have it created I think it wrong since it shows the address multiple times instead of what it should be in the first image.
The next thing I have to do is upload an excel sheet into the equipment list instead of having to type 400 to 500 pieces of equipment into the Equipment list. Then I can assign them to the Inspection profiles and input all of the tasks per profile so that we can assign them. After all of this then have to bring one of the lists over to Powerapps. Ultimately I am thinking of two apps. One app for the technicians and one for admin so that we can have a dashboard to show which pm tasks have been completed and ones that need to be assigned / done. And ultimately which items haven't been done.
Thanks for all of the great help.
Yeah, look at your SharePoint list and that View to see if you might have something setup incorrectly. Ultimately Excel might be easier to work in, or even CDS if you have the license for it... but you can do it in SharePoint.
Let me know if you need help sa you set this up.
Thanks. I may redo the locations list. I was future proofing a bit to add the location (cords) field, but, may have to rethink how to do the list so that it shows up correctly. When I was telling my supervisor today about the progress he asks, "So why do we have the food service equipment types?" I really couldn't give him a good enough answer just to say we need a way to break things down. His point was why not just list all of the equipment based on location? To simplify things. His case in point was ceilings and hoods for stoves. We have PM's for it, but, we have outside contractors to do it. Anyway, so now based on that feedback I kind of have to think why we have that in there and just may remove it and quite honestly just do it based on location.
It is strange. We have a site license for Office 365, but, it keeps telling me that I will have to upgrade and pay for it. So, I don't know if it's an IT thing where they only paid for the vanilla version (I think we are on premium so it should be ok) so that is why I didn't think of using CDS. Excel is fine, but, if say I most departments I would like a solution where it can still keep going and not dependent on someone's login and tied to a Once Drive.
It's funny I haven't messed with Sharepoint much since the University hasn't used it as a whole to it's fullest potential. But, here is what it looks like now. It was the view settings. I clicked on the individual fields I wanted to show.
The reason to have the EquipmentTypes is a matter of normalizing the data. Like I said, if you don't have them, then each piece of equipment will require its own inspection profile... which could get to be a lot of set-up work. Better if you can quickly attach a pre-configured Inspection series to the Equipment item. You know your data better than I do, though, so you'd have to make that determination.
Continue your learning in our online communities.
Stay Up-to-Date by following PowerApps on Twitter
Let's thank our top community contributors
Features releasing from October 2019 through March 2020
Coming to a city near you
Fill out a quick form to claim your user group badge now!
Connect, share, and learn with your peers year-round
Features releasing from April 2019 through September 2019!