// sql = "UPDATE fincntrl SET pendingcost = ISNULL((SELECT SUM(ISNULL(prline.linecost, 0)) AS COST FROM prline INNER JOIN pr ON prline.prnum = pr.prnum INNER JOIN fincntrl AS a ON prline.rl2 = a.projectid "
// + " WHERE " + " prline.rl2 in ('"+f.getProjectid()+"') and prline.rl3 in ('" + f.getFincntrlid() + "')"
// + " AND ( pr.CONTRACTREFNUM is null and pr.status NOT IN ('CAN', 'CLOSE') and pr.prnum not in (select prnum from pr pr1 where pr1.prnum=pr.prnum and status in ('COMP','CAN') ) ) AND "
// + "(a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') AND "
// + "(prline.ponum IS NULL ) AND (prline.contractnum IS NULL )), 0) "
// + " FROM fincntrl LEFT OUTER JOIN fincntrl AS p ON fincntrl.parentfincntrlid = p.fincntrlid WHERE "
// + " (fincntrl.custbugettype = 'PURCHASE') AND (fincntrl.custcalmethod IS NULL) AND"
// + " (p.custcalmethod = 'DETAIL') AND p.projectid in ('"
// + f.getProjectid() + "') and fincntrl.fincntrlid in ( '" +f.getFincntrlid() + "'); \n";
//
//
//
// sql =sql+ "UPDATE fincntrl SET usecost =(SELECT SUM(ISNULL(poline.linecost, 0) + ISNULL(poline.tax1, 0)) AS "
// + "COST FROM poline INNER JOIN po ON poline.ponum = po.ponum INNER JOIN fincntrl AS a ON "
// + "poline.pl2 = a.projectid WHERE "
// + " (po.status <> 'CAN') AND (a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') AND"
// + " poline.pl2 in ( '"+f.getProjectid() +"' ) and poline.pl3 in ( '"+ f.getFincntrlid() +"' )),";
//
//
// sql = sql + "CONpendingcost = ISNULL ((SELECT SUM(ISNULL(contract.cost2, 0)) AS COST FROM " +
// " (SELECT a.contractnum, a.contractlinenum, a.enterdate, a.fcg_projectid,a.fcg_taskid, a.linecost AS cost, a1.linecost AS cost1,"
// + " (CASE WHEN (ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0)) > 0 THEN ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0)"
// + " ELSE 0 END) AS cost2 FROM (SELECT c.contractnum, cl1.contractlinenum,"
// + " cl1.enterdate, cl1.fcg_projectid,cl1.fcg_taskid,cl1.linecost FROM "
// + " contract AS c LEFT OUTER JOIN (SELECT contractnum, revisionnum, contractlinenum, enterdate,"
// + " linecost+custtax1 linecost, fcg_projectid ,fcg_taskid FROM contractline) AS cl1 ON c.contractnum = "
// + "cl1.contractnum AND c.revisionnum = cl1.revisionnum WHERE (c.status in('DRAFT','WSTART','APPR','WAPPR'))) "
// + "AS a LEFT OUTER JOIN (SELECT poline.contractrefnum AS contractnum, CL1.contractlinenum AS CONTRACTLINENUM,"
// + " SUM(poline.linecost+poline.tax1) AS linecost FROM poline INNER JOIN po ON poline.ponum = po.ponum INNER JOIN"
// + " contractline AS CL1 ON poline.contreflineid = CL1.contractlineid WHERE (po.status <> 'CAN') GROUP BY poline.contractrefnum, "
// + "CL1.contractlinenum) AS a1 ON a.contractnum = a1.contractnum AND a.contractlinenum = a1.CONTRACTLINENUM) AS contract INNER JOIN "
// + "fincntrl AS a ON contract.fcg_projectid = a.projectid WHERE "+
// " (a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') and contract.fcg_projectid in ("
// +" '"+ f.getProjectid() +"' ) and contract.fcg_taskid in ('" + f.getFincntrlid() + "')), 0) " +
// " FROM fincntrl LEFT OUTER JOIN fincntrl AS p ON fincntrl.parentfincntrlid = p.fincntrlid WHERE "+
// " (fincntrl.custbugettype = 'PURCHASE') AND (fincntrl.custcalmethod IS NULL) AND (p.custcalmethod = 'DETAIL') AND"
// + " p.projectid in ( '"+ f.getProjectid() +"') and fincntrl.fincntrlid in ( '" + f.getFincntrlid() + "'); \n";
sql="UPDATE fincntrl SET pendingcost = ISNULL((SELECT SUM(ISNULL(prline.linecost, 0)) AS COST FROM prline INNER JOIN pr ON prline.prnum = pr.prnum INNER JOIN fincntrl AS a ON prline.rl2 = a.projectid "
+" WHERE "+" prline.rl2 in ('"+f.getProjectid()+"') and prline.rl3 in ('"+f.getFincntrlid()+"')"
+" AND ( pr.CONTRACTREFNUM is null and pr.status NOT IN ('CAN', 'CLOSE') and pr.prnum not in (select prnum from pr pr1 where pr1.prnum=pr.prnum and status in ('COMP','CAN') ) ) AND "
+"(a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') AND "
+"(prline.ponum IS NULL ) AND (prline.contractnum IS NULL )), 0) "
+" FROM fincntrl LEFT OUTER JOIN fincntrl AS p ON fincntrl.parentfincntrlid = p.fincntrlid WHERE "
+" (fincntrl.custbugettype = 'PURCHASE') AND (fincntrl.custcalmethod IS NULL) AND"
+" (p.custcalmethod = 'DETAIL') AND p.projectid in ('"
+f.getProjectid()+"') and fincntrl.fincntrlid in ( '"+f.getFincntrlid()+"'); \n";
sql=sql+"UPDATE fincntrl SET usecost =(SELECT SUM(ISNULL(poline.linecost, 0) + ISNULL(poline.tax1, 0)) AS "
+"COST FROM poline INNER JOIN po ON poline.ponum = po.ponum INNER JOIN fincntrl AS a ON "
+"poline.pl2 = a.projectid WHERE "
+" (po.status <> 'CAN') AND (a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') AND"
+" poline.pl2 in ( '"+f.getProjectid()+"' ) and poline.pl3 in ( '"+f.getFincntrlid()+"' )),";
sql=sql+"CONpendingcost = ISNULL ((SELECT SUM(ISNULL(contract.cost2, 0)) AS COST FROM "+
" (SELECT a.contractnum, a.contractlinenum, a.enterdate, a.fcg_projectid,a.fcg_taskid, a.linecost AS cost, a1.linecost AS cost1,"
+" (CASE WHEN (ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0)) > 0 THEN ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0)"
+" ELSE 0 END) AS cost2 FROM (SELECT c.contractnum, cl1.contractlinenum,"
+" cl1.enterdate, cl1.fcg_projectid,cl1.fcg_taskid,cl1.linecost FROM "
+" contract AS c LEFT OUTER JOIN (SELECT contractnum, revisionnum, contractlinenum, enterdate,"
+" linecost+custtax1 linecost, fcg_projectid ,fcg_taskid FROM contractline) AS cl1 ON c.contractnum = "
+"cl1.contractnum AND c.revisionnum = cl1.revisionnum WHERE (c.status in('DRAFT','WSTART','APPR','WAPPR'))) "
+"AS a LEFT OUTER JOIN (SELECT poline.contractrefnum AS contractnum, CL1.contractlinenum AS CONTRACTLINENUM,"
+" SUM(poline.linecost+poline.tax1) AS linecost FROM poline INNER JOIN po ON poline.ponum = po.ponum INNER JOIN"
+" contractline AS CL1 ON poline.contreflineid = CL1.contractlineid WHERE (po.status <> 'CAN') GROUP BY poline.contractrefnum, "
+"CL1.contractlinenum) AS a1 ON a.contractnum = a1.contractnum AND a.contractlinenum = a1.CONTRACTLINENUM) AS contract INNER JOIN "
+"fincntrl AS a ON contract.fcg_projectid = a.projectid WHERE "+
" (a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') and contract.fcg_projectid in ("
+" '"+f.getProjectid()+"' ) and contract.fcg_taskid in ('"+f.getFincntrlid()+"')), 0) "+
" FROM fincntrl LEFT OUTER JOIN fincntrl AS p ON fincntrl.parentfincntrlid = p.fincntrlid WHERE "+
" (fincntrl.custbugettype = 'PURCHASE') AND (fincntrl.custcalmethod IS NULL) AND (p.custcalmethod = 'DETAIL') AND"
+" p.projectid in ( '"+f.getProjectid()+"') and fincntrl.fincntrlid in ( '"+f.getFincntrlid()+"'); \n";
@@ -449,13 +452,16 @@ public class CustPO extends PO implements CustPORemote {
Stringsql="UPDATE fincntrl SET usecost =(SELECT SUM(ISNULL(poline.linecost, 0) + ISNULL(poline.tax1, 0)) AS COST FROM poline INNER JOIN po ON poline.ponum = po.ponum INNER JOIN fincntrl AS a ON poline.pl2 = a.projectid WHERE (po.status <> 'CAN' "
+statusSql+") AND (a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') "
+" AND poline.pl2 in ("+projectids+") and poline.pl3 in ("+finctrlid+")),";
sql+="CONpendingcost = ISNULL ((SELECT SUM(ISNULL(contract.cost2, 0)) AS COST FROM (SELECT a.contractnum, a.contractlinenum, a.enterdate, a.fcg_projectid,a.fcg_taskid, a.linecost AS cost, a1.linecost AS cost1, (CASE WHEN (ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0)) > 0 THEN ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0) ELSE 0 END) AS cost2 FROM (SELECT c.contractnum, cl1.contractlinenum, cl1.enterdate, cl1.fcg_projectid,cl1.fcg_taskid,cl1.linecost FROM contract AS c LEFT OUTER JOIN (SELECT contractnum, revisionnum, contractlinenum, enterdate, linecost+custtax1 linecost, fcg_projectid ,fcg_taskid FROM contractline) AS cl1 ON c.contractnum = cl1.contractnum AND c.revisionnum = cl1.revisionnum WHERE (c.status in('DRAFT','WSTART','APPR','WAPPR'))) AS a LEFT OUTER JOIN (SELECT poline.contractrefnum AS contractnum, CL1.contractlinenum AS CONTRACTLINENUM, SUM(poline.linecost+poline.tax1) AS linecost FROM poline INNER JOIN po ON poline.ponum = po.ponum INNER JOIN contractline AS CL1 ON poline.contreflineid = CL1.contractlineid WHERE (po.status <> 'CAN'"
sql+="CONpendingcost = ISNULL ((SELECT SUM(ISNULL(contract.cost2, 0)) AS COST FROM (SELECT a.contractnum, a.contractlinenum, a.enterdate, a.fcg_projectid,a.fcg_taskid, a.linecost AS cost, a1.linecost AS cost1, (CASE WHEN (ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0)) > 0 THEN ISNULL(a.linecost, 0) - ISNULL(a1.linecost, 0) ELSE 0 END) AS cost2 FROM (SELECT c.contractnum, cl1.contractlinenum, cl1.enterdate, cl1.fcg_projectid,cl1.fcg_taskid,cl1.linecost FROM contract AS c LEFT OUTER JOIN (SELECT contractnum, revisionnum, contractlinenum, enterdate, linecost+custtax1 linecost, fcg_projectid ,fcg_taskid FROM contractline) AS cl1 ON c.contractnum = cl1.contractnum AND c.revisionnum = cl1.revisionnum WHERE (c.status in('DRAFT','WSTART','APPR','WAPPR'))and cl1.revisionnum = ( select max(c2.revisionnum) from contractline c2 "
+" where c2.contractnum =cl1.contractnum ) ) AS a LEFT OUTER JOIN (SELECT poline.contractrefnum AS contractnum, CL1.contractlinenum AS CONTRACTLINENUM, SUM(poline.linecost+poline.tax1) AS linecost FROM poline INNER JOIN po ON poline.ponum = po.ponum INNER JOIN contractline AS CL1 ON poline.contreflineid = CL1.contractlineid WHERE (po.status <> 'CAN'"
+statusSql
+") GROUP BY poline.contractrefnum, CL1.contractlinenum) AS a1 ON a.contractnum = a1.contractnum AND a.contractlinenum = a1.CONTRACTLINENUM) AS contract INNER JOIN fincntrl AS a ON contract.fcg_projectid = a.projectid WHERE (a.fincntrlid = FINCNTRL.parentFINCNTRLid) AND (a.fcstatus = 'APPR') "
+" and contract.fcg_projectid in ("+projectids+") and contract.fcg_taskid in ("+finctrlid
+")), 0) "
+"FROM fincntrl LEFT OUTER JOIN fincntrl AS p ON fincntrl.parentfincntrlid = p.fincntrlid WHERE (fincntrl.custbugettype = 'PURCHASE') AND (fincntrl.custcalmethod IS NULL) AND (p.custcalmethod = 'DETAIL') AND p.projectid in ("
+projectids+") and fincntrl.fincntrlid in ( "+finctrlid+");";
sql+="UPDATE fincntrl SET fincntrl.netcost = ISNULL(fincntrl.budgetcost, 0) + ISNULL(fincntrl.altercost, 0) - ISNULL(fincntrl.pendingcost, 0) - ISNULL(fincntrl.conpendingcost, 0) - ISNULL(fincntrl.usecost, 0) FROM fincntrl LEFT OUTER JOIN fincntrl AS p ON fincntrl.parentfincntrlid = p.fincntrlid WHERE (fincntrl.custbugettype = 'PURCHASE') AND (fincntrl.custcalmethod IS NULL) AND (p.custcalmethod = 'DETAIL') AND p.projectid in ("
+projectids+") and fincntrl.fincntrlid in ( "+finctrlid+");";
Stringsql_4=" select projectid ,finexpenselineid from finexpense fi left join finexpenseline f on fi.finexpenseid =f.finexpenseid where fi.projectid='"+e.getPolineNum()+"' and f.startdate >='2022-01-01 00:00:00' and f.enddate <='2022-12-31 23:59:59' and finexpenselineid=248 ";
Stringsql_4=" select projectid ,finexpenselineid from finexpense fi left join finexpenseline f on fi.finexpenseid =f.finexpenseid where fi.projectid='"+e.getPolineNum()+"' and f.startdate >='2022-01-01 00:00:00' and f.enddate <='2022-12-31 23:59:59' ";
Stringsql_2="select f.projectid ,f2.finexpenselineid from finexpense f,finexpenseline f2 where f.finexpenseid =f2.finexpenseid and finexpenselineid ='2203' ";