using DBUtility;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Windows.Forms;
using WebAPI.Models;
using SyntacticSugar.constant;
namespace WebAPI.Controllers.项目管理.工程项目
{
public class PM_ProjectBillController : ApiController
{
public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更)
private json objJsonResult = new json();
public DataSet ds = new DataSet();
public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
string user_LongShan = "";
string HName_LongShan = "";
public DAL.ClsPM_WorkPlanMonthBillMain BillNew1 = new DAL.ClsPM_WorkPlanMonthBillMain(); //工作周总结对应单据类
public DAL.ClsPM_WorkPlanMonthBillMain BillOld1 = new DAL.ClsPM_WorkPlanMonthBillMain();
public DAL.ClsPM_WorkPlanMonthBillMain BillNew2 = new DAL.ClsPM_WorkPlanMonthBillMain(); //月度阶段计划对应单据类
public DAL.ClsPM_WorkPlanMonthBillMain BillOld2 = new DAL.ClsPM_WorkPlanMonthBillMain();
public DAL.ClsPM_CustomerTaskBillMain BillNew3 = new DAL.ClsPM_CustomerTaskBillMain(); //项目需求及问题清单对应单据类
public DAL.ClsPM_CustomerTaskBillMain BillOld3 = new DAL.ClsPM_CustomerTaskBillMain();
public DAL.ClsPM_ProjectMoneyBillMain BillNew4 = new DAL.ClsPM_ProjectMoneyBillMain(); //项目费用单对应单据类
public DAL.ClsPM_ProjectMoneyBillMain BillOld4 = new DAL.ClsPM_ProjectMoneyBillMain();
public DAL.ClsPM_ProjectBeginBillMain BillNew5 = new DAL.ClsPM_ProjectBeginBillMain(); //项目启动单对应单据类
public DAL.ClsPM_ProjectBeginBillMain BillOld5 = new DAL.ClsPM_ProjectBeginBillMain();
public DAL.ClsPM_ProjectEndBillMain BillNew6 = new DAL.ClsPM_ProjectEndBillMain(); //项目验收单对应单据类
public DAL.ClsPM_ProjectEndBillMain BillOld6 = new DAL.ClsPM_ProjectEndBillMain();
public DAL.ClsGy_ProjectMoneyBOMBill BillNew7 = new DAL.ClsGy_ProjectMoneyBOMBill(); //项目费用清单对应单据类
public DAL.ClsGy_ProjectMoneyBOMBill BillOld7 = new DAL.ClsGy_ProjectMoneyBOMBill();
#region 工程项目 新增/编辑
#region 工程项目 表头数据
public class PM_ProjectBill_Main
{
public int HInterID;
public string HBillSubType;
public string HBillNo;
public string HProNumber;
public string HProName;
public int HCusID;
public string HCusName;
public string HBeginDate;
public string HEndDate;
public string HDate;
public int HPMEmpID;
public string HPMEmpName;
public int HWorkEmpID;
public string HWorkEmpName;
public int HDepEmpID;
public string HDepEmpName;
public int HMaterID;
public string HMaterNumber;
public string HMaterName;
public int HPayCusID;
public string HPayCusName;
public string HProType;
public string HRemark;
public int HOrgID;
public string HMaker;
public string HUpdater;
public string HChecker;
public string HMakerDate;
public string HUpdaterDate;
public string HCheckerDate;
public string HCloseMan;
public string HDeleteMan;
public string HBacker;
public string HCloseManDate;
public string HDeleteManDate;
public string HBackerDate;
public string HBackRemark;
public double HSumMoney;
public double HProMoney;
public double HWorkMoney;
public double HOtherMoney;
public int HConWorkDays;
public int HDepDays;
public double HLastMoney;
public int HProjectClassID;
public string HBuildComp;
public string HBuildAddress;
public string HWorkNo;
public string HReDate;
public string HPicNo;
public string HWorkTask;
public string HProjectNote;
public string HContacts;
public string HContactNumber;
public int HSupplierID; //分包单位(gy_supllier)
public int HMangerEmpID; //管理员(gy_Employee)
public string HMaterPlanDate; //材料计划
public int HWorkerID; //施工员(gy_Employee)
public double HPlanWorkTimes; //计划工期
public double HRelWorkTimes; //实际工期
public string HTestDate; //试压日期
public int HTestCheckerID; //试压验收人(gy_Employee)
public string HTestNote; //试压记录(富文本)
public string HSewageDate; //排污日期
public string HWaterSupplyDate; //通水日期
public string HWorkNote; //竣工资料(富文本)
public string HWorkProcNote; //施工完成情况(富文本)
public double HYuSuanMoney; //预算造价
public double HHeTongMoney; //合同造价
public double HJieSuanMoney; //结算造价
public double HShenJiMoney; //审计造价
public double HCaiLiaoMoney; //材料费
public double HAnZhuangMoney; //安装费
public double HBanZuMoney; //班组工费
public double HYuShouKuanMoney; //预收款
public double HGongFeiMoney; //工费结账
public double HJieZhangMoney; //结算结账
public int HTaskClassID; //任务大类(Gy_TaskClass)
public int HTaskClassEntryID; //任务项目分类(Gy_TaskClass)
public string HTaskAddress; //任务地点
public string HBreakStatus; //损坏情况
public string HWaterLeakage; //漏水量
public string HPipeDiameter; //管径
public string HPipeMaterial; //管道材质
public string HAlarmEmp; //报漏人
public string HAlarmLink; //报漏人联系电话
public string HReceEmp; //受理人
public string HReceTime; //受理时间(年月日时分秒)
public double HTaskMaterMoney; //任务材料费
public double HTaskSetupMoney; //任务安装费
public double HTaskOtherMoney; //任务附属费
public double HTaskExamMoney; //任务考核费
public double HTaskWorkMoney; //任务工费
public bool HIsAccount; //是否结账(复选框)
public string HAccountDate; //结算结账日期
public string HAccountWorkMoneyDate; //工费结账日期
public bool HIsCheckExam; //是否审核考核费(复选框)
public bool HIsCheckWorkMoney; //是否审核工费(复选框)
public string HInfoBackTime; //回复时间(年月日时分秒)
public string HInfoBackMan; //回复人
public string HInfoNote; //回复内容(富文本)
public string HTaskBTime; //任务开始时间(年月日时分秒)
public string HTaskETime; //任务完工时间(年月日时分秒)
public string HTaskNote; //任务详细内容(富文本)
public string HTaskWorkEmp; //工作人员(富文本)
public string HBeginCloseValveTime; //开始关阀时间(年月日时分秒)
public string HEndCloseValveTime; //结束关阀时间(年月日时分秒)
public long HCloseValveQty; //关阀只数
public string HBeginOpenValveTime; //开始开阀时间(年月日时分秒)
public string HEndOpenValveTime; //结束开阀时间(年月日时分秒)
public long HOpenValveQty; //开阀只数
public string HValveWorkEmp; //操作人员
public string HTaskRemark; //任务备注(富文本)
}
#endregion
#region 工程项目 项目阶段表体数据
public class PM_ProjectBill_ProjectStage
{
public int RowID;
public int HProjectStageID;
public string HProjectStageName;
public string HStageNote;
public int HPMGoodsID;
public string HPMGoodsName;
public bool HIsKey;
public double HRate;
public int HEmpID;
public string HEmpName;
public int HCheckEmpID;
public string HCheckEmpName;
public string HFinishDate;
public double HWorkDays;
public string HRemarkSub;
}
#endregion
#region 工程项目 项目成员表体数据
public class PM_ProjectBill_Employee
{
public int RowID;
public int HEmployeeID;
public string HEmployeeName;
public bool HIsPM;
public double HRate;
public double HPlanAvgMoney;
public double HPlanCountMoney;
public string HRemarkSub;
}
#endregion
#region 工程项目 新增/编辑
///
/// 新增单据-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("PM_ProjectBill/AddBill")]
[HttpPost]
public object AddBill([FromBody] JObject sMainSub)
{
//获取参数
var _value = sMainSub["sMainSub"].ToString();
string msg1 = _value.ToString();
//开始事务
oCN.BeginTran();
//保存主表
objJsonResult = AddBillMain(msg1);
if (objJsonResult.code == "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = objJsonResult.Message;
objJsonResult.data = null;
return objJsonResult;
}
oCN.Commit();
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "新增单据成功!";
objJsonResult.data = ds.Tables[0];
return objJsonResult;
}
#endregion
#region 添加 工程项目 主表
public json AddBillMain(string msg1)
{
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
string msg3 = sArray[1].ToString();
string msg4 = sArray[2].ToString();
int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改 2 复制
string user = sArray[4].ToString();//用户名
string HComputerName = SystemInformation.ComputerName; //设备名称
user_LongShan = sArray[4].ToString();//用户名
try
{
if(OperationType == 1)
{
//判断是否有编辑权限
if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_add", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无新增权限!";
objJsonResult.data = null;
return objJsonResult;
}
}
else if(OperationType == 3)
{
//判断是否有编辑权限
if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_edit", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无编辑权限!";
objJsonResult.data = null;
return objJsonResult;
}
}
msg2 = "[" + msg2.ToString() + "]";
List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2);
int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
string HBillType = "4750";
string HBillSubType = mainList[0].HBillSubType;
int HInterID = mainList[0].HInterID;
string HDate = mainList[0].HDate;
string HBillNo = mainList[0].HBillNo;
int HBillStatus = 1;
string HRemark = mainList[0].HRemark;
string HMaker = user;
string HMakerDate = mainList[0].HMakerDate;
string HProNumber = mainList[0].HProNumber;
string HProName = mainList[0].HProName;
int HCusID = mainList[0].HCusID;
string HBeginDate = mainList[0].HBeginDate;
string HEndDate = mainList[0].HEndDate;
double HSumMoney = mainList[0].HSumMoney;
double HProMoney = mainList[0].HProMoney;
double HWorkMoney = mainList[0].HWorkMoney;
double HOtherMoney = mainList[0].HOtherMoney;
string HProType = mainList[0].HProType;
int HPMEmpID = mainList[0].HPMEmpID;
int HWorkEmpID = mainList[0].HWorkEmpID;
int HDepEmpID = mainList[0].HDepEmpID;
double HConWorkDays = mainList[0].HConWorkDays;
double HDepDays = mainList[0].HDepDays;
double HLastMoney = mainList[0].HLastMoney;
int HPayCusID = mainList[0].HPayCusID;
int HOrgID = mainList[0].HOrgID;
int HMaterID = mainList[0].HMaterID;
string HUpdater = mainList[0].HUpdater;
string HUpdaterDate = mainList[0].HUpdaterDate;
int HProjectClassID = mainList[0].HProjectClassID;
string HBuildComp = mainList[0].HBuildComp;
string HBuildAddress = mainList[0].HBuildAddress;
string HWorkNo = mainList[0].HWorkNo;
string HReDate = mainList[0].HReDate;
string HPicNo = mainList[0].HPicNo;
string HWorkTask = mainList[0].HWorkTask;
string HProjectNote = mainList[0].HProjectNote;
string HContacts = mainList[0].HContacts;
string HContactNumber = mainList[0].HContactNumber;
int HSupplierID = mainList[0].HSupplierID; //分包单位(gy_supllier)
int HMangerEmpID = mainList[0].HMangerEmpID; //管理员(gy_Employee)
string HMaterPlanDate = mainList[0].HMaterPlanDate; //材料计划
int HWorkerID = mainList[0].HWorkerID; //施工员(gy_Employee)
double HPlanWorkTimes = mainList[0].HPlanWorkTimes; //计划工期
double HRelWorkTimes = mainList[0].HRelWorkTimes; //实际工期
string HTestDate = mainList[0].HTestDate; //试压日期
int HTestCheckerID = mainList[0].HTestCheckerID; //试压验收人(gy_Employee)
string HTestNote = mainList[0].HTestNote; //试压记录(富文本)
string HSewageDate = mainList[0].HSewageDate; //排污日期
string HWaterSupplyDate = mainList[0].HWaterSupplyDate; //通水日期
string HWorkNote = mainList[0].HWorkNote; //竣工资料(富文本)
string HWorkProcNote = mainList[0].HWorkProcNote; //施工完成情况(富文本)
double HYuSuanMoney = mainList[0].HYuSuanMoney; //预算造价
double HHeTongMoney = mainList[0].HHeTongMoney; //合同造价
double HJieSuanMoney = mainList[0].HJieSuanMoney; //结算造价
double HShenJiMoney = mainList[0].HShenJiMoney; //审计造价
double HCaiLiaoMoney = mainList[0].HCaiLiaoMoney; //材料费
double HAnZhuangMoney = mainList[0].HAnZhuangMoney; //安装费
double HBanZuMoney = mainList[0].HBanZuMoney; //班组工费
double HYuShouKuanMoney = mainList[0].HYuShouKuanMoney; //预收款
double HGongFeiMoney = mainList[0].HGongFeiMoney; //工费结账
double HJieZhangMoney = mainList[0].HJieZhangMoney; //结算结账
int HTaskClassID = mainList[0].HTaskClassID; //任务大类(Gy_TaskClass)
int HTaskClassEntryID = mainList[0].HTaskClassEntryID; //任务项目分类(Gy_TaskClass)
string HTaskAddress = mainList[0].HTaskAddress; //任务地点
string HBreakStatus = mainList[0].HBreakStatus; //损坏情况
string HWaterLeakage = mainList[0].HWaterLeakage; //漏水量
string HPipeDiameter = mainList[0].HPipeDiameter; //管径
string HPipeMaterial = mainList[0].HPipeMaterial; //管道材质
string HAlarmEmp = mainList[0].HAlarmEmp; //报漏人
string HAlarmLink = mainList[0].HAlarmLink; //报漏人联系电话
string HReceEmp = mainList[0].HReceEmp; //受理人
string HReceTime = mainList[0].HReceTime; //受理时间(年月日时分秒)
double HTaskMaterMoney = mainList[0].HTaskMaterMoney; //任务材料费
double HTaskSetupMoney = mainList[0].HTaskSetupMoney; //任务安装费
double HTaskOtherMoney = mainList[0].HTaskOtherMoney; //任务附属费
double HTaskExamMoney = mainList[0].HTaskExamMoney; //任务考核费
double HTaskWorkMoney = mainList[0].HTaskWorkMoney; //任务工费
bool HIsAccount = mainList[0].HIsAccount; //是否结账(复选框)
string HAccountDate = mainList[0].HAccountDate; //结算结账日期
string HAccountWorkMoneyDate = mainList[0].HAccountWorkMoneyDate; //工费结账日期
bool HIsCheckExam = mainList[0].HIsCheckExam; //是否审核考核费(复选框)
bool HIsCheckWorkMoney = mainList[0].HIsCheckWorkMoney; //是否审核工费(复选框)
string HInfoBackTime = mainList[0].HInfoBackTime; //回复时间(年月日时分秒)
string HInfoBackMan = mainList[0].HInfoBackMan; //回复人
string HInfoNote = mainList[0].HInfoNote; //回复内容(富文本)
string HTaskBTime = mainList[0].HTaskBTime; //任务开始时间(年月日时分秒)
string HTaskETime = mainList[0].HTaskETime; //任务完工时间(年月日时分秒)
string HTaskNote = mainList[0].HTaskNote; //任务详细内容(富文本)
string HTaskWorkEmp = mainList[0].HTaskWorkEmp; //工作人员(富文本)
string HBeginCloseValveTime = mainList[0].HBeginCloseValveTime; //开始关阀时间(年月日时分秒)
string HEndCloseValveTime = mainList[0].HEndCloseValveTime; //结束关阀时间(年月日时分秒)
long HCloseValveQty = mainList[0].HCloseValveQty; //关阀只数
string HBeginOpenValveTime = mainList[0].HBeginOpenValveTime; //开始开阀时间(年月日时分秒)
string HEndOpenValveTime = mainList[0].HEndOpenValveTime; //结束开阀时间(年月日时分秒)
long HOpenValveQty = mainList[0].HOpenValveQty; //开阀只数
string HValveWorkEmp = mainList[0].HValveWorkEmp; //操作人员
string HTaskRemark = mainList[0].HTaskRemark; //任务备注(富文本)
if (OperationType == 2)
{
ds = oCN.RunProcReturn("select * from PM_ProjectBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectBillMain");
if (ds.Tables[0].Rows.Count > 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据号重复,请重新输入!";
objJsonResult.data = null;
return objJsonResult;
}
}
ds = oCN.RunProcReturn("select * from PM_ProjectBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_ProjectBillMain");
if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
{
string sql = "insert into PM_ProjectBillMain" +
"(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate,HProNumber,HProName,HCusID,HBeginDate,HEndDate,HSumMoney," +
"HProMoney,HWorkMoney,HOtherMoney,HProType,HPMEmpID,HWorkEmpID,HDepEmpID,HConWorkDays,HDepDays,HLastMoney,HPayCusID,HOrgID,HMaterID,HProjectClassID,HBuildComp,HBuildAddress,HWorkNo,HReDate,HPicNo,HWorkTask,HProjectNote,HContacts,HContactNumber" +
",HSupplierID,HMangerEmpID,HMaterPlanDate,HWorkerID,HPlanWorkTimes,HRelWorkTimes,HTestDate,HTestCheckerID,HTestNote,HSewageDate,HWaterSupplyDate,HWorkNote,HWorkProcNote,HYuSuanMoney,HHeTongMoney,HJieSuanMoney,HShenJiMoney,HCaiLiaoMoney,HAnZhuangMoney,HBanZuMoney,HYuShouKuanMoney,HGongFeiMoney,HJieZhangMoney," +
"HTaskClassID,HTaskClassEntryID,HTaskAddress,HBreakStatus,HWaterLeakage,HPipeDiameter,HPipeMaterial,HAlarmEmp,HAlarmLink,HReceEmp,HReceTime,HTaskMaterMoney,HTaskSetupMoney,HTaskOtherMoney,HTaskExamMoney,HTaskWorkMoney,HIsAccount,HAccountDate,HAccountWorkMoneyDate,HIsCheckExam,HIsCheckWorkMoney,HInfoBackTime,HInfoBackMan,HInfoNote,HTaskBTime,HTaskETime,HTaskNote,HTaskWorkEmp,HBeginCloseValveTime,HEndCloseValveTime,HCloseValveQty,HBeginOpenValveTime,HEndOpenValveTime,HOpenValveQty,HValveWorkEmp,HTaskRemark)" +
"values(" +
"" + HYear +
"," + HPeriod +
",'" + HBillType +
"','" + HBillSubType +
"'," + HInterID +
",'" + HDate +
"','" + HBillNo +
"'," + HBillStatus +
",'" + HRemark +
"','" + HMaker +
"','" + HMakerDate +
"','" + HProNumber +
"','" + HProName +
"'," + HCusID +
",'" + HBeginDate +
"','" + HEndDate +
"'," + HSumMoney +
"," + HProMoney +
"," + HWorkMoney +
"," + HOtherMoney +
",'" + HProType +
"'," + HPMEmpID +
"," + HWorkEmpID +
"," + HDepEmpID +
"," + HConWorkDays +
"," + HDepDays +
"," + HLastMoney +
"," + HPayCusID +
"," + HOrgID +
"," + HMaterID +
"," + HProjectClassID +
",'" + HBuildComp +
"','" + HBuildAddress +
"','" + HWorkNo +
"','" + HReDate +
"','" + HPicNo +
"','" + HWorkTask +
"','" + HProjectNote +
"','" + HContacts +
"','" + HContactNumber +
"','" + HSupplierID + "'" +
",'" + HMangerEmpID + "'" +
",'" + HMaterPlanDate + "'" +
",'" + HWorkerID + "'" +
",'" + HPlanWorkTimes + "'" +
",'" + HRelWorkTimes + "'" +
",'" + HTestDate + "'" +
",'" + HTestCheckerID + "'" +
",'" + HTestNote + "'" +
",'" + HSewageDate + "'" +
",'" + HWaterSupplyDate + "'" +
",'" + HWorkNote + "'" +
",'" + HWorkProcNote + "'" +
",'" + HYuSuanMoney + "'" +
",'" + HHeTongMoney + "'" +
",'" + HJieSuanMoney + "'" +
",'" + HShenJiMoney + "'" +
",'" + HCaiLiaoMoney + "'" +
",'" + HAnZhuangMoney + "'" +
",'" + HBanZuMoney + "'" +
",'" + HYuShouKuanMoney + "'" +
",'" + HGongFeiMoney + "'" +
",'" + HJieZhangMoney + "'" +
",'" + HTaskClassID + "'" + ",'" + HTaskClassEntryID + "'" + ",'" + HTaskAddress + "'" + ",'" + HBreakStatus + "'" + ",'" + HWaterLeakage + "'" + ",'" + HPipeDiameter + "'" + ",'" + HPipeMaterial + "'" +
",'" + HAlarmEmp + "'" +",'" + HAlarmLink + "'" + ",'" + HReceEmp + "'" + ",'" + HReceTime + "'" + ",'" + HTaskMaterMoney + "'" + ",'" + HTaskSetupMoney + "'" + ",'" + HTaskOtherMoney + "'" +
",'" + HTaskExamMoney + "'" + ",'" + HTaskWorkMoney + "'" + ",'" + (HIsAccount?1:0) + "'" + ",'" + HAccountDate + "'" + ",'" + HAccountWorkMoneyDate + "'" + ",'" + (HIsCheckExam ? 1 : 0) + "'" +
",'" + (HIsCheckWorkMoney ? 1 : 0) + "'" + ",'" + HInfoBackTime + "'" + ",'" + HInfoBackMan + "'" + ",'" + HInfoNote + "'" + ",'" + HTaskBTime + "'" +
",'" + HTaskETime + "'" + ",'" + HTaskNote + "'" + ",'" + HTaskWorkEmp + "'" + ",'" + HBeginCloseValveTime + "'" + ",'" + HEndCloseValveTime + "'" +
",'" + HCloseValveQty + "'" + ",'" + HBeginOpenValveTime + "'" + ",'" + HEndOpenValveTime + "'" + ",'" + HOpenValveQty + "'" + ",'" + HValveWorkEmp + "'" + ",'" + HTaskRemark + "'" +
")";
//主表
oCN.RunProc(sql);
LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",新增工程项目:" + HBillNo);
oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "新增工程项目:" + HBillNo + "','LMES-工程项目模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo);
}
else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0) //编辑
{
string sql = "update PM_ProjectBillMain set " +
//"HYear = " + HYear +
//",HPeriod = " + HPeriod +
//",HBillType = '" + HBillType +
//"',HBillSubType = '" + HBillSubType +
//"',HDate = '" + HDate +
"HBillNo = '" + HBillNo +
//"',HBillStatus = " + HBillStatus +
"',HRemark = '" + HRemark +
"',HUpdater = '" + HUpdater +
"',HUpdateDate = '" + HUpdaterDate +
"',HProNumber = '" + HProNumber +
"',HProName = '" + HProName +
"',HCusID = " + HCusID +
",HBeginDate = '" + HBeginDate +
"',HEndDate = '" + HEndDate +
"',HSumMoney = " + HSumMoney +
",HProMoney = '" + HProMoney +
"',HWorkMoney = " + HWorkMoney +
",HOtherMoney = " + HOtherMoney +
",HProType = '" + HProType +
"',HPMEmpID = " + HPMEmpID +
",HWorkEmpID = " + HWorkEmpID +
",HDepEmpID = " + HDepEmpID +
",HConWorkDays = " + HConWorkDays +
",HDepDays = '" + HDepDays +
"',HLastMoney = " + HLastMoney +
",HPayCusID = " + HPayCusID +
",HOrgID = " + HOrgID +
",HMaterID = " + HMaterID +
",HProjectClassID = " + HProjectClassID +
",HBuildComp = '" + HBuildComp +
"',HBuildAddress = '" + HBuildAddress +
"',HWorkNo = '" + HWorkNo +
"',HReDate = '" + HReDate +
"',HPicNo = '" + HPicNo +
"',HWorkTask = '" + HWorkTask +
"',HProjectNote ='" + HProjectNote +
"',HContacts ='" + HContacts +
"',HContactNumber ='" + HContactNumber +
"',HSupplierID = '" + HSupplierID +
"',HMangerEmpID = '" + HMangerEmpID +
"',HMaterPlanDate = '" + HMaterPlanDate +
"',HWorkerID = '" + HWorkerID +
"',HPlanWorkTimes = '" + HPlanWorkTimes +
"',HRelWorkTimes = '" + HRelWorkTimes +
"',HTestDate = '" + HTestDate +
"',HTestCheckerID = '" + HTestCheckerID +
"',HTestNote = '" + HTestNote +
"',HSewageDate = '" + HSewageDate +
"',HWaterSupplyDate = '" + HWaterSupplyDate +
"',HWorkNote = '" + HWorkNote +
"',HWorkProcNote = '" + HWorkProcNote +
"',HYuSuanMoney = '" + HYuSuanMoney +
"',HHeTongMoney = '" + HHeTongMoney +
"',HJieSuanMoney = '" + HJieSuanMoney +
"',HShenJiMoney = '" + HShenJiMoney +
"',HCaiLiaoMoney = '" + HCaiLiaoMoney +
"',HAnZhuangMoney = '" + HAnZhuangMoney +
"',HBanZuMoney = '" + HBanZuMoney +
"',HYuShouKuanMoney = '" + HYuShouKuanMoney +
"',HGongFeiMoney = '" + HGongFeiMoney +
"',HJieZhangMoney = '" + HJieZhangMoney +
"',HTaskClassID = '" + HTaskClassID + "',HTaskClassEntryID = '" + HTaskClassEntryID + "',HTaskAddress = '" + HTaskAddress + "',HBreakStatus = '" + HBreakStatus + "',HWaterLeakage = '" + HWaterLeakage + "',HPipeDiameter = '" + HPipeDiameter +
"',HPipeMaterial = '" + HPipeMaterial + "',HAlarmEmp = '" + HAlarmEmp + "',HAlarmLink = '" + HAlarmLink + "',HReceEmp = '" + HReceEmp + "',HReceTime = '" + HReceTime + "',HTaskMaterMoney = '" + HTaskMaterMoney +
"',HTaskSetupMoney = '" + HTaskSetupMoney + "',HTaskOtherMoney = '" + HTaskOtherMoney + "',HTaskExamMoney = '" + HTaskExamMoney + "',HTaskWorkMoney = '" + HTaskWorkMoney + "',HIsAccount = '" + (HIsAccount?1:0) + "',HAccountDate = '" + HAccountDate +
"',HAccountWorkMoneyDate = '" + HAccountWorkMoneyDate + "',HIsCheckExam = '" + (HIsCheckExam?1:0) + "',HIsCheckWorkMoney = '" + (HIsCheckWorkMoney?1:0) + "',HInfoBackTime = '" + HInfoBackTime + "',HInfoBackMan = '" + HInfoBackMan + "',HInfoNote = '" + HInfoNote +
"',HTaskBTime = '" + HTaskBTime + "',HTaskETime = '" + HTaskETime + "',HTaskNote = '" + HTaskNote + "',HTaskWorkEmp = '" + HTaskWorkEmp + "',HBeginCloseValveTime = '" + HBeginCloseValveTime + "',HEndCloseValveTime = '" + HEndCloseValveTime +
"',HCloseValveQty = '" + HCloseValveQty + "',HBeginOpenValveTime = '" + HBeginOpenValveTime + "',HEndOpenValveTime = '" + HEndOpenValveTime + "',HOpenValveQty = '" + HOpenValveQty + "',HValveWorkEmp = '" + HValveWorkEmp + "',HTaskRemark = '" + HTaskRemark +
"' where HInterID = " + HInterID;
oCN.RunProc(sql);
//删除子表
oCN.RunProc("delete from PM_ProjectBillSub_Emp where HInterID='" + HInterID + "'");
oCN.RunProc("delete from PM_ProjectBillSub where HInterID='" + HInterID + "'");
//记录日志
LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",修改项目工程:" + HBillNo);
oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "修改项目工程:" + HBillNo + "','LMES-项目工程模块','" + DBUtility.ClsPub.IPAddress + "','修改单据'", ref DBUtility.ClsPub.sExeReturnInfo);
}
//保存子表
objJsonResult = AddBillSub1(msg3, HInterID, HBillNo, OperationType);
objJsonResult = AddBillSub2(msg4, HInterID, HBillNo, OperationType);
if (objJsonResult.code == "0")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = objJsonResult.Message;
objJsonResult.data = null;
return objJsonResult;
}
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = null;
objJsonResult.data = null;
return objJsonResult;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region 添加工程项目 表体:项目阶段表
public json AddBillSub1(string msg3, long HInterID, string HBillNo, int OperationType)
{
List DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3);
int i = 0; //作为子表内码
foreach (PM_ProjectBill_ProjectStage oSub in DetailColl)
{
i++; //同一个主表下的子表的内码自增
int HEntryID = i;
string HRemark = oSub.HRemarkSub;
int HProjectStageID = oSub.HProjectStageID;
string HStageNote = oSub.HStageNote;
int HPMGoodsID = oSub.HPMGoodsID;
string HRelationGoods = oSub.HPMGoodsName;
int HIsKey = oSub.HIsKey?1:0;
double HRate = oSub.HRate;
int HEmpID = oSub.HEmpID;
int HCheckEmpID = oSub.HCheckEmpID;
string HFinishDate = oSub.HFinishDate;
double HWorkDays = oSub.HWorkDays;
string sql = "insert into PM_ProjectBillSub" +
"(HInterID,HBillNo_bak,HEntryID,HRemark,HProjectStageID,HStageNote,HPMGoodsID,HRelationGoods,HIsKey,HRate,HEmpID,HCheckEmpID,HFinishDate,HWorkDays) " +
"values(" +
"" + HInterID +
",'" + HBillNo +
"'," + HEntryID +
",'" + HRemark +
"'," + HProjectStageID +
",'" + HStageNote +
"'," + HPMGoodsID +
",'" + HRelationGoods +
"'," + HIsKey +
"," + HRate +
"," + HEmpID +
"," + HCheckEmpID +
",'" + HFinishDate +
"'," + HWorkDays +
")";
oCN.RunProc(sql);
}
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = null;
objJsonResult.data = null;
return objJsonResult;
}
#endregion
#region 添加工程项目 表体:项目成员表
public json AddBillSub2(string msg3, long HInterID, string HBillNo, int OperationType)
{
List DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3);
int i = 0; //作为子表内码
foreach (PM_ProjectBill_Employee oSub in DetailColl)
{
i++; //同一个主表下的子表的内码自增
int HEntryID = i;
string HRemark = oSub.HRemarkSub;
int HEmpID = oSub.HEmployeeID;
int HIsPM = oSub.HIsPM?1:0;
double HRate = oSub.HRate;
double HPlanAvgMoney = oSub.HPlanAvgMoney;
double HPlanCountMoney = oSub.HPlanCountMoney;
string sql = "insert into PM_ProjectBillSub_Emp" +
"(HInterID,HBillNo_bak,HEntryID,HRemark,HEmpID,HIsPM,HRate,HPlanAvgMoney,HPlanCountMoney) " +
"values(" +
"" + HInterID +
",'" + HBillNo +
"'," + HEntryID +
",'" + HRemark +
"'," + HEmpID +
"," + HIsPM +
"," + HRate +
"," + HPlanAvgMoney +
"," + HPlanCountMoney +
")";
oCN.RunProc(sql);
}
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = null;
objJsonResult.data = null;
return objJsonResult;
}
#endregion
#endregion
#region 工程项目 查询
///
/// 返回项目阶段列表
///参数:string sql。
///返回值:object。
///
[Route("PM_ProjectBill/list")]
[HttpGet]
public object getProjectBill(string sWhere, string user)
{
try
{
List