示例#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
	$OverTimeRoozMozd + $OverTimeGharardadi ) . '</td>
			<td>' . (round($mp_bimeh_dastgah) + round($p_bimeh_dastgah) + round($e_bimeh_dastgah) + round($r_bimeh_dastgah) + round($gh_bimeh_dastgah) + $rowPlanItem ) . '</td>
			<td>' . ($mp_bimeh_dolat + $p_bimeh_dolat + $e_bimeh_dolat + $r_bimeh_dolat + $gh_bimeh_dolat ) . '</td>
			<td>' . ($mp_made_kharej_Az_shomool + $p_made_kharej_Az_shomool + $e_made_kharej_Az_shomool +
	$r_made_kharej_Az_shomool27 + $r_made_kharej_Az_shomool38 + $gh_made_kharej_Az_shomool27 + $gh_made_kharej_Az_shomool38 + $ExtraMProf + $ExtraProf + $ExtraEmp +
	$ExtraRoozMozd + $ExtraGharardadi ) . '</td>		
			<td>' . ($mp_jazb_omana + $p_jazb_omana + $e_jazb_omana + $r_jazb_omana + $gh_jazb_omana) . '</td>
			<td>' . ($mp_sum + $p_sum + $e_sum + $r_sum + $gh_sum + $ExtraMProf + $ExtraProf + $ExtraEmp + $ExtraRoozMozd + $ExtraGharardadi +
	$OverTimeMProf + $OverTimeProf + $OverTimeEmp + $OverTimeRoozMozd + $OverTimeGharardadi + $rowPlanItem ) . '</td>
		  </tr></table><br>';

	echo "</center>";

	if($regAccDoc)
	{
		$AccDocObj->CommitImportance();
		?>
		<script>
			var elems = document.getElementsByClassName("reportGenerator");
			for(i=0; i < elems.length; i++)
				elems[i].style.visibility = "hidden";
		</script>
		<?
		if(!$AccError)
		{
			ob_get_clean();
			echo "<h3>" . "پیش سند حقوق مربوط به این ماه با موفقیت صادر گردید." . "</h3>";
		}
			
	}