| | |
| | | using System; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Linq; |
| | |
| | | Int64 sCPMaterID = 0; |
| | | string sCPMaterName = ""; |
| | | private json objjson = new json(); |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | |
| | | //扫描成品条码 |
| | | [Route("Assembly/Get_Assembly_CPBarCode_Json")] |
| | |
| | | return objjson; |
| | | } |
| | | } |
| | | |
| | | |
| | | #region 产线组装追溯单 |
| | | [Route("Sc_AssemblyBill/HBardCodeList")] |
| | | [HttpGet] |
| | | public object HBardCodeList(string HBarCode, string user,string HICMOBillNo) |
| | | { |
| | | try |
| | | { |
| | | //查看权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_AssemblyBill_Edit", 1, false, user)) |
| | | { |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "无保存权限!"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | if (HICMOBillNo == "" || HICMOBillNo == null) |
| | | { |
| | | ds = oCN.RunProcReturn(@"select bard.HSourceInterID,bard.HSourceEntryID,b.FMUSTQTY,a.FMOBILLNO,FERPCLSID,t5.FNAME HMaterName_z,t5.FSPECIFICATION HMaterModel_z ,m.HItemID,b.FMATERIALID,m.HName HMaterName,m.HNumber HMaterNumber,m.HModel HMaterModel,m1.HItemID HMaterID |
| | | from AIS20210811135644..T_PRD_PPBOM a |
| | | join AIS20210811135644..T_PRD_PPBOMENTRY b on a.FID = b.FID |
| | | join AIS20210811135644..T_BD_MATERIAL t3 on a.FMATERIALID = t3.FMATERIALID |
| | | join AIS20210811135644..T_BD_MATERIAL t31 on b.FMATERIALID = t31.FMATERIALID |
| | | join AIS20210811135644..T_BD_MATERIAL_L t5 on b.FMATERIALID = t5.FMATERIALID and FLOCALEID=2052 |
| | | join AIS20210811135644..t_BD_MaterialBase t4 on t5.FMATERIALID = t4.FMATERIALID |
| | | join Gy_BarCodeBill bard on a.FMOBILLNO=bard.HSourceBillNo |
| | | join Gy_Material m on bard.HMaterID=m.HItemID and t3.FNUMBER=m.HNumber |
| | | join Gy_Material m1 on t31.FNUMBER=m1.HNumber and t31.FUSEORGID=m1.HUSEORGID |
| | | where bard.HBarCode='" + HBarCode + "' AND t4.FERPCLSID in ('1', '3')", "Gy_BarCodeBill"); |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "请先扫产品条码!"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | else |
| | | { |
| | | objjson.code = "1"; |
| | | objjson.count = 1; |
| | | objjson.Message = ""; |
| | | objjson.data = ds.Tables[0]; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ds = oCN.RunProcReturn(@"select a.FMOBILLNO,FERPCLSID ,t4.FMATERIALID, a.FMATERIALID from AIS20210811135644..T_PRD_PPBOM a |
| | | join AIS20210811135644..T_PRD_PPBOMENTRY b on a.FID=b.FID |
| | | JOIN AIS20210811135644..T_BD_MATERIAL T6 ON b.FMATERIALID = T6.FMATERIALID |
| | | join AIS20210811135644..t_BD_MaterialBase t4 on b.FMATERIALID = t4.FMATERIALID |
| | | left join Gy_Material m on t6.FNUMBER=m.HNumber and m.HUSEORGID=a.FPRDORGID |
| | | where a.FMOBILLNO ='" + HICMOBillNo + "' and m.HItemID=(select HMaterID from Gy_BarCodeBill where HBarCode = '" + HBarCode + "' )", "ds2"); |
| | | |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "配件不属于该生产订单!"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | |
| | | ds = oCN.RunProcReturn(@"select HQty,HSourceBillNo,m.HName HMaterName,m.HItemID HMaterID from Gy_BarCodeBill bard |
| | | join Gy_Material m on bard.HMaterID=m.HItemID |
| | | where HBarCode='" + HBarCode + "'", "ds3"); |
| | | |
| | | objjson.code = "1"; |
| | | objjson.count = 1; |
| | | objjson.Message = ""; |
| | | objjson.data = ds.Tables[0]; |
| | | } |
| | | return objjson; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "没有返回任何记录!" + e.ToString(); |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 产线组装追溯单保存 |
| | | [Route("Sc_AssemblyBill/AddBill")] |
| | | [HttpPost] |
| | | public object AddBill([FromBody] JObject sMainSub) |
| | | { |
| | | var _value = sMainSub["sMainSub"].ToString(); |
| | | string msg1 = _value.ToString(); |
| | | oCN.BeginTran(); |
| | | //保存主表 |
| | | objjson = AddBillMain(msg1); |
| | | if (objjson.code == "0") |
| | | { |
| | | oCN.RollBack(); |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = objjson.Message; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | oCN.Commit(); |
| | | objjson.code = "1"; |
| | | objjson.count = 1; |
| | | objjson.Message = "新增单据成功!"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | Models.ClsSc_AssemblyBillMain omodel = new Models.ClsSc_AssemblyBillMain();//基本资料 |
| | | public json AddBillMain(string msg1) |
| | | { |
| | | string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); |
| | | string msg2 = sArray[0].ToString(); |
| | | string msg3 = sArray[1].ToString(); |
| | | int OperationType = int.Parse(sArray[2].ToString());//类型 |
| | | string user = sArray[3].ToString();//用户名 |
| | | |
| | | try |
| | | { |
| | | //判断是否有编辑权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_AssemblyBill_Edit", 1, false, user)) |
| | | { |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "无权限编辑!"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_AssemblyBillMain>(msg2); |
| | | //JSON序列化转换字典集合 |
| | | List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); |
| | | List<object> jb = JsonConvert.DeserializeObject<List<object>>(msg3); |
| | | foreach (JObject item in jb) |
| | | { |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | foreach (var itm in item.Properties()) |
| | | { |
| | | dic.Add(itm.Name, itm.Value.ToString()); |
| | | } |
| | | list.Add(dic); |
| | | } |
| | | |
| | | if (OperationType == 1)//新增临时表源单表 |
| | | { |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | //临时配件表 |
| | | oCN.RunProc("Insert Into Sc_AssemblyBill_BindSourceTemp " + |
| | | "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HMaterID" + |
| | | ",HQtyMust,HProdOrgID,HSourceEntryID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HMTONo,HPlanMode) " + |
| | | " values(" + omodel.HInterID.ToString() + "," + (i+1) + ",'" + omodel.HBillNo.ToString() + "','" + omodel.HICMOBillNo.ToString() + "',0," + list[i]["HMaterID"].ToString() + |
| | | ",'" + list[i]["HQty"].ToString() + "','" + list[i]["HPRDORGID"].ToString() + "',0,'',0,0,0,'','','') "); |
| | | } |
| | | } |
| | | else if (OperationType == 2)//新增配件扫码表 |
| | | { |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | if (list[i]["HBarCode"].ToString() != "") |
| | | { |
| | | ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindBarCodeTemp where HSourceBillNo='" + omodel.HICMOBillNo.ToString() + "' and HBarCode='" + list[i]["HBarCode"].ToString() + "' and HBillNo_bak='" + omodel.HBillNo.ToString() + "'", "Sc_AssemblyBill_BindBarCodeTemp"); |
| | | if (ds.Tables[0].Rows.Count > 0) { |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message ="该条码已扫入,无须再扫!"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | //临时记录表 |
| | | oCN.RunProc("Insert Into Sc_AssemblyBill_BindBarCodeTemp " + |
| | | "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HMaterID" + |
| | | ",HBarCode,HQty,HProdOrgID,HSourceEntryID,HSourceBillType,HAuxPropID,HProcID,HBatchNo,HMTONo,HPlanMode) " + |
| | | " values(" + omodel.HInterID.ToString() + "," + (i + 1) + ",'" + omodel.HBillNo.ToString() + "','" + omodel.HICMOBillNo.ToString() + "',0," + list[i]["HMaterID"].ToString() + |
| | | ",'" + list[i]["HBarCode"].ToString() + "','" + list[i]["HEQty"].ToString() + "','" + list[i]["HPRDORGID"].ToString() + "',0,'',0,0,'','','') "); |
| | | } |
| | | } |
| | | } |
| | | else if (OperationType == 3)//新增主子表 |
| | | { |
| | | //保存生产组装单主表 |
| | | string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate |
| | | ,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo |
| | | ,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID) |
| | | values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{omodel.HInterID.ToString()},getdate() |
| | | ,'{omodel.HBillNo.ToString()}','1','{user}',getdate(),{omodel.HICMOInterID.ToString()},{omodel.HICMOEntryID.ToString()},'{omodel.HICMOBillNo.ToString()}' |
| | | ,{omodel.HICMOInterID.ToString()},'{omodel.HICMOBillNo.ToString()}','{omodel.HBarCode_P.ToString()}',{omodel.HMaterID},0,'{omodel.HAssemblyStatus}',{omodel.HProdOrgID})"; |
| | | oCN.RunProc(sql); |
| | | |
| | | ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindBarCodeTemp where HSourceBillNo='" + omodel.HICMOBillNo.ToString() + "' and HInterID='" + omodel.HInterID + "' and HBillNo_bak='" + omodel.HBillNo.ToString() + "'", "Sc_AssemblyBill_BindBarCodeTemp"); |
| | | |
| | | for (int i = 0; i < ds.Tables[0].Rows.Count; i++) |
| | | { |
| | | int HMaterID = int.Parse(ds.Tables[0].Rows[i]["HMaterID"].ToString()); |
| | | double HQty = double.Parse(ds.Tables[0].Rows[i]["HQty"].ToString()); |
| | | string HBarCode = ds.Tables[0].Rows[i]["HBarCode"].ToString(); |
| | | string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo |
| | | ,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty |
| | | ,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber) |
| | | values({omodel.HInterID},'{omodel.HBillNo}',{(i + 1)},0,0,'' |
| | | ,'',{HMaterID},0,0,0,{HQty} |
| | | ,0,0,getdate(),'{HBarCode}','{omodel.HBarCode_P}','') "; |
| | | oCN.RunProc(sq2); |
| | | } |
| | | } |
| | | |
| | | objjson.code = "1"; |
| | | objjson.count = 1; |
| | | objjson.Message = null; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "Exception!" + e.ToString(); |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 产线组装追溯单 查询 |
| | | [Route("Sc_AssemblyBill/Sc_AssemblyBillAddList")] |
| | | [HttpGet] |
| | | public object Sc_AssemblyBillAddList(string sWhere) |
| | | { |
| | | try |
| | | { |
| | | ds = oCN.RunProcReturn(@"select * from h_v_Sc_AssemblyBillList where 1=1 " + sWhere, "h_v_Sc_AssemblyBillList"); |
| | | |
| | | objjson.code = "1"; |
| | | objjson.count = 1; |
| | | objjson.Message = ""; |
| | | objjson.data = ds.Tables[0]; |
| | | return objjson; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "没有返回任何记录!" + e.ToString(); |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | [Route("Assembly/Delete_Json")] |
| | | [HttpGet] |
| | | public object Delete_Json(long sInterID,string sBarCode) |