[
http://mifosforge.jira.com/browse/MIFOS-2851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
johnwoodlock updated MIFOS-2851:
--------------------------------
First, in an attempt to avoid the confusion of my previous comments the queries
used again are.
1. To find customers whose meeting ids don't match their parents meeting ids.
select childcm.updated_flag, childcm.updated_meeting_id,
child.customer_id, child.status_id as status, child.display_name,
child.customer_level_id as Level,
child.parent_customer_id, parent.status_id as ParentStatus,
parent.display_name as ParentDisplayName, parent.customer_level_id as
ParentLevel,
childcm.meeting_id as ChildMeetingId, childm.meeting_place,
childrd.recur_after, childr.days,
parentcm.meeting_id as ParentMeetingId, parentm.meeting_place,
parentrd.recur_after, parentr.days
from customer child
join customer_meeting childcm on childcm.customer_id = child.customer_id
join meeting childm on childm.meeting_id = childcm.meeting_id
left join recurrence_detail childrd on childrd.meeting_id = childm.meeting_id
left join recur_on_day childr on childr.details_id = childrd.details_id
join customer parent on parent.customer_id = child.parent_customer_id
join customer_meeting parentcm on parentcm.customer_id = parent.customer_id
join meeting parentm on parentm.meeting_id = parentcm.meeting_id
left join recurrence_detail parentrd on parentrd.meeting_id =
parentm.meeting_id
left join recur_on_day parentr on parentr.details_id = parentrd.details_id
where childm.meeting_id <> parentm.meeting_id
/*and (childm.meeting_place = parentm.meeting_place and childrd.recur_after =
parentrd.recur_after and childr.days = parentr.days) */
order by parent.customer_id
2. To find the 'old' structures that had their meeting details changed because
of the transfer bug.
select oldstructure.status_id as "Old Structure Status",
oldstructure.customer_id as "Old Structure Parent Id",
oldstructure.display_name as "Old Structure Parent Name",
oldstructure.customer_level_Id as "Old Structure Parent Level",
oldstructureparent.customer_id as "Next Level Up Parent Id",
oldstructureparent.display_name as "Next Level Up Parent Name",
oldstructureparent.customer_level_Id as "Next Level Up Parent Level"
from customer child
join customer_meeting childcm on childcm.customer_id = child.customer_id
join meeting childm on childm.meeting_id = childcm.meeting_id
left join recurrence_detail childrd on childrd.meeting_id = childm.meeting_id
left join recur_on_day childr on childr.details_id = childrd.details_id
join customer parent on parent.customer_id = child.parent_customer_id
join customer_meeting parentcm on parentcm.customer_id = parent.customer_id
join meeting parentm on parentm.meeting_id = parentcm.meeting_id
left join recurrence_detail parentrd on parentrd.meeting_id =
parentm.meeting_id
left join recur_on_day parentr on parentr.details_id = parentrd.details_id
left join customer_hierarchy ch on ch.customer_id = child.customer_id and
ch.status = 0
left join customer oldstructure on oldstructure.customer_id = ch.parent_id
left join customer oldstructureparent on oldstructureparent.customer_id =
oldstructure.parent_customer_id
where childm.meeting_id <> parentm.meeting_id
group by oldstructure.customer_id
order by oldstructure.display_name
3. An update query to set all those customers with invalid meeting Ids to have
their meeting Ids changed when the RegenerateScheduleTask batch job runs.
update customer child
join customer_meeting childcm on childcm.customer_id = child.customer_id
join meeting childm on childm.meeting_id = childcm.meeting_id
join customer parent on parent.customer_id = child.parent_customer_id
join customer_meeting parentcm on parentcm.customer_id = parent.customer_id
join meeting parentm on parentm.meeting_id = parentcm.meeting_id
set childcm.updated_flag = 1, childcm.updated_meeting_id = parentcm.meeting_id
where childm.meeting_id <> parentm.meeting_id
4. A list of all top level structures (all centers for secdep) and their
meeting days (think Monday is usually 1, Friday 5)
select c.customer_id, c.display_name, c.status_id, c.customer_level_id,
m.meeting_place,
rd.recur_after as "Schedule Every", rt.recurrence_name as "",
r.days as "Working Day"
from customer c
join customer_meeting cm on cm.customer_id = c.customer_id
join meeting m on m.meeting_id = cm.meeting_id
left join recurrence_detail rd on rd.meeting_id = m.meeting_id
left join recurrence_type rt on rt.recurrence_id = rd.recurrence_id
left join recur_on_day r on r.details_id = rd.details_id
where c.parent_customer_id is null
order by c.display_name
> Clean up data falling out from Issue 2652
> -----------------------------------------
>
> Key: MIFOS-2851
> URL: http://mifosforge.jira.com/browse/MIFOS-2851
> Project: mifos
> Issue Type: Bug
> Components: Centers
> Affects Versions: Gazelle C
> Reporter: Kay Chau
> Assignee: Adam Monsen
> Priority: Major
>
> As a result of Issue 2652, opening a separate issue to track the cleaning up
> of existing bad data as a result of the issue
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://mifosforge.jira.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues