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 columnNameList = new List(); //查看权限 //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user)) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无查看权限!"; // objJsonResult.data = null; // return objJsonResult; //} if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_PM_ProjectBillList order by 单据号 desc", "h_v_PM_ProjectBillList"); } else { string sql1 = "select * from h_v_PM_ProjectBillList where 1 = 1 "; string sql = sql1 + sWhere + " order by 单据号 desc"; ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectBillList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目分页列表 [Route("PM_ProjectBill/page")] [HttpGet] public object PM_ProjectBillPage(string sWhere, string user, int page, int size) { DataSet ds; try { List columnNameList = new List(); //判断权限 //if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBillQuery", 1, false, user)) //{ // objJsonResult.code = CodeConstant.FAIL; // objJsonResult.count = CountConstant.FAIL; // objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; // objJsonResult.data = null; // return objJsonResult; //} if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("exec h_p_PM_ProjectBillList " + page + "," + size + ",''", "h_p_PM_ProjectBillList"); } else { sWhere = sWhere.Replace("'", "''"); ds = oCN.RunProcReturn("exec h_p_PM_ProjectBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_PM_ProjectBillList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = CodeConstant.SUCCEED; objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); objJsonResult.Message = "Sucess!"; objJsonResult.list = columnNameList; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = CodeConstant.FAIL; objJsonResult.count = CountConstant.FAIL; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目 编辑-页面赋值 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/editInit")] [HttpGet] public object getProjectBilleditInit(string HInterID, string user) { try { List tableList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } if(HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_PM_ProjectBill_EditInit " + HInterID, "h_p_PM_ProjectBill_EditInit"); tableList.Add(ds.Tables[0]); tableList.Add(ds.Tables[1]); tableList.Add(ds.Tables[2]); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = tableList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目 删除 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/delete")] [HttpGet] public object deleteProjectBill(string HInterID, string user) { try { //查看权限 if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_delete", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } if(HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from PM_ProjectBillMain where HInterID = " + HInterID); oCN.RunProc("delete from PM_ProjectBillSub_Emp where HInterID='" + HInterID + "'"); oCN.RunProc("delete from PM_ProjectBillSub where HInterID='" + HInterID + "'"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; 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 工程项目 审核/反审核 /// /// /// /// 单据ID /// 审核(0),反审核(1) /// 审核人 /// [Route("PM_ProjectBill/AuditPM_ProjectBill")] [HttpGet] public object AuditPM_ProjectBill(string HInterID, int Type, string user) { try { //判断是否有审核权限 if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_Check", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限审核!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "PM_ProjectBillMain"; oCN.BeginTran();//开始事务 //Type 1 审核 2 反审核 if (Type == 1) { //判断单据是否已经审核 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if(ds==null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } //审核单据 if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反审核 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能进行反审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行反审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } //反审核单据 if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目 关闭/反关闭功能 [Route("PM_ProjectBill/ClosePM_ProjectBill")] [HttpGet] public object ClosePM_ProjectBill(string HInterID, int Type, string user) { try { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "PM_ProjectBillMain"; oCN.BeginTran();//开始事务 //Type 1 关闭 2 反关闭 if (Type == 1) { //判断单据是否已经关闭 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } //关闭单据 if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反关闭 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要再反关闭!"; objJsonResult.data = null; return objJsonResult; } //反关闭单据 if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目 作废/反作废功能 [Route("PM_ProjectBill/DropPM_ProjectBill")] [HttpGet] public object DropPM_ProjectBill(string HInterID, int Type, string user) { try { //判断是否有作废权限 if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限作废!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "PM_ProjectBillMain"; oCN.BeginTran();//开始事务 //Type 1 作废 2 反作废 if (Type == 1) { //判断单据是否已经作废 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能进行作废!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不需要再作废!"; objJsonResult.data = null; return objJsonResult; } //作废单据 if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反作废 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能进行作废!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未作废!不需要再反作废!"; objJsonResult.data = null; return objJsonResult; } //反作废单据 if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目 下推(阶段汇报)-页面显示 [Route("PM_ProjectBill/set_ProjectReport")] [HttpGet] public object ProjectBill_ProjectReport(string HInterID, string HProjectStageID, string user) { try { List columnNameList = new List(); List tables = new List(); //查看权限 //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user)) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无查看权限!"; // objJsonResult.data = null; // return objJsonResult; //} //获取表头信息 string sql = "exec h_p_PM_ProjectBill_setProjectReport " + HInterID + "," + HProjectStageID; ds = oCN.RunProcReturn(sql, "h_p_PM_ProjectBill_setProjectReport"); tables.Add(ds.Tables[0]); tables.Add(ds.Tables[1]); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "对应项目阶段不存在!"; objJsonResult.data = null; return objJsonResult; } //添加列名 foreach (DataColumn col in ds.Tables[1].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = tables; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目 下推(任务汇报)-页面显示 [Route("PM_ProjectBill/set_WorkTaskReport")] [HttpGet] public object ProjectBill_WorkTaskReport(string HInterID, string HProjectStageID, string user) { try { List columnNameList = new List(); List tables = new List(); //查看权限 //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user)) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无查看权限!"; // objJsonResult.data = null; // return objJsonResult; //} //获取表头信息 string sql = "exec h_p_PM_ProjectBill_setWorkTaskReport " + HInterID + "," + HProjectStageID; ds = oCN.RunProcReturn(sql, "h_p_PM_ProjectBill_setWorkTaskReport"); tables.Add(ds.Tables[0]); tables.Add(ds.Tables[1]); //添加列名 foreach (DataColumn col in ds.Tables[1].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = tables; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目 下推(工作任务)-页面显示 [Route("PM_ProjectBill/set_WorkTask")] [HttpGet] public object ProjectBill_WorkTask(string HInterID, string HEntryID, string user) { try { List columnNameList = new List(); //查看权限 //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user)) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无查看权限!"; // objJsonResult.data = null; // return objJsonResult; //} //获取表头信息 string sql = "exec h_p_PM_ProjectBill_setWorkTask " + HInterID + "," + HEntryID; ds = oCN.RunProcReturn(sql, "h_p_PM_ProjectBill_setWorkTask"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 月度阶段计划保存/编辑 /// /// 保存月度阶段计划 /// /// /// [Route("PM_ProjectBill/SavePM_WorkPlanMonthBillMain")] [HttpPost] public object SavePM_WorkPlanMonthBillMain([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); //子表 string refSav = sArray[2].ToString();//操作方式数据类型 1添加 3修改 2 复制 string user = sArray[3].ToString();//用户名 string UserName = ""; string s = ""; ListModels oListModels = new ListModels(); try { //保存权限 if (!DBUtility.ClsPub.Security_Log_second("PM_WorkPlanMonthBillMain_Add", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsPM_WorkPlanMonthBillMain oBill = new DAL.ClsPM_WorkPlanMonthBillMain(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_PM_WorkPlanMonthBillMain(msg2); foreach (Model.ClsPM_WorkPlanMonthBillMain oItem in lsmain) { if (refSav == "Add") { //单据号是否重复 if (BillNew2.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = 1; return objJsonResult; } } if (refSav == "Update") { if (BillOld2.ShowBill(oItem.HInterID, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据有误!"; objJsonResult.data = 1; return objJsonResult; } //判断是否可编辑 if (BillOld2.omodel.HChecker != "" && BillOld2.omodel.HChecker != null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据已经被审核,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (BillOld2.omodel.HBillStatus > 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } } UserName = oItem.HMaker; //制单人 oItem.HBillType = "4758"; oItem.HBillSubType = "4758"; //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } oBill.omodel = oItem; } // 表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_PM_WorkPlanMonthBillSub(msg3); int i = 0; foreach (Model.ClsPM_WorkPlanMonthBillSub oItemSub in ls) { i++; oItemSub.HEntryID = i; //oItemSub.HCloseMan = ""; //行关闭 oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); oItemSub.HCloseType = false; //关闭类型 //oItemSub.HRemark = ""; //备注 //oItemSub.HSourceInterID = 0; // 源单主内码 //oItemSub.HSourceEntryID = 0; //源单子内码 //oItemSub.HSourceBillNo = ""; //源单单号 //oItemSub.HSourceBillType = ""; //源单类型 //oItemSub.HRelationQty = 0; //关联数量 //oItemSub.HRelationMoney = 0; //关联金额 oBill.DetailColl.Add(oItemSub); } //保存 //保存完毕后处理 bool bResult; if (refSav == "Add") { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else if (refSav == "Update") { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = false; } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } #endregion #region 月度阶段计划 审核/反审核功能 [Route("PM_ProjectBill/CheckPM_WorkPlanMonthBillMain")] [HttpGet] public object CheckPM_WorkPlanMonthBillMain(int HInterID, int IsAudit, string CurUserName) { DBUtility.ClsPub.CurUserName = CurUserName; try { //审核权限 if (!DBUtility.ClsPub.Security_Log_second("PM_WorkPlanMonthBillMain_Check", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } //HInterID数据判断 if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换 DAL.ClsPM_WorkPlanMonthBillMain oBill = new DAL.ClsPM_WorkPlanMonthBillMain(); //实例化单据操作类,用于进行相关操作 //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 { if (oBill.omodel.HCloseMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HDeleteMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (IsAudit == 0) //审核判断 { if (oBill.omodel.HChecker.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核判断 { if (oBill.omodel.HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } //进行需要进行的审核/反审核操作 if (IsAudit == 0) //审核提交 { oCN.BeginTran(); //记录返回信息 string msg = ""; //审核前控制========================================= string sql1 = "exec h_p_PM_WorkPlanMonthBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_WorkPlanMonthBill_BeforeCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } //================================================================================== //审核提交 if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_WorkPlanMonthBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "审核成功!" + msg; objJsonResult.data = null; return objJsonResult; } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核提交 { //反审核前控制========================================= string sql1 = "exec h_p_PM_WorkPlanMonthBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_WorkPlanMonthBill_BeforeUnCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //=========================================================== //反审核提交AbandonCheck if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_WorkPlanMonthBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反审核成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 月度阶段计划 关闭/反关闭功能 [Route("PM_ProjectBill/ClosePM_WorkPlanMonthBillMain")] [HttpGet] public object ClosePM_WorkPlanMonthBillMain(string HInterID, int IsAudit, string user) { try { //判断是否有关闭权限 if (!DBUtility.ClsPub.Security_Log("PM_WorkPlanMonthBillMain_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } var ds = oCN.RunProcReturn("select * from PM_WorkPlanMonthBillMain where HInterID=" + HInterID, "PM_WorkPlanMonthBillMain"); if (ds.Tables[0].Rows.Count > 0) { if (IsAudit == 0) //关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要反关闭!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (IsAudit == 0) //关闭判断 { oCN.RunProc("update PM_WorkPlanMonthBillMain set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "关闭成功"; objJsonResult.data = null; } if (IsAudit == 1) //反审核判断 { oCN.RunProc("update PM_WorkPlanMonthBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反关闭成功"; objJsonResult.data = null; } oCN.Commit(); return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 月度阶段计划 查询 /// /// 返回项目阶段列表 ///参数:string sql。 ///返回值:object。 /// [Route("PM_ProjectBill/getPM_WorkPlanMonthBillMainList")] [HttpGet] public object getPM_WorkPlanMonthBillMainList(string HInterID,string HEntryID, string user) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_WorkPlanMonthBillMain_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } //根据我的项目中 主子id 下推来进行查询数据,然后回显到页面 string sql= @"select a.HInterID HSourceInterID ,b.HEntryID HSourceEntryID,a.HBillNo HSourceBillNo,a.HBillType HSourceBillType, a.HProNumber ,a.HProName 项目名称 ,c.HItemID HProjectStageID,c.HName 项目阶段 , b.HStageNote 项目阶段详细内容, b.HPMGoodsID 相关交付物, b.HIsKey 是否里程碑,b.HRate from PM_ProjectBillMain a inner join PM_ProjectBillSub b on a.HInterID = b.HInterID left join gy_ProjectStage c on c.HItemID = b.HProjectStageID where a.HInterID = '" + HInterID + "' and b.HEntryID = '"+ HEntryID + "'"; ds = oCN.RunProcReturn(sql, "PM_ProjectBillMain"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 月度阶段计划列表 查询 /// /// 返回项目阶段列表 ///参数:string sql。 ///返回值:object。 /// [Route("PM_ProjectBill/getPM_WorkPlanMonthBillMainLists")] [HttpGet] public object getPM_WorkPlanMonthBillMainLists(string sWhere, string user) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_WorkPlanMonthBillMain_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_PM_WorkPlanMonthBillMainList order by 单据号 desc", "h_v_PM_WorkPlanMonthBillMainList"); } else { string sql1 = "select * from h_v_PM_WorkPlanMonthBillMainList where 1 = 1 "; string sql = sql1 + sWhere + " order by 单据号 desc"; ds = oCN.RunProcReturn(sql, "h_v_PM_WorkPlanMonthBillMainList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 月度阶段计划列表 删除 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/PM_WorkPlanMonthBillMainDelete")] [HttpGet] public object PM_WorkReportWeekBillMainDelete(string HInterID, string user) { try { //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_WorkPlanMonthBillMain_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from PM_WorkPlanMonthBillMain where HInterID = " + HInterID); oCN.RunProc("delete from PM_WorkPlanMonthBillSub where HInterID='" + HInterID + "'"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; 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 月度阶段计划列表 获取编辑列表数据 [Route("PM_ProjectBill/PM_WorkPlanMonthBillMainEditList")] [HttpGet] public object PM_WorkPlanMonthBillMainEditList(string HInterID,string User) { try { List tableList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_WorkPlanMonthBillMain_Edit", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_PM_WorkPlanMonthBillMain_EditInit " + HInterID, "h_p_PM_WorkPlanMonthBillMain_EditInit"); tableList.Add(ds.Tables[0]); tableList.Add(ds.Tables[1]); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = tableList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目需求及问题清单 保存/编辑 /// /// 保存项目需求及问题清单 /// /// /// [Route("PM_ProjectBill/SavePM_CustomerTaskBillMain")] [HttpPost] public object SavePM_CustomerTaskBillMain([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string refSav = sArray[1].ToString();//操作方式数据类型 1添加 3修改 2 复制 string user = sArray[2].ToString();//用户名 string UserName = ""; string s = ""; ListModels oListModels = new ListModels(); try { //保存权限 if (!DBUtility.ClsPub.Security_Log_second("PM_CustomerTaskBillMain_Add", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsPM_CustomerTaskBillMain oBill = new DAL.ClsPM_CustomerTaskBillMain(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_PM_CustomerTaskBillMain(msg2); foreach (Model.ClsPM_CustomerTaskBillMain oItem in lsmain) { if (refSav == "Add") { //单据号是否重复 if (BillNew3.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = 1; return objJsonResult; } } if (refSav == "Update") { if (BillOld3.ShowBill(oItem.HInterID, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据有误!"; objJsonResult.data = 1; return objJsonResult; } //判断是否可编辑 if (BillOld3.omodel.HChecker != "" && BillOld3.omodel.HChecker != null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据已经被审核,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (BillOld3.omodel.HBillStatus > 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } } UserName = oItem.HMaker; //制单人 oItem.HBillType = "4759"; oItem.HBillSubType = "4759"; //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } oBill.omodel = oItem; } //保存 //保存完毕后处理 bool bResult; if (refSav == "Add") { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else if (refSav == "Update") { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = false; } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } #endregion #region 项目需求及问题清单列表 查询 /// /// 返回项目阶段列表 ///参数:string sql。 ///返回值:object。 /// [Route("PM_ProjectBill/getPM_CustomerTaskBillMainList")] [HttpGet] public object getPM_CustomerTaskBillMainList(string sWhere, string user) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_CustomerTaskBillMain_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; objJsonResult.data = null; return objJsonResult; } if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_PM_CustomerTaskBillMainList order by 单据号 desc", "h_v_PM_CustomerTaskBillMainList"); } else { string sql1 = "select * from h_v_PM_CustomerTaskBillMainList where 1 = 1 "; string sql = sql1 + sWhere + " order by 单据号 desc"; ds = oCN.RunProcReturn(sql, "h_v_PM_CustomerTaskBillMainList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目需求及问题清单列表 获取编辑列表数据 [Route("PM_ProjectBill/PM_CustomerTaskBillMainEditList")] [HttpGet] public object PM_CustomerTaskBillMainEditList(string HInterID, string User) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_CustomerTaskBillMain_Edit", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_PM_CustomerTaskBillMainList where HInterID =" + HInterID, "h_v_PM_CustomerTaskBillMainList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "查询成功!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目需求及问题清单列表 审核/反审核功能 [Route("PM_ProjectBill/CheckPM_CustomerTaskBillMain")] [HttpGet] public object CheckPM_CustomerTaskBillMain(int HInterID, int IsAudit, string CurUserName) { DBUtility.ClsPub.CurUserName = CurUserName; try { //审核权限 if (!DBUtility.ClsPub.Security_Log_second("PM_CustomerTaskBillMain_Check", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } //HInterID数据判断 if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换 DAL.ClsPM_CustomerTaskBillMain oBill = new DAL.ClsPM_CustomerTaskBillMain(); //实例化单据操作类,用于进行相关操作 //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 { if (oBill.omodel.HCloseMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HDeleteMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (IsAudit == 0) //审核判断 { if (oBill.omodel.HChecker.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核判断 { if (oBill.omodel.HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } //进行需要进行的审核/反审核操作 if (IsAudit == 0) //审核提交 { oCN.BeginTran(); //记录返回信息 string msg = ""; //审核前控制========================================= string sql1 = "exec h_p_PM_CustomerTaskBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_CustomerTaskBill_BeforeCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } //================================================================================== //审核提交 if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_CustomerTaskBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "审核成功!" + msg; objJsonResult.data = null; return objJsonResult; } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核提交 { //反审核前控制========================================= string sql1 = "exec h_p_PM_CustomerTaskBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_CustomerTaskBill_BeforeUnCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //=========================================================== //反审核提交AbandonCheck if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_CustomerTaskBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反审核成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目需求及问题清单列表 关闭/反关闭功能 [Route("PM_ProjectBill/ClosePM_CustomerTaskBillMain")] [HttpGet] public object ClosePM_CustomerTaskBillMain(string HInterID, int IsAudit, string user) { try { //判断是否有关闭权限 if (!DBUtility.ClsPub.Security_Log("PM_CustomerTaskBillMain_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } var ds = oCN.RunProcReturn("select * from PM_CustomerTaskBillMain where HInterID=" + HInterID, "PM_CustomerTaskBillMain "); if (ds.Tables[0].Rows.Count > 0) { if (IsAudit == 0) //关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要反关闭!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (IsAudit == 0) //关闭判断 { oCN.RunProc("update PM_CustomerTaskBillMain set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "关闭成功"; objJsonResult.data = null; } if (IsAudit == 1) //反审核判断 { oCN.RunProc("update PM_CustomerTaskBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反关闭成功"; objJsonResult.data = null; } oCN.Commit(); return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目需求及问题清单列表 删除 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/PM_CustomerTaskBillMainDelete")] [HttpGet] public object PM_CustomerTaskBillMainDelete(string HInterID, string user) { try { //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_CustomerTaskBillMain_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from PM_CustomerTaskBillMain where HInterID = " + HInterID); oCN.RunProc("delete from PM_CustomerTaskBillSub where HInterID='" + HInterID + "'"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; 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 项目需求及问题清单列表 催促次数功能 [Route("PM_ProjectBill/UpdateHHasten")] [HttpGet] public object UpdateHHasten(string HInterID, int HHasten, string user) { try { if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "PM_CustomerTaskBillMain"; oCN.BeginTran();//开始事务 DataSet ds; string sql = "select * from PM_CustomerTaskBillMain where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, "PM_CustomerTaskBillMain"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { string sql1 = "update PM_CustomerTaskBillMain set HHasten='" + HHasten + "' where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql1, "PM_CustomerTaskBillMain"); } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "催促成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用 保存/编辑 /// /// 项目费用 /// /// /// [Route("PM_ProjectBill/SavePM_ProjectMoneyBillMain")] [HttpPost] public object SavePM_ProjectMoneyBillMain([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); //子表 string refSav = sArray[2].ToString();//操作方式数据类型 1添加 3修改 2 复制 string user = sArray[3].ToString();//用户名 string UserName = ""; string s = ""; ListModels oListModels = new ListModels(); try { //保存权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectMoneyBillMain_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsPM_ProjectMoneyBillMain oBill = new DAL.ClsPM_ProjectMoneyBillMain(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_PM_ProjectMoneyBillMain(msg2); foreach (Model.ClsPM_ProjectMoneyBillMain oItem in lsmain) { if (refSav == "Add") { //单据号是否重复 if (BillNew4.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = 1; return objJsonResult; } } if (refSav == "Update") { if (BillOld4.ShowBill(oItem.HInterID, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据有误!"; objJsonResult.data = 1; return objJsonResult; } //判断是否可编辑 if (BillOld4.omodel.HChecker != "" && BillOld4.omodel.HChecker != null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据已经被审核,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (BillOld4.omodel.HBillStatus > 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } } UserName = oItem.HMaker; //制单人 oItem.HBillType = "4762"; oItem.HBillSubType = "4762"; //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } oBill.omodel = oItem; } // 表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_PM_ProjectMoneyBillSub(msg3); int i = 0; foreach (Model.ClsPM_ProjectMoneyBillSub oItemSub in ls) { i++; oItemSub.HEntryID = i; oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); oItemSub.HCloseType = false; //关闭类型 oBill.DetailColl.Add(oItemSub); } //保存 //保存完毕后处理 //保存 //保存完毕后处理 bool bResult; if (refSav == "Add") { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else if (refSav == "Update") { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = false; } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } #endregion #region 项目费用列表 查询 /// /// 返回项目费用列表 ///参数:string sql。 ///返回值:object。 /// [Route("PM_ProjectBill/getPM_ProjectMoneyBillMainList")] [HttpGet] public object getPM_ProjectMoneyBillMainList(string sWhere, string user) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBillMain_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; objJsonResult.data = null; return objJsonResult; } if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_PM_ProjectMoneyBillMainList order by 单据号 desc", "h_v_PM_ProjectMoneyBillMainList"); } else { string sql1 = "select * from h_v_PM_ProjectMoneyBillMainList where 1 = 1 "; string sql = sql1 + sWhere + " order by 单据号 desc"; ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectMoneyBillMainList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用列表 获取编辑列表数据 [Route("PM_ProjectBill/PM_ProjectMoneyBillMainEditList")] [HttpGet] public object PM_ProjectMoneyBillMainEditList(string HInterID, string User) { try { List tableList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBillMain_Edit", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_PM_ProjectMoneyBill_EditInit " + HInterID, "h_p_PM_ProjectMoneyBill_EditInit"); tableList.Add(ds.Tables[0]); tableList.Add(ds.Tables[1]); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "查询成功!"; objJsonResult.data = tableList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用列表 审核/反审核功能 [Route("PM_ProjectBill/CheckPM_ProjectMoneyBillMain")] [HttpGet] public object CheckPM_ProjectMoneyBillMain(int HInterID, int IsAudit, string CurUserName) { DBUtility.ClsPub.CurUserName = CurUserName; try { //审核权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectMoneyBillMain_Check", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } //HInterID数据判断 if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换 DAL.ClsPM_ProjectMoneyBillMain oBill = new DAL.ClsPM_ProjectMoneyBillMain(); //实例化单据操作类,用于进行相关操作 //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 { if (oBill.omodel.HCloseMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HDeleteMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (IsAudit == 0) //审核判断 { if (oBill.omodel.HChecker.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核判断 { if (oBill.omodel.HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } //进行需要进行的审核/反审核操作 if (IsAudit == 0) //审核提交 { oCN.BeginTran(); //记录返回信息 string msg = ""; //审核前控制========================================= string sql1 = "exec h_p_PM_ProjectMoneyBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_ProjectMoneyBill_BeforeCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } //================================================================================== //审核提交 if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_ProjectMoneyBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "审核成功!" + msg; objJsonResult.data = null; return objJsonResult; } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核提交 { //反审核前控制========================================= string sql1 = "exec h_p_PM_ProjectMoneyBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_ProjectMoneyBill_BeforeUnCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //=========================================================== //反审核提交AbandonCheck if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_ProjectMoneyBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反审核成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用列表 关闭/反关闭功能 [Route("PM_ProjectBill/ClosePM_ProjectMoneyBillMain")] [HttpGet] public object ClosePM_ProjectMoneyBillMain(string HInterID, int IsAudit, string user) { try { //判断是否有关闭权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBillMain_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } var ds = oCN.RunProcReturn("select * from PM_ProjectMoneyBillMain where HInterID=" + HInterID, "PM_ProjectMoneyBillMain"); if (ds.Tables[0].Rows.Count > 0) { if (IsAudit == 0) //关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要反关闭!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (IsAudit == 0) //关闭判断 { oCN.RunProc("update PM_ProjectMoneyBillMain set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "关闭成功"; objJsonResult.data = null; } if (IsAudit == 1) //反审核判断 { oCN.RunProc("update PM_ProjectMoneyBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反关闭成功"; objJsonResult.data = null; } oCN.Commit(); return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用列表 删除 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/PM_ProjectMoneyBillMainDelete")] [HttpGet] public object PM_ProjectMoneyBillMainDelete(string HInterID, string user) { try { //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBillMain_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from PM_ProjectMoneyBillMain where HInterID = " + HInterID); oCN.RunProc("delete from PM_ProjectMoneyBillMain where HInterID='" + HInterID + "'"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; 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 项目启动单 保存/编辑 /// /// 项目费用 /// /// /// [Route("PM_ProjectBill/SavePM_ProjectBeginBillMain")] [HttpPost] public object SavePM_ProjectBeginBillMain([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string refSav = sArray[1].ToString();//操作方式数据类型 1添加 3修改 2 复制 string user = sArray[2].ToString();//用户名 string UserName = ""; string s = ""; ListModels oListModels = new ListModels(); try { //保存权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectBeginBillMain_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsPM_ProjectBeginBillMain oBill = new DAL.ClsPM_ProjectBeginBillMain(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_PM_ProjectBeginBillMain(msg2); foreach (Model.ClsPM_ProjectBeginBillMain oItem in lsmain) { if (refSav == "Add") { //单据号是否重复 if (BillNew5.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = 1; return objJsonResult; } } if (refSav == "Update") { if (BillOld5.ShowBill(oItem.HInterID, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据有误!"; objJsonResult.data = 1; return objJsonResult; } //判断是否可编辑 if (BillOld5.omodel.HChecker != "" && BillOld5.omodel.HChecker != null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据已经被审核,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (BillOld5.omodel.HBillStatus > 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = s + ",不允许修改"; objJsonResult.data = 1; return objJsonResult; } } UserName = oItem.HMaker; //制单人 oItem.HBillType = "4760"; oItem.HBillSubType = "4760"; //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } oBill.omodel = oItem; } //保存 //保存完毕后处理 bool bResult; if (refSav == "Add") { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else if (refSav == "Update") { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = false; } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } #endregion #region 项目启动单列表 查询 /// /// 返回项目启动单列表 ///参数:string sql。 ///返回值:object。 /// [Route("PM_ProjectBill/getPM_ProjectBeginBillMainList")] [HttpGet] public object getPM_ProjectBeginBillMainList(string sWhere, string user) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectBeginBillMain_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; objJsonResult.data = null; return objJsonResult; } if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_PM_ProjectBeginBillMainList order by 单据号 desc", "h_v_PM_ProjectBeginBillMainList"); } else { string sql1 = "select * from h_v_PM_ProjectBeginBillMainList where 1 = 1 "; string sql = sql1 + sWhere + " order by 单据号 desc"; ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectBeginBillMainList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目启动单列表 获取编辑列表数据 [Route("PM_ProjectBill/PM_ProjectBeginBillMainEditList")] [HttpGet] public object PM_ProjectBeginBillMainEditList(string HInterID, string User) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectBeginBillMain_Edit", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_PM_ProjectBeginBillMainList where HInterID='" + HInterID + "'", "h_v_PM_ProjectBeginBillMainList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目启动单列表 审核/反审核功能 [Route("PM_ProjectBill/CheckPM_ProjectBeginBillMain")] [HttpGet] public object CheckPM_ProjectBeginBillMain(int HInterID, int IsAudit, string CurUserName) { DBUtility.ClsPub.CurUserName = CurUserName; try { //审核权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectEndBillMain_Check", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } //HInterID数据判断 if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换 DAL.ClsPM_ProjectBeginBillMain oBill = new DAL.ClsPM_ProjectBeginBillMain(); //实例化单据操作类,用于进行相关操作 //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 { if (oBill.omodel.HCloseMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HDeleteMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (IsAudit == 0) //审核判断 { if (oBill.omodel.HChecker.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核判断 { if (oBill.omodel.HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } //进行需要进行的审核/反审核操作 if (IsAudit == 0) //审核提交 { oCN.BeginTran(); //记录返回信息 string msg = ""; if (oBill.omodel.HMainSourceInterID != 0) { //检验源单是否存在及单据状态 string sql = "select * from PM_ProjectBeginBillMain where HInterID = " + oBill.omodel.HMainSourceInterID; ds = oCN.RunProcReturn(sql, "PM_ProjectBeginBillMain"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!原因:源单-特批申请单不存在!"; objJsonResult.data = null; return objJsonResult; } else if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() != "2") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!原因:源单-特批申请单未处于已审核状态!"; objJsonResult.data = null; return objJsonResult; } } //审核前控制========================================= string sql1 = "exec h_p_PM_ProjectBeginBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_ProjectBeginBill_BeforeCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } //================================================================================== //审核提交 if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_ProjectBeginBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "审核成功!" + msg; objJsonResult.data = null; return objJsonResult; } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核提交 { //反审核前控制========================================= string sql1 = "exec h_p_PM_ProjectBeginBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_ProjectBeginBill_BeforeUnCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //=========================================================== //反审核提交AbandonCheck if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_ProjectBeginBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反审核成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目启动单列表 关闭/反关闭功能 [Route("PM_ProjectBill/ClosePM_ProjectBeginBillMain")] [HttpGet] public object ClosePM_ProjectBeginBillMain(string HInterID, int IsAudit, string user) { try { //判断是否有关闭权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectBeginBillMain_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } var ds = oCN.RunProcReturn("select * from PM_ProjectBeginBillMain where HInterID=" + HInterID, "PM_ProjectBeginBillMain"); if (ds.Tables[0].Rows.Count > 0) { if (IsAudit == 0) //关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要反关闭!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (IsAudit == 0) //关闭判断 { oCN.RunProc("update PM_ProjectBeginBillMain set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "关闭成功"; objJsonResult.data = null; } if (IsAudit == 1) //反审核判断 { oCN.RunProc("update PM_ProjectBeginBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反关闭成功"; objJsonResult.data = null; } oCN.Commit(); return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目启动单列表 删除 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/PM_ProjectBeginBillMainDelete")] [HttpGet] public object PM_ProjectBeginBillMainDelete(string HInterID, string user) { try { //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectBeginBillMain_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from PM_ProjectBeginBillMain where HInterID = " + HInterID); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; 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 项目验收单 保存/编辑 /// /// 项目验收单 /// /// /// [Route("PM_ProjectBill/SavePM_ProjectEndBillMain")] [HttpPost] public object SavePM_ProjectEndBillMain([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string refSav = sArray[1].ToString();//操作方式数据类型 1添加 3修改 2 复制 string user = sArray[2].ToString();//用户名 string UserName = ""; string s = ""; ListModels oListModels = new ListModels(); try { //保存权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectEndBillMain_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsPM_ProjectEndBillMain oBill = new DAL.ClsPM_ProjectEndBillMain(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_PM_ProjectEndBillMain(msg2); foreach (Model.ClsPM_ProjectEndBillMain oItem in lsmain) { if (refSav == "Add") { //单据号是否重复 if (BillNew6.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = 1; return objJsonResult; } } if (refSav == "Update") { if (BillOld6.ShowBill(oItem.HInterID, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据有误!"; objJsonResult.data = 1; return objJsonResult; } //判断是否可编辑 if (BillOld6.omodel.HChecker != "" && BillOld6.omodel.HChecker != null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据已经被审核,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (BillOld6.omodel.HBillStatus > 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = s + ",不允许修改"; objJsonResult.data = 1; return objJsonResult; } } UserName = oItem.HMaker; //制单人 oItem.HBillType = "4761"; oItem.HBillSubType = "4761"; //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } oBill.omodel = oItem; } //保存 //保存完毕后处理 bool bResult; if (refSav == "Add") { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else if (refSav == "Update") { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = false; } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } #endregion #region 项目验收单列表 查询 /// /// 返回项目验收单列表 ///参数:string sql。 ///返回值:object。 /// [Route("PM_ProjectBill/getPM_ProjectEndBillMainList")] [HttpGet] public object getPM_ProjectEndBillMainList(string sWhere, string user) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectEndBillMain_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; objJsonResult.data = null; return objJsonResult; } if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_PM_ProjectEndBillMainList order by 单据号 desc", "h_v_PM_ProjectEndBillMainList"); } else { string sql1 = "select * from h_v_PM_ProjectEndBillMainList where 1 = 1 "; string sql = sql1 + sWhere + " order by 单据号 desc"; ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectEndBillMainList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目验收单列表 获取编辑列表数据 [Route("PM_ProjectBill/PM_ProjectEndBillMainEditList")] [HttpGet] public object PM_ProjectEndBillMainEditList(string HInterID, string User) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectEndBillMain_Edit", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_PM_ProjectEndBillMainList where HInterID='" + HInterID + "'", "h_v_PM_ProjectEndBillMainList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目验收单列表 审核/反审核功能 [Route("PM_ProjectBill/CheckPM_ProjectEndBillMain")] [HttpGet] public object CheckPM_ProjectEndBillMain(int HInterID, int IsAudit, string CurUserName) { DBUtility.ClsPub.CurUserName = CurUserName; try { //审核权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectEndBillMain_Check", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } //HInterID数据判断 if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换 DAL.ClsPM_ProjectEndBillMain oBill = new DAL.ClsPM_ProjectEndBillMain(); //实例化单据操作类,用于进行相关操作 //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 { if (oBill.omodel.HCloseMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HDeleteMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (IsAudit == 0) //审核判断 { if (oBill.omodel.HChecker.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核判断 { if (oBill.omodel.HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } //进行需要进行的审核/反审核操作 if (IsAudit == 0) //审核提交 { oCN.BeginTran(); //记录返回信息 string msg = ""; //审核前控制========================================= string sql1 = "exec h_p_PM_ProjectEndBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_ProjectEndBill_BeforeCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } //================================================================================== //审核提交 if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_ProjectEndBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "审核成功!" + msg; objJsonResult.data = null; return objJsonResult; } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核提交 { //反审核前控制========================================= string sql1 = "exec h_p_PM_ProjectEndBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql1, "h_p_PM_ProjectEndBill_BeforeUnCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //=========================================================== //反审核提交AbandonCheck if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_PM_ProjectEndBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反审核成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目验收单列表 关闭/反关闭功能 [Route("PM_ProjectBill/ClosePM_ProjectEndBillMain")] [HttpGet] public object ClosePM_ProjectEndBillMain(string HInterID, int IsAudit, string user) { try { //判断是否有关闭权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectEndBillMain_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } var ds = oCN.RunProcReturn("select * from PM_ProjectEndBillMain where HInterID=" + HInterID, "PM_ProjectEndBillMain"); if (ds.Tables[0].Rows.Count > 0) { if (IsAudit == 0) //关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要反关闭!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (IsAudit == 0) //关闭判断 { oCN.RunProc("update PM_ProjectEndBillMain set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "关闭成功"; objJsonResult.data = null; } if (IsAudit == 1) //反审核判断 { oCN.RunProc("update PM_ProjectEndBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反关闭成功"; objJsonResult.data = null; } oCN.Commit(); return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目验收单列表 删除 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/PM_ProjectEndBillMainDelete")] [HttpGet] public object PM_ProjectEndBillMainDelete(string HInterID, string user) { try { //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectEndBillMain_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from PM_ProjectEndBillMain where HInterID = " + HInterID); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; 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 项目费用清单 #region 项目费用清单 保存/编辑 /// /// 项目费用清单 /// /// /// [Route("PM_ProjectBill/SaveGy_ProjectMoneyBOMBill")] [HttpPost] public object SaveGy_ProjectMoneyBOMBill([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); //子表 string refSav = sArray[2].ToString();//操作方式数据类型 1添加 3修改 2 复制 string user = sArray[3].ToString();//用户名 string UserName = ""; string s = ""; ListModels oListModels = new ListModels(); try { //保存权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectMoneyBOMBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!无权限!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsGy_ProjectMoneyBOMBill oBill = new DAL.ClsGy_ProjectMoneyBOMBill(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n //序列化主表数据 var jsonString = "[" + msg2.ToString() + "]"; lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString); foreach (Model.ClsGy_ProjectMoneyBOMBillMain oItem in lsmain) { if (refSav == "Add") { //单据号是否重复 if (BillNew7.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = 1; return objJsonResult; } } if (refSav == "Update") { if (BillNew7.ShowBill(oItem.HInterID, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据有误!"; objJsonResult.data = 1; return objJsonResult; } //判断是否可编辑 if (BillNew7.omodel.HChecker != "" && BillNew7.omodel.HChecker != null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据已经被审核,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } if (BillNew7.omodel.HBillStatus > 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; objJsonResult.data = 1; return objJsonResult; } } UserName = oItem.HMaker; //制单人 oItem.HBillType = "3338"; oItem.HBillSubType = "3338"; //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } oBill.omodel = oItem; } // 表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); jsonString = "[" + msg3.ToString() + "]"; ls = Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString); int i = 0; foreach (Model.ClsGy_ProjectMoneyBOMBillSub oItemSub in ls) { i++; oItemSub.HEntryID = i; oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); oItemSub.HCloseType = false; //关闭类型 oBill.DetailColl.Add(oItemSub); } //保存 //保存完毕后处理 bool bResult; if (refSav == "Add") { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else if (refSav == "Update") { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = false; } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } #endregion #region 项目费用清单列表 查询 /// /// 返回项目费用清单列表 ///参数:string sql。 ///返回值:object。 /// [Route("PM_ProjectBill/getGy_ProjectMoneyBOMBillList")] [HttpGet] public object getGy_ProjectMoneyBOMBillList(string sWhere, string user) { try { List columnNameList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectMoneyBOMBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查询失败!无权限!"; objJsonResult.data = null; return objJsonResult; } if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_Gy_ProjectMoneyBOMBillList order by 单据号 desc", "h_v_Gy_ProjectMoneyBOMBillList"); } else { string sql1 = "select * from h_v_Gy_ProjectMoneyBOMBillList where 1 = 1 "; string sql = sql1 + sWhere + " order by 单据号 desc"; ds = oCN.RunProcReturn(sql, "h_v_Gy_ProjectMoneyBOMBillList"); } //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用清单列表 获取编辑列表数据 [Route("PM_ProjectBill/Gy_ProjectMoneyBOMBillEditList")] [HttpGet] public object Gy_ProjectMoneyBOMBillMainEditList(string HInterID, string User) { try { List tableList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Edit", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查询失败!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_Gy_ProjectMoneyBOMBillList where HInterID =" + HInterID, "h_v_Gy_ProjectMoneyBOMBillList"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "false!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用清单列表 审核/反审核功能 [Route("PM_ProjectBill/CheckGy_ProjectMoneyBOMBill")] [HttpGet] public object CheckGy_ProjectMoneyBOMBill(string HInterID, int Type, string user) { try { //判断是否有审核权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Check", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限审核!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld1.MvarItemKey = "Gy_ProjectMoneyBOMBillMain"; oCN.BeginTran();//开始事务 //Type 1 审核 2 反审核 if (Type == 1) { //判断单据是否已经审核 DataSet ds; string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } //审核单据 if (!BillOld1.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反审核 DataSet ds; string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能进行反审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行反审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } //反审核单据 if (!BillOld1.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用清单列表 关闭/反关闭功能 [Route("PM_ProjectBill/CloseGy_ProjectMoneyBOMBill")] [HttpGet] public object CloseGy_ProjectMoneyBOMBill(string HInterID, int Type, string user) { try { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld7.MvarItemKey = "Gy_ProjectMoneyBOMBillMain"; oCN.BeginTran();//开始事务 //Type 1 关闭 2 反关闭 if (Type == 1) { //判断单据是否已经关闭 DataSet ds; string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } //关闭单据 if (!BillOld7.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反关闭 DataSet ds; string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要再反关闭!"; objJsonResult.data = null; return objJsonResult; } //反关闭单据 if (!BillOld7.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用清单列表 作废/反作废功能 [Route("PM_ProjectBill/DropGy_ProjectMoneyBOMBill")] [HttpGet] public object DropGy_ProjectMoneyBOMBillMain(string HInterID, int Type, string user) { try { //判断是否有作废权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限作废!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld7.MvarItemKey = "Gy_ProjectMoneyBOMBillMain"; oCN.BeginTran();//开始事务 //Type 1 作废 2 反作废 if (Type == 1) { //判断单据是否已经作废 DataSet ds; string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能进行作废!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不需要再作废!"; objJsonResult.data = null; return objJsonResult; } //作废单据 if (!BillOld7.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反作废 DataSet ds; string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能进行作废!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未作废!不需要再反作废!"; objJsonResult.data = null; return objJsonResult; } //反作废单据 if (!BillOld7.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 项目费用清单列表 删除 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("PM_ProjectBill/DeleteGy_ProjectMoneyBOMBill")] [HttpGet] public object DeleteGy_ProjectMoneyBOMBillMain(string HInterID, string user) { try { //查看权限 if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Delete", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } if (HInterID == null || HInterID.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID不能为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from Gy_ProjectMoneyBOMBillMain where HInterID = " + HInterID); oCN.RunProc("delete from Gy_ProjectMoneyBOMBillSub where HInterID = " + HInterID); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; 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 项目费用清单 行关闭/行反关闭 /// /// /// 单据ID /// 关闭(1),反关闭(2) /// 关闭人 /// [Route("PM_ProjectBill/CloseRowGy_ProjectMoneyBOMBill")] [HttpGet] public object CloseRowGy_ProjectMoneyBOMBill(int HInterID, int HEntryID, int IsAudit, string CurUserName) { string ModRightNameCheck = "PM_ProjectMoneyBOMBill_Close"; string SubBillName = "Gy_ProjectMoneyBOMBillSub"; //子表表名 DBUtility.ClsPub.CurUserName = CurUserName; DataSet ds = null; try { //检查权限 if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "行关闭失败!无权限!"; objJsonResult.data = null; return objJsonResult; } //HInterID数据判断 if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换 DAL.ClsGy_ProjectMoneyBOMBill oBill = new DAL.ClsGy_ProjectMoneyBOMBill(); //实例化单据操作类,用于进行相关操作 //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 { if (oBill.omodel.HDeleteMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行行关闭!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HCloseMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能进行行关闭!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不能进行行关闭!"; objJsonResult.data = null; return objJsonResult; } string sql = "select * from " + SubBillName + " where HInterID = " + HInterID + " and HEntryID = " + HEntryID; ds = oCN.RunProcReturn(sql, "Cg_POOrderBillSub"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "该行数据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } if (IsAudit == 1) //行关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "行已关闭!不能再次行关闭!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 2) //行反关闭判断 { if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "行未关闭!不需要再行反关闭!"; objJsonResult.data = null; return objJsonResult; } //判断行是否为自动关闭 string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString(); if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "行反关闭失败!行为自动关闭,不能进行手动反关闭!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } //进行需要进行的行关闭/行反关闭操作 if (IsAudit == 1) //行关闭提交 { //行关闭提交 if (oBill.CloseRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "行关闭成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "行关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 2) //行反关闭提交 { //行反关闭提交 if (oBill.CancelRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反关闭成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "关闭失败或者反关闭失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #endregion #region 项目费用待审核列表 #region 工程项目费用待审核列表 [Route("PM_ProjectBill/NeedCheckQuery")] [HttpGet] public object PM_ProjectBillNeedCheckQuery(string user) { DataSet ds; try { List columnNameList = new List(); //判断权限 //if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBillQuery", 1, false, user)) //{ // objJsonResult.code = CodeConstant.FAIL; // objJsonResult.count = CountConstant.FAIL; // objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; // objJsonResult.data = null; // return objJsonResult; //} //sWhere = sWhere.Replace("'", "''"); ds = oCN.RunProcReturn("exec h_p_PM_ProjectBillNeedCheckQuery ", "h_p_PM_ProjectBillNeedCheckQuery"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = CodeConstant.SUCCEED; objJsonResult.count = CountConstant.SUCCEED; objJsonResult.Message = "Sucess!"; objJsonResult.list = columnNameList; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = CodeConstant.FAIL; objJsonResult.count = CountConstant.FAIL; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目费用 审核/反审核 [Route("PM_ProjectBill/AuditTaskMoney")] [HttpGet] public object AuditTaskMoney(string HInterID, string Type, string user) { try { //判断是否有审核权限 if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_Check", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限审核!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "PM_ProjectBillMain"; oCN.BeginTran();//开始事务 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } //Type 任务安装费审核标记 if (Type == "SetupMoneyCheck") { if (ds.Tables[0].Rows[0]["HTaskSetupMoneyCheckFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskSetupMoneyCheckFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已审核!"; objJsonResult.data = null; return objJsonResult; ; } } //任务附属审核 else if (Type == "OtherMoneyCheck") { if (ds.Tables[0].Rows[0]["HTaskOtherMoneyCheckFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskOtherMoneyCheckFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已审核!"; objJsonResult.data = null; return objJsonResult; ; } } //任务考核费审核 else if (Type == "ExamMoneyCheck") { if (ds.Tables[0].Rows[0]["HTaskExamMoneyCheckFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskExamMoneyCheckFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已审核!"; objJsonResult.data = null; return objJsonResult; ; } } //任务工费审核标记 else if (Type == "WorkMoneyCheck") { if (ds.Tables[0].Rows[0]["HTaskWorkMoneyCheckFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskWorkMoneyCheckFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已审核!"; objJsonResult.data = null; return objJsonResult; ; } } //反审核费用 else if (Type == "UnCheck") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskWorkMoneyCheckFlag = 0,HTaskExamMoneyCheckFlag = 0,HTaskOtherMoneyCheckFlag = 0,HTaskSetupMoneyCheckFlag = 0 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核类型不存在!"; objJsonResult.data = null; return objJsonResult; ; } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #endregion #region 项目费用待保存列表 #region 工程项目费用待保存列表 [Route("PM_ProjectBill/NeedSaveQuery")] [HttpGet] public object PM_ProjectBillNeedSaveQuery(string user) { DataSet ds; try { List columnNameList = new List(); //判断权限 //if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBillQuery", 1, false, user)) //{ // objJsonResult.code = CodeConstant.FAIL; // objJsonResult.count = CountConstant.FAIL; // objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; // objJsonResult.data = null; // return objJsonResult; //} //sWhere = sWhere.Replace("'", "''"); ds = oCN.RunProcReturn("exec h_p_PM_ProjectBillNeedSaveQuery ", "h_p_PM_ProjectBillNeedSaveQuery"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = CodeConstant.SUCCEED; objJsonResult.count = CountConstant.SUCCEED; objJsonResult.Message = "Sucess!"; objJsonResult.list = columnNameList; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = CodeConstant.FAIL; objJsonResult.count = CountConstant.FAIL; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工程项目费用 保存反保存 [Route("PM_ProjectBill/SaveTaskMoney")] [HttpGet] public object SaveTaskMoney(string HInterID, string Type, string user) { try { //判断是否有审核权限 if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限审核!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "PM_ProjectBillMain"; oCN.BeginTran();//开始事务 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } //Type 任务安装费审核标记 if (Type == "SetupMoneySave") { if (ds.Tables[0].Rows[0]["HTaskSetupMoneySaveFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskSetupMoneySaveFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已保存!"; objJsonResult.data = null; return objJsonResult; ; } } //任务附属审核 else if (Type == "OtherMoneySave") { if (ds.Tables[0].Rows[0]["HTaskOtherMoneySaveFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskOtherMoneySaveFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已保存!"; objJsonResult.data = null; return objJsonResult; ; } } //任务考核费审核 else if (Type == "ExamMoneySave") { if (ds.Tables[0].Rows[0]["HTaskExamMoneySaveFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskExamMoneySaveFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已保存!"; objJsonResult.data = null; return objJsonResult; ; } } //任务工费审核标记 else if (Type == "WorkMoneySave") { if (ds.Tables[0].Rows[0]["HTaskWorkMoneySaveFlag"].ToString() == "False") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskWorkMoneySaveFlag = 1 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "费用已保存!"; objJsonResult.data = null; return objJsonResult; ; } } //反审核费用 else if (Type == "UnSave") { oCN.RunProcReturn("update PM_ProjectBillMain set HTaskWorkMoneySaveFlag = 0,HTaskExamMoneySaveFlag = 0,HTaskOtherMoneySaveFlag = 0,HTaskSetupMoneySaveFlag = 0 where HInterID = " + HInterID, "PM_ProjectBillMain"); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核类型不存在!"; objJsonResult.data = null; return objJsonResult; ; } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "执行成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #endregion } }