智云SRM-WEBAPI(目前客户通用API)
王 垚
2022-07-14 7e35fc76661ff4a26d24cc8912e2534576be85be
WebAPI/Controllers/BarCodeController.cs
@@ -575,42 +575,16 @@
                LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls)
                {
                    //LogService.Write("model初始化:" + oItemSub.HKFDate);
                    //外箱
                    if (ClsPub.isLong(oItemSub.HMaterID) != 0)
                    {
                        HNumber = oItemSub.HMaterID.ToString();
                        //HNumber = HNumber.Replace(".", "");
                        //
                        //HQty = Math.Ceiling(HBQty + ClsPub.isDoule(oItemSub.HWBQty));
                        HQty = ClsPub.isDoule(oItemSub.HWBQty);
                        HBQty = ClsPub.isInt(oItemSub.HWBQty);
                        HMinQty = ClsPub.isDoule(oItemSub.HWXQty);
                        HSumQty = ClsPub.isDoule(oItemSub.HQty);  //HWXQtyCol
                        for (int i = 0; i < HBQty; i++)
                        {
                            LSH = LSH + 1;
                            LSH2 = LSH.ToString();
                            while (LSH2.Length < LSHlen)  //如果流水号小于6位数前面补0
                            {
                                LSH2 = "0" + LSH2;
                            }
                            sDate = ClsPub.GetServerDate(0);
                            sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2);
                            sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString();
                            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
                            sDay = "0" + ClsPub.isDate(sDate).Day.ToString();
                            sDay = sDay.Substring(sDay.Length - 2, 2);
                            //==================================
                            TM = HNumber + sYear + sPeriod + sDay + LSH2;
                            while (TM.Length < SumLen)  //如果条码小于12位数前面补0
                            {
                                TM = "0" + TM;
                            }
                            //TM = "B" + TM;
                            TM = "SRM" + "B" + TM;
                            if (HSumQty - HMinQty > 0)
                            {
                                WeiShu = "";
@@ -628,7 +602,8 @@
                                }
                                HMinQty = HSumQty;
                            }
                            TM = $"{oItemSub.HMaterID}#{HMinQty}";
                            Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model();
                            bar.HBarCode = TM;
                            bar.HMaterID = oItemSub.HMaterID;
@@ -660,6 +635,7 @@
                }
                foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub2 in ls2)
                {
                    //内箱
                    //LogService.Write("循环第一次:" + oItemSub2.HSupID);
                    if (ClsPub.isLong(oItemSub2.HMaterID) != 0)
                    {
@@ -720,10 +696,7 @@
                                TM2 = "0" + TM2;
                            }
                            bar2.HMaterID = oItemSub2.HMaterID;
                            bar2.HBarCode = oItemSub2.HBarCode + "-" + TM2;
                            bar2.HBarCode = oItemSub2.HBarCode.Split('#')[0] + "#" + HWXQty.ToString();
                            bar2.HUnitID = oItemSub2.HUnitID;
                            bar2.HQty = HWXQty;
                            bar2.HBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HBatchNo);
@@ -784,13 +757,6 @@
                        HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType);
                        HWei = ClsPub.isStrNull(oItemSub.HEndQty);
                        oCn.RunProc("insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" +
                                    ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" +
                                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " +
                                    ") values ("
                                    + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate
                                    + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1"
                                    + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')");
                        //LogService.Write("insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" +
                                    ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" +
                                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " +
                                    ") values ("
@@ -1561,13 +1527,6 @@
                                    + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1"
                                    + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')");
                        oCn.RunProc("exec setLSH '" + DateTime.Today + "'");
                        //LogService.Write("insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" +
                                    ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" +
                                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " +
                                    ") values ("
                                    + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate
                                    + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1"
                                    + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')");
                    }
                }
                foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls3)
@@ -1597,14 +1556,6 @@
                                    + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate
                                    + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1"
                                    + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')");
                        //LogService.Write("insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" +
                                    ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" +
                                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " +
                                    ") values ("
                                    + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate
                                    + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1"
                                    + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')");
                    }
                }
                //暂时只回填关联数量
@@ -1743,9 +1694,27 @@
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            try
            {
                WebAPIController.Add_Log("条码档案删除", HUserName, "条码档案删除");
                string sql = "select HBarCode,HSourceInterID,HSourceEntryID,HQty,HBarCodeType,HSourceBillType from Gy_BarCodeBill where  HItemID in(" + HInterID + ") ";
                //LogService.Write("删除sql:" + sql);
                oCN.BeginTran();
                //LogService.Write("Delete From Gy_BarCodeBill where HItemID in(" + HInterID + ")") ;
                DataTable dt = oCN.RunProcReturn(sql, "deleteTable").Tables[0];
                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        WebAPIController.Add_Log("条码档案删除", HUserName, "单号" + dr["HBarCode"].ToString());
                        //反写打印数量到采购订单子表
                        if (dr["HBarCodeType"].ToString() == "箱号内条码" && dr["HSourceBillType"].ToString() == "1102")
                            oCN.RunProc($"update Cg_POOrderBillSub set HBarcodeCount -= {dr["HQty"]} where  HInterID ={dr["HSourceInterID"]} and  HEntryID ={dr["HSourceEntryID"]}");
                        //反写打印数量到委外订单
                        if (dr["HBarCodeType"].ToString() == "箱号内条码" && dr["HSourceBillType"].ToString() == "1601")
                            oCN.RunProc($"update WW_EntrustOrderBillSub set HBarcodeCount -= {dr["HQty"]} where  HInterID ={dr["HSourceInterID"]} and  HEntryID ={dr["HSourceEntryID"]}");
                        //反写打印数量到送货单 (不需要反写 送货单直接是关联查询取的数量 没有在源单上做保存)
                        if (dr["HBarCodeType"].ToString() == "箱号内条码" && dr["HSourceBillType"].ToString() == "1103")
                            continue;
                            //oCN.RunProc($"update WW_EntrustOrderBillSub set HBarcodeCount -= {dr["HQty"]} where  HInterID ={dr["HSourceInterID"]} and  HEntryID ={dr["HSourceEntryID"]}");
                    }
                }
                oCN.RunProc("Delete From Gy_BarCodeBill where HItemID in(" + HInterID + ") ");
                oCN.Commit();
                objJsonResult.code = "1";