yusijie
2022-11-25 494c68c9ad1cc3b085c27e87865269c4593c24e8
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
@@ -99,7 +100,7 @@
                double HMoney = 0;
                double HBadCount = list[0].HBadCount;//不良数量
                long HCenterID = list[0].HCenterID;//工作中心ID
                long HProcNo = list[0].HProcNo;//流水号
                string HProcNo = list[0].HProcNo;//流水号
                string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
                string HSourceNameList = list[0].HSourceNameList;//设备清单
                long HMainSourceInterID = list[0].HInterID;//递入type得到的单据ID
@@ -115,6 +116,7 @@
                double HPriceRate = list[0].HPriceRate;//系数
                double HWorkTimes = list[0].HWorkTimes;//工时
                long HQCCheckID = list[0].HQCCheckID;//检验员ID
                long HPRDOrgID = list[0].HPRDOrgID;//组织ID
                //单据完整性判断
                if (HProcExchInterID <= 0)
                {
@@ -132,7 +134,7 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HProcNo <= 0)
                if (HProcNo == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -156,14 +158,14 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HGroupID == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "生产班组没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //if (HGroupID == 0)
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "生产班组没有选择!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (HProcID == 0)
                {
@@ -274,7 +276,7 @@
                    ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" +
                    ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
                    ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
                    ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID" +
                    ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID" +
                    ") " +
                    " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                    "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
@@ -283,7 +285,7 @@
                    "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 +
                    "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
                    "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
                    "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID +
                    "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID +
                    ") ");
                }
                else if ("Modify".Equals(eventType))
@@ -428,7 +430,8 @@
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();
                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
                string msg4 = sArray[2].ToString();
                List<Model.ClsSc_StationOutBillMain> list = new List<Model.ClsSc_StationOutBillMain>();
                
                msg1 = msg1.Replace("\\", "");
@@ -436,102 +439,162 @@
                ListModels oListModels = new ListModels();
                list = oListModels.getObjectByJson_Sc_StationOutBillMain(msg2);
                int i = 0;
                int j = 0;
                foreach (Model.ClsSc_StationOutBillMain oItemSub in list)
                {
                    DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
                    j++;
                    oBill.omodel.HInterID = list[i].HInterID;
                    oBill.omodel.HBillNo = msg3 + "- " + j;
                    oBill.omodel.HBillStatus = 0;
                    oBill.omodel.HMouldNum = list[i].HMouldNum;
                    oBill.omodel.HYear = 2022;
                    oBill.omodel.HPeriod = 1;
                    oBill.omodel.HRemark = list[i].HRemark;
                    oBill.omodel.HSourceName = list[i].HSourceName;
                    oBill.omodel.HPieceQty = list[i].HPieceQty;
                    oBill.omodel.HWasterQty = list[i].HWasterQty;
                    oBill.omodel.HPlanPieceQty = list[i].HPlanPieceQty;
                    oBill.omodel.HBadPNL = list[i].HBadPNL;
                    oBill.omodel.HICMOInterID = list[i].HICMOInterID;
                    oBill.omodel.HICMOBillNo = list[i].HICMOBillNo;
                    oBill.omodel.HProcExchInterID = list[i].HProcExchInterID;
                    oBill.omodel.HProcExchEntryID = list[i].HProcExchEntryID;
                    oBill.omodel.HProcExchBillNo = list[i].HProcExchBillNo;
                    oBill.omodel.HMaterID = list[i].HMaterID;
                    oBill.omodel.HProcID = list[i].HProcID;
                    oBill.omodel.HICMOQty = list[i].HICMOQty;
                    oBill.omodel.HPlanQty = list[i].HPlanQty;
                    oBill.omodel.HStationOutTime = list[i].HStationOutTime;
                    oBill.omodel.HSourceID = list[i].HSourceID;
                    oBill.omodel.HPayProcID = list[i].HPayProcID;
                    oBill.omodel.HGroupID = list[i].HGroupID;
                    oBill.omodel.HDeptID = list[i].HDeptID;
                    oBill.omodel.HEmpID = list[i].HEmpID;
                    oBill.omodel.HBarCode = list[i].HBarCode;
                    oBill.omodel.HAddr = list[i].HAddr;
                    //oBill.omodel.HBarCodeMaker = list[i].HBarCodeMaker;
                    oBill.omodel.HBarCodeMaker = msg4;
                    oBill.omodel.HSourceID2 = list[i].HSourceID2;
                    oBill.omodel.HSourceID3 = list[i].HSourceID3;
                    oBill.omodel.HSourceID4 = list[i].HSourceID4;
                    oBill.omodel.HSourceID5 = list[i].HSourceID5;
                    oBill.omodel.HSupID = list[i].HSupID;
                    oBill.omodel.HQty = list[i].HQty;
                    oBill.omodel.HPrice = list[i].HPrice;
                    oBill.omodel.HMoney = list[i].HMoney;
                    oBill.omodel.HBadCount = list[i].HBadCount;
                    oBill.omodel.HCenterID = list[i].HCenterID;
                    oBill.omodel.HProcNo = list[i].HProcNo;
                    oBill.omodel.HOrderProcNO = list[i].HOrderProcNO;
                    oBill.omodel.HSourceNameList = list[i].HSourceNameList;
                    oBill.omodel.HMainSourceInterID = list[i].HMainSourceInterID;
                    oBill.omodel.HMainSourceBillNo = list[i].HMainSourceBillNo;
                    oBill.omodel.HMainSourceBillType = list[i].HMainSourceBillType;
                    oBill.omodel.HLastSubProc = true;
                    oBill.omodel.HEmpID2 = list[i].HEmpID2;
                    oBill.omodel.HEmpID3 = list[i].HEmpID3;
                    oBill.omodel.HEmpID4 = list[i].HEmpID4;
                    oBill.omodel.HEmpID5 = list[i].HEmpID5;
                    oBill.omodel.HDSQty = list[i].HDSQty;
                    oBill.omodel.HChongQty = list[i].HChongQty;
                    oBill.omodel.HPriceRate = list[i].HPriceRate;
                    oBill.omodel.HWorkTimes = list[i].HWorkTimes;
                    oBill.omodel.HQCCheckID = list[i].HQCCheckID;
                    oBill.omodel.HMaker = msg4;
                    i++;
                    long HMainInterID = 0;
                    HMainInterID = list[0].HInterID;
                    string eventType = "";
                    string BillType = "3791";
                    string HBillSubType = "3791";
                    long HInterID = list[0].HInterID;//递入type得到的单据ID
                    string HBillNo = msg3 + "- " + i;//递入type得到的单据号
                    int HBillStatus = 0;
                    string HMaker = list[0].HMaker;//制单人
                    string HMouldNum = list[0].HMouldNum;//模穴号
                    int HYear = 2021;
                    double HPeriod = 1;
                    string HRemark = list[0].HRemark;//备注
                    string HSourceName = list[0].HSourceName;//生产资源名称
                    double HPieceQty = list[0].HPieceQty;//进站PCS数
                    double HWasterQty = list[0].HWasterQty;//报废数量
                    double HPlanPieceQty = list[0].HPlanPieceQty;//进站PNL数
                    double HBadPNL = list[0].HBadPNL;//报废PNL数
                    long HICMOInterID = list[0].HICMOInterID;//任务单ID
                    string HICMOBillNo = list[0].HICMOBillNo;//任务单
                    int HProcPlanInterID = 0;
                    int HProcPlanEntryID = 0;
                    string HProcPlanBillNo = "";
                    long HProcExchInterID = list[0].HProcExchInterID;
                    long HProcExchEntryID = list[0].HProcExchEntryID;
                    string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
                    long HMaterID = list[0].HMaterID;//产品ID
                    long HProcID = list[0].HProcID;//当前工序ID
                    double HICMOQty = list[0].HICMOQty;//任务单数量
                    double HPlanQty = list[0].HPlanQty;//移交PNL数
                    DateTime HStationOutTime = list[0].HStationOutTime;//汇报时间
                    long HSourceID = list[0].HSourceID;//生产资源ID
                    long HPayProcID = list[0].HPayProcID;//核算工序ID
                    long HGroupID = list[0].HGroupID;//班组ID
                    long HDeptID = 0;
                    long HEmpID = list[0].HEmpID;//操作员ID
                    string HBarCode = list[0].HBarCode;//条形码
                    string HAddr = "";
                    string HBarCodeMaker = "";
                    long HSourceID2 = list[0].HSourceID2;//生产资源2ID
                    long HSourceID3 = list[0].HSourceID3;//生产资源3ID
                    long HSourceID4 = list[0].HSourceID4;//生产资源4ID
                    long HSourceID5 = list[0].HSourceID5;//生产资源5ID
                    long HSupID = 0;
                    double HQty = list[0].HQty;//合格数量
                    double HPrice = 0;
                    double HMoney = 0;
                    double HBadCount = list[0].HBadCount;//不良数量
                    long HCenterID = list[0].HCenterID;//工作中心ID
                    long HProcNo = list[0].HProcNo;//流水号
                    string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
                    string HSourceNameList = list[0].HSourceNameList;//设备清单
                    long HMainSourceInterID = list[0].HInterID;//递入type得到的单据ID
                    string HMainSourceBillNo = list[0].HBillNo;//递入type得到的单据号
                    string HMainSourceBillType = "3790";
                    bool HLastSubProc = list[0].HLastSubProc;//转下工序
                    long HEmpID2 = list[0].HEmpID2;//操作员2ID
                    long HEmpID3 = list[0].HEmpID3;//操作员3ID
                    long HEmpID4 = list[0].HEmpID4;//操作员4ID
                    long HEmpID5 = list[0].HEmpID5;//操作员5ID
                    double HDSQty = list[0].HDSQty;//折弯刀数
                    double HChongQty = list[0].HChongQty;//NCT冲次数
                    double HPriceRate = list[0].HPriceRate;//系数
                    double HWorkTimes = list[0].HWorkTimes;//工时
                    long HQCCheckID = list[0].HQCCheckID;//检验员ID
                    //string HBillSubType = "3791";
                    //long HInterID = list[0].HInterID;//递入type得到的单据ID
                    //string HBillNo = msg3 + "- " + i;//递入type得到的单据号
                    //int HBillStatus = 0;
                    //string HMaker = list[0].HMaker;//制单人
                    //string HMouldNum = list[0].HMouldNum;//模穴号
                    //int HYear = 2021;
                    //double HPeriod = 1;
                    //string HRemark = list[0].HRemark;//备注
                    //string HSourceName = list[0].HSourceName;//生产资源名称
                    //double HPieceQty = list[0].HPieceQty;//进站PCS数
                    //double HWasterQty = list[0].HWasterQty;//报废数量
                    //double HPlanPieceQty = list[0].HPlanPieceQty;//进站PNL数
                    //double HBadPNL = list[0].HBadPNL;//报废PNL数
                    //long HICMOInterID = list[0].HICMOInterID;//任务单ID
                    //string HICMOBillNo = list[0].HICMOBillNo;//任务单
                    //int HProcPlanInterID = 0;
                    //int HProcPlanEntryID = 0;
                    //string HProcPlanBillNo = "";
                    //long HProcExchInterID = list[0].HProcExchInterID;
                    //long HProcExchEntryID = list[0].HProcExchEntryID;
                    //string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
                    //long HMaterID = list[0].HMaterID;//产品ID
                    //long HProcID = list[0].HProcID;//当前工序ID
                    //double HICMOQty = list[0].HICMOQty;//任务单数量
                    //double HPlanQty = list[0].HPlanQty;//移交PNL数
                    //DateTime HStationOutTime = list[0].HStationOutTime;//汇报时间
                    //long HSourceID = list[0].HSourceID;//生产资源ID
                    //long HPayProcID = list[0].HPayProcID;//核算工序ID
                    //long HGroupID = list[0].HGroupID;//班组ID
                    //long HDeptID = 0;
                    //long HEmpID = list[0].HEmpID;//操作员ID
                    //string HBarCode = list[0].HBarCode;//条形码
                    //string HAddr = "";
                    //string HBarCodeMaker = "";
                    //long HSourceID2 = list[0].HSourceID2;//生产资源2ID
                    //long HSourceID3 = list[0].HSourceID3;//生产资源3ID
                    //long HSourceID4 = list[0].HSourceID4;//生产资源4ID
                    //long HSourceID5 = list[0].HSourceID5;//生产资源5ID
                    //long HSupID = 0;
                    //double HQty = list[0].HQty;//合格数量
                    //double HPrice = 0;
                    //double HMoney = 0;
                    //double HBadCount = list[0].HBadCount;//不良数量
                    //long HCenterID = list[0].HCenterID;//工作中心ID
                    //long HProcNo = list[0].HProcNo;//流水号
                    //string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
                    //string HSourceNameList = list[0].HSourceNameList;//设备清单
                    //long HMainSourceInterID = list[0].HInterID;//递入type得到的单据ID
                    //string HMainSourceBillNo = list[0].HBillNo;//递入type得到的单据号
                    //string HMainSourceBillType = "3790";
                    //bool HLastSubProc = list[0].HLastSubProc;//转下工序
                    //long HEmpID2 = list[0].HEmpID2;//操作员2ID
                    //long HEmpID3 = list[0].HEmpID3;//操作员3ID
                    //long HEmpID4 = list[0].HEmpID4;//操作员4ID
                    //long HEmpID5 = list[0].HEmpID5;//操作员5ID
                    //double HDSQty = list[0].HDSQty;//折弯刀数
                    //double HChongQty = list[0].HChongQty;//NCT冲次数
                    //double HPriceRate = list[0].HPriceRate;//系数
                    //double HWorkTimes = list[0].HWorkTimes;//工时
                    //long HQCCheckID = list[0].HQCCheckID;//检验员ID
                    //保存
                    //保存完毕后处理
                    bool bResult;
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    if (bResult)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "保存成功!";
                        //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oCN.RunProc($"update Sc_StationOutBillMain set HMaker='{msg4}' where HInterID={oBill.omodel.HInterID}");
                    i++;
                    //if (bResult)
                    //{
                    //    objJsonResult.code = "0";
                    //    objJsonResult.count = 1;
                    //    objJsonResult.Message = "保存成功!";
                    //    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    //    objJsonResult.data = 1;
                    //    return objJsonResult;
                    //}
                    //else
                    //{
                    //    objJsonResult.code = "0";
                    //    objJsonResult.count = 0;
                    //    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    //    objJsonResult.data = 1;
                    //    return objJsonResult;
                    //}
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
@@ -641,6 +704,7 @@
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
                {
@@ -662,11 +726,20 @@
                    ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList");
                }
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                //{
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
                //}