In order to read several inputs and do what you want you need to stop using delay() because while the delay is occurring then nothing else will happen. Switch to using millis() to record the moment at which an input changed state then compare the saved value with millis() each time through loop() until the required period has elapsed and you take the required action.
The BlinkWithoutDelay example in the IDE will show you the principle. This is the basic idea
start of loop
if input is HIGH
set start equal to millis()
if millis() minus start is greater than period
do actions for end of waiting period
end of loop
Get that working with one input/output and then move on to more inputs/outputs using arrays to hold values so that you can reduce the code.
if (tstatValue == HIGH && tstatState == HIGH) //do nothing if input is still HIGH
Why include code that does nothing ?