Index: grails-app/controllers/com/lemans/ds/fitment/PartFitmentController.groovy =================================================================== diff -u -r9594640eeaa8d1997633490f44c9f78bdb96bfb5 -rf0bdc73afa878b6b0fa96816b130cff559d2cb33 --- grails-app/controllers/com/lemans/ds/fitment/PartFitmentController.groovy (.../PartFitmentController.groovy) (revision 9594640eeaa8d1997633490f44c9f78bdb96bfb5) +++ grails-app/controllers/com/lemans/ds/fitment/PartFitmentController.groovy (.../PartFitmentController.groovy) (revision f0bdc73afa878b6b0fa96816b130cff559d2cb33) @@ -53,7 +53,7 @@ partFitmentManagerService.deletePartFitmentPositions(values.partNumber, now, auditUserName, values?.partFitmentIds, values?.positions) render(toJson([results: [:]])) } else { - if (values.partFitmentIds) { + if (values.partFitmentIds || values.modelYearIds) { data = partFitmentManagerService.deleteMultipleFitments(values, auditUserName) data.errors ? renderErrors(data.errors) : render(toJson([results: [:]])) } Index: grails-app/services/com/lemans/ds/fitment/PartFitmentManagerService.groovy =================================================================== diff -u -r7906c7d42c8ab60e68a52c367847d315fca0497c -rf0bdc73afa878b6b0fa96816b130cff559d2cb33 --- grails-app/services/com/lemans/ds/fitment/PartFitmentManagerService.groovy (.../PartFitmentManagerService.groovy) (revision 7906c7d42c8ab60e68a52c367847d315fca0497c) +++ grails-app/services/com/lemans/ds/fitment/PartFitmentManagerService.groovy (.../PartFitmentManagerService.groovy) (revision f0bdc73afa878b6b0fa96816b130cff559d2cb33) @@ -105,7 +105,11 @@ * @return Map containing errors */ Map deleteMultipleFitments(Map values, String username) { - List partFitment = partFitmentService.findFitmentsByPartNumberAndPartFitmentIds(values.partNumber, values.partFitmentIds) + List partFitment + if(!values.partFitmentIds && values.modelYearIds) { + values.partFitmentIds = partFitmentService.findFitmentsByPartNumberAndModelYearIds(values.partNumber, values.modelYearIds)*.partFitmentId + } + partFitment = partFitmentService.findFitmentsByPartNumberAndPartFitmentIds(values.partNumber, values.partFitmentIds) deleteFitments(values.partNumber, partFitment ?: [], username) } Index: grails-app/services/com/lemans/ds/fitment/PartFitmentService.groovy =================================================================== diff -u -r4f25033ebbfa12dd62c76adb1c6a262080c42a86 -rf0bdc73afa878b6b0fa96816b130cff559d2cb33 --- grails-app/services/com/lemans/ds/fitment/PartFitmentService.groovy (.../PartFitmentService.groovy) (revision 4f25033ebbfa12dd62c76adb1c6a262080c42a86) +++ grails-app/services/com/lemans/ds/fitment/PartFitmentService.groovy (.../PartFitmentService.groovy) (revision f0bdc73afa878b6b0fa96816b130cff559d2cb33) @@ -66,6 +66,7 @@ * @return List of partFitments */ List findFitmentsByPartNumberAndPartFitmentIds(String partNumber, List partFitmentIds) { + if(!partFitmentIds) return [] String query = """SELECT * FROM dbo.PartFitment WITH(NOLOCK) WHERE partNumber = ? AND partFitmentId IN (${partFitmentIds.join(', ')}) AND dateDeleted IS NULL""" sql().rows(query, [partNumber])