/// <summary> /// 反向审核,取消货位锁定 /// </summary> /// <param name="BillNo"></param> /// <returns></returns> public bool Rev_Validate(string BillNo) { bool flag = false; using (PersistentManager persistentManager = new PersistentManager()) { CheckBillMasterDao dao = new CheckBillMasterDao(); DataSet dsTemp = dao.GetData("select * from v_wms_Check_billdetail where BILLNO='" + BillNo + "'"); StringBuilder sb = new StringBuilder(); foreach (DataRow row in dsTemp.Tables[0].Rows) { sb.Append(string.Format("update WMS_WH_CELL SET ISLOCKED='0' WHERE CELLCODE='{0}';", row["CELLCODE"].ToString())); } sb.Append(string.Format("update WMS_Check_BILLMASTER SET STATUS='1', VALIDATEPERSON='',VALIDATEDATE=null where BILLNO='{0}'", BillNo)); dao.SetData(sb.ToString()); flag = true; } return(flag); }
/// <summary> /// 审核通过,锁定货位 /// </summary> /// <param name="BillNo"></param> /// <param name="EmployeeCode"></param> /// <returns></returns> public bool Validate(string BillNo, string EmployeeCode) { bool flag = false; using (PersistentManager persistentManager = new PersistentManager()) { CheckBillMasterDao dao = new CheckBillMasterDao(); DataSet dsTemp = dao.GetData("select * from v_wms_CHECK_billdetail where BILLNO='" + BillNo + "'"); StringBuilder sb = new StringBuilder(); foreach (DataRow row in dsTemp.Tables[0].Rows) { sb.Append(string.Format("update WMS_WH_CELL SET ISLOCKED='1' WHERE CELLCODE='{0}';", row["CELLCODE"].ToString())); } sb.Append(string.Format("update WMS_CHECK_BILLMASTER SET STATUS='2', VALIDATEPERSON='{0}',VALIDATEDATE='{1}' WHERE BILLNO='{2}';", EmployeeCode, System.DateTime.Now.ToString("yyyy-MM-dd"), BillNo)); dao.SetData(sb.ToString()); flag = true; } return(flag); }
/// <summary> /// 确认盘点损益,生成损益单 /// </summary> /// <param name="BillNo"></param> /// <param name="EmployeeCode"></param> /// <returns></returns> public bool ConfirmProfitOrLoss(string BillNo, string EmployeeCode) { bool flag = false; using (PersistentManager persistentManager = new PersistentManager()) { CheckBillMasterDao dao = new CheckBillMasterDao(); DataSet dsTemp = dao.GetData("select * from v_wms_CHECK_billdetail where BILLNO='" + BillNo + "'"); StringBuilder sb = new StringBuilder(); ProfitLossBillMaster plMaster = new ProfitLossBillMaster(); string NewProfitLossBillNo = plMaster.GetNewBillNo(); string wh_code = dao.GetData("select * from v_wms_CHECK_billmaster where BILLNO='" + BillNo + "'").Tables[0].Rows[0]["WH_CODE"].ToString(); sb.Append(string.Format("Insert into WMS_PL_BILLMASTER (BILLNO,BILLTYPE,WH_CODE,CHECKBILLNO,BILLDATE,OPERATEPERSON,STATUS,MEMO) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}');" , NewProfitLossBillNo, "", wh_code, BillNo, System.DateTime.Now.ToString("yyyy-MM-dd"), EmployeeCode, "1", "")); foreach (DataRow row in dsTemp.Tables[0].Rows) { string countProduct = row["COUNTPRODUCT"].ToString().Trim(); decimal diffQty = Convert.ToDecimal(row["DIFF_QTY"]); if (diffQty != 0.00M)//数量差异 { if (countProduct == row["PRODUCTCODE"].ToString().Trim()) { sb.Append(string.Format("Insert into WMS_PL_BILLDETAIL (BILLNO,CELLCODE,PRODUCTCODE,QUANTITY,UNITCODE,PRICE,MEMO) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}');" , NewProfitLossBillNo, row["CELLCODE"], row["PRODUCTCODE"], row["DIFF_QTY"], row["UNITCODE"], 0.00M, "")); } else//货位产品异常 { if (row["PRODUCTCODE"].ToString().Trim().Length > 0) { //原帐面产品报损 sb.Append(string.Format("Insert into WMS_PL_BILLDETAIL (BILLNO,CELLCODE,PRODUCTCODE,QUANTITY,UNITCODE,PRICE,MEMO) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}');" , NewProfitLossBillNo, row["CELLCODE"], row["PRODUCTCODE"], "-" + row["RECORDQUANTITY"].ToString(), row["UNITCODE"], 0.00M, "")); } //实际存放产品报益 sb.Append(string.Format("Insert into WMS_PL_BILLDETAIL (BILLNO,CELLCODE,PRODUCTCODE,QUANTITY,UNITCODE,PRICE,MEMO) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}');" , NewProfitLossBillNo, row["CELLCODE"], row["PRODUCTCODE"], row["COUNTQUANTITY"], row["UNITCODE"], 0.00M, "")); } } else { decimal recordQty = Convert.ToDecimal(row["RECORDQUANTITY"]); if (recordQty > 0.00M && countProduct != row["PRODUCTCODE"].ToString().Trim()) { if (row["PRODUCTCODE"].ToString().Trim().Length > 0) { //原帐面产品报损 sb.Append(string.Format("Insert into WMS_PL_BILLDETAIL (BILLNO,CELLCODE,PRODUCTCODE,QUANTITY,UNITCODE,PRICE,MEMO) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}');" , NewProfitLossBillNo, row["CELLCODE"], row["PRODUCTCODE"], "-" + row["RECORDQUANTITY"].ToString(), row["UNITCODE"], 0.00M, "")); } //实际存放产品报益 sb.Append(string.Format("Insert into WMS_PL_BILLDETAIL (BILLNO,CELLCODE,PRODUCTCODE,QUANTITY,UNITCODE,PRICE,MEMO) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}');" , NewProfitLossBillNo, row["CELLCODE"], row["PRODUCTCODE"], row["COUNTQUANTITY"], row["UNITCODE"], 0.00M, "")); } } dao.SetData("update wms_wh_cell set ISLOCKED='0' where CELLCODE='" + row["CELLCODE"].ToString() + "'"); } sb.Append(string.Format("UPDATE WMS_CHECK_BILLMASTER SET STATUS='5' WHERE BILLNO='{0}';", BillNo)); dao.SetData(sb.ToString()); flag = true; } return(flag); }