| | |
| | | using System.Data.SqlClient; |
| | | using System.Linq; |
| | | using System.Web; |
| | | using VueWebApi.Models; |
| | | using VueWebApi.Tools; |
| | | |
| | | namespace VueWebApi.DLL.DAL |
| | |
| | | try |
| | | { |
| | | //根据采购订单号查询物料信息,供应商信息 |
| | | sql = @"select B.materiel_code as partcode,M.partname,M.partspec,M.is_batchno, |
| | | B.quantity,B.customercode,C.name as customername,U.code as uomcode,U.name as uomname, |
| | | A.ordercode,B.countarrivalquantity |
| | | sql = @"select B.rownumber, B.materiel_code as partcode,M.partname,M.partspec,M.is_batchno, |
| | | B.quantity,B.customercode,C.name as customername,A.departmentcode,T.org_name as departmentname,U.code as uomcode,U.name as uomname, |
| | | A.ordercode,B.countarrivalquantity,A.acceptdate |
| | | from T_PurchaseOrder A |
| | | inner join T_PurchaseOrder_sub B on A.ordercode=B.purchaseorder_code |
| | | left join TMateriel_Info M on B.materiel_code=M.partcode |
| | | left join TUom U on M.uom_code=U.code |
| | | left join TCustomer C on B.customercode=C.code |
| | | left join TOrganization T on A.departmentcode=T.org_code |
| | | where A.ordercode=@purchordercode"; |
| | | dynamicParams.Add("@purchordercode", purchordercode); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | |
| | | #region[采购到货:生成系统条码] |
| | | public static ToMessage MesAppPurchOrderLabelBarCode(string partcode, string arrivalqty, string onelableqty) |
| | | { |
| | | mes = AppLableBarCode.EncodingSeach("2060",partcode, arrivalqty, onelableqty); |
| | | mes = AppLableBarCode.EncodingSeach("2060", partcode, arrivalqty, onelableqty); |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | #region[采购到货:提交] |
| | | public static ToMessage MesAppPurchOrderSave(string purordercode, string orderstaus, string username, List<AppPurchOrderSave> json) |
| | | { |
| | | var sql = ""; |
| | | string djwo = "", numvalue = ""; |
| | | List<object> list = new List<object>(); |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | list.Clear(); |
| | | mes = SeachEncode.EncodingSeach("2060"); //APP端采购到货生成单号 |
| | | if (mes.code == "300") |
| | | { |
| | | return mes; |
| | | } |
| | | else |
| | | { |
| | | List<string> wo = (List<string>)mes.data; |
| | | djwo = wo[0].ToString(); //获取单号 |
| | | numvalue = wo[1].ToString(); //获取流水号 |
| | | } |
| | | if (json == null || json.Count <= 0) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = "物料信息不能为空!"; |
| | | mes.data = null; |
| | | return mes; |
| | | } |
| | | //Lambda表达式过滤获取预计到货日期、部门、供应商 |
| | | string hacceptdate = json.Select(p => p.hacceptdate).ToList().Distinct().ToString(); //预计到货日期 |
| | | string dpartment = json.Select(p => p.hdepartmentcode).ToList().Distinct().ToString(); //部门 |
| | | string customercode = json.Select(p => p.hcustomercode).ToList().Distinct().ToString(); //供应商 |
| | | //写入采购到货单主表 |
| | | sql = @"insert into T_PurchaseArrivalOrder(hbillno,hdate,hacceptdate,hbillstaus,hdepartmentcode,hcustomercode,hsourcebillno,lm_user,lm_date) |
| | | values(@hbillno,@hdate,@hacceptdate,@hbillstaus,@hdepartmentcode,@hcustomercode,@hsourcebillno,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | hbillno = djwo, |
| | | hdate = DateTime.Now.ToString(), |
| | | hacceptdate = Convert.ToDateTime(hacceptdate), |
| | | hbillstaus = orderstaus, |
| | | hdepartmentcode = dpartment, |
| | | hcustomercode = customercode, |
| | | hsourcebillno = purordercode, |
| | | lm_user = username, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | //循环获取物信息 |
| | | for (int i = 0; i < json.Count; i++) |
| | | { |
| | | //写入采购到货单子表 |
| | | sql = @"insert into T_PurchaseArrivalOrder_sub(hbillno,hpartcode,hplanqty,hqty,hacceptdate,hischeck,hbatchno) |
| | | values(@hbillno,@hpartcode,@hplanqty,@hqty,@hacceptdate,@hischeck,@hbatchno)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | hbillno = djwo, |
| | | hpartcode = json[i].hpartcode, |
| | | hplanqty = decimal.Parse(json[i].hplanqty), |
| | | hqty = decimal.Parse(json[i].hqty), |
| | | hacceptdate = Convert.ToDateTime(hacceptdate), |
| | | hischeck = json[i].hischeck, |
| | | hbatchno = json[i].hbatchno |
| | | } |
| | | }); |
| | | |
| | | //循环获取物料生成标签信息 |
| | | for (int j = 0; j < json[i].children.Count; j++) |
| | | { |
| | | //写入条码档案表 |
| | | sql = @"insert into T_BarCodeBill(rightcode,hbillno,hbilltype,hbarcode,hbarcodestatus,hbarcodetype,hmaterialcode,hqty,hbatchno,hcustomercode,hdeptcode,hsourcebillno,hsourcebilltype,lm_user,lm_date) |
| | | values(@rightcode,hbillno,@hbilltype,@hbarcode,@hbarcodestatus,@hbarcodetype,@hmaterialcode,@hqty,@hbatchno,@hcustomercode,@hdeptcode,@hsourcebillno,@hsourcebilltype,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | rightcode = "2060", |
| | | hbillno = djwo, |
| | | hbilltype = "1103", //采购到货单类型 |
| | | hbarcode = json[i].children[j].labcode, |
| | | hbarcodestatus = "Y", |
| | | hbarcodetype = "P", |
| | | hmaterialcode = json[i].children[j].partnumber, |
| | | hqty = decimal.Parse(json[i].children[j].labqty), |
| | | hbatchno = json[i].hbatchno, |
| | | hcustomercode = customercode, |
| | | hdeptcode = dpartment, |
| | | hsourcebillno = purordercode, |
| | | hsourcebilltype = "1102", |
| | | lm_user = username, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | | //更新采购订单子表:累计到货数量 |
| | | sql = @"update T_PurchaseOrder_sub set countarrivalquantity=countarrivalquantity+@hqty where ordercode=@purordercode and materiel_code=@materiel_code and rownumber=@rownumber"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | purordercode = purordercode, |
| | | materiel_code = json[i].hpartcode, |
| | | rownumber=json[i].rownumber, |
| | | hqty=decimal.Parse(json[i].hqty) |
| | | } |
| | | }); |
| | | } |
| | | //更新采购订单主表:订单状态 |
| | | sql = @"update T_PurchaseOrder set status=@status where ordercode=@purordercode"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | status = orderstaus, |
| | | ordercode = purordercode |
| | | } |
| | | }); |
| | | bool aa = DapperHelper.DoTransaction(list); |
| | | if (aa) |
| | | { |
| | | mes.code = "200"; |
| | | mes.count = 0; |
| | | mes.Message = "采购到货成功!"; |
| | | mes.data = null; |
| | | } |
| | | else |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = "采购到货失败!"; |
| | | mes.data = null; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |