Changes

Missing Local ID PGSQL

14,465 bytes added, 01:14, 12 November 2016
Created page with "{{Under construction | still MySQL queries}} {{TOC right}} {{Note | All ID are important to be filled in. ''Form ID'' is important for the DEF's Reconcilation tab and I recomm..."
{{Under construction | still MySQL queries}}
{{TOC right}}
{{Note | All ID are important to be filled in. ''Form ID'' is important for the DEF's Reconcilation tab and I recommend that to update ''Form ID'' after you have have checked the items' ID.
There is a MySQL version of this page '''[[Missing Local ID | too]]'''.}}

==Missing Local ID items items ==__NOEDITSECTION__
[[Image:Missing local id.png|475px|center]]
<div align="center">
'' How it should NOT look like''
</div>

Start with checking the items and the infoversions. If they are missing a local ID then I strongly recommend to set one which will be very helpful if you need to populate ''Form ID''.

=== Missing ID - Accident ===__NOEDITSECTION__
If you get output here you need to take action. From the result set you can figure out a solution depending on if it is the item, the infoversion or '''both''' that are missing the Local ID.

<pre>
SELECT
accident.accident_localid AS Acc_ID,
accidentinfoversion.accident_localid
FROM
accident
Inner Join accidentinfoversion ON accident.accident_guid = accidentinfoversion.accident_guid
WHERE
(accident.accident_localid IS NULL OR
accidentinfoversion.accident_localid IS NULL OR
length(trim(accident.accident_localid)) = 0 OR
length(trim(accidentinfoversion.accident_localid)) = 0) AND
accidentinfoversion.link_only = '0'
ORDER BY
accident.accident_localid ASC
</pre>

=== Missing ID - Hazard ===__NOEDITSECTION__
If you get output here you need to take action. From the result set you can figure out a solution depending on if it is the item, the infoversion or '''both''' that are missing the Local ID.

<pre>
SELECT
hazard.hazard_localid AS Haz_ID,
hazardinfoversion.hazard_localid
FROM
hazardinfoversion
Inner Join hazard ON hazardinfoversion.hazard_guid = hazard.hazard_guid
WHERE
hazardinfoversion.link_only = '0' AND
(hazardinfoversion.hazard_localid IS NULL OR
hazard.hazard_localid IS NULL OR
length(trim(hazardinfoversion.hazard_localid))= 0 OR
length(trim(hazard.hazard_localid)) = 0 )
ORDER BY
hazard.hazard_localid ASC
</pre>

=== Missing ID - Hazard Reduction ===__NOEDITSECTION__
If you get output here you need to take action. From the result set you can figure out a solution depending on if it is the item, the infoversion or '''both''' that are missing the Local ID.

<pre>
SELECT
hazreduc.hazreduc_localid AS HR_ID,
hazreducinfoversion.hazreduc_localid
FROM
hazreducinfoversion
Inner Join hazreduc ON hazreducinfoversion.hazreduc_guid = hazreduc.hazreduc_guid
WHERE
(hazreducinfoversion.hazreduc_localid IS NULL OR
hazreduc.hazreduc_localid IS NULL OR
length(trim(hazreducinfoversion.hazreduc_localid)) = 0 OR
length(trim(hazreduc.hazreduc_localid)) = 0 ) AND
hazreducinfoversion.link_only = '0'
ORDER BY
hazreduc.hazreduc_localid ASC
</pre>

=== Missing ID - Location ===__NOEDITSECTION__
If you get output here you need to take action. From the result set you can figure out a solution depending on if it is the item, the infoversion or '''both''' that are missing the Local ID.

<pre>
SELECT
location.location_localid AS Loc_ID,
locationinfoversion.location_localid
FROM
locationinfoversion
Inner Join location ON locationinfoversion.location_guid = location.location_guid
WHERE
(locationinfoversion.location_localid IS NULL OR
location.location_localid IS NULL OR
length(trim(locationinfoversion.location_localid)) = 0 OR
length(trim(location.location_localid)) = 0) AND
locationinfoversion.link_only = '0'
ORDER BY
location.location_localid ASC
</pre>

=== Missing ID - MRE ===__NOEDITSECTION__
If you get output here you need to take action. From the result set you can figure out a solution depending on if it is the item, the infoversion or '''both''' that are missing the Local ID.

<pre>
SELECT
mre.mre_localid AS MRE_ID,
mreinfoversion.mre_localid
FROM
mreinfoversion
Inner Join mre ON mreinfoversion.mre_guid = mre.mre_guid
WHERE
(mreinfoversion.mre_localid IS NULL OR
mre.mre_localid IS NULL OR
length(trim(mreinfoversion.mre_localid)) = 0 OR
length(trim(mre.mre_localid)) = 0) AND
mreinfoversion.link_only = '0'
ORDER BY
mre.mre_localid ASC
</pre>

=== Missing ID - QM ===__NOEDITSECTION__
If you get output here you need to take action. From the result set you can figure out a solution depending on if it is the item, the infoversion or '''both''' that are missing the Local ID.

<pre>
SELECT
qa.qa_localid AS QM_ID,
qainfoversion.qa_localid
FROM
qainfoversion
Inner Join qa ON qainfoversion.qa_guid = qa.qa_guid
WHERE
(qainfoversion.qa_localid IS NULL OR
qa.qa_localid IS NULL OR
length(trim(qainfoversion.qa_localid)) = 0 OR
length(trim(qa.qa_localid))= 0) AND
qainfoversion.link_only = '0'
ORDER BY
qa.qa_localid ASC
</pre>

=== Missing ID - Victim ===__NOEDITSECTION__
If you get output here you need to take action. From the result set you can figure out a solution depending on if it is the item, the infoversion or '''both''' that are missing the Local ID.

<pre>
SELECT
victim.victim_localid AS Vic_ID,
victiminfoversion.victim_localid
FROM
victiminfoversion
Inner Join victim ON victiminfoversion.victim_guid = victim.victim_guid
WHERE
(victiminfoversion.victim_localid IS NULL OR
victim.victim_localid IS NULL OR
length(trim(victiminfoversion.victim_localid))= 0 OR
length(trim(victim.victim_localid))= 0) AND
victiminfoversion.link_only = '0'
ORDER BY
victim.victim_localid ASC
</pre>

=== Missing Local ID items - Example update query ===__NOEDITSECTION__
<pre>
update hazardinfoversion
Inner Join hazard ON hazardinfoversion.hazard_guid = hazard.hazard_guid
SET
hazardinfoversion.hazard_localid = hazard.hazard_localid
WHERE
hazardinfoversion.link_only = '0' AND
hazardinfoversion.hazard_localid IS NULL and
hazard.hazard_localid IS NOT NULL
</pre>

== Missing Local ID fieldreport ==__NOEDITSECTION__
[[Image:Missing local id2.png|900px|center]]
<div align="center">
'' How it should NOT look like''
</div>

If you get output here you '''NEED''' to take action. The easiest solution to populate the ''Form ID'' for DEF is to use the local ID from the infoversion which you have now populated with updating the ones that were missing with the queries above.

<pre>
SELECT
fieldreport.fieldreport_localid,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
imsmaenum.enumvalue,
fieldreportdesc.fieldreportname
FROM
fieldreport
Inner Join imsmaenum ON fieldreport.workbenchstatusenum_guid = imsmaenum.imsmaenum_guid
Inner Join fieldreportdesc ON fieldreport.fieldreportdesc_guid = fieldreportdesc.fieldreportdesc_guid
WHERE
fieldreport.fieldreport_localid IS NULL or length(trim(fieldreport.fieldreport_localid)) = 0
ORDER BY
imsmaenum.enumvalue ASC,
fieldreportdesc.fieldreportname ASC
</pre>

If you have any output here you need to take action. The queries below help you to identify for which item(s) the rows in the table ''fieldreport'' need to be updated and if you have any data that you could use.

=== Missing ID fieldreport - Accident ===__NOEDITSECTION__
<pre>
SELECT
fieldreport.fieldreport_localid,
imsmaenum.enumvalue,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
accidentinfoversion.accident_localid
FROM
fieldreport
Inner Join accidentinfoversion ON fieldreport.fieldreport_guid = accidentinfoversion.fieldreport_guid
Inner Join imsmaenum ON fieldreport.workbenchstatusenum_guid = imsmaenum.imsmaenum_guid
WHERE
(fieldreport.fieldreport_localid IS NULL or length(trim(fieldreport.fieldreport_localid)) = 0 )
AND
accidentinfoversion.link_only = '0'
</pre>

=== Missing ID fieldreport - Hazard ===__NOEDITSECTION__
<pre>
SELECT
fieldreport.fieldreport_localid,
imsmaenum.enumvalue,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
hazardinfoversion.hazard_localid
FROM
fieldreport
Inner Join hazardinfoversion ON fieldreport.fieldreport_guid = hazardinfoversion.fieldreport_guid
Inner Join imsmaenum ON fieldreport.workbenchstatusenum_guid = imsmaenum.imsmaenum_guid
WHERE
(fieldreport.fieldreport_localid IS NULL OR length(trim(fieldreport.fieldreport_localid)) = 0)
AND
hazardinfoversion.link_only = '0'
</pre>

=== Missing ID fieldreport - Hazard Reduction ===__NOEDITSECTION__
<pre>
SELECT
fieldreport.fieldreport_localid,
imsmaenum.enumvalue,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
hazreducinfoversion.hazreduc_localid
FROM
fieldreport
Inner Join hazreducinfoversion ON hazreducinfoversion.fieldreport_guid = fieldreport.fieldreport_guid
Inner Join imsmaenum ON imsmaenum.imsmaenum_guid = fieldreport.workbenchstatusenum_guid
WHERE
(fieldreport.fieldreport_localid IS NULL or length(trim(fieldreport.fieldreport_localid)) = 0) AND
hazreducinfoversion.link_only = '0' AND
hazreducinfoversion.hazreduc_localid IS NOT NULL
</pre>

=== Missing ID fieldreport - Location ===__NOEDITSECTION__
<pre>
SELECT
fieldreport.fieldreport_localid,
imsmaenum.enumvalue,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
locationinfoversion.location_localid
FROM
fieldreport
Inner Join locationinfoversion ON locationinfoversion.fieldreport_guid = fieldreport.fieldreport_guid
Inner Join imsmaenum ON fieldreport.workbenchstatusenum_guid = imsmaenum.imsmaenum_guid
WHERE
(fieldreport.fieldreport_localid IS NULL or length(trim(fieldreport.fieldreport_localid)) = 0 ) AND
locationinfoversion.link_only = '0'
</pre>

=== Missing ID fieldreport - MRE ===__NOEDITSECTION__
<pre>
SELECT
fieldreport.fieldreport_localid,
imsmaenum.enumvalue,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
mreinfoversion.mre_localid
FROM
fieldreport
Inner Join mreinfoversion ON mreinfoversion.fieldreport_guid = fieldreport.fieldreport_guid
Inner Join imsmaenum ON imsmaenum.imsmaenum_guid = fieldreport.workbenchstatusenum_guid
WHERE
( fieldreport.fieldreport_localid is null or length(trim(fieldreport.fieldreport_localid)) = 0) AND
mreinfoversion.link_only = '0'
</pre>

=== Missing ID fieldreport - QM ===__NOEDITSECTION__
<pre>
SELECT
fieldreport.fieldreport_localid,
imsmaenum.enumvalue,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
qainfoversion.qa_localid
FROM
fieldreport
Inner Join qainfoversion ON qainfoversion.fieldreport_guid = fieldreport.fieldreport_guid
Inner Join imsmaenum ON imsmaenum.imsmaenum_guid = fieldreport.workbenchstatusenum_guid
WHERE
(fieldreport.fieldreport_localid IS NULL or length(trim(fieldreport.fieldreport_localid)) = 0) AND
qainfoversion.link_only = '0'
</pre>

=== Missing ID fieldreport - Victim ===__NOEDITSECTION__
<pre>
SELECT
fieldreport.fieldreport_localid,
imsmaenum.enumvalue,
fieldreport.dateofreport AS `Date of Information`,
fieldreport.reportreceiveddate AS `Data Entry Date`,
fieldreport.reportcompleteddate AS `Submitted Date`,
fieldreport.reportverifieddate AS `Approved Date`,
fieldreport.dataenterer AS `Data enterer`,
fieldreport.verifiedby AS `Approved by`,
victiminfoversion.victim_localid
FROM
fieldreport
Inner Join victiminfoversion ON fieldreport.fieldreport_guid = victiminfoversion.fieldreport_guid
Inner Join imsmaenum ON fieldreport.workbenchstatusenum_guid = imsmaenum.imsmaenum_guid
WHERE
(fieldreport.fieldreport_localid IS NULL or length(trim(fieldreport.fieldreport_localid)) = 0) AND
victiminfoversion.link_only = '0'
</pre>

=== Missing ID fieldreport - Example update query ===__NOEDITSECTION__
[[Image:Missing local id3.png|875px|center]]

<pre>
update fieldreport
Inner Join hazardinfoversion ON hazardinfoversion.fieldreport_guid = fieldreport.fieldreport_guid
SET
fieldreport.fieldreport_localid = concat('FR-', trim(hazardinfoversion.hazard_localid))
WHERE
(fieldreport.fieldreport_localid is null or length(trim(fieldreport.fieldreport_localid)) = 0) and
hazardinfoversion.link_only = '0' AND
hazardinfoversion.hazard_localid IS NOT NULL
</pre>

== Missing Local ID Auxiliary data and Task==__NOEDITSECTION__
=== Country structure===__NOEDITSECTION__
In 5.x the Country Structure ID was not visible in the editor and therefore many countries will have blank here. To have a proper ID will facilitate Country structure updates which happens regularly.
<pre>
SELECT
gazetteer.gazetteer_localid
FROM
gazetteer
WHERE
gazetteer_localid IS NULL OR length(trim(gazetteer_localid)) = 0
</pre>

=== Organisation ===__NOEDITSECTION__
<pre>
SELECT
organisation.org_localid
FROM
organisation
WHERE
org_localid IS NULL OR length(trim(org_localid)) = 0
</pre>

=== Place ===__NOEDITSECTION__
<pre>
SELECT
place.place_localid
FROM
place
WHERE
place_localid IS NULL OR length(trim(place_localid)) = 0
</pre>

=== Task===__NOEDITSECTION__
<pre>
SELECT
task.localid
FROM
task
WHERE
task.localid IS NULL or length(trim(task.localid))=0
</pre>

=== Work item ===__NOEDITSECTION__
<pre>
SELECT
work_item.localid
FROM
work_item
WHERE
work_item.localid IS NULL OR length(trim(work_item.localid)) = 0
</pre>

{{NavBox Upgrade}}
[[Category:NoPublic]]
[[Category:SQL Queries]]
6,632
edits