fix: count updates and small ui adjustments

This commit is contained in:
Rafael Taranto 2024-02-13 21:44:49 +00:00
parent eaa2b69f18
commit 24d0973f12
3 changed files with 95 additions and 66 deletions

View file

@ -182,7 +182,7 @@ function setCassetteBills (rec) {
return getMachine(rec.deviceId)
.then(machine => {
const oldCashboxCount = machine?.cashUnits?.cashbox
if (_.isNil(oldCashboxCount) || cashbox === oldCashboxCount) {
if (_.isNil(oldCashboxCount) || cashbox.toString() === oldCashboxCount.toString()) {
const sql = 'UPDATE devices SET cassette1=$1, cassette2=$2, cassette3=$3, cassette4=$4, recycler1=$5, recycler2=$6, recycler3=$7, recycler4=$8, recycler5=$9, recycler6=$10 WHERE device_id=$11'
return db.none(sql, [cassette1, cassette2, cassette3, cassette4, recycler1, recycler2, recycler3, recycler4, recycler5, recycler6, rec.deviceId])
}

View file

@ -17,67 +17,90 @@ const widthsByNumberOfUnits = {
7: { machine: 130, cassette: 125 }
}
const DenominationsSchema = Yup.object().shape({
cassette1: Yup.number()
.label('Cassette 1')
.min(1)
.nullable()
.max(CURRENCY_MAX),
cassette2: Yup.number()
.label('Cassette 2')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
cassette3: Yup.number()
.label('Cassette 3')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
cassette4: Yup.number()
.label('Cassette 4')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler1: Yup.number()
.label('Recycler 1')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler2: Yup.number()
.label('Recycler 2')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler3: Yup.number()
.label('Recycler 3')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler4: Yup.number()
.label('Recycler 4')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler5: Yup.number()
.label('Recycler 5')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler6: Yup.number()
.label('Recycler 6')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber)
})
const denominationKeys = [
'cassette1',
'cassette2',
'cassette3',
'cassette4',
'recycler1',
'recycler2',
'recycler3',
'recycler4',
'recycler5',
'recycler6'
]
const DenominationsSchema = Yup.object()
.shape({
cassette1: Yup.number()
.label('Cassette 1')
.min(1)
.nullable()
.max(CURRENCY_MAX),
cassette2: Yup.number()
.label('Cassette 2')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
cassette3: Yup.number()
.label('Cassette 3')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
cassette4: Yup.number()
.label('Cassette 4')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler1: Yup.number()
.label('Recycler 1')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler2: Yup.number()
.label('Recycler 2')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler3: Yup.number()
.label('Recycler 3')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler4: Yup.number()
.label('Recycler 4')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler5: Yup.number()
.label('Recycler 5')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber),
recycler6: Yup.number()
.label('Recycler 6')
.min(1)
.max(CURRENCY_MAX)
.nullable()
.transform(transformNumber)
})
.test((values, context) =>
R.any(key => !R.isNil(values[key]), denominationKeys)
? true
: context.createError({
path: '',
message:
'The recyclers or at least one of the cassettes must have a value'
})
)
const getElements = (machines, locale = {}, classes) => {
const fiatCurrency = R.prop('fiatCurrency')(locale)
@ -157,8 +180,10 @@ const getElements = (machines, locale = {}, classes) => {
doubleHeader: 'Denominations of Cassettes & Recyclers',
isHidden: machine =>
it >
machines.find(({ deviceId }) => deviceId === machine.id)
.numberOfRecyclers
Math.ceil(
machines.find(({ deviceId }) => deviceId === machine.id)
.numberOfRecyclers / 2
)
})
return R.add(1, it)
},

View file

@ -159,8 +159,12 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
R.merge(makeCassettesInitialValues(), makeRecyclersInitialValues())
const steps = R.pipe(
R.concat(makeRecyclerSteps(numberOfRecyclers)),
R.concat(makeCassetteSteps(numberOfCassettes)),
R.concat(
makeRecyclerSteps(
canManuallyLoadRecyclers(machine) ? numberOfRecyclers : 0
)
),
R.concat(makeCassetteSteps(isCashOutDisabled ? 0 : numberOfCassettes)),
R.concat([
{
type: 'cashbox',