예제 #1
0
function registerDoc()
{
    require_once '../../../../accountancy/import/salary/salary.class.php';
    $AccDocObj = new ImportSalary($_POST["pay_year"], $_POST["pay_month"]);
    if ($AccDocObj->InitialImportance($_POST["PersonType"] == "contract") === false) {
        echo Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString("<br>"));
        die;
    }
    $query = "\t\n\t\tselect  c.CostCenterID,\n\t\t\t\tc.Title,\n\t\t\t\tsit.CostID,\n\t\t\t\tsit.CostType,\n\t\t\t\tcase s.person_type when 1 then if(w.emp_state=11, 'ConditionalProf', 'Prof')\n\t\t\t\t\t\t\t\t   when 2 then 'Staff'\n\t\t\t\t\t\t\t\t   when 3 then 'Worker'\n\t\t\t\t\t\t\t\t   when 5 then 'Contract' end PersonType, \n\t\t\t\ts.last_retired_pay,\n\t\t\t\tw.emp_state,\n\t\t\t\tc.AccUnitID,\t\t\t\t\n\t\t\t\tpit.salary_item_type_id,\n\t\t\t\tsum(pit.pay_value) pay_value,\n\t\t\t\tsum(pit.diff_value_coef * pit.diff_pay_value) diff_pay_value,\n\t\t\t\tsum(param7) param7,\n\t\t\t\tsum(diff_param7_coef * diff_param7) diff_param7,\n\t\t\t\tsum(param2) param2,\n\t\t\t\tsum(diff_param2_coef * diff_param2) diff_param2,\n\t\t\t\tsum(param3) param3,\n\t\t\t\tsum(diff_param3_coef * diff_param3) diff_param3\n\t\t\t\t\n\t\tFROM payments p \n\t\t\tJOIN staff s ON s.staff_id = p.staff_id\n\t\t\tJOIN writs w\n\t\t\t\tON(p.writ_id = w.writ_id AND\n\t\t\t\t   p.writ_ver = w.writ_ver AND\n\t\t\t\t   p.staff_id = w.staff_id AND w.state=3)\n\n\t\t\tJOIN payment_items pit \n\t\t\t\tON(p.pay_year = pit.pay_year AND p.pay_month = pit.pay_month AND\n\t\t\t\t   p.staff_id = pit.staff_id AND p.payment_type = pit.payment_type)\n\n\t\t\tJOIN persons per ON (per.personid = s.personid )\n\t\t\tJOIN banks b ON b.bank_id = p.bank_id\n\t\t\tJOIN CostCenterPlan c ON c.CostCenterID = w.CostCenterID\n\t\t\tJOIN salary_item_types sit using(salary_item_type_id)\n\t\t\t\n\t\tWHERE p.pay_year = :py and p.pay_month = :pm and p.payment_type = 1 \n\t\t\tand s.person_type in(" . ($_POST["PersonType"] == "contract" ? "5" : "1,2,3") . ") AND sit.CostID>0\n\n\t\tgroup by c.CostCenterID , s.person_type , p.payment_type , pit.salary_item_type_id\n\t\torder by c.CostCenterID,pit.salary_item_type_id";
    $dt = PdoDataAccess::runquery_fetchMode($query, array(":py" => $_POST["pay_year"], ":pm" => $_POST["pay_month"]));
    $AccError = "";
    while ($row = $dt->fetch()) {
        $amount = 0;
        switch ($row["salary_item_type_id"]) {
            case 44:
                if ($row["PersonType"] == "ConditionalProf") {
                    $row["CostID"] = 19023;
                }
                $amount = $row["pay_value"] + $row["diff_pay_value"];
                break;
                //..................................................................
            //..................................................................
            case 143:
            case 38:
                $coef_dolat = 1.7 / 1.65;
                $amount = $row["param7"] + $row["diff_param7"] + ($row["param7"] + $row["diff_param7"]) * $coef_dolat;
                break;
                //..................................................................
            //..................................................................
            case 9920:
            case 144:
                $amount = $row["param2"] + $row["diff_param2"];
                break;
            case 145:
                $amount = $row["param2"] + $row["diff_param2"] + $row["param3"] + $row["diff_param3"];
                break;
            case 744:
                $amount = $row["param2"] + $row["diff_param2"];
                break;
                //..................................................................
            //..................................................................
            case 149:
            case 150:
            case 750:
                $amount = $row["param3"] + $row["diff_param3"];
                break;
                //..................................................................
            //..................................................................
            case 9931:
                if ($row["PersonType"] == "Staff" || $row["PersonType"] == "Contract") {
                    $row["CostID"] = 341;
                }
                if ($row["PersonType"] == "Worker") {
                    $row["CostID"] = 342;
                }
                $amount = $row["pay_value"] + $row["diff_pay_value"];
                break;
                //..................................................................
            //..................................................................
            default:
                $amount = $row["pay_value"] + $row["diff_pay_value"];
        }
        $AccDocObj->AddItem($row["AccUnitID"], $row["CostID"], $amount, $row["PersonType"]);
        if (ExceptionHandler::GetExceptionCount() > 0) {
            $AccError .= "مرکز هزینه : " . $row["Title"] . "<br><hr><br>";
            $AccError .= "<span style=color:red><h3>" . ExceptionHandler::GetExceptionsToString("<br>") . "</h3></span>";
        }
        ExceptionHandler::PopAllExceptions();
    }
    $AccDocObj->CommitImportance();
    echo Response::createObjectiveResponse($AccError == "", $AccError);
    die;
}
예제 #2
0
					<tr class="header"  style="background-color:#4682B4" >					
						<td> &nbsp; </td>
						<td align="center" >حقوق</td>
						<td align="center" >اضافه کار</td>
						<td align="center" > بیمه سهم دستگاه </td>			
						<td align="center" >بیمه درمانی سهم دولت </td>					
						<td align="center" >ماده 27 و 38 و مدیریت خارج از شمول</td>
						<td align="center" >2% فوق العاده جذب هیئت امنا</td>
						<td align="center" >جمع</td>
					</tr>';

			// <editor-fold defaultstate="collapsed" desc="register Account Doc">
			if($regAccDoc)
			{
				$ACC_pt = ImportSalary::PERSON_TYPE_ConditionalProf;
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["salary"], $mp_hoghoogh, $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["overtime"], $mp_ezafeKar + $OverTimeMProf, $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["OrgInsurance"], round($mp_bimeh_dastgah), $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["GovInsurance"], $mp_bimeh_dolat, $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["27"], ($mp_made_kharej_Az_shomool + $ExtraMProf), $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["extra"], $mp_jazb_omana, $ACC_pt);

				$ACC_pt = ImportSalary::PERSON_TYPE_Prof;
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["salary"], $p_hoghoogh, $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["overtime"], $p_ezafeKar + $OverTimeProf, $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["OrgInsurance"], round($p_bimeh_dastgah), $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["GovInsurance"], $p_bimeh_dolat, $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["27"], ($p_made_kharej_Az_shomool + $ExtraProf), $ACC_pt);
				$AccDocObj->AddItem($ACC_UnitID, $CostCodesArray[$ACC_pt]["extra"], $p_jazb_omana, $ACC_pt);

				$ACC_pt = ImportSalary::PERSON_TYPE_Staff;