DAL/³µ¼ä¹ÜÀí/ClsWW_EntrustWorkOrderBill.cs
@@ -18,8 +18,8 @@
            base.MvarItemKeySub4 = "";
            base.MvarItemKey = "WW_EntrustWorkOrderBillMain";
            base.MvarReportTitle = "委外加工单";
            base.BillType = "1602";
            base.HBillSubType = "1602";
            base.BillType = "3740";
            base.HBillSubType = "3740";
        }
@@ -41,7 +41,7 @@
                oCn.BeginTran();
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch_Del " + lngBillKey.ToString());
                //oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch_Del " + lngBillKey.ToString());
                //删除明细表
                DeleteBillSub(lngBillKey);
                DeleteBillSub2(lngBillKey);
@@ -66,6 +66,22 @@
        {
            try
            {
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_WW_EntrustWorkOrderBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_WW_EntrustWorkOrderBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                //
                oCn.BeginTran();
                //更新主表
@@ -82,9 +98,9 @@
                ",HSupID=" + omodel.HSupID.ToString() +
                ",HOrderProcNO='" + omodel.HOrderProcNO + "'" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch_Del " + lngBillKey.ToString());
                ////删除关联
                //DeleteRelation(ref sReturn, lngBillKey);
                //oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch_Del " + lngBillKey.ToString());
                //删除子表
                DeleteBillSub(lngBillKey);
@@ -97,40 +113,57 @@
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HOrderBillNo,HMaterLenModel,HMaterQty,HMaterID,HQty" +
                      ",HEntrustType,HNextProcName,HPrice,HOutQty,HInQty" +
                      ",HBackSupDate,HInDate,HWorkProcFlow,HProcID,HLeftMater" +
                      ",HInDate,HWorkProcFlow,HProcID,HLeftMater" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      ",'" + oSub.HOrderBillNo + "','" + oSub.HMaterLenModel + "'," + oSub.HMaterQty.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() +
                      ",'" + oSub.HEntrustType + "','" + oSub.HNextProcName + "'," + oSub.HPrice.ToString() + "," + oSub.HOutQty.ToString() + "," + oSub.HInQty.ToString() +
                      ",'" + oSub.HBackSupDate.ToShortDateString() + "','" + oSub.HInDate.ToShortDateString() + "','" + oSub.HWorkProcFlow + "'," + oSub.HProcID.ToString() +",'" + oSub.HLeftMater + "'" +
                     ",'" + oSub.HInDate.ToShortDateString() + "','" + oSub.HWorkProcFlow + "'," + oSub.HProcID.ToString() +",'" + oSub.HLeftMater + "'" +
                      ") ");
                }
                //根据内码 å§”外工单表头供应商 å›žå¡«å¯¹åº”流转卡 ä¾›åº”商,有委外标记才回填
                oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch " + omodel.HInterID.ToString());
                ////根据内码 å§”外工单表头供应商 å›žå¡«å¯¹åº”流转卡 ä¾›åº”商,有委外标记才回填
                //oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch " + omodel.HInterID.ToString());
                ////
                ////
                //DataSet Ds;
                //Ds = oCn.RunProcReturn("exec h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl " + omodel.HInterID.ToString() + "", "h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl");
                //if (Ds == null)
                //{
                //    sReturn = "判断数量失败!";
                //    oCn.RollBack();
                //    return false;
                //}
                //if (Ds.Tables[0].Rows.Count == 0)
                //{
                //    sReturn = "判断数量失败!";
                //    oCn.RollBack();
                //    return false;
                //}
                //if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBack"]) == "2")
                //{
                //    sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackRemark"]);
                //    oCn.RollBack();
                //    return false;
                //}
                //
                //
                DataSet Ds;
                Ds = oCn.RunProcReturn("exec h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl " + omodel.HInterID.ToString() + "", "h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl");
                if (Ds == null)
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_WW_EntrustWorkOrderBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_WW_EntrustWorkOrderBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "判断数量失败!";
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (Ds.Tables[0].Rows.Count == 0)
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "判断数量失败!";
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBack"]) == "2")
                {
                    sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //
                //============================
                sReturn = "修改单据成功!";
                oCn.Commit();
@@ -150,6 +183,22 @@
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_WW_EntrustWorkOrderBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_WW_EntrustWorkOrderBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                //omodel.HBillNo = DBUtility.ClsPub.CreateBillCode(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
                //若MAINDI重复则重新获取
                //if (IsExistBillNo(ref DBUtility.ClsPub.sExeReturnInfo, omodel.HBillNo, Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew, omodel.HInterID))
@@ -169,8 +218,8 @@
                ",HDeptID,HSupID,HOrderProcNO" +
                ") " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                ", " + omodel.HDeptID.ToString() + "," + omodel.HSupID.ToString() + ",'" + omodel.HOrderProcNO + "'" +
                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "','" + omodel.HDate+
                "', " + omodel.HDeptID.ToString() + "," + omodel.HSupID.ToString() + ",'" + omodel.HOrderProcNO + "'" +
                ") ");
                //插入子表
                foreach (Model.ClsWW_EntrustWorkOrderBillSub oSub in DetailColl)
@@ -180,40 +229,58 @@
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HOrderBillNo,HMaterLenModel,HMaterQty,HMaterID,HQty" +
                      ",HEntrustType,HNextProcName,HPrice,HOutQty,HInQty" +
                      ",HBackSupDate,HInDate,HWorkProcFlow,HProcID,HLeftMater" +
                      ",HInDate,HWorkProcFlow,HProcID,HLeftMater" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      ",'" + oSub.HOrderBillNo + "','" + oSub.HMaterLenModel + "'," + oSub.HMaterQty.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() +
                      ",'" + oSub.HEntrustType + "','" + oSub.HNextProcName + "'," + oSub.HPrice.ToString() + "," + oSub.HOutQty.ToString() + "," + oSub.HInQty.ToString() +
                      ",'" + oSub.HBackSupDate.ToShortDateString() + "','" + oSub.HInDate.ToShortDateString() + "','" + oSub.HWorkProcFlow + "'," + oSub.HProcID.ToString() + ",'" + oSub.HLeftMater +  "'"  +
                      ",'" + oSub.HInDate.ToShortDateString() + "','" + oSub.HWorkProcFlow + "'," + oSub.HProcID.ToString() + ",'" + oSub.HLeftMater +  "'"  +
                      ") ");
                }
                //根据内码 å§”外工单表头供应商 å›žå¡«å¯¹åº”流转卡 ä¾›åº”商,有委外标记才回填..并且回填 å…³è”数量
                oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch " + omodel.HInterID.ToString());
                //oCn.RunProc("exec h_p_WW_EntrustWorkOrderToProcExch " + omodel.HInterID.ToString());
                //
                DataSet Ds;
                Ds = oCn.RunProcReturn("exec h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl " + omodel.HInterID.ToString() + "", "h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl");
                if (Ds == null)
                {
                    sReturn = "判断数量失败!";
                    oCn.RollBack();
                    return false;
                }
                if (Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "判断数量失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBack"]) == "2")
                {
                    sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //DataSet Ds;
                //Ds = oCn.RunProcReturn("exec h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl " + omodel.HInterID.ToString() + "", "h_p_WW_EntrustWorkOrderToProcExch_QtyCtrl");
                //if (Ds == null)
                //{
                //    sReturn = "判断数量失败!";
                //    oCn.RollBack();
                //    return false;
                //}
                //if (Ds.Tables[0].Rows.Count == 0)
                //{
                //    sReturn = "判断数量失败!";
                //    oCn.RollBack();
                //    return false;
                //}
                //if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBack"]) == "2")
                //{
                //    sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackRemark"]);
                //    oCn.RollBack();
                //    return false;
                //}
                //
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_WW_EntrustWorkOrderBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_WW_EntrustWorkOrderBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;