/// <summary> /// 更新订单状态 /// </summary> /// <param name="entity"></param> /// <returns></returns> public int BillState_Change(string state, AsnBodyEntity entity) { string sql = "UPDATE wm_asn_header wah SET wah.BILL_STATE = '{0}',wah.LAST_UPDATETIME=NOW(),wah.CLOSE_DATE =NOW() WHERE wah.BILL_ID = {1}"; IMapper map = DatabaseInstance.Instance(); return(map.Execute(String.Format(sql, state, entity.BillID))); }
private void DoEditOne() { if (ucGridPanel.FocusedRowCount == 0) { MsgBox.Warn("请选中要编辑的行。"); return; } if (ucGridPanel.FocusedRowCount > 1) { MsgBox.Warn("不支持多行操作,请选择其中一行。"); return; } AsnBodyEntity focusedHeader = ucGridPanel.FocusedHeader; if (focusedHeader.BillState != BillStateConst.ASN_STATE_CODE_NOT_ARRIVE) { MsgBox.Warn(string.Format("单据“{0}”不允许编辑,只有状态为“{1}”的单据才能编辑。", focusedHeader.BillID, BillStateConst.ASN_STATE_DESC_NOT_ARRIVE)); return; } //FrmAsnEdit frmEditBill = new FrmAsnEdit(focusedHeader, false); //frmEditBill.MdiParent = this.MdiParent; //frmEditBill.Show(); }
public FrmAsnEditRemark(AsnBodyEntity asnHeader) { InitializeComponent(); this.asnHeader = asnHeader; this.Text = string.Format("编辑备注(单号:{0})", asnHeader.BillID); }
private void Save() { AsnBodyEntity asnEntity = gvHeader.GetRow(gvHeader.FocusedRowHandle) as AsnBodyEntity; int setQty = 0; if (gvDetails.RowCount == 0) { return; } string lcCode = GetTempZone(GlobeSettings.LoginedUser.WarehouseCode); if (String.IsNullOrEmpty(lcCode)) { MsgBox.Warn("请先设置越库收货区!"); return; } foreach (PODetailEntity entity in this.listDetail) { if (entity.PutQty < 0) { MsgBox.Warn("越库数量不能小于‘0’!"); entity.PutQty = 0; this.gvDetails.RefreshData(); return; } if (entity.PutQty > entity.PlanQty) { MsgBox.Warn("越库数量不能大于订单计划量!"); entity.PutQty = 0; this.gvDetails.RefreshData(); return; } if (entity.PutQty == 0) { setQty++; } } if (setQty == gvDetails.RowCount) { MsgBox.Warn("请把越库数量全部设置完成之后再确认入库!"); this.gvDetails.RefreshData(); return; } if (MsgBox.AskOK("确定要越库收货吗?") != DialogResult.OK) { return; } foreach (PODetailEntity entity in this.listDetail) { bool result = SaveOverStock(entity, GlobeSettings.LoginedUser.UserName); //LogDal.Insert(ELogType.越库, GlobeSettings.LoginedUser.UserName, ConvertUtil.ToString(entity.BillID), JsonConvert.SerializeObject(entity), "越库收货"); } BillState_Change("23", asnEntity); ReloadAsn(); gdDetails.DataSource = null; gvDetails.ViewCaption = String.Empty; }
private void OnHeaderRowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) { AsnBodyEntity header = gvHeader.GetRow(e.RowHandle) as AsnBodyEntity; if (header != null && header.RowForeColor != null) { e.Appearance.ForeColor = Color.FromArgb(header.RowForeColor.Value); } }
void ShowFocusedDetail() { AsnBodyEntity asn = FocusedHeader; if (asn != null && asn.Details == null) { asn.Details = asnQueryDal.GetDetailByBillID(asn.BillID); gvHeader.RefreshData(); } }
public AsnBodyEntity GetBillState(int billID) { AsnBodyEntity tm = new AsnBodyEntity(); try { #region 请求数据 System.Text.StringBuilder loStr = new System.Text.StringBuilder(); loStr.Append("billId=").Append(billID); string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_GetBillState); if (string.IsNullOrEmpty(jsonQuery)) { //MsgBox.Warn(WebWork.RESULT_NULL); LogHelper.InfoLog(WebWork.RESULT_NULL); return(tm); } #endregion #region 正常错误处理 JsonGetBillState bill = JsonConvert.DeserializeObject <JsonGetBillState>(jsonQuery); if (bill == null) { MsgBox.Warn(WebWork.JSON_DATA_NULL); return(tm); } if (bill.flag != 0) { MsgBox.Warn(bill.error); return(tm); } #endregion List <AsnBodyEntity> list = new List <AsnBodyEntity>(); #region 赋值数据 foreach (JsonGetBillStateResult jbr in bill.result) { AsnBodyEntity asnEntity = new AsnBodyEntity(); asnEntity.RowForeColor = Convert.ToInt32(jbr.RowColor); asnEntity.BillState = jbr.BillState; asnEntity.BillStateDesc = jbr.BillStateDesc; asnEntity.Remark = jbr.Remark; list.Add(asnEntity); } if (list.Count > 0) { return(list[0]); } #endregion } catch (Exception ex) { MsgBox.Err(ex.Message); } return(tm); }
/// <summary> /// 取消验收 /// </summary> /// <param name="focusedHeaders"></param> public void CancelCheck(List <AsnBodyEntity> focusedHeaders) { if (GetFocusedRowCount(focusedHeaders) == 0) { MsgBox.Warn("请选中要取消验收的行。"); return; } //先从界面上判断一下,减少网络交互和数据库负载 foreach (AsnBodyEntity header in focusedHeaders) { if (header.BillState != BillStateConst.PO_STATE_CODE_FIRST_APPROVED) { MsgBox.Warn(string.Format("单据“{0}”的状态不允许取消验收,必须是正在验收但是实际验收数量为0的单据。", header.BillID)); return; } } if (MsgBox.AskOK(string.Format("您选择了“{0}”张单据“{1}”,确认要取消验收吗?", GetFocusedRowCount(focusedHeaders), GetFocusedBillIDs(focusedHeaders))) != DialogResult.OK) { return; } try { AsnBodyEntity errHeader = null; //string result = asnDal.CancelCheck(focusedHeaders, GlobeSettings.LoginedUser.UserName, GlobeSettings.LoginedUser.UserCode, out errHeader); //switch (result) //{ // case "1": // //成功,刷新界面即可,不再提示 // ReloadStateDesc(focusedHeaders); // break; // case "-1": // MsgBox.Warn(string.Format("单据“{0}”操作失败,单据不存在。", errHeader.BillID)); // break; // case "-2": // MsgBox.Warn(string.Format("单据“{0}”反审失败,必须是“已审批(一审)通过”的单据才允许反审。", errHeader.BillID)); // break; // case "-3": // MsgBox.Warn(string.Format("单据“{0}”反审失败,审批人不是“您本人”,无法反审。", errHeader.BillID)); // break; // case "-4": // MsgBox.Warn(string.Format("更新单据“{0}”状态时失败,请稍后重试。", errHeader.BillID)); // break; //} } catch (Exception ex) { MsgBox.Err(ex.Message); } }
private XtraReport GetRepDetail(AsnBodyEntity header, XtraReport repAsn, int tag) { if (header.BillType == "3") { repAsn = new RepAsnTransfer(header.BillID, 1); } else { repAsn = new RepAsn(header.BillID, 1, tag); } return(repAsn); }
/// <summary> /// 删除选中的单据 /// </summary> /// <param name="focusedHeaders"></param> public void DeleteSelectedBill(List <AsnBodyEntity> focusedHeaders) { if (GetFocusedRowCount(focusedHeaders) == 0) { MsgBox.Warn("请选中要删除的行。"); return; } //先从界面上判断一下,减少网络交互和数据库负载 foreach (AsnBodyEntity header in focusedHeaders) { if (header.BillState != BillStateConst.ASN_STATE_CODE_NOT_ARRIVE) { MsgBox.Warn(string.Format("单据“{0}”无法删除,只有状态为“{1}”的单据才能删除。", header.BillID, BillStateConst.ASN_STATE_DESC_NOT_ARRIVE)); return; } } if (MsgBox.AskOK(string.Format("您选择了“{0}”张单据“{1}”,确认要删除吗?", GetFocusedRowCount(focusedHeaders), GetFocusedBillIDs(focusedHeaders))) != DialogResult.OK) { return; } try { AsnBodyEntity errHeader = null; //string result = asnDal.Delete(focusedHeaders, GlobeSettings.LoginedUser.UserName, out errHeader); //switch (result) //{ // case "1": // //成功,刷新界面即可,不再提示 // iasn.ReloadAsn(); // break; // case "-1": // MsgBox.Warn(string.Format("删除失败,单据“{0}”不存在。", errHeader.BillID)); // break; // case "-2": // MsgBox.Warn(string.Format("单据“{0}”的状态不是“{1}”,无法删除。", errHeader.BillID, BillStateConst.ASN_STATE_DESC_NOT_ARRIVE)); // break; // case "-3": // MsgBox.Warn(string.Format("删除单据“{0}”的明细失败,请稍后重试。", errHeader.BillID)); // break; // case "-4": // MsgBox.Warn(string.Format("删除单据“{0}”的表头失败,请稍后重试。", errHeader.BillID)); // break; //} } catch (Exception ex) { MsgBox.Err(ex.Message); } }
private void OnHeadFocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (gvHeader.FocusedRowHandle < 0) { return; } AsnBodyEntity entity = gvHeader.GetRow(gvHeader.FocusedRowHandle) as AsnBodyEntity; gvDetails.ViewCaption = String.Format("订单号:{0} 供应商:{1}", entity.BillNO, entity.SupplierName); listDetail = GetDetailByBillID(entity.BillID); gdDetails.DataSource = listDetail; }
private void OnOKClick(object sender, EventArgs e) { AsnBodyEntity asn = FocusedHeader; if (asn == null) { MsgBox.Warn("未选中任何订单行。"); } else { this.DialogResult = DialogResult.OK; } }
/// <summary> /// 取消到货确认 /// </summary> /// <param name="focusedHeaders"></param> public void CancelReceivedConfirm(List <AsnBodyEntity> focusedHeaders) { if (GetFocusedRowCount(focusedHeaders) == 0) { MsgBox.Warn("请选中要取消确认的行。"); return; } //先从界面上判断一下,减少网络交互和数据库负载 foreach (AsnBodyEntity header in focusedHeaders) { if (header.BillState != BillStateConst.ASN_STATE_CODE_ARRIVED) { MsgBox.Warn(string.Format("单据“{0}”不允许取消,必须是已执行到货确认但尚未开始验收的单据。", header.BillID)); return; } } if (MsgBox.AskOK(string.Format("您选择了“{0}”张单据“{1}”,确认要取消确认吗?", GetFocusedRowCount(focusedHeaders), GetFocusedBillIDs(focusedHeaders))) != DialogResult.OK) { return; } try { AsnBodyEntity errHeader = null; //string result = asnDal.CancelReceivedConfirm(focusedHeaders, GlobeSettings.LoginedUser.UserName, out errHeader); //switch (result) //{ // case "1": // //成功,刷新界面即可,不再提示 // ReloadStateDesc(focusedHeaders); // break; // case "-1": // MsgBox.Warn(string.Format("取消失败,单据“{0}”不存在。", errHeader.BillID)); // break; // case "-2": // MsgBox.Warn(string.Format("单据“{0}”不允许取消,必须是已执行到货确认但尚未开始验收的单据。", errHeader.BillID)); // break; // case "-3": // MsgBox.Warn(string.Format("更新单据“{0}”的状态时失败,请稍后重试或联系管理员解决此问题。", errHeader.BillID)); // break; //} } catch (Exception ex) { MsgBox.Err(ex.Message); } }
/// <summary> /// 删除选中的单据,状态必须为草稿 /// </summary> /// <param name="focusedHeaders"></param> /// <param name="userName"></param> /// <param name="errHeader"></param> /// <returns>1:成功;0:未知;-1:单据未找到;-2:不是草稿;-3:删除明细时,一行都没受影响;-4:删除主表时,一行都没受影响</returns> public string Delete(List <AsnBodyEntity> focusedHeaders, string userName, out AsnBodyEntity errHeader) { errHeader = null; DynamicParameters parms = new DynamicParameters(); parms.Add("P_BILL_ID"); parms.Add("P_USER_NAME", userName); parms.AddOut("P_RET_VAL", DbType.String, 2); IMapper map = DatabaseInstance.Instance(); IDbTransaction tran = map.BeginTransaction(); try { string result = string.Empty; foreach (AsnBodyEntity header in focusedHeaders) { parms.Set("P_BILL_ID", header.BillID); map.Execute("P_ASN_DEL_BILL", parms, tran, CommandType.StoredProcedure); result = parms.Get <string>("P_RET_VAL"); if (result != "1") { errHeader = header; break; } } if (result == "1") { tran.Commit(); } else { tran.Rollback(); } return(result); } catch (Exception ex) { tran.Rollback(); throw ex; } }
void ShowAsnDetail(string billID) { if (!string.IsNullOrEmpty(billID)) { AsnBodyEntity header = asnQueryDal.GetBillHeader(billID); if (header != null) { header.Details = asnQueryDal.GetDetailByBillID(billID); ShowAsnDetail(header); //复制并创建新单据 if (this.IsCopyNew) { ClearBillID(); } } } }
/// <summary> /// 处理写入数据库 /// </summary> void SaveToDatabase() { if (!CanSave()) { return; } try { //提交,通过BillID可以得知是否新建 AsnBodyEntity asn = PrepareData(); string errMsg = string.Empty; string result = asnDal.SaveBill(asn, GlobeSettings.LoginedUser.UserName, out errMsg); switch (result) { case "1": //txtBillID.Text = asn.BillID; //txtBillState.Text = asn.BillStateDesc; MsgBox.OK("保存成功。"); break; case "2": case "4": MsgBox.Warn("更新单据信息失败,可能该单据已经被其他人删除。"); break; case "3": MsgBox.Warn("该单据当前状态不允许修改,只有“尚未到货确认”的单据才能修改。"); break; case "11": MsgBox.Warn(string.Format("保存失败,物料‘{0}’不存在。", errMsg)); break; default: MsgBox.Err("保存失败,错误信息未知,请记下操作轨迹,联系管理员协助解决。"); break; } } catch (Exception ex) { MsgBox.Err(ex.Message); } }
public void ViewLog(AsnBodyEntity focusedHeader) { if (focusedHeader == null) { MsgBox.Warn("请选中要查看的行。"); return; } if (GetFocusedRowCount(iasn.GetFocusedHeaders()) > 1) { MsgBox.Warn("不支持多行操作,请选择其中一行。"); return; } using (FrmViewBillLog frmLog = new FrmViewBillLog(focusedHeader.BillID, focusedHeader.BillNO, "入库单据")) { frmLog.ShowDialog(); } }
public void BindingDetail() { AsnBodyEntity header = FocusedHeader; if (header == null) { gdDetails.DataSource = null; gvDetails.ViewCaption = "未选择单据"; } else { if (header.Details == null) { header.Details = GetDetailByBillID(header.BillID); } gdDetails.DataSource = header.Details; gvDetails.ViewCaption = string.Format("明细-{0}|{1}", header.BillNO, header.SupplierName); } }
private void ReloadStateDesc(List <AsnBodyEntity> headers) { //从集合中取出一个单据的状态,更新集合中的其他单据的状态 if (headers != null && headers.Count > 0) { AsnBodyEntity poState = GetBillState(headers[0].BillID); headers.ForEach(h => { h.BillState = poState.BillState; h.BillStateDesc = poState.BillStateDesc; h.LastUpdateBy = poState.LastUpdateBy; h.LastUpdateDate = poState.LastUpdateDate; h.RowForeColor = poState.RowForeColor; h.Remark = poState.Remark; }); //刷新界面 iasn.RefreshState(); } }
/// <summary> /// 用窗体的内容初始化实体对象 /// </summary> AsnBodyEntity PrepareData() { AsnBodyEntity asn = new AsnBodyEntity(); asn.Details = bindingSource1.DataSource as List <PODetailEntity>; //组织表头,不要填写BillID,业务员直接保存名称 //asn.BillID = txtBillID.Text; //asn.OrgCode = GlobeSettings.LoginedUser.OrgCode; //asn.PoNO = txtPO.Text.Trim(); //asn.Sales = listRespPerson.Text; //asn.Supplier = ConvertUtil.ToString(listSupplier.EditValue); //asn.InstoreType = ConvertUtil.ToString(listInstoreType.EditValue); //asn.BillType = ConvertUtil.ToString(listBillType.EditValue); //asn.Remark = txtRemark.Text.Trim(); //asn.Creator = GlobeSettings.LoginedUser.UserName; //asn.ContractNO = txtContractNO.Text.Trim(); //asn.DeliveryDate = dateEditDelivery.DateTime; return(asn); }
/// <summary> /// 更新订单状态 /// </summary> /// <param name="entity"></param> /// <returns></returns> public bool BillState_Change(string state, AsnBodyEntity entity) { try { #region 请求数据 System.Text.StringBuilder loStr = new System.Text.StringBuilder(); loStr.Append("billState=").Append(state).Append("&"); loStr.Append("billId=").Append(entity.BillID); string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_BillState_Change); if (string.IsNullOrEmpty(jsonQuery)) { MsgBox.Warn(WebWork.RESULT_NULL); return(false); } #endregion #region 正常错误处理 Sucess bill = JsonConvert.DeserializeObject <Sucess>(jsonQuery); if (bill == null) { MsgBox.Warn(WebWork.JSON_DATA_NULL); return(false); } if (bill.flag != 0) { MsgBox.Warn(bill.error); return(false); } #endregion return(true); } catch (Exception ex) { MsgBox.Err(ex.Message); } return(false); }
/// <summary> /// 收货单据管理,查询订单中未复核的托盘 /// </summary> /// <param name="header"></param> /// <returns></returns> public bool GetContainerNochek(AsnBodyEntity header) { try { #region 请求数据 System.Text.StringBuilder loStr = new System.Text.StringBuilder(); loStr.Append("billId=").Append(header.BillID); string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_GetContainerNochek); if (string.IsNullOrEmpty(jsonQuery)) { MsgBox.Warn(WebWork.RESULT_NULL); //LogHelper.InfoLog(WebWork.RESULT_NULL); return(false); } #endregion #region 正常错误处理 Sucess bill = JsonConvert.DeserializeObject <Sucess>(jsonQuery); if (bill == null) { MsgBox.Warn(WebWork.JSON_DATA_NULL); return(false); } if (bill.flag != 0) { MsgBox.Warn(bill.error); return(false); } #endregion return(true); } catch (Exception ex) { MsgBox.Err(ex.Message); } return(false); }
public void EditRemark(AsnBodyEntity focusedHeader) { if (focusedHeader == null) { MsgBox.Warn("请选中要编写备注的行。"); return; } if (GetFocusedRowCount(iasn.GetFocusedHeaders()) > 1) { MsgBox.Warn("不支持多行操作,请选择其中一行。"); return; } using (FrmAsnEditRemark frmEditRemark = new FrmAsnEditRemark(focusedHeader)) { if (frmEditRemark.ShowDialog() == DialogResult.OK) { iasn.RefreshState(); } } }
void ShowAsnDetail(AsnBodyEntity asn) { if (asn != null) { //txtBillID.Text = asn.BillID; //txtPO.Text = asn.PoNO; //listRespPerson.Text = asn.Sales; //listRespPerson.ClosePopup(); //listSupplier.EditValue = asn.Supplier; //listBillType.EditValue = asn.BillType; //txtRemark.Text = asn.Remark; //txtBillState.Text = asn.BillStateDesc; bindingSource1.DataSource = asn.Details; //复制并创建新单据 if (this.IsCopyNew) { ClearBillID(); } } }
/// <summary> /// 读取等待到货(也就是没有做到货登记)的单据 /// </summary> /// <param name="warehouseCode"></param> /// <returns></returns> private List <AsnBodyEntity> QueryNotRelatedBills(string warehouseCode) { List <AsnBodyEntity> list = new List <AsnBodyEntity>(); try { #region 请求数据 System.Text.StringBuilder loStr = new System.Text.StringBuilder(); loStr.Append("billState=").Append(BillStateConst.ASN_STATE_CODE_NOT_ARRIVE).Append("&"); loStr.Append("wareHouseCode=").Append(warehouseCode); string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_QueryNotRelatedBills); if (string.IsNullOrEmpty(jsonQuery)) { MsgBox.Warn(WebWork.RESULT_NULL); //LogHelper.InfoLog(WebWork.RESULT_NULL); return(list); } #endregion #region 正常错误处理 JsonBills bill = JsonConvert.DeserializeObject <JsonBills>(jsonQuery); if (bill == null) { MsgBox.Warn(WebWork.JSON_DATA_NULL); return(list); } if (bill.flag != 0) { MsgBox.Warn(bill.error); return(list); } #endregion #region 赋值数据 foreach (JsonBillsResult jbr in bill.result) { AsnBodyEntity asnEntity = new AsnBodyEntity(); asnEntity.OriginalBillNO = jbr.originalBillNo; asnEntity.InstoreTypeDesc = jbr.instoreTypeDesc; asnEntity.Creator = jbr.creator; asnEntity.InstoreType = jbr.instoreType; asnEntity.ContractNO = jbr.contractNo; asnEntity.BillType = jbr.billType; //nameS asnEntity.RowForeColor = Convert.ToInt32(jbr.rowColor); asnEntity.BillState = jbr.billState; asnEntity.BillStateDesc = jbr.billStateDesc; asnEntity.Remark = jbr.remark; #region try { if (!string.IsNullOrEmpty(jbr.closeDate)) { asnEntity.CloseDate = Convert.ToDateTime(jbr.closeDate); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("FrmVehicle+QueryNotRelatedBills", msg); } #endregion #region try { if (!string.IsNullOrEmpty(jbr.printedTime)) { asnEntity.PrintedTime = Convert.ToDateTime(jbr.printedTime); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("FrmVehicle+QueryNotRelatedBills", msg); } #endregion #region try { if (!string.IsNullOrEmpty(jbr.createDate)) { asnEntity.CreateDate = Convert.ToDateTime(jbr.createDate); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("FrmVehicle+QueryNotRelatedBills", msg); } #endregion asnEntity.WmsRemark = jbr.wmsRemark; asnEntity.Printed = Convert.ToInt32(jbr.printed); //sCode //asnEntity.SupplierCode = jbr.cName; asnEntity.SupplierName = jbr.cName; asnEntity.BillID = Convert.ToInt32(jbr.billId); asnEntity.BillNO = jbr.billNo; asnEntity.Sales = jbr.salesMan; asnEntity.BillTypeDesc = jbr.billTypeDesc; list.Add(asnEntity); } return(list); #endregion } catch (Exception ex) { MsgBox.Err(ex.Message); } return(list); }
/// <summary> /// 收货单据管理,打印--查询订单主表信息 /// </summary> /// <param name="billID"></param> /// <returns></returns> public AsnHeaderEntity GetBillHeader(int billID) { AsnBodyEntity tm = new AsnBodyEntity(); try { #region 请求数据 System.Text.StringBuilder loStr = new System.Text.StringBuilder(); loStr.Append("billId=").Append(billID); string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_GetBillHeader); if (string.IsNullOrEmpty(jsonQuery)) { MsgBox.Warn(WebWork.RESULT_NULL); //LogHelper.InfoLog(WebWork.RESULT_NULL); return(tm); } #endregion #region 正常错误处理 JsonBills bill = JsonConvert.DeserializeObject <JsonBills>(jsonQuery); if (bill == null) { MsgBox.Warn(WebWork.JSON_DATA_NULL); return(tm); } if (bill.flag != 0) { MsgBox.Warn(bill.error); return(tm); } #endregion List <AsnBodyEntity> list = new List <AsnBodyEntity>(); #region 赋值数据 foreach (JsonBillsResult jbr in bill.result) { AsnBodyEntity asnEntity = new AsnBodyEntity(); asnEntity.OriginalBillNO = jbr.originalBillNo; asnEntity.InstoreTypeDesc = jbr.instoreTypeDesc; asnEntity.Creator = jbr.creator; asnEntity.InstoreType = jbr.instoreType; asnEntity.ContractNO = jbr.contractNo; asnEntity.BillType = jbr.billType; //nameS asnEntity.RowForeColor = Convert.ToInt32(jbr.rowColor); asnEntity.BillState = jbr.billState; asnEntity.BillStateDesc = jbr.billStateDesc; asnEntity.Remark = jbr.remark; #region try { if (!string.IsNullOrEmpty(jbr.closeDate)) { asnEntity.CloseDate = Convert.ToDateTime(jbr.closeDate); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("RepAsnTransfer+GetBillHeader", msg); } #endregion #region try { if (!string.IsNullOrEmpty(jbr.printedTime)) { asnEntity.PrintedTime = Convert.ToDateTime(jbr.printedTime); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("RepAsnTransfer+GetBillHeader", msg); } #endregion #region try { if (!string.IsNullOrEmpty(jbr.createDate)) { asnEntity.CreateDate = Convert.ToDateTime(jbr.createDate); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("RepAsnTransfer+GetBillHeader", msg); } #endregion asnEntity.WmsRemark = jbr.wmsRemark; asnEntity.Printed = Convert.ToInt32(jbr.printed); //sCode //asnEntity.SupplierCode = jbr.cName; asnEntity.SupplierName = jbr.cName; asnEntity.BillID = Convert.ToInt32(jbr.billId); asnEntity.BillNO = jbr.billNo; asnEntity.Sales = jbr.salesMan; asnEntity.BillTypeDesc = jbr.billTypeDesc; list.Add(asnEntity); } if (list.Count > 0) { return(list[0]); } #endregion } catch (Exception ex) { MsgBox.Err(ex.Message); } return(tm); }
/// <summary> /// 收货单据管理, 多条件查询 /// </summary> /// <param name="warehouseCode"></param> /// <param name="billID"></param> /// <param name="poNO"></param> /// <param name="billState"></param> /// <param name="supplier"></param> /// <param name="billType"></param> /// <param name="material"></param> /// <param name="sales"></param> /// <param name="dateFrom"></param> /// <param name="dateTo"></param> /// <param name="dateComFrom"></param> /// <param name="dateComTo"></param> /// <returns></returns> public List <AsnBodyEntity> QueryBills(string warehouseCode, string billID, string poNO, string billState, string supplier, string billType, string material, string sales, DateTime?dateFrom, DateTime?dateTo, DateTime?dateComFrom, DateTime?dateComTo) { #region 组装slq条件 //string strWhereCondition = "WHERE H.WH_CODE = @WH_CODE"; ////建单日期 //if (dateFrom.HasValue) //{ // strWhereCondition += " AND H.CREATE_DATE >= @P_CREATE_DATE_FROM"; //} //if (dateTo.HasValue) //{ // strWhereCondition += " AND H.CREATE_DATE <= @P_CREATE_DATE_TO"; //} ////最后更新日期 //if (dateComFrom.HasValue) //{ // strWhereCondition += " AND H.LAST_UPDATETIME >= @P_CLODE_DATE_FROM"; //} //if (dateComTo.HasValue) //{ // strWhereCondition += " AND H.LAST_UPDATETIME <= @P_CLODE_DATE_TO"; //} ////单据编号 //if (!string.IsNullOrEmpty(billID)) //{ // strWhereCondition += " AND H.BILL_NO = @P_BILL_NO"; //} ////原采购单编号 //if (!string.IsNullOrEmpty(poNO)) //{ // strWhereCondition += " AND H.PO_NO = @P_PO_NO"; //} ////供应商 //if (!string.IsNullOrEmpty(supplier)) //{ // strWhereCondition += " AND H.SUPPLIER = @P_SUPPLIER"; //} ////业务类型 //if (!string.IsNullOrEmpty(billType)) //{ // strWhereCondition += " AND H.BILL_TYPE = @P_BILL_TYPE"; //} ////业务员 //if (!string.IsNullOrEmpty(sales)) //{ // strWhereCondition += " AND H.SALES = @P_SALES"; //} ////状态有可能是多个,这个需要转换为OR,直接拼接成字符串,不用参数了 //if (!string.IsNullOrEmpty(billState)) //{ // //假设billState=12,13,15,函数FormatParameter转换为BILL_STATE = '12' OR BILL_STATE = '13' OR BILL_STATE = '15' // strWhereCondition += string.Concat(" AND (", DBUtil.FormatParameter("H.BILL_STATE", billState), ")"); //} ////物料编码或名称,支持模糊查询,因为物料在明细表中,反查出的主表数据会重复,所以要用DISTINCT ////另外不要使用字段拼接,oracle和sql的语法不一样 //if (!string.IsNullOrEmpty(material)) //{ // strWhereCondition += " AND EXISTS(SELECT 1 FROM WM_ASN_DETAIL D INNER JOIN WM_MATERIALS M ON D.MTL_CODE = M.MTL_CODE WHERE H.BILL_ID = D.BILL_ID AND (D.MTL_CODE like @P_MTL_CODE OR M.MTL_NAME LIKE @P_MTL_CODE OR M.MTL_NAME_S LIKE @P_MTL_CODE OR M.NAME_PY LIKE @P_MTL_CODE))"; //} #endregion List <AsnBodyEntity> list = new List <AsnBodyEntity>(); try { #region 请求数据 System.Text.StringBuilder loStr = new System.Text.StringBuilder(); loStr.Append("warehouseCode=").Append(warehouseCode).Append("&"); loStr.Append("dateFrom=").Append(dateFrom).Append("&"); loStr.Append("dateTo=").Append(dateTo).Append("&"); loStr.Append("dateComFrom=").Append(dateComFrom).Append("&"); loStr.Append("dateComTo=").Append(dateComTo).Append("&"); loStr.Append("billID=").Append(billID).Append("&"); loStr.Append("poNO=").Append(poNO).Append("&"); loStr.Append("billState=").Append(billState).Append("&"); loStr.Append("billType=").Append(billType).Append("&"); loStr.Append("material=").Append(material).Append("&"); loStr.Append("sales=").Append(sales).Append("&"); loStr.Append("supplier=").Append(supplier); string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_QueryBills); if (string.IsNullOrEmpty(jsonQuery)) { MsgBox.Warn(WebWork.RESULT_NULL); //LogHelper.InfoLog(WebWork.RESULT_NULL); return(list); } #endregion #region 正常错误处理 JsonBills bill = JsonConvert.DeserializeObject <JsonBills>(jsonQuery); if (bill == null) { MsgBox.Warn(WebWork.JSON_DATA_NULL); return(list); } if (bill.flag != 0) { MsgBox.Warn(bill.error); return(list); } #endregion #region 赋值数据 foreach (JsonBillsResult jbr in bill.result) { AsnBodyEntity asnEntity = new AsnBodyEntity(); asnEntity.OriginalBillNO = jbr.originalBillNo; asnEntity.InstoreTypeDesc = jbr.instoreTypeDesc; asnEntity.Creator = jbr.creator; asnEntity.InstoreType = jbr.instoreType; asnEntity.ContractNO = jbr.contractNo; asnEntity.BillType = jbr.billType; //nameS asnEntity.RowForeColor = Convert.ToInt32(jbr.rowColor); asnEntity.BillState = jbr.billState; asnEntity.BillStateDesc = jbr.billStateDesc; asnEntity.Remark = jbr.remark; try { if (!string.IsNullOrEmpty(jbr.closeDate)) { asnEntity.CloseDate = Convert.ToDateTime(jbr.closeDate); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("UcAsnQueryEngine+QueryBills", msg); } try { if (!string.IsNullOrEmpty(jbr.printedTime)) { asnEntity.PrintedTime = Convert.ToDateTime(jbr.printedTime); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("UcAsnQueryEngine+QueryBills", msg); } try { if (!string.IsNullOrEmpty(jbr.createDate)) { asnEntity.CreateDate = Convert.ToDateTime(jbr.createDate); } } catch (Exception msg) { MsgBox.Warn(msg.Message); //LogHelper.errorLog("UcAsnQueryEngine+QueryBills", msg); } asnEntity.WmsRemark = jbr.wmsRemark; asnEntity.Printed = Convert.ToInt32(jbr.printed); //sCode //asnEntity.SupplierCode = jbr.cName; asnEntity.SupplierName = jbr.cName; asnEntity.BillID = Convert.ToInt32(jbr.billId); asnEntity.BillNO = jbr.billNo; asnEntity.Sales = jbr.salesMan; asnEntity.BillTypeDesc = jbr.billTypeDesc; list.Add(asnEntity); } return(list); #endregion } catch (Exception ex) { MsgBox.Err(ex.Message); } return(list); }
/// <summary> ///获取没有复核的托盘 /// </summary> /// <param name="header"></param> /// <returns></returns> public string GetContainerNochek(AsnBodyEntity header) { IMapper map = DatabaseInstance.Instance(); return(map.ExecuteScalar <string>("SELECT GROUP_CONCAT(wcs.CT_CODE) FROM wm_container_state wcs WHERE wcs.BILL_HEAD_ID =@BillID AND wcs.CT_STATE <>83", new { BillID = header.BillID })); }
/// <summary> /// 保存编辑的采购单 /// </summary> /// <param name="bill"></param> /// <param name="creator">创建者姓名</param> /// <returns>-1:单据状态不允许编辑;0:更新表头时失败;1:成功</returns> public string SaveBill(AsnBodyEntity bill, string creator, out string errMsg) { //记录详细的错误,例如具体是哪个物料不存在了等等 errMsg = string.Empty; IMapper map = DatabaseInstance.Instance(); IDbTransaction trans = map.BeginTransaction(); try { DynamicParameters parms = new DynamicParameters(); parms.Add("P_BILL_ID", bill.BillID); parms.Add("P_ORG_CODE", bill.OrgCode); parms.Add("P_BILL_TYPE", bill.BillType); parms.Add("P_INSTORE_TYPE", bill.InstoreType); parms.Add("P_PO_NO", bill.OriginalBillNO); parms.Add("P_CONTRACT_NO", bill.ContractNO); parms.Add("P_SALES", bill.Sales); parms.Add("P_SUPPLIER", bill.SupplierCode); parms.Add("P_REMARK", bill.Remark); parms.Add("P_CREATOR", creator); parms.AddOut("P_NEW_BILL_ID", DbType.String, 50); parms.AddOut("P_RET_VAL", DbType.String, 2); //先写入主表 map.Execute("P_ASN_SAVE_HEADER", parms, trans, CommandType.StoredProcedure); //获取返回值,只有1表示成功 string retVal = parms.Get <string>("P_RET_VAL"); if (retVal != "1") { trans.Rollback(); return(retVal); } //保存明细 int newBillID = parms.Get <int>("P_NEW_BILL_ID"); parms = new DynamicParameters(); parms.Add("P_BILL_ID", newBillID); parms.Add("P_MTL_CODE"); parms.Add("P_QTY"); parms.Add("P_PRICE"); parms.Add("P_LOT_NO"); parms.Add("P_EXP_DATE"); parms.Add("P_REMARK"); parms.AddOut("P_RET_VAL", DbType.String, 2); //再写明细 foreach (PODetailEntity line in bill.Details) { parms.Set("P_MTL_CODE", line.MaterialCode); parms.Set("P_QTY", line.PlanQty); //parms.Set("P_PRICE", line.Price); parms.Set("P_LOT_NO", line.BatchNO); parms.Set("P_EXP_DATE", line.ExpDate); parms.Set("P_REMARK", line.Remark); map.Execute("P_ASN_SAVE_DETAIL", parms, trans, CommandType.StoredProcedure); retVal = parms.Get <string>("P_RET_VAL"); if (retVal != "1") { if (retVal == "11") { errMsg = line.MaterialCode; } trans.Rollback(); break; } } if (retVal == "1") { trans.Commit(); bill.BillState = BillStateConst.ASN_STATE_CODE_NOT_ARRIVE; bill.BillStateDesc = BillStateConst.ASN_STATE_DESC_NOT_ARRIVE; bill.BillID = newBillID; } return(retVal); } catch (Exception ex) //只能是insert语句产生了异常,先回滚再抛出异常信息 { trans.Rollback(); throw ex; } }
public FrmTransBillEdit(AsnBodyEntity editedAsnBody, bool isCopyNew) : this() { EditedAsnBody = editedAsnBody; this.IsCopyNew = isCopyNew; }