diff --git a/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo b/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo index 6590623..4e70f93 100644 Binary files a/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo and b/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo differ diff --git a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/SlabWidThkControler.cs b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/SlabWidThkControler.cs index 0ffa910..3974cc7 100644 --- a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/SlabWidThkControler.cs +++ b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/SlabWidThkControler.cs @@ -7064,10 +7064,12 @@ namespace SlabHandle } decimal decBroad = CAL_WID / TS.WID; //宽展系数 - - - - if (decBroad > Convert.ToDecimal(2.7001)) + //2024-06-15 宽展比上线改成 2.0 + //if (decBroad > Convert.ToDecimal(2.7001)) + //{ + // return false; + //} + if (decBroad > Convert.ToDecimal(2.0001)) { return false; } diff --git a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.exe b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.exe index 48e18bb..9d58a82 100644 Binary files a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.exe and b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.exe differ diff --git a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.pdb b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.pdb index 49362c1..822df0d 100644 Binary files a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.pdb and b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/bin/Debug/SlabHandle.pdb differ diff --git a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.exe b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.exe index 48e18bb..9d58a82 100644 Binary files a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.exe and b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.exe differ diff --git a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.pdb b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.pdb index 49362c1..822df0d 100644 Binary files a/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.pdb and b/余坯替代——宽板/SlabWidThkHandle/SlabHandle/obj/Debug/SlabHandle.pdb differ diff --git a/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo b/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo index 1ee88d5..eb420e5 100644 Binary files a/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo and b/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo differ diff --git a/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo b/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo index 36831d4..7fe304d 100644 Binary files a/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo and b/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs index 16a0738..5d8511c 100644 --- a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs +++ b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs @@ -38,7 +38,6 @@ namespace ibk.IPD.Controller.IPD_PS //Log4net 日志输出 private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - //后端 Service private static SurMatSubService SerSurMatSubService = new SurMatSubService(); @@ -8460,7 +8459,7 @@ namespace ibk.IPD.Controller.IPD_PS } //船板验证 - if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && p.FCB_TD =="是").ToList().Count > 0) + if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && p.STANDARD_NO == prP_PLATE.APLY_STDSPEC && p.FCB_TD =="是").ToList().Count > 0) { //-对非船板替代的标准(标准表维护输入值为“是”) //-厚度规格≤40mm; @@ -8494,8 +8493,8 @@ namespace ibk.IPD.Controller.IPD_PS { return false; } - //记录是船板 - prP_PLATE.SUB_LACK_CON = prP_PLATE.SUB_LACK_CON + "/船板"; + ////记录是船板 + //prP_PLATE.SUB_LACK_CON = prP_PLATE.SUB_LACK_CON + "/船板"; return true; } @@ -8504,9 +8503,9 @@ namespace ibk.IPD.Controller.IPD_PS { if (prP_PLATE.SUB_FULL == "P") { - if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC).ToList().Count > 0) + if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && p.STANDARD_NO == prP_PLATE.APLY_STDSPEC).ToList().Count > 0) { - if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && ConverDataToString(p.TD_FL).Contains("完全")).ToList().Count > 0) + if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && p.STANDARD_NO == prP_PLATE.APLY_STDSPEC && ConverDataToString(p.TD_FL).Contains("完全")).ToList().Count > 0) { return false; } @@ -8537,7 +8536,7 @@ namespace ibk.IPD.Controller.IPD_PS List ltPlateSTD = null; //余材替代标准按照当前钢板标准来选择,不要按原始订单的标准 注:完全替代之前是按当前标准,现在部分替代一样,只用当前标准 --2023.3.16 刘桂英 - ltPlateSTD = gYCTD_WHs.Where(p => p.STANDARD_NO == prP_PLATE.APLY_STDSPEC).ToList(); + ltPlateSTD = gYCTD_WHs.Where(p => p.STANDARD_NO == prP_PLATE.APLY_STDSPEC && ConverDataToString(p.FCB_TD) == "").ToList(); if (ltPlateSTD.Count == 0) { @@ -8602,7 +8601,6 @@ namespace ibk.IPD.Controller.IPD_PS { if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && ConverDataToString(p.TD_FL).Contains("完全")).ToList().Count > 0) { - return false; } else diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe index 6b56e27..178dd6f 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb index c3e0a03..cb50c73 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index ba52e36..508f9aa 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe index 6b56e27..178dd6f 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb index c3e0a03..cb50c73 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb differ diff --git a/前端程序/ipd-frontend/src/pages/materialsSubstitution/confirmSmpNo.tsx b/前端程序/ipd-frontend/src/pages/materialsSubstitution/confirmSmpNo.tsx index d1f6b58..e8765d5 100644 --- a/前端程序/ipd-frontend/src/pages/materialsSubstitution/confirmSmpNo.tsx +++ b/前端程序/ipd-frontend/src/pages/materialsSubstitution/confirmSmpNo.tsx @@ -220,6 +220,7 @@ const Main = () => { { title: '质保书类型', dataIndex: 'CERT_TYPE', key: 'CERT_TYPE', width: 50, ellipsis: true }, { title: '添加时间', dataIndex: 'INS_DATE', key: 'INS_DATE', width: 100, ellipsis: true }, { title: '是否并样', dataIndex: 'IS_BING', key: 'IS_BING', width: 50, ellipsis: true }, + { title: '电文', dataIndex: 'DATA', key: 'DATA', width: 50, ellipsis: true }, ]; // 点击重置按钮 @@ -240,7 +241,7 @@ const Main = () => { title: '确定要并样吗?', icon: , onOk: async () => { - const res = request.post(`/ipdPsApi/ADDPDO_CONFIRMSMPNO`, selectedRow).then((res) => { + const res = request.post(`/ipdPsApi/ADDPDO_CONFIRMSMPNO2`, selectedRow).then((res) => { if (res.data.code == '1') { message.success('操作成功!'); setSelectedRowKeys([]); diff --git a/前端程序/ipd-frontend/src/pages/materialsSubstitution/history.tsx b/前端程序/ipd-frontend/src/pages/materialsSubstitution/history.tsx index 0582bbf..628656f 100644 --- a/前端程序/ipd-frontend/src/pages/materialsSubstitution/history.tsx +++ b/前端程序/ipd-frontend/src/pages/materialsSubstitution/history.tsx @@ -1606,7 +1606,7 @@ const SubHistory = () => { scroll={{ x: tableWidth, y: 550 }} > - + {/* @@ -1633,7 +1633,7 @@ const SubHistory = () => { - + */} { const nowEndDate = parseInt(new Date().getTime().toString()); // 当前时间 const print = nowDate.toLocaleTimeString(); const [dataSource, setDataSource] = useState([]); + const [dataSource2, setDataSource2] = useState([]); const [Visible, setVisible] = useState(false); const [action, setAction] = useState(''); const [loading, setLoading] = useState(false); @@ -156,6 +158,15 @@ const AlternativeProcess = () => { ); + const column2s: any = [ + + { title: '厂别', dataIndex: 'PLT', key: 'PLT', width: 100 }, + { title: '判现', dataIndex: 'PX', key: 'PX', width: 130 }, + { title: '判废', dataIndex: 'PF', key: 'PF', width: 130 }, + { title: '保留', dataIndex: 'BL', key: 'BL', width: 130 }, + { title: '待定', dataIndex: 'DD', key: 'DD', width: 130 }, + ]; + const columns: any = [ { @@ -303,7 +314,7 @@ const AlternativeProcess = () => { { title: '钢板抛丸', dataIndex: 'STEEL_SHOTBLAST', key: 'STEEL_SHOTBLAST', width: 100 }, // 钢板打破口 { title: '钢板打包', dataIndex: 'STEEL_PACK', key: 'STEEL_PACK', width: 100 }, - { title: '录入时间', dataIndex: 'INS_DATE', key: 'INS_DATE', width: 100 }, + { title: '录入时间', dataIndex: 'INS_DATE', key: 'INS_DATE', width: 150 }, ]; @@ -312,6 +323,10 @@ const AlternativeProcess = () => { column.ellipsis = true; }); + // 统一设置 ellipsis 为 true + column2s.forEach((column: any) => { + column.ellipsis = true; + }); const onRangeChange = (value: any, dateString: any) => { setBegin(dateString[0]); @@ -327,6 +342,7 @@ const AlternativeProcess = () => { const pro = form.getFieldsValue(); const obj = { START_TIME: begin, END_TIME: end }; const sd = Object.assign(pro, obj); + const res = request.post(`/ipdPsApi/GetTB_INVENTORY_ANALYSIS`, sd).then((res) => { if (res.data.code == '1') { const result = res.data.data.map((item: any, index: any) => ({ @@ -340,6 +356,21 @@ const AlternativeProcess = () => { setLoading(false); } }); + + const res2 = request.post(`/ipdPsApi/GetTB_INVENTORY_ANALYSIS_TOTAL`, sd).then((res2) => { + if (res2.data.code == '1') { + const result = res2.data.data.map((item: any, index: any) => ({ + ...item, + PK: index, + })); + setDataSource2(result); + setLoading(false); + } else { + setDataSource2([]); + setLoading(false); + } + }); + }; return ( @@ -386,7 +417,7 @@ const AlternativeProcess = () => { /> - + {/* { defaultValue={[moment(nowStartDate), moment(nowEndDate)]} /> - + */} { }, }; }} - rowSelection={{ - columnWidth: '60px', - onChange: (selectedRowKeys: any, selectedRows: any) => { - setSelectedRowKeys(selectedRowKeys), setselectedRow(selectedRows); - }, - selectedRowKeys, - }} + // rowSelection={{ + // columnWidth: '60px', + // onChange: (selectedRowKeys: any, selectedRows: any) => { + // setSelectedRowKeys(selectedRowKeys), setselectedRow(selectedRows); + // }, + // selectedRowKeys, + // }} rowKey={(record: any) => record.PLATE_NO} scroll={{ y: 480, @@ -460,6 +491,36 @@ const AlternativeProcess = () => { }} > + + { + return { + onClick: (event: any) => { + event.currentTarget.getElementsByTagName('label')[0].click(); + }, + }; + }} + // rowSelection={{ + // columnWidth: '60px', + // onChange: (selectedRowKeys: any, selectedRows: any) => { + // setSelectedRowKeys(selectedRowKeys), setselectedRow(selectedRows); + // }, + // selectedRowKeys, + // }} + rowKey={(record: any) => record.PLATE_NO} + scroll={{ + y: 480, + x: 100, + }} + > + ); }; diff --git a/前端程序/ipd-frontend/src/pages/slabSubstitution/history.tsx b/前端程序/ipd-frontend/src/pages/slabSubstitution/history.tsx index 44781a5..a6d7b49 100644 --- a/前端程序/ipd-frontend/src/pages/slabSubstitution/history.tsx +++ b/前端程序/ipd-frontend/src/pages/slabSubstitution/history.tsx @@ -854,8 +854,8 @@ const Main = () => { }} > - - {/* +
{ }} rowKey="ID" >
*/} - + {/* @@ -901,7 +901,7 @@ const Main = () => { -
+ */} diff --git a/取样并样程序/SubResult/.vs/SubResult/v17/.suo b/取样并样程序/SubResult/.vs/SubResult/v17/.suo index 83ea4a1..e8d7bab 100644 Binary files a/取样并样程序/SubResult/.vs/SubResult/v17/.suo and b/取样并样程序/SubResult/.vs/SubResult/v17/.suo differ diff --git a/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO.cs b/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO.cs index f34f97d..afd31c5 100644 --- a/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO.cs +++ b/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO.cs @@ -58,6 +58,21 @@ namespace ibk.IPD.Entity [Persistent("PROC_CD"), DisplayName("并样时进程状态")] public string PROC_CD { get; set; } - + + [Persistent("PROD_CD"), DisplayName("产品代码")] + public string PROD_CD { get; set; } + + [Persistent("SMP_LOC"), DisplayName("取样位置")] + public string SMP_LOC { get; set; } + + [Persistent("SMP_LEN"), DisplayName("取样长度")] + public string SMP_LEN { get; set; } + + [Persistent("SMP_FLG"), DisplayName("实绩标识")] + public string SMP_FLG { get; set; } + + [Persistent("SMP_NO_M"), DisplayName("母式样号")] + public string SMP_NO_M { get; set; } + } } diff --git a/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO_TEST.cs b/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO_TEST.cs index 0cc6af0..cb2133e 100644 --- a/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO_TEST.cs +++ b/取样并样程序/SubResult/SubResult/Enity/CONFIRMSMPNO_TEST.cs @@ -59,5 +59,20 @@ namespace ibk.IPD.Entity [Persistent("PROC_CD"), DisplayName("并样时进程状态")] public string PROC_CD { get; set; } + + [Persistent("PROD_CD"), DisplayName("产品代码")] + public string PROD_CD { get; set; } + + [Persistent("SMP_LOC"), DisplayName("取样位置")] + public string SMP_LOC { get; set; } + + [Persistent("SMP_LEN"), DisplayName("取样长度")] + public string SMP_LEN { get; set; } + + [Persistent("SMP_FLG"), DisplayName("实绩标识")] + public string SMP_FLG { get; set; } + + [Persistent("SMP_NO_M"), DisplayName("母式样号")] + public string SMP_NO_M { get; set; } } } diff --git a/取样并样程序/SubResult/SubResult/Enity/PDI_SMP_NO.cs b/取样并样程序/SubResult/SubResult/Enity/PDI_SMP_NO.cs index 0cfc80a..650a1c0 100644 --- a/取样并样程序/SubResult/SubResult/Enity/PDI_SMP_NO.cs +++ b/取样并样程序/SubResult/SubResult/Enity/PDI_SMP_NO.cs @@ -199,7 +199,20 @@ namespace ibk.IPD.Entity.IpdPs [Persistent("IS_STATE"), DisplayName("是否并样")] public string IS_STATE { get; set; } - + [Persistent("PROD_CD"), DisplayName("产品代码")] + public string PROD_CD { get; set; } + + [Persistent("SMP_LOC"), DisplayName("取样位置")] + public string SMP_LOC { get; set; } + + [Persistent("SMP_LEN"), DisplayName("取样长度")] + public string SMP_LEN { get; set; } + + [Persistent("SMP_FLG"), DisplayName("实绩标识")] + public string SMP_FLG { get; set; } + + [Persistent("SMP_NO_M"), DisplayName("母式样号")] + public string SMP_NO_M { get; set; } } diff --git a/取样并样程序/SubResult/SubResult/Enity/QP_TEST_HEAD.cs b/取样并样程序/SubResult/SubResult/Enity/QP_TEST_HEAD.cs index 72c2e97..e2c4f1b 100644 --- a/取样并样程序/SubResult/SubResult/Enity/QP_TEST_HEAD.cs +++ b/取样并样程序/SubResult/SubResult/Enity/QP_TEST_HEAD.cs @@ -18,6 +18,9 @@ namespace ibk.IPD.Entity [Persistent("ORD_ITEM"), DisplayName("")] public string ORD_ITEM { get; set; } + [Persistent("ORD_THK"), DisplayName("")] + public decimal ORD_THK { get; set; } + [Persistent("STDSPEC"), DisplayName("标准")] public string STDSPEC { get; set; } diff --git a/取样并样程序/SubResult/SubResult/SubResult.csproj b/取样并样程序/SubResult/SubResult/SubResult.csproj index 71b6f6f..c048cd3 100644 --- a/取样并样程序/SubResult/SubResult/SubResult.csproj +++ b/取样并样程序/SubResult/SubResult/SubResult.csproj @@ -172,6 +172,7 @@ + diff --git a/取样并样程序/SubResult/SubResult/SurMatSubController.cs b/取样并样程序/SubResult/SubResult/SurMatSubController.cs index db71311..08be5bf 100644 --- a/取样并样程序/SubResult/SubResult/SurMatSubController.cs +++ b/取样并样程序/SubResult/SubResult/SurMatSubController.cs @@ -179,6 +179,8 @@ namespace ibk.IPD private static IList ipdi = new List(); + private static IList ipdBH = new List(); + //获取手动确认并样信息 public static IList gCONFIRMSMPNO = new List(); @@ -190,6 +192,8 @@ namespace ibk.IPD public static IList gQP_SMP_SEND_PWHT = new List(); + public static IList gChkQP_SMP_SEND_PWHT = new List(); + private static decimal DecPICER_NI_5 = 7700; private static decimal DecPICER_NI_9 = 13100; private static decimal DecGENUINE_PRICE = 4200; @@ -579,8 +583,8 @@ namespace ibk.IPD Task.WaitAll(tasks1); - logger.Info("【多线程获取数据结束】"); + #region 更新价格 //pdismp = surMatSubService.GetPDI_SMP(); //logger.Info("【2_02并样履历】:" + pdismp.Count); @@ -618,7 +622,8 @@ namespace ibk.IPD #endregion - + #region 并样 + //并样 foreach (GP_PLATE plate in gP_PLATEs) { try @@ -650,9 +655,9 @@ namespace ibk.IPD continue; } //不保性能并且也不存在质量设计内容不需要取样 - if (ORD_save.MATR_FL!=null && ORD_save.MATR_FL != "Y") + if (ORD_save.MATR_FL != null && ORD_save.MATR_FL != "Y") { - if(string.IsNullOrEmpty(plate.TEST_FL)||plate.TEST_FL !="Y") + if (string.IsNullOrEmpty(plate.TEST_FL) || plate.TEST_FL != "Y") { continue; } @@ -693,21 +698,28 @@ namespace ibk.IPD } List plateList = gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO).ToList(); - plateList.Add(new QP_TEST_PLATE { PLATE_NO = plate.PLATE_NO, MILL_END_DATE = plate.MILL_END_DATE, THK = plate.THK, - PLT = plate.PLT, APLY_STDSPEC = plate.APLY_STDSPEC, ACT_SMP_FL = plate.SMP_NO==plate.PLATE_NO?"Y":"N" }); + plateList.Add(new QP_TEST_PLATE + { + PLATE_NO = plate.PLATE_NO, + MILL_END_DATE = plate.MILL_END_DATE, + THK = plate.THK, + PLT = plate.PLT, + APLY_STDSPEC = plate.APLY_STDSPEC, + ACT_SMP_FL = plate.SMP_NO == plate.PLATE_NO ? "Y" : "N" + }); //不同工厂 if (plateList.GroupBy(p => p.PLT).Count() > 1) { continue; - } + } - QP_STD_SMP_MERGE qP_STD = gQP_STD_SMP_MERGE.Where(p => p.PLT == plate.PLT && p.STDSPEC == plate.APLY_STDSPEC + QP_STD_SMP_MERGE qP_STD = gQP_STD_SMP_MERGE.Where(p => p.PLT == plate.PLT && p.STDSPEC == plate.APLY_STDSPEC && p.THK_MAX >= ConverDataToDecimal(plate.THK) && p.THK_MIN <= ConverDataToDecimal(plate.THK)).FirstOrDefault(); //p.THK改为decimal类型,如果为string类型取值有问题 decimal MaxThk = ConverDataToDecimal(plateList.Where(p => !string.IsNullOrEmpty(p.ACT_SMP_FL)).Max(p => p.THK)); decimal MinThk = ConverDataToDecimal(plateList.Where(p => !string.IsNullOrEmpty(p.ACT_SMP_FL)).Min(p => p.THK)); decimal ACT_SMP_THK = 0; - if (plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P").Count()>0) + if (plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P").Count() > 0) { ACT_SMP_THK = ConverDataToDecimal(plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P").Max(p => p.THK)); } @@ -716,7 +728,7 @@ namespace ibk.IPD ACT_SMP_THK = 0; } //原 - //decimal ACT_SMP_THK = ConverDataToDecimal(plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P" ).Max(p => p.THK)); + //decimal ACT_SMP_THK = ConverDataToDecimal(plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P").Max(p => p.THK)); //厚度不同 if (plateList.GroupBy(p => p.THK).Count() > 1) { @@ -779,12 +791,12 @@ namespace ibk.IPD } else { - if(MaxThk != MinThk) + if (MaxThk != MinThk) { continue; } } - + //钢板有客户特殊要求号,且与试样订单不一致'; if (smpno.CUST_SPEC_NO != plate.PCUST_SPEC_NO) { @@ -807,7 +819,7 @@ namespace ibk.IPD continue; } //不可以将非流通钢板挂在流通钢板的试样下(1_1.50) GB/T1591-Q355B-YC - if ((!plate.APLY_STDSPEC.Contains("-NJ") && smpno.STDSPEC.Contains("-NJ"))|| (plate.APLY_STDSPEC!= "GB/T1591-Q355B-YC"&& smpno.STDSPEC== "GB/T1591-Q355B-YC")) + if ((!plate.APLY_STDSPEC.Contains("-NJ") && smpno.STDSPEC.Contains("-NJ")) || (plate.APLY_STDSPEC != "GB/T1591-Q355B-YC" && smpno.STDSPEC == "GB/T1591-Q355B-YC")) { continue; } @@ -953,9 +965,9 @@ namespace ibk.IPD { continue; } - } + } //船板同一试样号不能有多个交货状态检查 - List DELIVERY_STATUSlist = gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO && p.ORD_NO !=null && p.ORD_NO.Substring(0, 2) != "OF" && !string.IsNullOrEmpty(p.ACT_SMP_FL) && !string.IsNullOrEmpty(p.DELIVERY_STATUS) && p.PROD_CD == "PP").GroupBy(p => p.DELIVERY_STATUS).Select(q => q.Key).ToList(); + List DELIVERY_STATUSlist = gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO && p.ORD_NO != null && p.ORD_NO.Substring(0, 2) != "OF" && !string.IsNullOrEmpty(p.ACT_SMP_FL) && !string.IsNullOrEmpty(p.DELIVERY_STATUS) && p.PROD_CD == "PP").GroupBy(p => p.DELIVERY_STATUS).Select(q => q.Key).ToList(); if (DELIVERY_STATUSlist.Count > 1) { continue; @@ -982,7 +994,7 @@ namespace ibk.IPD pdi.PLATE_NO = plate.PLATE_NO; pdi.SMP_NO = smpno.SMP_NO; pdi.SYNOPSIS = 1; - + pdi.RETRIEVAL = "1"; pdi.ORD_NO = plate.ORD_NO; pdi.ORD_ITEM = plate.ORD_ITEM; @@ -1038,17 +1050,567 @@ namespace ibk.IPD if (ipdi.Count > 0) { - logger.InfoFormat("*******开始存储数据,共:{0}条*******",ipdi.Count); + logger.InfoFormat("*******开始存储数据,共:{0}条*******", ipdi.Count); //保存结果数据 SurMatSubService surMatSubService = new SurMatSubService(); - surMatSubService.SaveQABSMP(ipdi);//自动确认,存储PDO发给MES - + //surMatSubService.SaveQABSMP(ipdi);//自动确认,存储PDO发给MES + //测试test //surMatSubService.SavePlateSmpno(ipdi); //手动确认 logger.InfoFormat("*******结束存储数据*******"); } + #endregion + + + #region 并号 + foreach (GP_PLATE plate in gP_PLATEs) + { + try + { + //并样存在不做并号 + if (ipdi.Where(p=>p.PLATE_NO==plate.PLATE_NO).Count()>0) + { + continue; + } + + if (!(plate.APLY_STDSPEC.Contains("ABS") || + plate.APLY_STDSPEC.Contains("CCS") || + plate.APLY_STDSPEC.Contains("DNV") || + plate.APLY_STDSPEC.Contains("LR") || + plate.APLY_STDSPEC.Contains("GL") || + plate.APLY_STDSPEC.Contains("BV"))) + { + continue; + } + + //镍系直接取样 + if (gNI.Where(p => p.STLGRD == plate.STLGRD).ToList().Count > 0) + { + continue; + } + + if (string.IsNullOrEmpty(plate.BOB_ORD_NO) || string.IsNullOrEmpty(plate.BOB_ORD_ITEM)) + { + // logger.InfoFormat(plate.PLATE_NO, "无原始订单直接取样"); + continue; + } + + //式样号被复用不能再使用 + if (gQP_SMP_SEND_PWHT.Where(p => p.SMP_NO == plate.SMP_NO && ( ConverDataToString( p.TEXT).Contains("并号") || ConverDataToString(p.TEXT).Contains("合并不取样"))).Count() > 0) + { + logger.InfoFormat("**{0}** 并号或者合并不取样,不能复用。", plate.SMP_NO); + continue; + } + + BP_ORDER_ITEM ORD_save = gltOrder.Where(p => p.ORD_NO == plate.BOB_ORD_NO && p.ORD_ITEM == plate.BOB_ORD_ITEM).FirstOrDefault();//确认的订单信息 + + if (ORD_save == null) + { + logger.InfoFormat(plate.PLATE_NO, "未取到原始订单信息"); + continue; + } + + //A按吨位取样,B按轧制批次取样,按钢板数量取样,d按板坯数量取样 + if (plate.SMP_LOT_UNIT == "C") + { + //logger.InfoFormat(plate.PLATE_NO, "按钢板数量取样直接取样"); + continue; + } + //不保性能并且也不存在质量设计内容不需要取样 + if (ORD_save.MATR_FL != null && ORD_save.MATR_FL != "Y") + { + if (string.IsNullOrEmpty(plate.TEST_FL) || plate.TEST_FL != "Y") + { + continue; + } + } + + //化学成分检验 + if (!ChkChemCom(plate, ORD_save)) + { + continue; + } + //2、不同炉不允许并样√ + List smpnoList = gQP_TEST_HEAD_SMP.Where(p => p.HEAT_NO == plate.PLATE_NO.Substring(0, 8)).ToList(); + //按板坯取样,有轧制异常////1、异常坯管控:坯料有轧制异常,不允许和其他板坯共样√ + if (plate.SMP_LOT_UNIT == "D" || plate.FLG_AQC == "1") + { + smpnoList = gQP_TEST_HEAD_SMP.Where(p => p.SLAB_NO == plate.SLAB_NO).ToList(); + } + if (smpnoList.Count > 0) + { + //记录原试样号 + string BooSmp = plate.SMP_NO; + foreach (var smpno in smpnoList) + { + #region 并样判断 + + //相同标准不能并号并样的时候应该满足条件 + if (plate.APLY_STDSPEC == smpno.STDSPEC) + { + continue; + } + + if (smpno.ORD_THK != plate.THK) + { + continue; + } + + if (smpno.SMP_LOT_UNIT == "C") + { + continue; + } + if (smpno.SMP_LOT_UNIT == "D" && smpno.SLAB_NO != plate.SLAB_NO) + { + continue; + } + + plate.SMP_NO = smpno.SMP_NO; + + List plateList = gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO).ToList(); + plateList.Add(new QP_TEST_PLATE + { + PLATE_NO = plate.PLATE_NO, + MILL_END_DATE = plate.MILL_END_DATE, + THK = plate.THK, + PLT = plate.PLT, + APLY_STDSPEC = plate.APLY_STDSPEC, + ACT_SMP_FL = plate.SMP_NO == plate.PLATE_NO ? "Y" : "N" + }); + + //不同工厂 + if (plateList.GroupBy(p => p.PLT).Count() > 1) + { + continue; + } + #region 并号条件判断 + + //1、母试样号已经是合并的试样号,不能合并 + //2、试样号和母试样号不是同炉的不允许并号 + //3、母试样号和试样号必须是船板 + //4、试样号必须是ABS / CCS / DNV GL / LR / GL / DNV / BV + //船板标准符合并号,否则直接取样 + if (!(plate.APLY_STDSPEC.Contains("ABS") || + plate.APLY_STDSPEC.Contains("CCS") || + plate.APLY_STDSPEC.Contains("DNV") || + plate.APLY_STDSPEC.Contains("LR") || + plate.APLY_STDSPEC.Contains("GL") || + plate.APLY_STDSPEC.Contains("BV"))) + { + continue; + } + + if (!(smpno.STDSPEC.Contains("ABS") || + smpno.STDSPEC.Contains("CCS") || + smpno.STDSPEC.Contains("DNV") || + smpno.STDSPEC.Contains("LR") || + smpno.STDSPEC.Contains("GL") || + smpno.STDSPEC.Contains("BV"))) + { + continue; + } + //排除船级社 标准相同 + if (plate.APLY_STDSPEC.Replace("ABS", "").Replace("CCS", "").Replace("DNV", "").Replace("LR", "").Replace("GL", "").Replace("BV", "") + != smpno.STDSPEC.Replace("ABS", "").Replace("CCS", "").Replace("DNV", "").Replace("LR", "").Replace("GL", "").Replace("BV", "")) + { + continue; + } + + if (smpno.STDSPEC.Contains("CCS")) + { + if (plate.APLY_STDSPEC.Contains("LR")) + { + continue; + } + } + + //5、同船级社试样号并号,2个试样日期必须大于7天 + //6、试样号是LR不允许并到母试样号是CCS上 + //7、母试样号状态必须是钢轧站判定结束 + //8、试样号和母试样号必须是同炉号 + //9、试样号和母试样号订单厚度必须一致 + //10、母试样号不允许是复样 + //11、试样号和母试样号订单要求必须是母试样号质量设计要求包含试样质量设计要求(包括拉伸、弯曲、冲击、夹杂、金相、成分等等的各个子项) + + #endregion + //QP_STD_SMP_MERGE qP_STD = gQP_STD_SMP_MERGE.Where(p => p.PLT == plate.PLT && p.STDSPEC == plate.APLY_STDSPEC + // && p.THK_MAX >= ConverDataToDecimal(plate.THK) && p.THK_MIN <= ConverDataToDecimal(plate.THK)).FirstOrDefault(); + ////p.THK改为decimal类型,如果为string类型取值有问题 + //decimal MaxThk = ConverDataToDecimal(plateList.Where(p => !string.IsNullOrEmpty(p.ACT_SMP_FL)).Max(p => p.THK)); + //decimal MinThk = ConverDataToDecimal(plateList.Where(p => !string.IsNullOrEmpty(p.ACT_SMP_FL)).Min(p => p.THK)); + //decimal ACT_SMP_THK = 0; + //if (plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P").Count() > 0) + //{ + // ACT_SMP_THK = ConverDataToDecimal(plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P").Max(p => p.THK)); + //} + //else + //{ + // ACT_SMP_THK = 0; + //} + ////原 + ////decimal ACT_SMP_THK = ConverDataToDecimal(plateList.Where(p => p.ACT_SMP_FL == "Y" || p.ACT_SMP_FL == "P" ).Max(p => p.THK)); + ////厚度不同 + //if (plateList.GroupBy(p => p.THK).Count() > 1) + //{ + // if (plateList.GroupBy(p => new { V = p.PLATE_NO.Substring(0, 10), p.APLY_STDSPEC }).Count() > 1) + // { + // } + // else + // { + // if (ACT_SMP_THK == 0 || ACT_SMP_THK < MaxThk) + // { + // continue; + // } + // } + // if (qP_STD == null) + // { + // continue; + // } + //} + //if (qP_STD != null) + //{ + // if (!string.IsNullOrEmpty(qP_STD.SEQ.ToString()) && plate.BOB_ORD_KND == "A") + // { + // if (MinThk < qP_STD.THK_MIN || MaxThk > qP_STD.THK_MAX) + // { + // continue; + // } + // if (MaxThk - MinThk > qP_STD.THK_DIFF) + // { + // continue; + // } + // if (ACT_SMP_THK == 0 || ACT_SMP_THK < MaxThk) + // { + // continue; + // } + // DateTime Mindate = DateTime.Parse(plateList.Min(p => p.MILL_END_DATE)); + // DateTime MAXdate = DateTime.Parse(plateList.Max(p => p.MILL_END_DATE)); + // TimeSpan Mill_Span = TimeSpan.FromTicks(Math.Abs((MAXdate - Mindate).Ticks)); + // if (plate.PLT == "C1") + // { + // if (Mill_Span.TotalHours > 60) + // { + // continue; + // } + // } + // else + // { + // if (Mill_Span.TotalHours > 24) + // { + // continue; + // } + // } + // } + // else + // { + // if (MaxThk != MinThk) + // { + // continue; + // } + // } + //} + //else + //{ + // if (MaxThk != MinThk) + // { + // continue; + // } + //} + + ////钢板有客户特殊要求号,且与试样订单不一致'; + //if (smpno.CUST_SPEC_NO != plate.PCUST_SPEC_NO) + //{ + // continue; + //} + + //试样炉有异常////1、异常坯管控:坯料有轧制异常,不允许和其他板坯共样√ + if (smpno.FLG_AQC == "1" && smpno.SLAB_NO != plate.SLAB_NO) + { + continue; + } + + ////证书是否被清理 清理了需要取样,没清理可以并样 + //if (gtQP_CERT_SMP.Where(p => p.SMP_NO == smpno.SMP_NO).ToList().Count > 0) + //{ + // continue; + //} + + ////不同的材质修约标准不可以共样 (2_0.30) + //if (plate.ROUNDSTD == "A" && smpno.ROUNDSTD == "C") + //{ + // continue; + //} + //不可以将非流通钢板挂在流通钢板的试样下(1_1.50) GB/T1591-Q355B-YC + if ((!plate.APLY_STDSPEC.Contains("-NJ") && smpno.STDSPEC.Contains("-NJ")) || (plate.APLY_STDSPEC != "GB/T1591-Q355B-YC" && smpno.STDSPEC == "GB/T1591-Q355B-YC")) + { + continue; + } + plate.SUB_LACK_CON = ""; + //物理性能检验 + if (!ChkPhyCom(plate, ORD_save)) + { + continue; + } + + //钢板订单试样订单对比 + if (!ChkPhyCom(smpno, ORD_save)) + { + continue; + } + if (!string.IsNullOrEmpty(plate.SUB_LACK_CON)) + { + continue; + } + + /////第三方见证机关检查,试样号下钢板见证机关要求一致(4_2.30) + //if (plate.PLATE_NO != smpno.SMP_NO) + //{ + // if (!string.IsNullOrEmpty(plate.INSP_CD) || !string.IsNullOrEmpty(plate.INSPECT_ORGAN)) + // { + // string INSP_CD = plate.INSP_CD; + // string INSP_CD1 = plate.INSP_CD; + // string INSPECT_ORGAN = plate.INSPECT_ORGAN; + // if (string.IsNullOrEmpty(INSP_CD)) + // { + // INSP_CD = gQP_TEST_PLATE.Where(p => p.SMP_NO == plate.SMP_NO).FirstOrDefault().INSP_CD; + // } + // if (string.IsNullOrEmpty(INSPECT_ORGAN)) + // { + // INSPECT_ORGAN = gQP_TEST_PLATE.Where(p => p.SMP_NO == plate.SMP_NO).FirstOrDefault().INSPECT_ORGAN; + // } + // //plate.INSP_CD空值转为空字符串 + // if (INSP_CD1 != INSP_CD || plate.INSPECT_ORGAN != INSPECT_ORGAN) + // { + // continue; + // } + // //if (plate.INSP_CD != INSP_CD || plate.INSPECT_ORGAN != INSPECT_ORGAN) + // //{ + // // continue; + // //} + // } + //} + if (plate.SMP_LOT_UNIT == "A") + { + if (gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO && !string.IsNullOrEmpty(p.ACT_SMP_FL) && p.APLY_STDSPEC == smpno.STDSPEC && p.END_RES != "3").Sum(p => ConverDataToDecimal(p.WGT)) + ConverDataToDecimal(plate.WGT) > plate.SMP_STD_WGT) + { + continue; + } + } + + if (gQP_STD_HEAD.Where(p => p.STDSPEC == plate.APLY_STDSPEC && p.CERT_TYPE == "S").ToList().Count > 0)//是否船板 + { + ////质保书管控 + //if (smpno.CERT_RPT_FL == "Y") + //{ + // //船板质保书已经产制,不允许增加钢板 + // if (gQP_CERT_DETAIL.Where(p => p.SMP_NO == BooSmp && p.PROD_NO_TEXT.Contains(plate.PLATE_NO) && string.Format(plate.LEN + "*" + plate.WID + "*" + plate.THK) == p.PROD_SIZE).Count() > 0) + // { + // if (string.IsNullOrEmpty(smpno.STDSPEC) && plate.APLY_STDSPEC == smpno.STDSPEC) + // { + + // } + // else + // { + // continue; + // } + // } + // else + // { + // continue; + // } + //} + //船板50吨 + if (gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO && !string.IsNullOrEmpty(p.ACT_SMP_FL) && p.APLY_STDSPEC == smpno.STDSPEC && p.END_RES != "3").Sum(p => ConverDataToDecimal(p.WGT)) + ConverDataToDecimal(plate.WGT) > 50) + { + continue; + } + + ////6、船板不同标准号不允许并样 + //if (plate.APLY_STDSPEC != smpno.STDSPEC) + //{ + // continue; + //} + //3、船板样最多只允许带42块钢板 改为43块√ + if (smpno.PlateCount >= 42) + { + continue; + } + ////海工板非海工板不可共用试样号 + //if (plate.MARINEBOARD != smpno.MARINEBOARD) + //{ + // continue; + //} + //8、多船级社订单试样订单需要满足钢板订单多船级社要求 + //if (!string.IsNullOrEmpty(plate.ISSHIPORDER) && plate.ISSHIPORDER == "Y") + //{ + // if (!string.IsNullOrEmpty(smpno.ISSHIPORDER) && plate.ISSHIPORDER == "Y") + // { + // List Plist = new List(); + // if (!string.IsNullOrEmpty(plate.INSPUNITCODE)) + // { + // Plist.Add(plate.INSPUNITCODE); + // } + // if (!string.IsNullOrEmpty(plate.INSPUNITCODEA)) + // { + // Plist.Add(plate.INSPUNITCODEA); + // } + // if (!string.IsNullOrEmpty(plate.INSPUNITCODEB)) + // { + // Plist.Add(plate.INSPUNITCODEB); + // } + // if (!string.IsNullOrEmpty(plate.INSPUNITCODEC)) + // { + // Plist.Add(plate.INSPUNITCODEC); + // } + // List SMPPlist = new List(); + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODE)) + // { + // SMPPlist.Add(smpno.INSPUNITCODE); + // } + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODEA)) + // { + // SMPPlist.Add(smpno.INSPUNITCODEA); + // } + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODEB)) + // { + // SMPPlist.Add(smpno.INSPUNITCODEB); + // } + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODEC)) + // { + // SMPPlist.Add(smpno.INSPUNITCODEC); + // } + // if (!Plist.OrderBy(p => p).SequenceEqual(SMPPlist.OrderBy(p => p))) + // { + // //logger.InfoFormat(plate.PLATE_NO + "多船级社订单试样订单需要满足钢板订单多船级社要求" + smpno.SMP_NO); + // continue; + // } + // } + // else + // { + // continue; + // } + //} + //船板同一试样号不能有多个交货状态检查 + //List DELIVERY_STATUSlist = gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO && p.ORD_NO != null && p.ORD_NO.Substring(0, 2) != "OF" && !string.IsNullOrEmpty(p.ACT_SMP_FL) && !string.IsNullOrEmpty(p.DELIVERY_STATUS) && p.PROD_CD == "PP").GroupBy(p => p.DELIVERY_STATUS).Select(q => q.Key).ToList(); + //if (DELIVERY_STATUSlist.Count > 1) + //{ + // continue; + //} + //else + //{ + // if (DELIVERY_STATUSlist.Count == 1 && plate.DELIVERY_STATUS != DELIVERY_STATUSlist.FirstOrDefault()) + // { + // continue; + // } + //} + } + + + #endregion 并样判断 + + if (smpno.SMP_NO == null) + { + continue; + } + + + + //判断是否是并号过的式样号 + gChkQP_SMP_SEND_PWHT = surMatSubService.GetChkQP_SMP_SEND_PWHT(smpno.SMP_NO); + + if (gChkQP_SMP_SEND_PWHT.Count()>0) + { + logger.InfoFormat("**{0}--{1}** 并号或者合并不取样,不能复用。", plate.SMP_NO, gChkQP_SMP_SEND_PWHT.FirstOrDefault().TEXT); + continue; + } + + double price = getExperPrice(plate, ORD_save); + PDI_SMP_NO_M pdi = new PDI_SMP_NO_M(); + pdi.TIMESTAMP = GetTimeStamp(); + pdi.PLATE_NO = plate.PLATE_NO; + + //倒数第二位换成9 + pdi.SMP_NO = plate.PLATE_NO.Length >= 2 ? plate.PLATE_NO.Substring(0, plate.PLATE_NO.Length - 2) + '9' + plate.PLATE_NO.Substring(plate.PLATE_NO.Length - 1) : plate.PLATE_NO; + logger.InfoFormat("钢板号:{0},订单号-协议号:{1}-{2},可并号,原试样号:{3}=>新试样号:{4}", plate.PLATE_NO, ORD_save.ORD_NO, ORD_save.ORD_ITEM, smpno.SMP_NO, pdi.SMP_NO); + + //式样号 母号 + pdi.SMP_NO_M = smpno.SMP_NO; + pdi.PROD_CD = plate.PROD_CD; + pdi.SMP_LOC = plate.SMP_LOC; + pdi.SMP_LEN = plate.SMP_LEN; + pdi.SMP_FLG = "N"; + + pdi.SYNOPSIS = 1; + + pdi.RETRIEVAL = "2";//2并号 ※ + pdi.ORD_NO = plate.ORD_NO; + pdi.ORD_ITEM = plate.ORD_ITEM; + pdi.COSTS = price.ToString(); + pdi.ORG_ORD_NO = plate.ORG_ORD_NO; + pdi.ORG_ORD_ITEM = plate.ORG_ORD_ITEM; + pdi.ORD_FL = plate.ORD_FL; + pdi.CUST_CD = plate.CUST_CD; + pdi.WOO_RSN = plate.WOO_RSN; + pdi.THK = plate.THK; + pdi.WID = plate.WID; + pdi.LEN = plate.LEN; + pdi.WGT = plate.WGT; + pdi.OUT_SHEET_NO = plate.OUT_SHEET_NO; + pdi.PLT = plate.PLT; + pdi.PROD_DATE = plate.PROD_DATE; + pdi.MILL_END_DATE = plate.MILL_END_DATE; + pdi.ORD_PROD_END_TIME = plate.PROD_DATE; + pdi.IN_PLT_DATE = plate.IN_PLT_DATE; + pdi.SHP_TIME = plate.SHP_TIME; + pdi.APLY_STDSPEC = plate.APLY_STDSPEC; + pdi.CUR_INV = plate.CUR_INV; + pdi.LOC = plate.LOC; + pdi.DEL_TO_DATE = plate.DEL_TO_DATE; + pdi.INS_DATE = DateTime.Now.ToString("yyyyMMddHHmmss"); + //pdi.DISPOSE = "3"; + pdi.IS_STATE = "0";//存储履历界面需改为1 + pdi.SMP_STD_WGT = plate.SMP_STD_WGT; + pdi.PROC_CD = plate.PROC_CD; + pdi.PROD_GRD = plate.PROD_GRD; + pdi.SURF_GRD = plate.SURF_GRD; + pdi.SMP_STDSPEC = gQP_TEST_HEAD_SMP.Where(p => p.SMP_NO == smpno.SMP_NO).Select(p => p.STDSPEC).FirstOrDefault();//试样标准 + pdi.ORD_STDSPEC = ORD_save.STDSPEC; + pdi.CERT_TYPE = gQP_STD_HEAD.Where(p => p.STDSPEC == pdi.APLY_STDSPEC).Select(p => p.CERT_TYPE).FirstOrDefault();//质保书类型 + pdi.ORD_THK = ORD_save.ORD_THK; + ipdBH.Add(pdi); + + //logger.InfoFormat("钢板号=>{0},试样号=>{1},工厂:{2},进程状态:{3},质保书:{4}", plate.PLATE_NO, pdi.SMP_NO,pdi.PLT,pdi.PROC_CD,pdi.CERT_TYPE); + + //gSmpNoList.Add(plate.PLATE_NO + "+++++++++" + plate.SMP_NO + "+++++++" + plate.PLT); + } + } + else + { + //logger.InfoFormat("钢板号:{0} 同炉没有相同厚度试样号", plate.PLATE_NO); + } + } + catch (Exception ex) + { + logger.InfoFormat("$$钢板号:{0} => 报错: {1}", plate.PLATE_NO, ex.ToString()); + } + } + + if (ipdBH.Count > 0) + { + logger.InfoFormat("*******开始存储数据,共:{0}条*******", ipdBH.Count); + //保存结果数据 + SurMatSubService surMatSubService = new SurMatSubService(); + + surMatSubService.SaveQABSMP_M(ipdBH);//自动确认,存储PDO发给MES + + //测试test + //surMatSubService.SavePlateSmpno(ipdBH); //手动确认 + logger.InfoFormat("*******结束存储数据*******"); + } + #endregion + } #endregion diff --git a/取样并样程序/SubResult/SubResult/SurMatSubService.cs b/取样并样程序/SubResult/SubResult/SurMatSubService.cs index 9b68a16..0c15e82 100644 --- a/取样并样程序/SubResult/SubResult/SurMatSubService.cs +++ b/取样并样程序/SubResult/SubResult/SurMatSubService.cs @@ -2055,6 +2055,7 @@ namespace ibk.IPD strSql.AppendLine(",BOI.INSPECT_ORGAN "); strSql.AppendLine(",QTH.ORD_NO "); strSql.AppendLine(",QTH.ORD_ITEM "); + strSql.AppendLine(",QTH.ORD_THK "); //strSql.AppendLine(",MATR.SMP_LOT_UNIT "); //strSql.AppendLine(",MATR.SMP_STD_WGT "); strSql.AppendLine(" , (SELECT A.ROUNDSTD "); @@ -2339,6 +2340,36 @@ namespace ibk.IPD return ltPDI_SMP_NO; } + // + /// 获取历史信息 + /// + /// + /// + public IList GetChkQP_SMP_SEND_PWHT(string strSMPNo) + { + StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量 + DataTable dtCheck = new DataTable(); + + IList ltPDI_SMP_NO = new List(); + + strSql.AppendLine("SELECT * FROM NISCO.QP_SMP_SEND_PWHT WHERE 1=1 and SMP_NO ='" + strSMPNo + "' AND (TEXT LIKE '%并号%' OR TEXT LIKE '%合并不取样%') "); + try + { + //开启数据库连接查询数据 + using (IDbContext db = ObjectContainer.GetObject("db_sur")) + { + ltPDI_SMP_NO = db.Query(strSql.ToString()); + } + } + catch (Exception ex) + { + logger.Error("GetQP_SMP_SEND_PWHT 报错 : ", ex); + } + + return ltPDI_SMP_NO; + } + + // /// 获取试样履历信息 /// @@ -2590,6 +2621,39 @@ namespace ibk.IPD } } + + public void SaveQABSMP_M(IList pdi) + { + using (IDbContext db = ObjectContainer.GetObject("db")) + { + try + { + //因为是同时操作两个表, 所以开启事务 + db.BeginTransaction(); + + db.Execute(" DELETE FROM PDI_SMP_NO_M ");//删除获取最新数据 + + //存储并样去重后信息 + foreach (PDI_SMP_NO_M delAddModel in pdi) + { + //存储动态挂试样号履历 + db.Insert(delAddModel); + logger.InfoFormat("钢板:{0},订单:{1}-{2},试样号:{3}存储成功", delAddModel.PLATE_NO, delAddModel.ORD_NO, delAddModel.ORD_ITEM, delAddModel.SMP_NO); + } + + db.Commit(); + + } + catch (Exception ex) + { + //数据如果发生错误则回滚 + db.Rollback(); + + logger.Error("SaveQABSMP 报错", ex); + } + } + } + /// /// 自动确认并样信息 /// diff --git a/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.exe b/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.exe index 9316b28..dc1c2df 100644 Binary files a/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.exe and b/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.exe differ diff --git a/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.pdb b/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.pdb index 7a44830..292f054 100644 Binary files a/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.pdb and b/取样并样程序/SubResult/SubResult/bin/Debug/SubResult.pdb differ diff --git a/取样并样程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/取样并样程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index d35cf45..3f7ff9e 100644 Binary files a/取样并样程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/取样并样程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache b/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache index 434f68d..7d47c0b 100644 --- a/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache +++ b/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -6969e6d8c48e39a0daef9103d8ba54f0509f2a29 +19e2dbee78ae1823a8c8d4c369a452713da1ec4f diff --git a/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.exe b/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.exe index 9316b28..dc1c2df 100644 Binary files a/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.exe and b/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.exe differ diff --git a/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.pdb b/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.pdb index 7a44830..292f054 100644 Binary files a/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.pdb and b/取样并样程序/SubResult/SubResult/obj/Debug/SubResult.pdb differ diff --git a/取样并样程序/并号/SubResult/.vs/SubResult/FileContentIndex/63fa597c-d1b4-49d6-ba23-3db295dc56ee.vsidx b/取样并样程序/并号/SubResult/.vs/SubResult/FileContentIndex/63fa597c-d1b4-49d6-ba23-3db295dc56ee.vsidx deleted file mode 100644 index 48dcb74..0000000 Binary files a/取样并样程序/并号/SubResult/.vs/SubResult/FileContentIndex/63fa597c-d1b4-49d6-ba23-3db295dc56ee.vsidx and /dev/null differ diff --git a/取样并样程序/并号/SubResult/.vs/SubResult/v17/.suo b/取样并样程序/并号/SubResult/.vs/SubResult/v17/.suo index dcbdff3..448afd1 100644 Binary files a/取样并样程序/并号/SubResult/.vs/SubResult/v17/.suo and b/取样并样程序/并号/SubResult/.vs/SubResult/v17/.suo differ diff --git a/取样并样程序/并号/SubResult/SubResult/SurMatSubController.cs b/取样并样程序/并号/SubResult/SubResult/SurMatSubController.cs index 717cfba..7867b32 100644 --- a/取样并样程序/并号/SubResult/SubResult/SurMatSubController.cs +++ b/取样并样程序/并号/SubResult/SubResult/SurMatSubController.cs @@ -581,43 +581,7 @@ namespace ibk.IPD logger.Info("【多线程获取数据结束】"); - #region 更新价格 - //pdismp = surMatSubService.GetPDI_SMP(); - //logger.Info("【2_02并样履历】:" + pdismp.Count); - - //pdismp = pdismp.Where(p => p.SMP_NO == "24102618020121").ToList(); - - //using (IDbContext db = ObjectContainer.GetObject("db")) - //{ - - // try - // { - // //因为是同时操作两个表, 所以开启事务 - // db.BeginTransaction(); - // //更新历史履历价格 - // foreach (var PSN_Price in pdismp) - // { - // //getExperPriceStr - // double price = getExperPriceStr(PSN_Price.SMP_NO); - - // StringBuilder strUpd = new StringBuilder(); - - // strUpd.AppendFormat(" UPDATE PDI_SMP_NO SET COSTS='{0}' WHERE SMP_NO='{1}' ", price, PSN_Price.SMP_NO); - - // db.Execute(strUpd.ToString());//更新数据 - // } - // db.Commit(); - // } - // catch (Exception) - // { - // db.Rollback(); - // } - - - //} - - #endregion - + foreach (GP_PLATE plate in gP_PLATEs) { @@ -663,6 +627,7 @@ namespace ibk.IPD { continue; } + //2、不同炉不允许并样√ List smpnoList = gQP_TEST_HEAD_SMP.Where(p => p.HEAT_NO == plate.PLATE_NO.Substring(0, 8)).ToList(); //按板坯取样,有轧制异常////1、异常坯管控:坯料有轧制异常,不允许和其他板坯共样√ @@ -687,6 +652,7 @@ namespace ibk.IPD continue; } plate.SMP_NO = smpno.SMP_NO; + plate.SMP_NO = ""; if (string.IsNullOrEmpty(smpno.SMP_NO)) { @@ -802,7 +768,8 @@ namespace ibk.IPD { continue; } - //证书是否被清理 清理了需要取样,没清理可以并样 + + //证书是否被清理 清理了需要取样,没清理可以并样 *并号 if (gtQP_CERT_SMP.Where(p => p.SMP_NO == smpno.SMP_NO).ToList().Count > 0) { continue; @@ -813,11 +780,13 @@ namespace ibk.IPD { continue; } + //不可以将非流通钢板挂在流通钢板的试样下(1_1.50) GB/T1591-Q355B-YC if ((!plate.APLY_STDSPEC.Contains("-NJ") && smpno.STDSPEC.Contains("-NJ"))|| (plate.APLY_STDSPEC!= "GB/T1591-Q355B-YC"&& smpno.STDSPEC== "GB/T1591-Q355B-YC")) { continue; } + //物理性能检验 if (!ChkPhyCom(plate, ORD_save)) { @@ -829,6 +798,7 @@ namespace ibk.IPD { continue; } + if (!string.IsNullOrEmpty(plate.SUB_LACK_CON)) { continue; @@ -885,74 +855,76 @@ namespace ibk.IPD { continue; } - //海工板非海工板不可共用试样号 - if (plate.MARINEBOARD != smpno.MARINEBOARD) - { - continue; - } - //8、多船级社订单试样订单需要满足钢板订单多船级社要求 - if (!string.IsNullOrEmpty(plate.ISSHIPORDER) && plate.ISSHIPORDER == "Y") - { - if (!string.IsNullOrEmpty(smpno.ISSHIPORDER) && plate.ISSHIPORDER == "Y") - { - List Plist = new List(); - if (!string.IsNullOrEmpty(plate.INSPUNITCODE)) - { - Plist.Add(plate.INSPUNITCODE); - } - if (!string.IsNullOrEmpty(plate.INSPUNITCODEA)) - { - Plist.Add(plate.INSPUNITCODEA); - } - if (!string.IsNullOrEmpty(plate.INSPUNITCODEB)) - { - Plist.Add(plate.INSPUNITCODEB); - } - if (!string.IsNullOrEmpty(plate.INSPUNITCODEC)) - { - Plist.Add(plate.INSPUNITCODEC); - } - List SMPPlist = new List(); - if (!string.IsNullOrEmpty(smpno.INSPUNITCODE)) - { - SMPPlist.Add(smpno.INSPUNITCODE); - } - if (!string.IsNullOrEmpty(smpno.INSPUNITCODEA)) - { - SMPPlist.Add(smpno.INSPUNITCODEA); - } - if (!string.IsNullOrEmpty(smpno.INSPUNITCODEB)) - { - SMPPlist.Add(smpno.INSPUNITCODEB); - } - if (!string.IsNullOrEmpty(smpno.INSPUNITCODEC)) - { - SMPPlist.Add(smpno.INSPUNITCODEC); - } - if (!Plist.OrderBy(p => p).SequenceEqual(SMPPlist.OrderBy(p => p))) - { - //logger.InfoFormat(plate.PLATE_NO + "多船级社订单试样订单需要满足钢板订单多船级社要求" + smpno.SMP_NO); - continue; - } - } - else - { - continue; - } - } + + ////海工板非海工板不可共用试样号 可以 + //if (plate.MARINEBOARD != smpno.MARINEBOARD) + //{ + // continue; + //} + + ////8、多船级社订单试样订单需要满足钢板订单多船级社要求 + //if (!string.IsNullOrEmpty(plate.ISSHIPORDER) && plate.ISSHIPORDER == "Y") + //{ + // if (!string.IsNullOrEmpty(smpno.ISSHIPORDER) && plate.ISSHIPORDER == "Y") + // { + // List Plist = new List(); + // if (!string.IsNullOrEmpty(plate.INSPUNITCODE)) + // { + // Plist.Add(plate.INSPUNITCODE); + // } + // if (!string.IsNullOrEmpty(plate.INSPUNITCODEA)) + // { + // Plist.Add(plate.INSPUNITCODEA); + // } + // if (!string.IsNullOrEmpty(plate.INSPUNITCODEB)) + // { + // Plist.Add(plate.INSPUNITCODEB); + // } + // if (!string.IsNullOrEmpty(plate.INSPUNITCODEC)) + // { + // Plist.Add(plate.INSPUNITCODEC); + // } + // List SMPPlist = new List(); + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODE)) + // { + // SMPPlist.Add(smpno.INSPUNITCODE); + // } + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODEA)) + // { + // SMPPlist.Add(smpno.INSPUNITCODEA); + // } + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODEB)) + // { + // SMPPlist.Add(smpno.INSPUNITCODEB); + // } + // if (!string.IsNullOrEmpty(smpno.INSPUNITCODEC)) + // { + // SMPPlist.Add(smpno.INSPUNITCODEC); + // } + // if (!Plist.OrderBy(p => p).SequenceEqual(SMPPlist.OrderBy(p => p))) + // { + // //logger.InfoFormat(plate.PLATE_NO + "多船级社订单试样订单需要满足钢板订单多船级社要求" + smpno.SMP_NO); + // continue; + // } + // } + // else + // { + // continue; + // } + //} //船板同一试样号不能有多个交货状态检查 List DELIVERY_STATUSlist = gQP_TEST_PLATE.Where(p => p.SMP_NO == smpno.SMP_NO && p.ORD_NO != null && p.ORD_NO.Substring(0, 2) != "OF" && !string.IsNullOrEmpty(p.ACT_SMP_FL) && !string.IsNullOrEmpty(p.DELIVERY_STATUS) && p.PROD_CD == "PP").GroupBy(p => p.DELIVERY_STATUS).Select(q => q.Key).ToList(); - if (DELIVERY_STATUSlist.Count > 1) - { - continue; - } - else - { - if (DELIVERY_STATUSlist.Count == 1 && plate.DELIVERY_STATUS != DELIVERY_STATUSlist.FirstOrDefault()) - { - continue; - } - } + //if (DELIVERY_STATUSlist.Count > 1) + //{ + // continue; + //} + //else + //{ + // if (DELIVERY_STATUSlist.Count == 1 && plate.DELIVERY_STATUS != DELIVERY_STATUSlist.FirstOrDefault()) + // { + // continue; + // } + //} #region 并号判断 isBingSMP @@ -1005,6 +977,12 @@ namespace ibk.IPD { continue; } + //排除船级社 标准相同 + if (plate.APLY_STDSPEC.Replace("ABS","").Replace("CCS", "").Replace("DNV", "").Replace("LR", "").Replace("GL", "").Replace("BV", "") + != smpno.STDSPEC.Replace("ABS", "").Replace("CCS", "").Replace("DNV", "").Replace("LR", "").Replace("GL", "").Replace("BV", "")) + { + continue; + } if (smpno.STDSPEC.Contains("CCS")) { @@ -1022,8 +1000,6 @@ namespace ibk.IPD //10、母试样号不允许是复样 //11、试样号和母试样号订单要求必须是母试样号质量设计要求包含试样质量设计要求(包括拉伸、弯曲、冲击、夹杂、金相、成分等等的各个子项) - - #endregion } else diff --git a/取样并样程序/并号/SubResult/SubResult/SurMatSubService.cs b/取样并样程序/并号/SubResult/SubResult/SurMatSubService.cs index c731260..225954e 100644 --- a/取样并样程序/并号/SubResult/SubResult/SurMatSubService.cs +++ b/取样并样程序/并号/SubResult/SubResult/SurMatSubService.cs @@ -174,7 +174,7 @@ namespace ibk.IPD strSql.AppendLine(" and length(PLATE_NO) =14 "); //测试test - //strSql.AppendLine(" AND PLATE_NO in ('24302750010204') "); + strSql.AppendLine(" AND PLATE_NO in ('24203912330111') "); try diff --git a/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.exe b/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.exe index 5920f5b..1d0ca91 100644 Binary files a/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.exe and b/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.exe differ diff --git a/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.pdb b/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.pdb index 223612d..160e251 100644 Binary files a/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.pdb and b/取样并样程序/并号/SubResult/SubResult/bin/Debug/SubResult.pdb differ diff --git a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache index efaa297..670e2fe 100644 Binary files a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache and b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache differ diff --git a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache index 434f68d..2117201 100644 --- a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache +++ b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -6969e6d8c48e39a0daef9103d8ba54f0509f2a29 +539416cb73083529a7309feba5fd5dcf48e80836 diff --git a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.FileListAbsolute.txt b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.FileListAbsolute.txt index ee3845c..13850bb 100644 --- a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.FileListAbsolute.txt +++ b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.csproj.FileListAbsolute.txt @@ -258,3 +258,29 @@ D:\_NG_1\NG_Project\取样并样程序\SubResult\SubResult\obj\Debug\SubResult.c D:\_NG_1\NG_Project\取样并样程序\SubResult\SubResult\obj\Debug\SubResult.csproj.CopyComplete D:\_NG_1\NG_Project\取样并样程序\SubResult\SubResult\obj\Debug\SubResult.exe D:\_NG_1\NG_Project\取样并样程序\SubResult\SubResult\obj\Debug\SubResult.pdb +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\log4net.config +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\SubResult.exe.config +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\SubResult.exe +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\SubResult.pdb +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\Google.OrTools.x86.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\Google.OrTools.x86.pdb +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\Google.Protobuf.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\Microsoft.Bcl.AsyncInterfaces.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\Newtonsoft.Json.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\RestSharp.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Buffers.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Memory.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Numerics.Vectors.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Text.Encodings.Web.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Text.Json.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Threading.Tasks.Extensions.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.ValueTuple.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\bin\Debug\System.Net.Http.Formatting.dll +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\obj\Debug\SubResult.csproj.AssemblyReference.cache +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\obj\Debug\SubResult.csproj.SuggestedBindingRedirects.cache +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\obj\Debug\SubResult.exe.config +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\obj\Debug\SubResult.csproj.CoreCompileInputs.cache +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\obj\Debug\SubResult.csproj.CopyComplete +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\obj\Debug\SubResult.exe +D:\_NG_1\NG_Project\取样并样程序\并号\SubResult\SubResult\obj\Debug\SubResult.pdb diff --git a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.exe b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.exe index 5920f5b..1d0ca91 100644 Binary files a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.exe and b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.exe differ diff --git a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.pdb b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.pdb index 223612d..160e251 100644 Binary files a/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.pdb and b/取样并样程序/并号/SubResult/SubResult/obj/Debug/SubResult.pdb differ diff --git a/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo b/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo index 76364e1..7bcd18f 100644 Binary files a/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo and b/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo differ diff --git a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll index 98a0bb6..37a11b4 100644 Binary files a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll and b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll differ diff --git a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb index 779d26c..139a5a6 100644 Binary files a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb and b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb differ diff --git a/后端接口/ipd-server/Service/Controller/IPD-PS/SlabSubstitutionController.cs b/后端接口/ipd-server/Service/Controller/IPD-PS/SlabSubstitutionController.cs index 34a09c1..3cf01e3 100644 --- a/后端接口/ipd-server/Service/Controller/IPD-PS/SlabSubstitutionController.cs +++ b/后端接口/ipd-server/Service/Controller/IPD-PS/SlabSubstitutionController.cs @@ -32,6 +32,9 @@ using ibk.IPD.Service.IPD_SS; using System.Reflection.Emit; using ibk.IPD.Entity.IPD_SS; using System.Globalization; +using NPOI.SS.Formula.Functions; +using NPOI.XWPF.UserModel; +using static NPOI.HSSF.Util.HSSFColor; namespace ibk.IPD.Controller.IPD_SS { @@ -2865,8 +2868,21 @@ namespace ibk.IPD.Controller.IPD_SS //进程等待 Task.WaitAll(tasks); + + //dtCheck2 = SerSurMatSubService.GetHisC2RATE_NEW(QAGP); + + //dtCheck3 = SerSurMatSubService.GetHisC3RATE_NEW(QAGP); + + //QAGP.START_TIME = DateTime.Now.AddDays(-6); + //QAGP.END_TIME = DateTime.Now.AddDays(-1); ; + + //dtCheck1 = SerSurMatSubService.GetHisC1RATE_NEW(QAGP); + IList dtCheck = new List(); + //QAGP.START_TIME = DateTime.Now.AddDays(-6); + //QAGP.END_TIME = DateTime.Now; + DateTime startDate = QAGP.START_TIME; DateTime endDate = QAGP.END_TIME; @@ -2896,7 +2912,11 @@ namespace ibk.IPD.Controller.IPD_SS { TSAR.MANMMDE_YIELD_C1 = 95; } - TSAR.SUB_DATE_C1 = TSR1.SUB_DATE; + //TSAR.SUB_DATE_C1 = TSR1.SUB_DATE; + TSAR.SUB_DATE_C1 = TSR2.SUB_DATE; + TSAR.SUB_DATE_C2 = TSR1.SUB_DATE; + TSAR.SUB_DATE_C3 = TSR1.SUB_DATE; + TSAR.SYS_COUNT_C1 = TSR1.SYS_COUNT; TSAR.SYS_PERCENT_C1 = TSR1.SYS_PERCENT; @@ -2928,7 +2948,11 @@ namespace ibk.IPD.Controller.IPD_SS { TSAR.MANMMDE_YIELD_C2 = 95; } - TSAR.SUB_DATE_C2 = TSR2.SUB_DATE; + + TSAR.SUB_DATE_C1 = TSR2.SUB_DATE; + TSAR.SUB_DATE_C2 = TSR1.SUB_DATE; + TSAR.SUB_DATE_C3 = TSR1.SUB_DATE; + TSAR.SYS_COUNT_C2 = TSR2.SYS_COUNT; TSAR.SYS_PERCENT_C2 = TSR2.SYS_PERCENT; TSAR.SYS_YIELD_C2 = TSR2.SYS_YIELD; @@ -2960,7 +2984,11 @@ namespace ibk.IPD.Controller.IPD_SS { TSAR.MANMMDE_YIELD_C3 = 95; } - TSAR.SUB_DATE_C3 = TSR3.SUB_DATE; + + TSAR.SUB_DATE_C1 = TSR2.SUB_DATE; + TSAR.SUB_DATE_C2 = TSR1.SUB_DATE; + TSAR.SUB_DATE_C3 = TSR1.SUB_DATE; + TSAR.SYS_COUNT_C3 = TSR3.SYS_COUNT; TSAR.SYS_PERCENT_C3 = TSR3.SYS_PERCENT; TSAR.SYS_YIELD_C3 = TSR3.SYS_YIELD; @@ -3040,9 +3068,9 @@ namespace ibk.IPD.Controller.IPD_SS TSAR2.SYS_COUNT_C2 = dtCheck.Sum(p => p.SYS_COUNT_C2); TSAR2.SYS_COUNT_C3 = dtCheck.Sum(p => p.SYS_COUNT_C3); TSAR2.SYS_YIELD_ALL = dtCheck.Where(p => p.SYS_YIELD_ALL != 0).Count() == 0 ? 0 : dtCheck.Sum(p => p.SYS_YIELD_ALL) / dtCheck.Where(p => p.SYS_YIELD_ALL != 0).Count(); - TSAR2.SYS_YIELD_C1 = dtCheck.Where(p => p.SYS_YIELD_C1 != 0).Count() == 0 ? 0 : dtCheck.Sum(p => p.SYS_YIELD_C1) / dtCheck.Where(p => p.SYS_YIELD_C1 != 0).Count(); - TSAR2.SYS_YIELD_C2 = dtCheck.Where(p => p.SYS_YIELD_C2 != 0).Count() == 0 ? 0 : dtCheck.Sum(p => p.SYS_YIELD_C2) / dtCheck.Where(p => p.SYS_YIELD_C2 != 0).Count(); - TSAR2.SYS_YIELD_C3 = dtCheck.Where(p => p.SYS_YIELD_C3 != 0).Count() == 0 ? 0 : dtCheck.Sum(p => p.SYS_YIELD_C3) / dtCheck.Where(p => p.SYS_YIELD_C3 != 0).Count(); + TSAR2.SYS_YIELD_C1 = dtCheck.Where(p => p.SYS_YIELD_C1 != 0).Count() == 0 ? 0 : dtCheck.Sum(p => p.SYS_YIELD_C1) / dtCheck.Where(p => p.SYS_YIELD_C1 != 0 && p.SYS_YIELD_C1 != null).Count(); + TSAR2.SYS_YIELD_C2 = dtCheck.Where(p => p.SYS_YIELD_C2 != 0).Count() == 0 ? 0 : dtCheck.Sum(p => p.SYS_YIELD_C2) / dtCheck.Where(p => p.SYS_YIELD_C2 != 0 && p.SYS_YIELD_C2 != null).Count(); + TSAR2.SYS_YIELD_C3 = dtCheck.Where(p => p.SYS_YIELD_C3 != 0).Count() == 0 ? 0 : dtCheck.Sum(p => p.SYS_YIELD_C3) / dtCheck.Where(p => p.SYS_YIELD_C3 != 0 && p.SYS_YIELD_C3 != null).Count(); TSAR2.SYS_PERCENT_ALL = TSAR2.MANMMDE_COUNT_ALL + TSAR2.SYS_COUNT_ALL > 0 ? TSAR2.SYS_COUNT_ALL / (TSAR2.MANMMDE_COUNT_ALL + TSAR2.SYS_COUNT_ALL) : 0; TSAR2.SYS_PERCENT_C1 = TSAR2.MANMMDE_COUNT_C1 + TSAR2.SYS_COUNT_C1 > 0 ? TSAR2.SYS_COUNT_C1 / (TSAR2.MANMMDE_COUNT_C1 + TSAR2.SYS_COUNT_C1) : 0; TSAR2.SYS_PERCENT_C2 = TSAR2.MANMMDE_COUNT_C2 + TSAR2.SYS_COUNT_C2 > 0 ? TSAR2.SYS_COUNT_C2 / (TSAR2.MANMMDE_COUNT_C2 + TSAR2.SYS_COUNT_C2) : 0; @@ -3096,6 +3124,83 @@ namespace ibk.IPD.Controller.IPD_SS } + [HttpPost, Route("GetAllHisSMPDataWGT")] + public RequestEntity GetAllHisSMPDataWGT(GpPlateQueryArgs QAGP) + { + RequestEntity result = new RequestEntity(); + try + { + if (QAGP.START_TIME == DateTime.MinValue && QAGP.END_TIME == DateTime.MinValue) + { + QAGP.START_TIME = DateTime.Now.AddDays(-6); + QAGP.END_TIME = DateTime.Now; + } + + StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量 + DataTable dtCheck = new DataTable(); + + strSql.AppendLine(" SELECT "); + strSql.AppendLine(" CASE "); + strSql.AppendLine(" WHEN GROUPING(TRUNC(TO_DATE(INS_DATE, 'YYYYMMDDHH24MISS'))) = 1 "); + strSql.AppendLine(" THEN '合计' "); + strSql.AppendLine(" ELSE TO_CHAR(TRUNC(TO_DATE(INS_DATE, 'YYYYMMDDHH24MISS')), 'YYYY-MM-DD') "); + strSql.AppendLine(" END AS INS_DATE, "); + strSql.AppendLine(" COUNT(PLATE_NO) AS CNT, "); + strSql.AppendLine(" SUM(TO_NUMBER(COSTS)) AS COSTS "); + strSql.AppendLine("FROM "); + + strSql.AppendLine(" PDI_SMP_NO "); + + strSql.AppendLine(" WHERE 1=1 "); + + if (QAGP.START_TIME != DateTime.MinValue) + { + strSql.AppendLine(" AND TO_CHAR(TO_DATE(INS_DATE, 'yyyy-MM-dd HH24:mi:ss'), 'yyyyMMdd') >= TO_CHAR(TO_DATE('" + QAGP.START_TIME.ToString("yyyy-MM-dd") + "','yyyy-MM-dd HH24:mi:ss'), 'yyyyMMdd')"); + } + if (QAGP.END_TIME != DateTime.MinValue) + { + strSql.AppendLine(" AND TO_CHAR(TO_DATE(INS_DATE, 'yyyy-MM-dd HH24:mi:ss'), 'yyyyMMdd') <= TO_CHAR(TO_DATE('" + QAGP.END_TIME + "','yyyy-MM-dd HH24:mi:ss'), 'yyyyMMdd')"); + } + + //strSql.AppendLine(" WHERE TO_DATE(INS_DATE, 'YYYYMMDDHH24MISS') "); + //strSql.AppendLine(" BETWEEN TO_DATE('20240601', 'YYYYMMDD') "); + //strSql.AppendLine(" AND TO_DATE('20240630', 'YYYYMMDD') "); + strSql.AppendLine("GROUP BY "); + strSql.AppendLine(" ROLLUP(TRUNC(TO_DATE(INS_DATE, 'YYYYMMDDHH24MISS'))) "); + strSql.AppendLine("ORDER BY "); + strSql.AppendLine(" INS_DATE "); + + + //开启数据库连接查询数据 + using (IDbContext db = ObjectContainer.GetObject("db")) + { + + dtCheck = db.Query(strSql.ToString()); + result.data = db.Query(strSql.ToString()); + if (dtCheck.Rows.Count > 0) + { + result.msg = "操作成功!"; + result.code = "1"; + } + else + { + result.msg = "未找到查询所需数据!"; + result.code = "1"; + } + } + } + catch (Exception ex) + { + result.msg = "数据库错误!"; + result.code = "0"; + logger.Error("getSlabConf 报错", ex); + } + + return result; + } + + + /// /// Null转换Decimal /// diff --git a/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs b/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs index 3510848..d61dc71 100644 --- a/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs +++ b/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs @@ -900,18 +900,18 @@ namespace ibk.IPD.Controller.IPD_PS // strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') <= TO_DATE('" + QAGP.END_TIME + "','yyyy-MM-dd HH24:mi:ss')"); //} - if (!string.IsNullOrWhiteSpace(CommonUtils.ObjectToStr(QAGP.START_TIME)) && CommonUtils.ObjectToStr(QAGP.START_TIME) != "0001/1/1 0:00:00") - strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') >= to_date('" + CommonUtils.ObjectToStr(QAGP.START_TIME) + "','yyyy-mm-dd hh24:mi:ss')"); - if (!string.IsNullOrWhiteSpace(CommonUtils.ObjectToStr(QAGP.END_TIME)) && CommonUtils.ObjectToStr(QAGP.END_TIME) != "0001/1/1 0:00:00") - strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') < to_date('" + CommonUtils.ObjectToStr(QAGP.END_TIME.AddDays(1)) + "','yyyy-mm-dd hh24:mi:ss')"); + //if (!string.IsNullOrWhiteSpace(CommonUtils.ObjectToStr(QAGP.START_TIME)) && CommonUtils.ObjectToStr(QAGP.START_TIME) != "0001/1/1 0:00:00") + // strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') >= to_date('" + CommonUtils.ObjectToStr(QAGP.START_TIME) + "','yyyy-mm-dd hh24:mi:ss')"); + //if (!string.IsNullOrWhiteSpace(CommonUtils.ObjectToStr(QAGP.END_TIME)) && CommonUtils.ObjectToStr(QAGP.END_TIME) != "0001/1/1 0:00:00") + // strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') < to_date('" + CommonUtils.ObjectToStr(QAGP.END_TIME.AddDays(1)) + "','yyyy-mm-dd hh24:mi:ss')"); - if (QAGP.START_TIME == DateTime.MinValue && QAGP.END_TIME == DateTime.MinValue) - { - QAGP.START_TIME = DateTime.Now.AddDays(-7); - QAGP.END_TIME = DateTime.Now; - strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') >= to_date('" + CommonUtils.ObjectToStr(QAGP.START_TIME.ToString("yyyy-MM-dd")) + "','yyyy-mm-dd hh24:mi:ss')"); - strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') < to_date('" + CommonUtils.ObjectToStr(QAGP.END_TIME.AddDays(1)) + "','yyyy-mm-dd hh24:mi:ss')"); - } + //if (QAGP.START_TIME == DateTime.MinValue && QAGP.END_TIME == DateTime.MinValue) + //{ + // QAGP.START_TIME = DateTime.Now.AddDays(-7); + // QAGP.END_TIME = DateTime.Now; + // strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') >= to_date('" + CommonUtils.ObjectToStr(QAGP.START_TIME.ToString("yyyy-MM-dd")) + "','yyyy-mm-dd hh24:mi:ss')"); + // strSql.AppendLine(" AND TO_DATE(a.INS_DATE,'yyyy-MM-dd HH24:mi:ss') < to_date('" + CommonUtils.ObjectToStr(QAGP.END_TIME.AddDays(1)) + "','yyyy-mm-dd hh24:mi:ss')"); + //} strSql.AppendLine(" ORDER BY a.INS_DATE DESC "); @@ -1037,16 +1037,19 @@ namespace ibk.IPD.Controller.IPD_PS //strSql.AppendLine(" where 1=1 "); //strSql.AppendLine(" AND IS_STATE='1' "); - strSql.AppendLine(" select "); - strSql.AppendLine(" to_date(INS_DATE, 'yyyy-mm-dd hh24:mi:ss') SEND_DATE "); - strSql.AppendLine(" ,PLATE_NO,SMP_NO,NVL(COSTS, 0) COSTS "); - strSql.AppendLine(" ,case DISPOSE when '1' then '并号' when '2' then '不符标准' when '3' then '无试样' else '并样' end types "); - strSql.AppendLine(" , case SYNOPSIS when 2 then '不发送' else '发送' end IS_PDI "); - strSql.AppendLine(" , t.*FROM PDI_SMP_NO t "); - strSql.AppendLine(" where 1 = 1 "); - strSql.AppendLine(" AND IS_STATE = '1' "); - //strSql.AppendLine(" AND to_date(INS_DATE,'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('2024-04-01 0:00:00', 'yyyy-MM-dd HH24:mi:ss') "); - //strSql.AppendLine(" AND to_date(INS_DATE,'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('2024-04-18 0:00:00', 'yyyy-MM-dd HH24:mi:ss') "); + strSql.AppendLine(" select "); + strSql.AppendLine(" to_date(INS_DATE, 'yyyy-mm-dd hh24:mi:ss') SEND_DATE "); + strSql.AppendLine(" ,PLATE_NO,SMP_NO,NVL(COSTS, 0) COSTS "); + strSql.AppendLine(" ,case DISPOSE when '1' then '并号' when '2' then '不符标准' when '3' then '无试样' else '并样' end types "); + strSql.AppendLine(" , case SYNOPSIS when 2 then '不发送' else '发送' end IS_PDI "); + strSql.AppendLine(" , t.*FROM PDI_SMP_NO t "); + strSql.AppendLine(" where 1 = 1 "); + strSql.AppendLine(" AND IS_STATE = '1' "); + //只查并号的数据 RETRIEVAL=1(并样);RETRIEVAL=2(并号) + //strSql.AppendLine(" AND RETRIEVAL = '2' "); + + //strSql.AppendLine(" AND to_date(INS_DATE,'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('2024-04-01 0:00:00', 'yyyy-MM-dd HH24:mi:ss') "); + //strSql.AppendLine(" AND to_date(INS_DATE,'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('2024-04-18 0:00:00', 'yyyy-MM-dd HH24:mi:ss') "); #region where条件 @@ -1462,6 +1465,113 @@ namespace ibk.IPD.Controller.IPD_PS return result; } + /// + /// 手动并样存储PDO + /// + /// + /// + [HttpPost, Route("ADDPDO_CONFIRMSMPNO2")] + public RequestEntity ADDPDO_CONFIRMSMPNO2(IList delModel) + { + RequestEntity result = new RequestEntity(); + StringBuilder strSql = new StringBuilder(); + StringBuilder strSql2 = new StringBuilder(); + + using (IDbContext db = ObjectContainer.GetObject("db")) + { + try + { + db.BeginTransaction(); + bool b = true; + foreach (var model in delModel) + { + //TBDIPDO InsertPDO1 = GetPDO(model); + TBDIPDO Result1 = new TBDIPDO(); + Result1.TIMESTAMP = GetTimeStamp(); //TIMESTAMP: 1970.1.1 8:00:00 至当前时间的毫秒数 + Result1.SERIALNO = "0";//Serialno :默认0,对于TIMESTAMP: 重复时的区分号 + Result1.QUEUEID = "BKDMES000";//:主键,BKDYC0001 ,有时序先后顺序的必须用同一个QUEUEID + Result1.HEADER = "";// 未使用 + //Result.DATA = "";// 前10位记录FORMID(例如:BKD001 / BKD002) + Result1.STATUS = "N";// 发送方写入N,读取成功后变0,异常变1 + Result1.PROCESSTIME = DateTime.Now.ToString("yyyyMMddHHmmss");//:读取时间 + Result1.DESCRIPTION = "";//:读取异常备注 + //StringBuilder strData = new StringBuilder(); + //strData.Append(("BKDMESMP").PadRight(10));//FORMID:10位 ,BKDERP001 固定 + //strData.Append(("").PadRight(12)); // 业务ID号 NUMBER(12) 流水号,需要再应答中带回 + //strData.Append((pdi.PLATE_NO).PadRight(14));// 钢板号: VARCHAR2(14) + //strData.Append((pdi.SMP_NO).PadRight(14));// 试样号: VARCHAR2(14) + //strData.Append((pdi.SYNOPSIS.ToString()).PadRight(1));// 标记: VARCHAR2(14) + Result1.DATA = model.DATA.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList().First(); + + + //TBDIPDO InsertPDO2 = GetPDO(model); + TBDIPDO Result2 = new TBDIPDO(); + Result2.TIMESTAMP = GetTimeStamp(); //TIMESTAMP: 1970.1.1 8:00:00 至当前时间的毫秒数 + Result2.SERIALNO = "0";//Serialno :默认0,对于TIMESTAMP: 重复时的区分号 + Result2.QUEUEID = "BKDMES000";//:主键,BKDYC0001 ,有时序先后顺序的必须用同一个QUEUEID + Result2.HEADER = "";// 未使用 + //Result.DATA = "";// 前10位记录FORMID(例如:BKD001 / BKD002) + Result2.STATUS = "N";// 发送方写入N,读取成功后变0,异常变1 + Result2.PROCESSTIME = DateTime.Now.ToString("yyyyMMddHHmmss");//:读取时间 + Result2.DESCRIPTION = "";//:读取异常备注 + //StringBuilder strData = new StringBuilder(); + //strData.Append(("BKDMESMP").PadRight(10));//FORMID:10位 ,BKDERP001 固定 + //strData.Append(("").PadRight(12)); // 业务ID号 NUMBER(12) 流水号,需要再应答中带回 + //strData.Append((pdi.PLATE_NO).PadRight(14));// 钢板号: VARCHAR2(14) + //strData.Append((pdi.SMP_NO).PadRight(14));// 试样号: VARCHAR2(14) + //strData.Append((pdi.SYNOPSIS.ToString()).PadRight(1));// 标记: VARCHAR2(14) + Result2.DATA = model.DATA.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList().Last(); + + if (Result1 != null) + { + db.Insert(Result1); + db.Insert(Result2); + } + else + { + b = false; + } + //strSql.AppendLine("DELETE FROM CONFIRMSMPNO WHERE 1=1 "); + strSql.AppendLine(" UPDATE CONFIRMSMPNO SET IS_BING = '1' "); + strSql.AppendLine(string.Format(" WHERE 1 = 1 ")); + strSql.AppendLine(string.Format("AND PLATE_NO = '{0}' ", model.PLATE_NO)); + strSql.AppendLine(string.Format("AND ORD_NO = '{0}' ", model.ORD_NO)); + strSql.AppendLine(string.Format("AND ORD_ITEM = '{0}' ", model.ORD_ITEM)); + db.Execute(strSql.ToString()); // 执行删除数据操作 + strSql2.AppendLine(" UPDATE PDI_SMP_NO SET IS_STATE = '1', "); + strSql2.AppendLine(string.Format(" INS_DATE='{0}' ", DateTime.Now.ToString("yyyyMMddHHmmss"))); + strSql2.AppendLine(string.Format(" WHERE 1 = 1 ")); + strSql2.AppendLine(string.Format("AND PLATE_NO = '{0}' ", model.PLATE_NO)); + strSql2.AppendLine(string.Format("AND ORD_NO = '{0}' ", model.ORD_NO)); + strSql2.AppendLine(string.Format("AND ORD_ITEM = '{0}' ", model.ORD_ITEM)); + strSql2.AppendLine(string.Format("AND SMP_NO = '{0}' ", model.SMP_NO)); + //strSql2.AppendLine(string.Format("AND INS_DATE = '{0}' ", model.INS_DATE)); + db.Execute(strSql2.ToString()); // 执行删除数据操作 + strSql.Length = 0; + strSql2.Length = 0; + } + if (b) + { + db.Commit(); + } + else + { + db.Rollback(); + } + result.msg = "操作成功"; + result.code = "1"; + } + catch (Exception ex) + { + result.msg = "数据库错误!"; + result.code = "0"; + logger.Error("ADDPDO_CONFIRMSMPNO 报错", ex); + } + } + return result; + } + + /// /// 手动并样存储PDO /// @@ -1531,6 +1641,72 @@ namespace ibk.IPD.Controller.IPD_PS return result; } + // SELECT + //TIA.PLT + //, SUM(CASE INVENTORY_TYPE WHEN '1' THEN TIA.WGT ELSE 0 END) PX --判现 + //,SUM(CASE INVENTORY_TYPE WHEN '2' THEN TIA.WGT ELSE 0 END) PF --判废 + //,SUM(CASE INVENTORY_TYPE WHEN '3' THEN TIA.WGT ELSE 0 END) DD --待定 + //,SUM(CASE INVENTORY_TYPE WHEN '4' THEN TIA.WGT ELSE 0 END) BL --保留 + + //FROM TB_INVENTORY_ANALYSIS TIA + //GROUP BY TIA.PLT + //ORDER BY TIA.PLT + + /// + /// 获取手动替代WG仓库钢板信息 + /// + /// + /// + [HttpPost, Route("GetTB_INVENTORY_ANALYSIS_TOTAL")] + public RequestEntity GetTB_INVENTORY_ANALYSIS_TOTAL(GpPlateQueryArgs QAGP) + { + RequestEntity result = new RequestEntity(); //声明返回参数实体类 + StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量 + DataTable dtCheck = new DataTable(); + + strSql.AppendLine("SELECT "); + strSql.AppendLine("TIA.PLT "); + strSql.AppendLine(", SUM(CASE INVENTORY_TYPE WHEN '1' THEN TIA.WGT ELSE 0 END) PX--判现"); + strSql.AppendLine(",SUM(CASE INVENTORY_TYPE WHEN '2' THEN TIA.WGT ELSE 0 END) PF--判废 "); + strSql.AppendLine(",SUM(CASE INVENTORY_TYPE WHEN '3' THEN TIA.WGT ELSE 0 END) DD--待定 "); + strSql.AppendLine(",SUM(CASE INVENTORY_TYPE WHEN '4' THEN TIA.WGT ELSE 0 END) BL--保留 "); + strSql.AppendLine(" "); + strSql.AppendLine("FROM TB_INVENTORY_ANALYSIS TIA "); + strSql.AppendLine("GROUP BY TIA.PLT "); + strSql.AppendLine("ORDER BY TIA.PLT "); + + try + { + //开启数据库连接查询数据 + using (IDbContext db = ObjectContainer.GetObject("db")) + { + + dtCheck = db.Query(strSql.ToString()); + + result.data = dtCheck; + if (dtCheck.Rows.Count > 0) + { + result.msg = "操作成功!"; + result.code = "1"; + } + else + { + result.msg = "未找到查询所需数据!"; + result.code = "1"; + } + } + } + catch (Exception ex) + { + result.msg = "数据库错误!"; + result.code = "0"; + logger.Error("GetTrendAnalysis 报错", ex); + } + + return result; + } + + /// /// 获取手动替代WG仓库钢板信息 /// diff --git a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll index 98a0bb6..37a11b4 100644 Binary files a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll and b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll differ diff --git a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb index 779d26c..139a5a6 100644 Binary files a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb and b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb differ diff --git a/库存分析/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo b/库存分析/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo index 78425e3..8441106 100644 Binary files a/库存分析/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo and b/库存分析/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo differ diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/Config/App.config b/库存分析/SinglePlateHandle/SinglePlateHandle/Config/App.config index 63611d3..b6c10a6 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/Config/App.config +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/Config/App.config @@ -97,7 +97,7 @@ - + @@ -115,15 +115,18 @@ + + - - - + + @@ -175,6 +178,10 @@ + + + + \ No newline at end of file diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/Enity/GP_PLATE.cs b/库存分析/SinglePlateHandle/SinglePlateHandle/Enity/GP_PLATE.cs index a140d65..94acea7 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/Enity/GP_PLATE.cs +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/Enity/GP_PLATE.cs @@ -12,7 +12,7 @@ namespace ibk.IPD.Entity.IpdPs //钢板号 [Persistent("PLATE_NO"), DisplayName("钢板号")] public string PLATE_NO { get; set; } - + //发生代码 [Persistent("OCCR_CD"), DisplayName("发生代码")] public string OCCR_CD { get; set; } diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj b/库存分析/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj index 17c1106..765094c 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj @@ -205,6 +205,7 @@ + diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs b/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs index 9ef3587..11a1897 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs @@ -16,6 +16,7 @@ using System.Linq; using System.Reflection; using System.Text; using System.Text.RegularExpressions; +using System.Threading; using System.Threading.Tasks; namespace ibk.IPD.Controller.IPD_PS @@ -72,6 +73,8 @@ namespace ibk.IPD.Controller.IPD_PS //特殊订单 手动配置订单客户代码 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 private static IList gltTBOrdNospe = new List(); + private static IList gltTPlateA = new List(); + //private static IList gltTBSpecialOrd = new List(); private static IList gltTBSpecialOrdYes = new List(); @@ -648,7 +651,7 @@ namespace ibk.IPD.Controller.IPD_PS #region 多线程tasks1 - Task[] tasks1 = new Task[24]; + Task[] tasks1 = new Task[25]; tasks1[0] = Task.Factory.StartNew(() => { @@ -853,7 +856,7 @@ namespace ibk.IPD.Controller.IPD_PS } //获取所有可用订单 - + strSpecialOrd = " AND TO_DATE(boi.ORD_ACCP_DATE, 'YYYYMMDD') >= ADD_MONTHS(TRUNC(SYSDATE), -12)"; if (!string.IsNullOrEmpty(orderno)) { orderEntities = GetOrdersa(strSpecialOrd, strOrd); @@ -886,8 +889,8 @@ namespace ibk.IPD.Controller.IPD_PS } //获取所有可用订单化学成分 - gQP_QLTY_CHEM = GetOrderChemistry(strWHereOrd, strSpecialOrd); - logger.Info("【余材化学成分】:" + gQP_QLTY_CHEM.Count); + //gQP_QLTY_CHEM = GetOrderChemistry(strWHereOrd, strSpecialOrd); + logger.Info("【余材化学成分】 后面单独取值:" + gQP_QLTY_CHEM.Count); //获取所有可用余材化学成分 gQP_CHEM_RSLT = GetChemistry(strWHerePlate); @@ -1066,7 +1069,7 @@ namespace ibk.IPD.Controller.IPD_PS Task.WaitAll(tasks2); //SerSurMatSubService.UpdateSupersedeHis(supersedehisID); - Dal.GetInstance().Update(supersedehisID); + //Dal.GetInstance().Update(supersedehisID); } @@ -1084,6 +1087,13 @@ namespace ibk.IPD.Controller.IPD_PS gltTBOrdNospe = GetTBOrdNospe(); }); + tasks1[24] = Task.Factory.StartNew(() => + { + + //不可替代订单 手动配置订单客户代码 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 + gltTPlateA = GetTPlateA(); + }); + #endregion 多线程tasks1 //进程等待 @@ -1128,53 +1138,191 @@ namespace ibk.IPD.Controller.IPD_PS //定义需要删除的数据集 IList delsupersedes = new List(); - Task[] tasks = new Task[orderEntities.Count]; + //Task[] tasks = new Task[orderEntities.Count]; + Task[] tasks = new Task[1000];//每次执行1000个线程 logger.InfoFormat("******* 订单数量:{0}*******", orderEntities.Count); - + int intTask = 0; + int intIndex = 0; + int intErro = 0; + int intCountPlate = gP_PLATEs.Count(); + int intCountB= 0; + logger.InfoFormat("******* 开始统计匹配数据 *******"); - foreach (BP_ORDER_ITEM order in orderEntities) + foreach (GP_PLATE itemGP_PLATE in gP_PLATEs) { - tasks[intTask] = Task.Factory.StartNew(() => + //每次只处理1000个,防止内存溢出 + if (intCountB >= 1000) { - decimal decLen = ConverDataToDecimal(order.ORD_LEN); - if (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MIN) != 0) - { - decLen = ConverDataToDecimal(order.ORD_LEN_MIN); - } + break; + } + + //近一天内处理过,不再处理 + if (gltTPlateA.Where(p=>p.PLATE_NO==itemGP_PLATE.PLATE_NO).Count()>0) + { + continue; + } - int intLackNum = Convert.ToInt32(order.SUB_LACK_NUM);//欠量 - intLackNum = SetSubNum(order); - intLackNum -= GetSubNum(order);//减掉待确认数据=实际欠量 - intLackNum = 1; - - #region 完全匹配 - - //根据订单条件筛选钢材信息 初步筛选 - List ltGP_PLATE_Full = gP_PLATEs.Where(p => order != null && - p.LEN == order.ORD_LEN //长 - && p.WID == order.ORD_WID //宽 - && p.THK == order.ORD_THK || - (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MAX) != 0 && Convert.ToDecimal(p.LEN) >= decLen && Convert.ToDecimal(p.LEN) <= Convert.ToDecimal(order.ORD_LEN_MAX) //长 - && p.WID == order.ORD_WID //宽 - && p.THK == order.ORD_THK) //厚 - ).ToList(); - if (ltGP_PLATE_Full.Count == 0) + intCountB++; + // + intCountPlate--; + logger.InfoFormat("*******{0}*******", intCountPlate); + if (intErro>0) + { + + if (intErro>5) { - COM_DATA CD = new COM_DATA(); - CD.PLATE_NO = ""; - CD.ORD_NO = order.ORD_NO; - CD.ORD_ITEM = order.ORD_ITEM; - CD.NULL_FULL = "1"; //完全替代没有信息 - //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 + continue; } + Thread.Sleep(10000); + } + //strWHereOrd = " AND (boi.ORD_NO ='" + order.ORD_NO + "' AND boi.ORD_ITEM ='" + order.ORD_ITEM+ "')"; + + //gQP_QLTY_CHEM = GetOrderChemistry(strWHereOrd, strSpecialOrd); + //logger.Info("****【余材化学成分】 " + gQP_QLTY_CHEM.Count + "----订单号:" + order.ORD_NO + "-" + order.ORD_ITEM); + logger.Info("** " + intTask + " ** 钢板号:" + itemGP_PLATE.PLATE_NO ); + + //tasks[intIndex] = Task.Factory.StartNew(() => + //{ + //decimal decLen = ConverDataToDecimal(order.ORD_LEN); + //if (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MIN) != 0) + //{ + // decLen = ConverDataToDecimal(order.ORD_LEN_MIN); + //} + + int intLackNum = 1;// Convert.ToInt32(order.SUB_LACK_NUM);//欠量 + //intLackNum = SetSubNum(order); + //intLackNum -= GetSubNum(order);//减掉待确认数据=实际欠量 + //intLackNum = 1; + + #region 完全匹配 + + //根据订单条件筛选钢材信息 初步筛选 + List ltGP_PLATE_Full = orderEntities.Where(p => itemGP_PLATE != null && + itemGP_PLATE.LEN == p.ORD_LEN //长 + && itemGP_PLATE.WID == p.ORD_WID //宽 + && itemGP_PLATE.THK == p.ORD_THK || + (p.SIZE_KND == "02" && ConverDataToDecimal(p.ORD_LEN_MAX) != 0 && Convert.ToDecimal(itemGP_PLATE.LEN) >= ConverDataToDecimal(p.ORD_LEN_MIN) && Convert.ToDecimal(itemGP_PLATE.LEN) <= Convert.ToDecimal(p.ORD_LEN_MAX) //长 + && itemGP_PLATE.WID == p.ORD_WID //宽 + && itemGP_PLATE.THK == p.ORD_THK) //厚 + ).ToList(); + if (ltGP_PLATE_Full.Count == 0) + { + COM_DATA CD = new COM_DATA(); + CD.PLATE_NO = itemGP_PLATE.PLATE_NO; + CD.ORD_NO = "";// order.ORD_NO; + CD.ORD_ITEM = "";// order.ORD_ITEM; + CD.NULL_FULL = "1"; //完全替代没有信息 + //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 + } + + Task[] tasks_Full = new Task[ltGP_PLATE_Full.Count];//每次执行1000个线程 + logger.Info("** " + intCountPlate + " ** 钢板号:" + itemGP_PLATE.PLATE_NO+" 数量:" + ltGP_PLATE_Full.Count); + int intIndex_Full = -1; + //二次判断 + foreach (BP_ORDER_ITEM order in ltGP_PLATE_Full) + { + intIndex_Full++; + tasks_Full[intIndex_Full] = Task.Factory.StartNew(() => + { + // List ltOrderFull = orderEntities.Where(p => + //itemGP_PLATE.LEN == p.ORD_LEN //长 + //&& itemGP_PLATE.WID == p.ORD_WID //宽 + //&& itemGP_PLATE.THK == p.ORD_THK || + //(p.SIZE_KND == "02" && ConverDataToDecimal(p.ORD_LEN_MAX) != 0 && Convert.ToDecimal(itemGP_PLATE.LEN) >= decLen && Convert.ToDecimal(itemGP_PLATE.LEN) <= Convert.ToDecimal(p.ORD_LEN_MAX) //长 + //&& itemGP_PLATE.WID == p.ORD_WID //宽 + //&& itemGP_PLATE.THK == p.ORD_THK) //厚 + // ).ToList(); + // if (ltOrderFull.Count() == 0) + // { + // continue; + // } + // foreach (var order in ltOrderFull) + // { + + try + { - //二次判断 - foreach (GP_PLATE itemGP_PLATE in ltGP_PLATE_Full) - { #region 完全匹配2 bool isCUTTING = false; + + //标准 + if (!ChkStandGroup(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "标准原因"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + + //厚度公差 + if (!ChkTHKTol(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "厚度公差"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + + //探伤结果 + if (!ChkFlawCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "探伤结果"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + + //热处理结果 + if (!ChkHeatCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "热处理结果"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + + //切边状态 + if (!ChkCutCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "切边状态"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + + //管线规则更改 //通过不可替代订单页面设置 管线标准不替代 if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) @@ -1193,7 +1341,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -1214,7 +1362,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -1224,15 +1372,15 @@ namespace ibk.IPD.Controller.IPD_PS //管线标准不替代 if (itemGP_PLATE.APLY_STDSPEC == "JX21851-2023 X70M" || order.STDSPEC == "JX21851-2023 X70M") { - continue; + return; } if (itemGP_PLATE.APLY_STDSPEC == "JX21843-2023 X60MS" || order.STDSPEC == "JX21843-2023 X60MS") { - continue; + return; } if (itemGP_PLATE.APLY_STDSPEC == "JX21867-2023 L555M" || order.STDSPEC == "JX21867-2023 L555M") { - continue; + return; } } //20231113 刘桂英 新增规则 gltTBOrdNospe 可替代特殊标准页面 @@ -1252,7 +1400,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } else if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").ToList().Count > 0) @@ -1268,7 +1416,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1277,7 +1425,7 @@ namespace ibk.IPD.Controller.IPD_PS //订单客户代码是"SD2441" 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) { - continue; + return; } } @@ -1295,7 +1443,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } // 可替代特殊标准配置 订单 @@ -1312,7 +1460,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -1332,7 +1480,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1352,7 +1500,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1369,7 +1517,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (Convert.ToDecimal(order.ORD_THK) < 5) { @@ -1382,7 +1530,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "厚度5mm以下不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (!string.IsNullOrEmpty(itemGP_PLATE.PLATE_NO)) { @@ -1405,7 +1553,7 @@ namespace ibk.IPD.Controller.IPD_PS guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1413,19 +1561,19 @@ namespace ibk.IPD.Controller.IPD_PS } order.ORD_LEN = itemGP_PLATE.LEN; - if (intLackNum <= 0) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "欠量不足"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } + //if (intLackNum <= 0) + //{ + // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + // { + // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + // manual.ORD_NO = order.ORD_NO; + // manual.ORD_ITEM = order.ORD_ITEM; + // manual.RETURN_RESULTS = "欠量不足"; + // guTB_PLATE_MANUAL.Add(manual); + // } + // continue; + //} if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_FULL)) @@ -1441,7 +1589,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "订单完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1460,7 +1608,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "钢种替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1481,7 +1629,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "订单完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1500,27 +1648,27 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "订单完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } if (order.ORD_KND == "A" && order.STDSPEC.Contains("-NJ")) { - continue; - } - if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "历史替代钢板"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; + return; } + //if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + //{ + // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + // { + // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + // manual.ORD_NO = order.ORD_NO; + // manual.ORD_ITEM = order.ORD_ITEM; + // manual.RETURN_RESULTS = "历史替代钢板"; + // guTB_PLATE_MANUAL.Add(manual); + // } + // continue; + //} if (gltTBPlateSpe.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) { if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) @@ -1532,7 +1680,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "不可替代钢板"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (!isMANUAL) { @@ -1540,7 +1688,7 @@ namespace ibk.IPD.Controller.IPD_PS if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "N").ToList().Count > 0) { - continue; + return; } } @@ -1556,7 +1704,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "保留钢板"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //改判原因是卷轧头尾的不替代 @@ -1573,7 +1721,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "改判原因是卷轧头尾的不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } if (itemGP_PLATE.WOO_RSN != null) @@ -1589,7 +1737,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (itemGP_PLATE.WOO_RSN == "ACC" && order.ORD_NO.Contains("OM8")) @@ -1603,7 +1751,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -1611,80 +1759,6 @@ namespace ibk.IPD.Controller.IPD_PS itemGP_PLATE.SUB_FULL = ""; itemGP_PLATE.SUB_LACK_CON = ""; itemGP_PLATE.SUB_FULL = "C"; - //标准 - if (!ChkStandGroup(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "标准原因"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - - //厚度公差 - if (!ChkTHKTol(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "厚度公差"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - - //探伤结果 - if (!ChkFlawCom(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "探伤结果"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - - //热处理结果 - if (!ChkHeatCom(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "热处理结果"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - - //切边状态 - if (!ChkCutCom(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "切边状态"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } //实际化学成分 if (!ChkChemCom(itemGP_PLATE, order)) @@ -1698,7 +1772,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "实际化学成分不符"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //物理属性 @@ -1713,7 +1787,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "物理属性不符"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } bool isSMP = false; //if (!IsSMP(itemGP_PLATE, order)) @@ -1745,7 +1819,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "取样后长度不足"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //} @@ -1797,7 +1871,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "G1特种钢判断"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (itemGP_PLATE.SUB_FULL == "C" && ((order.SPRAY_FL != String.Empty && order.SPRAY_FL != "N") || ConverDataToString(order.PACK_WAY) != String.Empty)) @@ -1828,29 +1902,29 @@ namespace ibk.IPD.Controller.IPD_PS //仓库期限 if (!isMANUAL) { - if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) - { + //if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) + //{ - continue; - } + // continue; + //} } if (!isMANUAL) { - //垛位号 - if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) - { - if (gNI.Where(p => p.STLGRD == itemGP_PLATE.STLGRD).ToList().Count == 0) - { - if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV - //&& p.LOC == itemGP_PLATE.LOC - && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" - && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) - { - continue; - } - - } - } + ////垛位号 + //if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) + //{ + // if (gNI.Where(p => p.STLGRD == itemGP_PLATE.STLGRD).ToList().Count == 0) + // { + // if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV + // //&& p.LOC == itemGP_PLATE.LOC + // && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" + // && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) + // { + // continue; + // } + + // } + //} } if (isMANUAL) { @@ -1874,7 +1948,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } if (!string.IsNullOrEmpty(itemGP_PLATE.SUB_LACK_CON)) @@ -1890,7 +1964,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } if (itemGP_PLATE.SUB_FULL == "P") @@ -1911,7 +1985,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1930,7 +2004,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1949,7 +2023,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -1963,36 +2037,139 @@ namespace ibk.IPD.Controller.IPD_PS { AddTempData1(itemGP_PLATE, order, intLackNum, 1, itemGP_PLATE.SUB_FULL, STLGRD, strINV, isCUTTING); } - } + } + catch (Exception ex) + { + intErro++; + logger.Info("**** 钢板号:" + itemGP_PLATE.PLATE_NO + " 错误信息:" + ex.ToString()); + } + //} + }); + } - #endregion 完全匹配 + Task.WaitAll(tasks_Full); - #region 部分匹配 + #endregion 完全匹配 - //根据订单条件筛选钢材信息 初步筛选 - List ltGP_PLATE_Part = gP_PLATEs.Where(p => order != null && - (Convert.ToDecimal(p.LEN) >= decLen //长 - && Convert.ToDecimal(p.WID) >= Convert.ToDecimal(order.ORD_WID)) //宽 - && (Convert.ToDecimal(p.LEN) * Convert.ToDecimal(p.WID) - > decLen * Convert.ToDecimal(order.ORD_WID))//面积 - && p.THK == order.ORD_THK //厚 - && ConverDataToString(p.SUB_PRO_STA) != "1" - ).OrderByDescending(p => p.ORD_LEN).OrderByDescending(p => p.ORD_WID).ToList(); - if (ltGP_PLATE_Part.Count == 0) - { - COM_DATA CD = new COM_DATA(); - CD.PLATE_NO = ""; - CD.ORD_NO = order.ORD_NO; - CD.ORD_ITEM = order.ORD_ITEM; - CD.NULL_PART = "1"; //部分替代没有信息 - //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 - } + #region 部分匹配 - //二次判断 - foreach (GP_PLATE itemGP_PLATE in ltGP_PLATE_Part) + //根据订单条件筛选钢材信息 初步筛选 + // List ltGP_PLATE_Part = gP_PLATEs.Where(p => order != null && + // (Convert.ToDecimal(p.LEN) >= decLen //长 + // && Convert.ToDecimal(p.WID) >= Convert.ToDecimal(order.ORD_WID)) //宽 + // && (Convert.ToDecimal(p.LEN) * Convert.ToDecimal(p.WID) + // > decLen * Convert.ToDecimal(order.ORD_WID))//面积 + // && p.THK == order.ORD_THK //厚 + // && ConverDataToString(p.SUB_PRO_STA) != "1" + //).OrderByDescending(p => p.ORD_LEN).OrderByDescending(p => p.ORD_WID).ToList(); + // if (ltGP_PLATE_Part.Count == 0) + // { + // COM_DATA CD = new COM_DATA(); + // CD.PLATE_NO = ""; + // CD.ORD_NO = order.ORD_NO; + // CD.ORD_ITEM = order.ORD_ITEM; + // CD.NULL_PART = "1"; //部分替代没有信息 + // //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 + // } + + + List ltGP_PLATE_Part = orderEntities.Where(p => itemGP_PLATE != null && + Convert.ToDecimal(itemGP_PLATE.LEN) >= ConverDataToDecimal(p.ORD_LEN_MIN) //长 + && Convert.ToDecimal(itemGP_PLATE.WID) >= Convert.ToDecimal(p.ORD_WID) //宽 + && Convert.ToDecimal(itemGP_PLATE.THK) == Convert.ToDecimal(p.ORD_THK) //厚 + && ConverDataToString(itemGP_PLATE.SUB_PRO_STA) != "1").ToList(); + if (ltGP_PLATE_Part.Count == 0) + { + COM_DATA CD = new COM_DATA(); + CD.PLATE_NO = itemGP_PLATE.PLATE_NO; + CD.ORD_NO = "";// order.ORD_NO; + CD.ORD_ITEM = "";// order.ORD_ITEM; + CD.NULL_FULL = "1"; //完全替代没有信息 + //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 + } + Task[] tasks_Part = new Task[ltGP_PLATE_Part.Count];//每次执行1000个线程 + logger.Info("** " + intTask + " ** 钢板号:" + itemGP_PLATE.PLATE_NO + " 数量:" + ltGP_PLATE_Part.Count); + int intIndex_Part = -1; + //二次判断 + foreach (BP_ORDER_ITEM order in ltGP_PLATE_Part) + { + intIndex_Part++; + // List ltOrderFull = orderEntities.Where(p => + //itemGP_PLATE.LEN >= p.ORD_LEN //长 + //&& itemGP_PLATE.WID == p.ORD_WID //宽 + //&& itemGP_PLATE.THK == p.ORD_THK || + //(p.SIZE_KND == "02" && ConverDataToDecimal(p.ORD_LEN_MAX) != 0 && Convert.ToDecimal(itemGP_PLATE.LEN) >= decLen && Convert.ToDecimal(itemGP_PLATE.LEN) <= Convert.ToDecimal(p.ORD_LEN_MAX) //长 + //&& itemGP_PLATE.WID == p.ORD_WID //宽 + //&& itemGP_PLATE.THK == p.ORD_THK) //厚 + // ).ToList(); + // if (ltOrderFull.Count() == 0) + // { + // continue; + // } + tasks_Part[intIndex_Part] = Task.Factory.StartNew(() => { + try + { + + #region 部分匹配2 + //标准 + if (!ChkStandGroup(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "标准不符"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + //厚度公差 + if (!ChkTHKTol(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "厚度公差不符"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + //探伤结果 + if (!ChkFlawCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "探伤结果"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } + //热处理结果 + if (!ChkHeatCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "热处理结果不符"; + guTB_PLATE_MANUAL.Add(manual); + } + return; + } //管线规则更改 //通过不可替代订单页面设置 管线标准不替代 if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) @@ -2011,7 +2188,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -2032,7 +2209,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -2042,11 +2219,11 @@ namespace ibk.IPD.Controller.IPD_PS //管线标准不替代 if (itemGP_PLATE.APLY_STDSPEC == "JX21851-2023 X70M" || order.STDSPEC == "JX21851-2023 X70M") { - continue; + return; } if (itemGP_PLATE.APLY_STDSPEC == "JX21867-2023 L555M" || order.STDSPEC == "JX21867-2023 L555M") { - continue; + return; } } @@ -2057,13 +2234,13 @@ namespace ibk.IPD.Controller.IPD_PS if (itemGP_PLATE.REMARK.Contains("98%成材率")) { - continue; + return; } if (itemGP_PLATE.REMARK.Contains("热处理线取样")) { if (itemGP_PLATE.PROC_CD.Contains("D") || itemGP_PLATE.PROC_CD.Contains("Q")) { - continue; + return; } } } @@ -2085,7 +2262,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } else if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").ToList().Count > 0) @@ -2101,7 +2278,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2110,7 +2287,7 @@ namespace ibk.IPD.Controller.IPD_PS //订单客户代码是"SD2441" 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) { - continue; + return; } } @@ -2128,7 +2305,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } //可替代特殊标准配置 订单 @@ -2145,7 +2322,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -2166,7 +2343,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2186,7 +2363,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2202,7 +2379,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "不做切割替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //替代控制 if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "部分替代").ToList().Count == 0) @@ -2216,7 +2393,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (Convert.ToDecimal(order.ORD_THK) < 5) { @@ -2229,7 +2406,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "厚度5mm以下不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //if (order.ORD_NO.Contains("OM8")) //{ @@ -2242,7 +2419,7 @@ namespace ibk.IPD.Controller.IPD_PS // manual.RETURN_RESULTS = "OM8部分替代未开"; // guTB_PLATE_MANUAL.Add(manual); // } - // continue; + // return; //} if (order.ORD_NO.Contains("OMZ")) { @@ -2255,7 +2432,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "OMZ部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (!string.IsNullOrEmpty(itemGP_PLATE.PLATE_NO)) { @@ -2277,7 +2454,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "C1 尾号0101 小于等于12mm不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2295,7 +2472,7 @@ namespace ibk.IPD.Controller.IPD_PS // manual.RETURN_RESULTS = "欠量不足"; // guTB_PLATE_MANUAL.Add(manual); // } - // continue; + // return; //} //不可替代订单页面 if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) @@ -2313,7 +2490,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "订单部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2334,7 +2511,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "订单部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2353,7 +2530,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "钢种替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2372,7 +2549,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "订单部分替代未开"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } } @@ -2387,14 +2564,14 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "A订单,标准包含-NJ不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //排除已失败的 //if (gltSurHis.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO // && p.BOI_ORD_NO == order.ORD_NO // && p.BOI_ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) //{ - // continue; + // return; //} if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { @@ -2407,7 +2584,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "历史替代数据"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (gltTBPlateSpe.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) { @@ -2420,16 +2597,16 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "不替代钢板"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //手动替代 if (!isMANUAL) { - //余材替代为否(N) 余材锁定,不可替代 - if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "N").ToList().Count > 0) - { - continue; - } + ////余材替代为否(N) 余材锁定,不可替代 + //if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "N").ToList().Count > 0) + //{ + // return; + //} } if (gltGP_ZZP_YJ.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.BL_FL == "Y").ToList().Count > 0) @@ -2443,7 +2620,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "保留钢板"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //if ((itemGP_PLATE.CUR_INV == "ZB" || itemGP_PLATE.CUR_INV == "WG") @@ -2451,7 +2628,7 @@ namespace ibk.IPD.Controller.IPD_PS // && (itemGP_PLATE.PROC_CD != "XAC" && itemGP_PLATE.PROC_CD != "QAB")) //{ - // continue; + // return; //} //卷库 表判缺陷 //if (itemGP_PLATE.PLT == "C1" @@ -2461,7 +2638,7 @@ namespace ibk.IPD.Controller.IPD_PS // // XAC状态时取消表判缺陷 //lizhuo // if (itemGP_PLATE.PROC_CD != "XAC") // { - // continue; + // return; // } //} //改判原因是卷轧头尾的不替代 @@ -2478,7 +2655,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "改判原因是卷轧头尾的不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } if (itemGP_PLATE.WOO_RSN != null) @@ -2494,7 +2671,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (itemGP_PLATE.WOO_RSN == "ACC" && order.ORD_NO.Contains("OM8")) { @@ -2507,7 +2684,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } } @@ -2515,63 +2692,7 @@ namespace ibk.IPD.Controller.IPD_PS itemGP_PLATE.SUB_FULL = "";//替代类型 itemGP_PLATE.SUB_LACK_CON = "";//缺失内容 itemGP_PLATE.SUB_FULL = "P"; - //标准 - if (!ChkStandGroup(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "标准不符"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - //厚度公差 - if (!ChkTHKTol(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "厚度公差不符"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - //探伤结果 - if (!ChkFlawCom(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "探伤结果"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - //热处理结果 - if (!ChkHeatCom(itemGP_PLATE, order)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - manual.ORD_NO = order.ORD_NO; - manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "热处理结果不符"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } //实际化学成分 if (!ChkChemCom(itemGP_PLATE, order)) @@ -2585,7 +2706,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "实际化学成分不符"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //物理属性 @@ -2600,7 +2721,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "物理属性不符"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } bool isSMP = false; //if (!IsSMP(itemGP_PLATE, order)) @@ -2628,7 +2749,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "取样后长度不足"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } //} //G1特种钢判断 @@ -2643,7 +2764,7 @@ namespace ibk.IPD.Controller.IPD_PS manual.RETURN_RESULTS = "G1特种钢判断"; guTB_PLATE_MANUAL.Add(manual); } - continue; + return; } if (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MIN) != 0) @@ -2681,45 +2802,45 @@ namespace ibk.IPD.Controller.IPD_PS //仓库期限 if (!isMANUAL) { - if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) - { - //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "仓库期限"; - // guTB_PLATE_MANUAL.Add(manual); - //} - continue; - } + //if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) + //{ + // //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + // //{ + // // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + // // manual.ORD_NO = order.ORD_NO; + // // manual.ORD_ITEM = order.ORD_ITEM; + // // manual.RETURN_RESULTS = "仓库期限"; + // // guTB_PLATE_MANUAL.Add(manual); + // //} + // return; + //} } if (!isMANUAL) { - if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) - { - if (gNI.Where(p => p.STLGRD == itemGP_PLATE.STLGRD).ToList().Count == 0) - { - if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV - //&& p.LOC == itemGP_PLATE.LOC - && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" - && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) - { - //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "仓位不满足"; - // guTB_PLATE_MANUAL.Add(manual); - //} - continue; - } - } - } + //if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) + //{ + //if (gNI.Where(p => p.STLGRD == itemGP_PLATE.STLGRD).ToList().Count == 0) + //{ + // if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV + // //&& p.LOC == itemGP_PLATE.LOC + // && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" + // && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) + // { + // //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + // //{ + // // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + // // manual.ORD_NO = order.ORD_NO; + // // manual.ORD_ITEM = order.ORD_ITEM; + // // manual.RETURN_RESULTS = "仓位不满足"; + // // guTB_PLATE_MANUAL.Add(manual); + // //} + // return; + // } + //} + //} } #endregion 部分匹配2 @@ -2732,24 +2853,45 @@ namespace ibk.IPD.Controller.IPD_PS { AddTempData1(itemGP_PLATE, order, intLackNum, 1, itemGP_PLATE.SUB_FULL, STLGRD, strINV, false); } - } - - #endregion 部分匹配 - }); - if (intTask < orderEntities.Count) - { - intTask++; - } - } - if (intTask < orderEntities.Count) - { - for (int i = 0; i < orderEntities.Count - intTask; i++) - { - tasks[intTask + i + 1] = Task.Factory.StartNew(() => { }); + } + catch (Exception ex) + { + intErro++; + logger.Info("**** 钢板号:" + itemGP_PLATE.PLATE_NO + " 错误信息:" + ex.ToString()); + } + }); } + Task.WaitAll(tasks_Part); + #endregion 部分匹配 + + + //}); + //if ((intTask + 1) % 1000 == 0) + //{ + // Task.WaitAll(tasks); + // tasks = new Task[1000];//每次执行1000个线程 + // intIndex = 0; + // intTask++; + //} + //else + //{ + // if (intIndex < 999) + // { + // intTask++; + // intIndex++; + // } + //} + } + //if (intIndex < 999) + //{ + // for (int i = 0; i < 999 - intIndex; i++) + // { + // tasks[intIndex + i + 1] = Task.Factory.StartNew(() => { }); + // } + //} - Task.WaitAll(tasks); + //Task.WaitAll(tasks); logger.InfoFormat("******* 结束统计匹配数据,循环共计:{0},临时表数据:{1}*******", intAllLoop, gTEMP_DATA.Count); #region 二次优化的部分替代 @@ -2757,615 +2899,615 @@ namespace ibk.IPD.Controller.IPD_PS logger.InfoFormat("*******开始二次优化*******"); logger.InfoFormat("*优化前的数量:" + gTEMP_DATA.Count); - List pdino = new List(); - if (gPhyTEMP_DATA.Count > 0) - { - string HA = string.Empty; - int iHA = 0; - string HB = string.Empty; - int iHB = 0; - string HC = string.Empty; - int iHC = 0; - string HD = string.Empty; - int iHD = 0; - string HE = string.Empty; - int iHE = 0; - string HF = string.Empty; - int iHF = 0; - string HJ = string.Empty; - int iHJ = 0; - string HK = string.Empty; - int iHK = 0; - string HM = string.Empty; - int iHM = 0; - string HN = string.Empty; - int iHN = 0; - string HR = string.Empty; - int iHR = 0; - string HZ = string.Empty; - int iHZ = 0; - - //string HA = string.Empty; - //int iHA = 0; - //加入同板坯的试样号 - foreach (TEMP_DATA TD in gPhyTEMP_DATA) - { - //if (TD.PLATE_NO == "23104248600201" && TD.ORD_NO == "OME23070014" && TD.ORD_ITEM == "013") - //{ - // int i = 0; - //} - - if (TD.SUB_LACK_CON.Contains("HA")) - { - if (iHA == 0) - { - HA += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HA += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHA++; - } - if (TD.SUB_LACK_CON.Contains("HB")) - { - if (iHB == 0) - { - HB += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HB += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHB++; - } - if (TD.SUB_LACK_CON.Contains("HC")) - { - if (iHC == 0) - { - HC += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HC += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHC++; - } - if (TD.SUB_LACK_CON.Contains("HD")) - { - if (iHD == 0) - { - HD += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HD += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHD++; - } - if (TD.SUB_LACK_CON.Contains("HE")) - { - if (iHE == 0) - { - HE += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HE += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHE++; - } - if (TD.SUB_LACK_CON.Contains("HF")) - { - if (iHF == 0) - { - HF += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HF += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHF++; - } - if (TD.SUB_LACK_CON.Contains("HJ")) - { - if (iHJ == 0) - { - HJ += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HJ += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHJ++; - } - if (TD.SUB_LACK_CON.Contains("HK")) - { - if (iHK == 0) - { - HK += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HK += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHK++; - } - if (TD.SUB_LACK_CON.Contains("HM")) - { - if (iHM == 0) - { - HM += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HM += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHM++; - } - if (TD.SUB_LACK_CON.Contains("HN")) - { - if (iHN == 0) - { - HN += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HN += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHN++; - } - if (TD.SUB_LACK_CON.Contains("HR")) - { - if (iHR == 0) - { - HR += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HR += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHR++; - } - if (TD.SUB_LACK_CON.Contains("HZ")) - { - if (iHZ == 0) - { - HZ += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - else - { - HZ += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; - } - iHZ++; - } - } - if (!string.IsNullOrEmpty(HA)) - HA += ")"; - if (!string.IsNullOrEmpty(HB)) - HB += ")"; - if (!string.IsNullOrEmpty(HC)) - HC += ")"; - if (!string.IsNullOrEmpty(HD)) - HD += ")"; - if (!string.IsNullOrEmpty(HE)) - HE += ")"; - if (!string.IsNullOrEmpty(HF)) - HF += ")"; - if (!string.IsNullOrEmpty(HJ)) - HJ += ")"; - if (!string.IsNullOrEmpty(HK)) - HK += ")"; - if (!string.IsNullOrEmpty(HM)) - HM += ")"; - if (!string.IsNullOrEmpty(HN)) - HN += ")"; - if (!string.IsNullOrEmpty(HR)) - HR += ")"; - if (!string.IsNullOrEmpty(HZ)) - HZ += ")"; - IList gQP_TEST_RSLT_HA1 = new List(); - IList gQP_TEST_RSLT_HB1 = new List(); - IList gQP_TEST_RSLT_HC1 = new List(); - IList gQP_TEST_RSLT_HD1 = new List(); - IList gQP_TEST_RSLT_HE1 = new List(); - IList gQP_TEST_RSLT_HF1 = new List(); - IList gQP_TEST_RSLT_HJ1 = new List(); - IList gQP_TEST_RSLT_HK1 = new List(); - IList gQP_TEST_RSLT_HM1 = new List(); - IList gQP_TEST_RSLT_HN1 = new List(); - IList gQP_TEST_RSLT_HR1 = new List(); - IList gQP_TEST_RSLT_HZ1 = new List(); - DataTable dQP_TEST_RSLT_HA1 = new DataTable(); - DataTable dQP_TEST_RSLT_HB1 = new DataTable(); - DataTable dQP_TEST_RSLT_HC1 = new DataTable(); ; - DataTable dQP_TEST_RSLT_HD1 = new DataTable(); - DataTable dQP_TEST_RSLT_HE1 = new DataTable(); - DataTable dQP_TEST_RSLT_HF1 = new DataTable(); - DataTable dQP_TEST_RSLT_HJ1 = new DataTable(); - DataTable dQP_TEST_RSLT_HK1 = new DataTable(); - DataTable dQP_TEST_RSLT_HM1 = new DataTable(); - DataTable dQP_TEST_RSLT_HN1 = new DataTable(); - DataTable dQP_TEST_RSLT_HR1 = new DataTable(); - DataTable dQP_TEST_RSLT_HZ1 = new DataTable(); - DataTable dGP_SMP_NO_HA1 = new DataTable(); - DataTable dGP_SMP_NO_HB1 = new DataTable(); - DataTable dGP_SMP_NO_HC1 = new DataTable(); ; - DataTable dGP_SMP_NO_HD1 = new DataTable(); - DataTable dGP_SMP_NO_HE1 = new DataTable(); - DataTable dGP_SMP_NO_HF1 = new DataTable(); - DataTable dGP_SMP_NO_HJ1 = new DataTable(); - DataTable dGP_SMP_NO_HK1 = new DataTable(); - DataTable dGP_SMP_NO_HM1 = new DataTable(); - DataTable dGP_SMP_NO_HN1 = new DataTable(); - DataTable dGP_SMP_NO_HR1 = new DataTable(); - DataTable dGP_SMP_NO_HZ1 = new DataTable(); - if (!string.IsNullOrEmpty(HA)) - { - dQP_TEST_RSLT_HA1 = Dal.GetInstance().GetQP_TEST_RSLT_HA_SLAB(HA); - //gQP_TEST_RSLT_HA1 = GetQP_TEST_RSLT_HA_SLAB(HA); - if (dQP_TEST_RSLT_HA1.Rows.Count > 0) - { - gQP_TEST_RSLT_HA1 = ModelConvertHelper1.ConvertToModel(dQP_TEST_RSLT_HA1); - } - } - if (!string.IsNullOrEmpty(HB)) - { - dQP_TEST_RSLT_HB1 = Dal.GetInstance().GetQP_TEST_RSLT_HB_SLAB(HB); - //gQP_TEST_RSLT_HB1 = GetQP_TEST_RSLT_HB_SLAB(HB); - if (dQP_TEST_RSLT_HB1.Rows.Count > 0) - { - gQP_TEST_RSLT_HB1 = ModelConvertHelper1.ConvertToModel(dQP_TEST_RSLT_HB1); - } - } - if (!string.IsNullOrEmpty(HC)) - { - dQP_TEST_RSLT_HC1 = Dal.GetInstance().GetQP_TEST_RSLT_HC_SLAB(HC); - //gQP_TEST_RSLT_HC1 = GetQP_TEST_RSLT_HC_SLAB(HC); - if (dQP_TEST_RSLT_HC1.Rows.Count > 0) - { - gQP_TEST_RSLT_HC1 = ModelConvertHelper1.ConvertToModel(dQP_TEST_RSLT_HC1); - } - } - if (!string.IsNullOrEmpty(HD)) - { - dQP_TEST_RSLT_HD1 = Dal.GetInstance().GetQP_TEST_RSLT_HD_SLAB(HD); - //gQP_TEST_RSLT_HD1 = GetQP_TEST_RSLT_HD_SLAB(HD); - if (dQP_TEST_RSLT_HD1.Rows.Count > 0) - { - gQP_TEST_RSLT_HD1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HD1); - } - } - if (!string.IsNullOrEmpty(HE)) - { - dQP_TEST_RSLT_HE1 = Dal.GetInstance().GetQP_TEST_RSLT_HE_SLAB(HE); - //gQP_TEST_RSLT_HE1 = GetQP_TEST_RSLT_HE_SLAB(HE); - if (dQP_TEST_RSLT_HE1.Rows.Count > 0) - { - gQP_TEST_RSLT_HE1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HE1); - } - } - if (!string.IsNullOrEmpty(HF)) - { - dQP_TEST_RSLT_HF1 = Dal.GetInstance().GetQP_TEST_RSLT_HF_SLAB(HF); - //gQP_TEST_RSLT_HF1 = GetQP_TEST_RSLT_HF_SLAB(HF); - if (dQP_TEST_RSLT_HF1.Rows.Count > 0) - { - gQP_TEST_RSLT_HF1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HF1); - } - } - if (!string.IsNullOrEmpty(HJ)) - { - dQP_TEST_RSLT_HJ1 = Dal.GetInstance().GetQP_TEST_RSLT_HJ_SLAB(HJ); - //gQP_TEST_RSLT_HJ1 = GetQP_TEST_RSLT_HJ_SLAB(HJ); - if (dQP_TEST_RSLT_HJ1.Rows.Count > 0) - { - gQP_TEST_RSLT_HJ1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HJ1); - } - } - if (!string.IsNullOrEmpty(HK)) - { - dQP_TEST_RSLT_HK1 = Dal.GetInstance().GetQP_TEST_RSLT_HK_SLAB(HK); - //gQP_TEST_RSLT_HK1 = GetQP_TEST_RSLT_HK_SLAB(HK); - if (dQP_TEST_RSLT_HK1.Rows.Count > 0) - { - gQP_TEST_RSLT_HK1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HK1); - } - } - if (!string.IsNullOrEmpty(HM)) - { - dQP_TEST_RSLT_HM1 = Dal.GetInstance().GetQP_TEST_RSLT_HM_SLAB(HM); - //gQP_TEST_RSLT_HM1 = GetQP_TEST_RSLT_HM_SLAB(HM); - if (dQP_TEST_RSLT_HM1.Rows.Count > 0) - { - gQP_TEST_RSLT_HM1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HM1); - } - } - if (!string.IsNullOrEmpty(HN)) - { - dQP_TEST_RSLT_HN1 = Dal.GetInstance().GetQP_TEST_RSLT_HN_SLAB(HN); - //gQP_TEST_RSLT_HN1 = GetQP_TEST_RSLT_HN_SLAB(HN); - if (dQP_TEST_RSLT_HN1.Rows.Count > 0) - { - gQP_TEST_RSLT_HN1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HN1); - } - } - if (!string.IsNullOrEmpty(HR)) - { - dQP_TEST_RSLT_HR1 = Dal.GetInstance().GetQP_TEST_RSLT_HR_SLAB(HR); - //gQP_TEST_RSLT_HR1 = GetQP_TEST_RSLT_HR_SLAB(HR); - if (dQP_TEST_RSLT_HR1.Rows.Count > 0) - { - gQP_TEST_RSLT_HR1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HR1); - } - } - if (!string.IsNullOrEmpty(HZ)) - { - dQP_TEST_RSLT_HZ1 = Dal.GetInstance().GetQP_TEST_RSLT_HZ_SLAB(HZ); - //gQP_TEST_RSLT_HZ1 = GetQP_TEST_RSLT_HZ_SLAB(HZ); - if (dQP_TEST_RSLT_HZ1.Rows.Count > 0) - { - gQP_TEST_RSLT_HZ1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HZ1); - } - } - if (!string.IsNullOrEmpty(HA)) - { - dGP_SMP_NO_HA1 = Dal.GetInstance().GetGP_SMP_NO(HA); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HA1.Rows.Count > 0) - { - gGP_SMP_NO_HA = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HA1); - } - } - if (!string.IsNullOrEmpty(HB)) - { - dGP_SMP_NO_HB1 = Dal.GetInstance().GetGP_SMP_NO(HB); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HB1.Rows.Count > 0) - { - gGP_SMP_NO_HB = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HB1); - } - } - if (!string.IsNullOrEmpty(HC)) - { - dGP_SMP_NO_HC1 = Dal.GetInstance().GetGP_SMP_NO(HC); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HC1.Rows.Count > 0) - { - gGP_SMP_NO_HC = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HC1); - } - } - if (!string.IsNullOrEmpty(HD)) - { - dGP_SMP_NO_HD1 = Dal.GetInstance().GetGP_SMP_NO(HD); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HD1.Rows.Count > 0) - { - gGP_SMP_NO_HD = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HD1); - } - } - if (!string.IsNullOrEmpty(HE)) - { - dGP_SMP_NO_HE1 = Dal.GetInstance().GetGP_SMP_NO(HE); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HE1.Rows.Count > 0) - { - gGP_SMP_NO_HE = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HE1); - } - } - if (!string.IsNullOrEmpty(HF)) - { - dGP_SMP_NO_HF1 = Dal.GetInstance().GetGP_SMP_NO(HF); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HF1.Rows.Count > 0) - { - gGP_SMP_NO_HF = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HF1); - } - } - if (!string.IsNullOrEmpty(HJ)) - { - dGP_SMP_NO_HJ1 = Dal.GetInstance().GetGP_SMP_NO(HJ); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HJ1.Rows.Count > 0) - { - gGP_SMP_NO_HJ = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HJ1); - } - } - if (!string.IsNullOrEmpty(HK)) - { - dGP_SMP_NO_HK1 = Dal.GetInstance().GetGP_SMP_NO(HK); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HK1.Rows.Count > 0) - { - gGP_SMP_NO_HK = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HK1); - } - } - if (!string.IsNullOrEmpty(HM)) - { - dGP_SMP_NO_HM1 = Dal.GetInstance().GetGP_SMP_NO(HM); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HM1.Rows.Count > 0) - { - gGP_SMP_NO_HM = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HM1); - } - } - if (!string.IsNullOrEmpty(HN)) - { - dGP_SMP_NO_HN1 = Dal.GetInstance().GetGP_SMP_NO(HN); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HN1.Rows.Count > 0) - { - gGP_SMP_NO_HN = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HN1); - } - } - if (!string.IsNullOrEmpty(HR)) - { - dGP_SMP_NO_HR1 = Dal.GetInstance().GetGP_SMP_NO(HR); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HR1.Rows.Count > 0) - { - gGP_SMP_NO_HR = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HR1); - } - } - if (!string.IsNullOrEmpty(HZ)) - { - dGP_SMP_NO_HZ1 = Dal.GetInstance().GetGP_SMP_NO(HZ); - //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); - if (dGP_SMP_NO_HZ1.Rows.Count > 0) - { - gGP_SMP_NO_HZ = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HZ1); - } - } - //if (!string.IsNullOrEmpty(HB)) - // gQP_TEST_RSLT_HB1 = GetQP_TEST_RSLT_HB_SLAB(HB); - //if (!string.IsNullOrEmpty(HC)) - // gQP_TEST_RSLT_HC1 = GetQP_TEST_RSLT_HC_SLAB(HC); - //if (!string.IsNullOrEmpty(HD)) - // gQP_TEST_RSLT_HD1 = GetQP_TEST_RSLT_HD_SLAB(HD); - //if (!string.IsNullOrEmpty(HE)) - // gQP_TEST_RSLT_HE1 = GetQP_TEST_RSLT_HE_SLAB(HE); - //if (!string.IsNullOrEmpty(HF)) - // gQP_TEST_RSLT_HF1 = GetQP_TEST_RSLT_HF_SLAB(HF); - //if (!string.IsNullOrEmpty(HJ)) - // gQP_TEST_RSLT_HJ1 = GetQP_TEST_RSLT_HJ_SLAB(HJ); - //if (!string.IsNullOrEmpty(HK)) - // gQP_TEST_RSLT_HK1 = GetQP_TEST_RSLT_HK_SLAB(HK); - //if (!string.IsNullOrEmpty(HM)) - // gQP_TEST_RSLT_HM1 = GetQP_TEST_RSLT_HM_SLAB(HM); - //if (!string.IsNullOrEmpty(HN)) - // gQP_TEST_RSLT_HN1 = GetQP_TEST_RSLT_HN_SLAB(HN); - //if (!string.IsNullOrEmpty(HR)) - // gQP_TEST_RSLT_HR1 = GetQP_TEST_RSLT_HR_SLAB(HR); - //if (!string.IsNullOrEmpty(HZ)) - // gQP_TEST_RSLT_HZ1 = GetQP_TEST_RSLT_HZ_SLAB(HZ); - //if (!string.IsNullOrEmpty(HA)) - // gGP_SMP_NO_HA = GetGP_SMP_NO(HA); - //if (!string.IsNullOrEmpty(HB)) - // gGP_SMP_NO_HB = GetGP_SMP_NO(HB); - //if (!string.IsNullOrEmpty(HC)) - // gGP_SMP_NO_HC = GetGP_SMP_NO(HC); - //if (!string.IsNullOrEmpty(HD)) - // gGP_SMP_NO_HD = GetGP_SMP_NO(HD); - //if (!string.IsNullOrEmpty(HE)) - // gGP_SMP_NO_HE = GetGP_SMP_NO(HE); - //if (!string.IsNullOrEmpty(HF)) - // gGP_SMP_NO_HF = GetGP_SMP_NO(HF); - //if (!string.IsNullOrEmpty(HJ)) - // gGP_SMP_NO_HJ = GetGP_SMP_NO(HJ); - //if (!string.IsNullOrEmpty(HK)) - // gGP_SMP_NO_HK = GetGP_SMP_NO(HK); - //if (!string.IsNullOrEmpty(HM)) - // gGP_SMP_NO_HM = GetGP_SMP_NO(HM); - //if (!string.IsNullOrEmpty(HN)) - // gGP_SMP_NO_HN = GetGP_SMP_NO(HN); - //if (!string.IsNullOrEmpty(HR)) - // gGP_SMP_NO_HR = GetGP_SMP_NO(HR); - //if (!string.IsNullOrEmpty(HZ)) - // gGP_SMP_NO_HZ = GetGP_SMP_NO(HZ); - foreach (TEMP_DATA TD in gPhyTEMP_DATA) - { - string smp_no = string.Empty; - GP_PLATE GP_save = gP_PLATEs.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault();//确认的钢板信息 - BP_ORDER_ITEM ORD_save = orderEntities.Where(p => p.ORD_NO == TD.ORD_NO && p.ORD_ITEM == TD.ORD_ITEM).FirstOrDefault();//确认的订单信息 - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HA.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HA.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HB.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HB.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HC.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HC.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HD.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HD.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HE.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HE.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HF.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HF.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HJ.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HJ.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HK.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HK.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HM.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HM.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HN.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HN.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HR.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HR.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HZ.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) - { - smp_no = gGP_SMP_NO_HZ.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; - } - GP_save.SMP_NO = smp_no; - if (GP_save.SUB_LACK_CON.Contains("化学成分N")) - { - GP_save.SUB_LACK_CON = "/化学成分N"; - } - else - { - GP_save.SUB_LACK_CON = ""; - } - bool isSMP = false; - if (!IsSMP(GP_save, ORD_save)) - { - //GP_save.SMP_NO = ""; - isSMP = false; - //itemGP_PLATE.SUB_LACK_CON = ""; - } - else - { - isSMP = true; - } - if (!ChkPhyCom(GP_save, ORD_save, gQP_TEST_RSLT_HA1, gQP_TEST_RSLT_HB1, gQP_TEST_RSLT_HC1, gQP_TEST_RSLT_HD1, gQP_TEST_RSLT_HE1, gQP_TEST_RSLT_HF1, gQP_TEST_RSLT_HJ1, gQP_TEST_RSLT_HK1, gQP_TEST_RSLT_HM1, gQP_TEST_RSLT_HN1, gQP_TEST_RSLT_HR1, gQP_TEST_RSLT_HZ1)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == GP_save.PLATE_NO && p.ORD_NO == ORD_save.ORD_NO && p.ORD_ITEM == ORD_save.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = GP_save.PLATE_NO; - manual.ORD_NO = ORD_save.ORD_NO; - manual.ORD_ITEM = ORD_save.ORD_ITEM; - manual.RETURN_RESULTS = "物理性能不足"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - if (!ChkSMPLen(GP_save, ORD_save, isSMP)) - { - if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == GP_save.PLATE_NO && p.ORD_NO == ORD_save.ORD_NO && p.ORD_ITEM == ORD_save.ORD_ITEM).ToList().Count > 0) - { - TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - manual.PLATE_NO = GP_save.PLATE_NO; - manual.ORD_NO = ORD_save.ORD_NO; - manual.ORD_ITEM = ORD_save.ORD_ITEM; - manual.RETURN_RESULTS = "取样后长度后长度不足"; - guTB_PLATE_MANUAL.Add(manual); - } - continue; - } - //} - AddTempData(GP_save, ORD_save, Convert.ToInt32(TD.DEF_NUM), 1, "P", TD.STLGRD, TD.INV, isMANUAL, isSMP); - } - } - + List pdino = new List(); + //if (gPhyTEMP_DATA.Count > 0) + //{ + // string HA = string.Empty; + // int iHA = 0; + // string HB = string.Empty; + // int iHB = 0; + // string HC = string.Empty; + // int iHC = 0; + // string HD = string.Empty; + // int iHD = 0; + // string HE = string.Empty; + // int iHE = 0; + // string HF = string.Empty; + // int iHF = 0; + // string HJ = string.Empty; + // int iHJ = 0; + // string HK = string.Empty; + // int iHK = 0; + // string HM = string.Empty; + // int iHM = 0; + // string HN = string.Empty; + // int iHN = 0; + // string HR = string.Empty; + // int iHR = 0; + // string HZ = string.Empty; + // int iHZ = 0; + + // //string HA = string.Empty; + // //int iHA = 0; + // //加入同板坯的试样号 + // foreach (TEMP_DATA TD in gPhyTEMP_DATA) + // { + // //if (TD.PLATE_NO == "23104248600201" && TD.ORD_NO == "OME23070014" && TD.ORD_ITEM == "013") + // //{ + // // int i = 0; + // //} + + // if (TD.SUB_LACK_CON.Contains("HA")) + // { + // if (iHA == 0) + // { + // HA += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HA += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHA++; + // } + // if (TD.SUB_LACK_CON.Contains("HB")) + // { + // if (iHB == 0) + // { + // HB += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HB += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHB++; + // } + // if (TD.SUB_LACK_CON.Contains("HC")) + // { + // if (iHC == 0) + // { + // HC += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HC += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHC++; + // } + // if (TD.SUB_LACK_CON.Contains("HD")) + // { + // if (iHD == 0) + // { + // HD += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HD += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHD++; + // } + // if (TD.SUB_LACK_CON.Contains("HE")) + // { + // if (iHE == 0) + // { + // HE += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HE += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHE++; + // } + // if (TD.SUB_LACK_CON.Contains("HF")) + // { + // if (iHF == 0) + // { + // HF += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HF += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHF++; + // } + // if (TD.SUB_LACK_CON.Contains("HJ")) + // { + // if (iHJ == 0) + // { + // HJ += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HJ += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHJ++; + // } + // if (TD.SUB_LACK_CON.Contains("HK")) + // { + // if (iHK == 0) + // { + // HK += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HK += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHK++; + // } + // if (TD.SUB_LACK_CON.Contains("HM")) + // { + // if (iHM == 0) + // { + // HM += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HM += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHM++; + // } + // if (TD.SUB_LACK_CON.Contains("HN")) + // { + // if (iHN == 0) + // { + // HN += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HN += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHN++; + // } + // if (TD.SUB_LACK_CON.Contains("HR")) + // { + // if (iHR == 0) + // { + // HR += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HR += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHR++; + // } + // if (TD.SUB_LACK_CON.Contains("HZ")) + // { + // if (iHZ == 0) + // { + // HZ += " AND( PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // else + // { + // HZ += " OR PLATE_NO like '" + TD.PLATE_NO.Substring(0, 10) + "%' "; + // } + // iHZ++; + // } + // } + // if (!string.IsNullOrEmpty(HA)) + // HA += ")"; + // if (!string.IsNullOrEmpty(HB)) + // HB += ")"; + // if (!string.IsNullOrEmpty(HC)) + // HC += ")"; + // if (!string.IsNullOrEmpty(HD)) + // HD += ")"; + // if (!string.IsNullOrEmpty(HE)) + // HE += ")"; + // if (!string.IsNullOrEmpty(HF)) + // HF += ")"; + // if (!string.IsNullOrEmpty(HJ)) + // HJ += ")"; + // if (!string.IsNullOrEmpty(HK)) + // HK += ")"; + // if (!string.IsNullOrEmpty(HM)) + // HM += ")"; + // if (!string.IsNullOrEmpty(HN)) + // HN += ")"; + // if (!string.IsNullOrEmpty(HR)) + // HR += ")"; + // if (!string.IsNullOrEmpty(HZ)) + // HZ += ")"; + // IList gQP_TEST_RSLT_HA1 = new List(); + // IList gQP_TEST_RSLT_HB1 = new List(); + // IList gQP_TEST_RSLT_HC1 = new List(); + // IList gQP_TEST_RSLT_HD1 = new List(); + // IList gQP_TEST_RSLT_HE1 = new List(); + // IList gQP_TEST_RSLT_HF1 = new List(); + // IList gQP_TEST_RSLT_HJ1 = new List(); + // IList gQP_TEST_RSLT_HK1 = new List(); + // IList gQP_TEST_RSLT_HM1 = new List(); + // IList gQP_TEST_RSLT_HN1 = new List(); + // IList gQP_TEST_RSLT_HR1 = new List(); + // IList gQP_TEST_RSLT_HZ1 = new List(); + // DataTable dQP_TEST_RSLT_HA1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HB1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HC1 = new DataTable(); ; + // DataTable dQP_TEST_RSLT_HD1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HE1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HF1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HJ1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HK1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HM1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HN1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HR1 = new DataTable(); + // DataTable dQP_TEST_RSLT_HZ1 = new DataTable(); + // DataTable dGP_SMP_NO_HA1 = new DataTable(); + // DataTable dGP_SMP_NO_HB1 = new DataTable(); + // DataTable dGP_SMP_NO_HC1 = new DataTable(); ; + // DataTable dGP_SMP_NO_HD1 = new DataTable(); + // DataTable dGP_SMP_NO_HE1 = new DataTable(); + // DataTable dGP_SMP_NO_HF1 = new DataTable(); + // DataTable dGP_SMP_NO_HJ1 = new DataTable(); + // DataTable dGP_SMP_NO_HK1 = new DataTable(); + // DataTable dGP_SMP_NO_HM1 = new DataTable(); + // DataTable dGP_SMP_NO_HN1 = new DataTable(); + // DataTable dGP_SMP_NO_HR1 = new DataTable(); + // DataTable dGP_SMP_NO_HZ1 = new DataTable(); + // if (!string.IsNullOrEmpty(HA)) + // { + // dQP_TEST_RSLT_HA1 = Dal.GetInstance().GetQP_TEST_RSLT_HA_SLAB(HA); + // //gQP_TEST_RSLT_HA1 = GetQP_TEST_RSLT_HA_SLAB(HA); + // if (dQP_TEST_RSLT_HA1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HA1 = ModelConvertHelper1.ConvertToModel(dQP_TEST_RSLT_HA1); + // } + // } + // if (!string.IsNullOrEmpty(HB)) + // { + // dQP_TEST_RSLT_HB1 = Dal.GetInstance().GetQP_TEST_RSLT_HB_SLAB(HB); + // //gQP_TEST_RSLT_HB1 = GetQP_TEST_RSLT_HB_SLAB(HB); + // if (dQP_TEST_RSLT_HB1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HB1 = ModelConvertHelper1.ConvertToModel(dQP_TEST_RSLT_HB1); + // } + // } + // if (!string.IsNullOrEmpty(HC)) + // { + // dQP_TEST_RSLT_HC1 = Dal.GetInstance().GetQP_TEST_RSLT_HC_SLAB(HC); + // //gQP_TEST_RSLT_HC1 = GetQP_TEST_RSLT_HC_SLAB(HC); + // if (dQP_TEST_RSLT_HC1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HC1 = ModelConvertHelper1.ConvertToModel(dQP_TEST_RSLT_HC1); + // } + // } + // if (!string.IsNullOrEmpty(HD)) + // { + // dQP_TEST_RSLT_HD1 = Dal.GetInstance().GetQP_TEST_RSLT_HD_SLAB(HD); + // //gQP_TEST_RSLT_HD1 = GetQP_TEST_RSLT_HD_SLAB(HD); + // if (dQP_TEST_RSLT_HD1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HD1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HD1); + // } + // } + // if (!string.IsNullOrEmpty(HE)) + // { + // dQP_TEST_RSLT_HE1 = Dal.GetInstance().GetQP_TEST_RSLT_HE_SLAB(HE); + // //gQP_TEST_RSLT_HE1 = GetQP_TEST_RSLT_HE_SLAB(HE); + // if (dQP_TEST_RSLT_HE1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HE1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HE1); + // } + // } + // if (!string.IsNullOrEmpty(HF)) + // { + // dQP_TEST_RSLT_HF1 = Dal.GetInstance().GetQP_TEST_RSLT_HF_SLAB(HF); + // //gQP_TEST_RSLT_HF1 = GetQP_TEST_RSLT_HF_SLAB(HF); + // if (dQP_TEST_RSLT_HF1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HF1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HF1); + // } + // } + // if (!string.IsNullOrEmpty(HJ)) + // { + // dQP_TEST_RSLT_HJ1 = Dal.GetInstance().GetQP_TEST_RSLT_HJ_SLAB(HJ); + // //gQP_TEST_RSLT_HJ1 = GetQP_TEST_RSLT_HJ_SLAB(HJ); + // if (dQP_TEST_RSLT_HJ1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HJ1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HJ1); + // } + // } + // if (!string.IsNullOrEmpty(HK)) + // { + // dQP_TEST_RSLT_HK1 = Dal.GetInstance().GetQP_TEST_RSLT_HK_SLAB(HK); + // //gQP_TEST_RSLT_HK1 = GetQP_TEST_RSLT_HK_SLAB(HK); + // if (dQP_TEST_RSLT_HK1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HK1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HK1); + // } + // } + // if (!string.IsNullOrEmpty(HM)) + // { + // dQP_TEST_RSLT_HM1 = Dal.GetInstance().GetQP_TEST_RSLT_HM_SLAB(HM); + // //gQP_TEST_RSLT_HM1 = GetQP_TEST_RSLT_HM_SLAB(HM); + // if (dQP_TEST_RSLT_HM1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HM1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HM1); + // } + // } + // if (!string.IsNullOrEmpty(HN)) + // { + // dQP_TEST_RSLT_HN1 = Dal.GetInstance().GetQP_TEST_RSLT_HN_SLAB(HN); + // //gQP_TEST_RSLT_HN1 = GetQP_TEST_RSLT_HN_SLAB(HN); + // if (dQP_TEST_RSLT_HN1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HN1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HN1); + // } + // } + // if (!string.IsNullOrEmpty(HR)) + // { + // dQP_TEST_RSLT_HR1 = Dal.GetInstance().GetQP_TEST_RSLT_HR_SLAB(HR); + // //gQP_TEST_RSLT_HR1 = GetQP_TEST_RSLT_HR_SLAB(HR); + // if (dQP_TEST_RSLT_HR1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HR1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HR1); + // } + // } + // if (!string.IsNullOrEmpty(HZ)) + // { + // dQP_TEST_RSLT_HZ1 = Dal.GetInstance().GetQP_TEST_RSLT_HZ_SLAB(HZ); + // //gQP_TEST_RSLT_HZ1 = GetQP_TEST_RSLT_HZ_SLAB(HZ); + // if (dQP_TEST_RSLT_HZ1.Rows.Count > 0) + // { + // gQP_TEST_RSLT_HZ1 = ModelConvertHelper.ConvertToModel(dQP_TEST_RSLT_HZ1); + // } + // } + // if (!string.IsNullOrEmpty(HA)) + // { + // dGP_SMP_NO_HA1 = Dal.GetInstance().GetGP_SMP_NO(HA); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HA1.Rows.Count > 0) + // { + // gGP_SMP_NO_HA = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HA1); + // } + // } + // if (!string.IsNullOrEmpty(HB)) + // { + // dGP_SMP_NO_HB1 = Dal.GetInstance().GetGP_SMP_NO(HB); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HB1.Rows.Count > 0) + // { + // gGP_SMP_NO_HB = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HB1); + // } + // } + // if (!string.IsNullOrEmpty(HC)) + // { + // dGP_SMP_NO_HC1 = Dal.GetInstance().GetGP_SMP_NO(HC); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HC1.Rows.Count > 0) + // { + // gGP_SMP_NO_HC = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HC1); + // } + // } + // if (!string.IsNullOrEmpty(HD)) + // { + // dGP_SMP_NO_HD1 = Dal.GetInstance().GetGP_SMP_NO(HD); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HD1.Rows.Count > 0) + // { + // gGP_SMP_NO_HD = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HD1); + // } + // } + // if (!string.IsNullOrEmpty(HE)) + // { + // dGP_SMP_NO_HE1 = Dal.GetInstance().GetGP_SMP_NO(HE); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HE1.Rows.Count > 0) + // { + // gGP_SMP_NO_HE = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HE1); + // } + // } + // if (!string.IsNullOrEmpty(HF)) + // { + // dGP_SMP_NO_HF1 = Dal.GetInstance().GetGP_SMP_NO(HF); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HF1.Rows.Count > 0) + // { + // gGP_SMP_NO_HF = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HF1); + // } + // } + // if (!string.IsNullOrEmpty(HJ)) + // { + // dGP_SMP_NO_HJ1 = Dal.GetInstance().GetGP_SMP_NO(HJ); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HJ1.Rows.Count > 0) + // { + // gGP_SMP_NO_HJ = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HJ1); + // } + // } + // if (!string.IsNullOrEmpty(HK)) + // { + // dGP_SMP_NO_HK1 = Dal.GetInstance().GetGP_SMP_NO(HK); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HK1.Rows.Count > 0) + // { + // gGP_SMP_NO_HK = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HK1); + // } + // } + // if (!string.IsNullOrEmpty(HM)) + // { + // dGP_SMP_NO_HM1 = Dal.GetInstance().GetGP_SMP_NO(HM); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HM1.Rows.Count > 0) + // { + // gGP_SMP_NO_HM = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HM1); + // } + // } + // if (!string.IsNullOrEmpty(HN)) + // { + // dGP_SMP_NO_HN1 = Dal.GetInstance().GetGP_SMP_NO(HN); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HN1.Rows.Count > 0) + // { + // gGP_SMP_NO_HN = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HN1); + // } + // } + // if (!string.IsNullOrEmpty(HR)) + // { + // dGP_SMP_NO_HR1 = Dal.GetInstance().GetGP_SMP_NO(HR); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HR1.Rows.Count > 0) + // { + // gGP_SMP_NO_HR = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HR1); + // } + // } + // if (!string.IsNullOrEmpty(HZ)) + // { + // dGP_SMP_NO_HZ1 = Dal.GetInstance().GetGP_SMP_NO(HZ); + // //gGP_SMP_NO_HZ1 = GetGP_SMP_NO_HZ_SLAB(HZ); + // if (dGP_SMP_NO_HZ1.Rows.Count > 0) + // { + // gGP_SMP_NO_HZ = ModelConvertHelper.ConvertToModel(dGP_SMP_NO_HZ1); + // } + // } + // //if (!string.IsNullOrEmpty(HB)) + // // gQP_TEST_RSLT_HB1 = GetQP_TEST_RSLT_HB_SLAB(HB); + // //if (!string.IsNullOrEmpty(HC)) + // // gQP_TEST_RSLT_HC1 = GetQP_TEST_RSLT_HC_SLAB(HC); + // //if (!string.IsNullOrEmpty(HD)) + // // gQP_TEST_RSLT_HD1 = GetQP_TEST_RSLT_HD_SLAB(HD); + // //if (!string.IsNullOrEmpty(HE)) + // // gQP_TEST_RSLT_HE1 = GetQP_TEST_RSLT_HE_SLAB(HE); + // //if (!string.IsNullOrEmpty(HF)) + // // gQP_TEST_RSLT_HF1 = GetQP_TEST_RSLT_HF_SLAB(HF); + // //if (!string.IsNullOrEmpty(HJ)) + // // gQP_TEST_RSLT_HJ1 = GetQP_TEST_RSLT_HJ_SLAB(HJ); + // //if (!string.IsNullOrEmpty(HK)) + // // gQP_TEST_RSLT_HK1 = GetQP_TEST_RSLT_HK_SLAB(HK); + // //if (!string.IsNullOrEmpty(HM)) + // // gQP_TEST_RSLT_HM1 = GetQP_TEST_RSLT_HM_SLAB(HM); + // //if (!string.IsNullOrEmpty(HN)) + // // gQP_TEST_RSLT_HN1 = GetQP_TEST_RSLT_HN_SLAB(HN); + // //if (!string.IsNullOrEmpty(HR)) + // // gQP_TEST_RSLT_HR1 = GetQP_TEST_RSLT_HR_SLAB(HR); + // //if (!string.IsNullOrEmpty(HZ)) + // // gQP_TEST_RSLT_HZ1 = GetQP_TEST_RSLT_HZ_SLAB(HZ); + // //if (!string.IsNullOrEmpty(HA)) + // // gGP_SMP_NO_HA = GetGP_SMP_NO(HA); + // //if (!string.IsNullOrEmpty(HB)) + // // gGP_SMP_NO_HB = GetGP_SMP_NO(HB); + // //if (!string.IsNullOrEmpty(HC)) + // // gGP_SMP_NO_HC = GetGP_SMP_NO(HC); + // //if (!string.IsNullOrEmpty(HD)) + // // gGP_SMP_NO_HD = GetGP_SMP_NO(HD); + // //if (!string.IsNullOrEmpty(HE)) + // // gGP_SMP_NO_HE = GetGP_SMP_NO(HE); + // //if (!string.IsNullOrEmpty(HF)) + // // gGP_SMP_NO_HF = GetGP_SMP_NO(HF); + // //if (!string.IsNullOrEmpty(HJ)) + // // gGP_SMP_NO_HJ = GetGP_SMP_NO(HJ); + // //if (!string.IsNullOrEmpty(HK)) + // // gGP_SMP_NO_HK = GetGP_SMP_NO(HK); + // //if (!string.IsNullOrEmpty(HM)) + // // gGP_SMP_NO_HM = GetGP_SMP_NO(HM); + // //if (!string.IsNullOrEmpty(HN)) + // // gGP_SMP_NO_HN = GetGP_SMP_NO(HN); + // //if (!string.IsNullOrEmpty(HR)) + // // gGP_SMP_NO_HR = GetGP_SMP_NO(HR); + // //if (!string.IsNullOrEmpty(HZ)) + // // gGP_SMP_NO_HZ = GetGP_SMP_NO(HZ); + // foreach (TEMP_DATA TD in gPhyTEMP_DATA) + // { + // string smp_no = string.Empty; + // GP_PLATE GP_save = gP_PLATEs.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault();//确认的钢板信息 + // BP_ORDER_ITEM ORD_save = orderEntities.Where(p => p.ORD_NO == TD.ORD_NO && p.ORD_ITEM == TD.ORD_ITEM).FirstOrDefault();//确认的订单信息 + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HA.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HA.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HB.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HB.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HC.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HC.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HD.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HD.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HE.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HE.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HF.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HF.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HJ.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HJ.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HK.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HK.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HM.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HM.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HN.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HN.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HR.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HR.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // if (string.IsNullOrEmpty(smp_no) && gGP_SMP_NO_HZ.Where(p => p.PLATE_NO == TD.PLATE_NO).ToList().Count > 0) + // { + // smp_no = gGP_SMP_NO_HZ.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault().SMP_NO; + // } + // GP_save.SMP_NO = smp_no; + // if (GP_save.SUB_LACK_CON.Contains("化学成分N")) + // { + // GP_save.SUB_LACK_CON = "/化学成分N"; + // } + // else + // { + // GP_save.SUB_LACK_CON = ""; + // } + // bool isSMP = false; + // if (!IsSMP(GP_save, ORD_save)) + // { + // //GP_save.SMP_NO = ""; + // isSMP = false; + // //itemGP_PLATE.SUB_LACK_CON = ""; + // } + // else + // { + // isSMP = true; + // } + // if (!ChkPhyCom(GP_save, ORD_save, gQP_TEST_RSLT_HA1, gQP_TEST_RSLT_HB1, gQP_TEST_RSLT_HC1, gQP_TEST_RSLT_HD1, gQP_TEST_RSLT_HE1, gQP_TEST_RSLT_HF1, gQP_TEST_RSLT_HJ1, gQP_TEST_RSLT_HK1, gQP_TEST_RSLT_HM1, gQP_TEST_RSLT_HN1, gQP_TEST_RSLT_HR1, gQP_TEST_RSLT_HZ1)) + // { + // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == GP_save.PLATE_NO && p.ORD_NO == ORD_save.ORD_NO && p.ORD_ITEM == ORD_save.ORD_ITEM).ToList().Count > 0) + // { + // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // manual.PLATE_NO = GP_save.PLATE_NO; + // manual.ORD_NO = ORD_save.ORD_NO; + // manual.ORD_ITEM = ORD_save.ORD_ITEM; + // manual.RETURN_RESULTS = "物理性能不足"; + // guTB_PLATE_MANUAL.Add(manual); + // } + // continue; + // } + // if (!ChkSMPLen(GP_save, ORD_save, isSMP)) + // { + // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == GP_save.PLATE_NO && p.ORD_NO == ORD_save.ORD_NO && p.ORD_ITEM == ORD_save.ORD_ITEM).ToList().Count > 0) + // { + // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // manual.PLATE_NO = GP_save.PLATE_NO; + // manual.ORD_NO = ORD_save.ORD_NO; + // manual.ORD_ITEM = ORD_save.ORD_ITEM; + // manual.RETURN_RESULTS = "取样后长度后长度不足"; + // guTB_PLATE_MANUAL.Add(manual); + // } + // continue; + // } + // //} + // AddTempData(GP_save, ORD_save, Convert.ToInt32(TD.DEF_NUM), 1, "P", TD.STLGRD, TD.INV, isMANUAL, isSMP); + // } + //} + #endregion 二次优化的部分替代 logger.InfoFormat("*******开始存储数据*******"); @@ -3393,7 +3535,7 @@ namespace ibk.IPD.Controller.IPD_PS int iterationCount = 0; foreach (var plateNo in KuCun) - { + { if (!YuCai.Contains(plateNo)) { Dal.GetInstance().DeleteINVENTORY_ANALYSIS(plateNo); @@ -3436,7 +3578,7 @@ namespace ibk.IPD.Controller.IPD_PS //可替代次数根据订单标准号判断 //int StCount = gSTDSPEC_180.Count(p => p.STDSPEC == gPLATE.BOO_STDSPEC); - + int StCount = 0; List ordNumbers = new List(); @@ -3493,12 +3635,12 @@ namespace ibk.IPD.Controller.IPD_PS if (ANALYSIS.ORD_NUMBER.Length > maxLength) { ANALYSIS.ORD_NUMBER = ANALYSIS.ORD_NUMBER.Substring(0, maxLength - 3) + "..."; - } + } } else { ANALYSIS.ORD_NUMBER = ""; // 如果 ordNumbers 为空,则将 ANALYSIS.ORD_NUMBER 赋为空字符串 - } + } //临时表 if (gTEMP_DATA.Where(p => p.PLATE_NO == gPLATE.PLATE_NO).ToList().Count > 0) @@ -4230,6 +4372,24 @@ namespace ibk.IPD.Controller.IPD_PS return reListTBOrdNospe; } + + public static IList GetTPlateA() + { + IList reListTPlateA = new List(); + + try + { + reListTPlateA = SerSurMatSubService.GetTPlateA(); + } + catch (Exception ex) + { + logger.Error("GetTPlateA 报错 : ", ex); + } + + return reListTPlateA; + } + + /// /// 替代履历 @@ -5269,10 +5429,15 @@ namespace ibk.IPD.Controller.IPD_PS /// 满足:True;不满足:False public static bool ChkChemCom(GP_PLATE prP_PLATE, BP_ORDER_ITEM prorde) { + string strWHereOrd = " AND (boi.ORD_NO ='" + prorde.ORD_NO + "' AND boi.ORD_ITEM ='" + prorde.ORD_ITEM + "')"; + + IList ltQPQltyChem = GetOrderChemistry(strWHereOrd, ""); + //logger.Info("****【余材化学成分】 " + ltQPQltyChem.Count + "----订单号:" + prorde.ORD_NO + "-" + prorde.ORD_ITEM); + //gQP_CHEM_RSLT //gQP_QLTY_CHEM //获取订单的化学成分 - List ltQPQltyChem = gQP_QLTY_CHEM.Where(p => p.ORD_NO == prorde.ORD_NO && p.ORD_ITEM == prorde.ORD_ITEM).ToList(); + //List ltQPQltyChem = gQP_QLTY_CHEM.Where(p => p.ORD_NO == prorde.ORD_NO && p.ORD_ITEM == prorde.ORD_ITEM).ToList(); //获取炉号 string strHeatNo = gFP_SLAB.Where(p => p.SLAB_NO == prP_PLATE.SLAB_NO).ToList().Count > 0 ? gFP_SLAB.Where(p => p.SLAB_NO == prP_PLATE.SLAB_NO).ToList().First().HEAT_NO : ""; @@ -10667,7 +10832,18 @@ namespace ibk.IPD.Controller.IPD_PS td.Spot_Price = DecGENUINE_PRICE.ToString(); td.SCRAP_PRICE = DecSCRAP_PRICE.ToString(); td.STEEL_SCRAP_WGT = supersede.STEEL_SCRAP_WGT; - gTEMP_DATA.Add(td); + try + { + lock (Lockobj) + { + gTEMP_DATA.Add(td); + } + } + catch (Exception) + { + logger.InfoFormat("************报错--- {0}", gTEMP_DATA.Count()); + } + } /// diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubService.cs b/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubService.cs index f149f37..d8c3049 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubService.cs +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/SurMatSubService.cs @@ -206,7 +206,7 @@ namespace ibk.IPD.Service.IPD_PS //strSql.AppendLine(" SELECT * from NISCO.CP_REP_HIS where TO_DATE(INS_DATE, 'yyyy-mm-dd hh24:mi:ss') > TO_DATE('2022-06-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') order by TO_DATE(INS_DATE, 'yyyy-mm-dd hh24:mi:ss') desc "); //20231121改 strSql.AppendLine(" SELECT * from NISCO.CP_REP_HIS where TO_DATE(INS_DATE, 'yyyy-mm-dd hh24:mi:ss') > sysdate-180 order by TO_DATE(INS_DATE, 'yyyy-mm-dd hh24:mi:ss') desc "); - + //开启数据库连接查询数据 using (IDbContext db = ObjectContainer.GetObject("db_sur")) { @@ -328,7 +328,7 @@ namespace ibk.IPD.Service.IPD_PS return gSTDSPEC; } - + /// /// 可用订单选择 /// 订单欠量字段 ORD_REM_CNT @@ -341,8 +341,7 @@ namespace ibk.IPD.Service.IPD_PS IList gpPlates = null; //查询可用订单以及常用字段 - //测试Test - strSql.AppendLine(" SELECT * from("); + //strSql.AppendLine(" SELECT * from("); strSql.AppendLine(" SELECT DISTINCT"); strSql.AppendLine(" ORD_REMARK.REMARK ,"); strSql.AppendLine(" BOI.ORD_NO, BOI.ORD_ITEM, QQD.THK_TOL_MIN ,QQD.THK_TOL_MAX ,BOI.REC_STS, BOI.PLN_ORD, BOI.PLN_ORD_ITEM, BOI.ORD_STS, BOI.HOLD_FL, BOI.HOLD_DATE, BOI.HOLD_TIME, BOI.HOLD_EMP_ID "); @@ -433,8 +432,7 @@ namespace ibk.IPD.Service.IPD_PS //strSql.AppendLine("AND boi.REC_STS = '2' "); //strSql.AppendLine("and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine("AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + //20231130注 库存分析只分析A订单 strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -469,11 +467,7 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(", QQT.HTM_METH3 "); strSql.AppendLine(", MATR.ROUNDSTD "); strSql.AppendLine(", ORD_REMARK.REMARK "); - //测试Test //strSql.AppendLine(") where ORD_NO ='OM723070013' AND ORD_ITEM ='561' "); - - //strSql.AppendLine(") T where T.ORD_NO || '-' || T.ORD_ITEM IN ('OM724020021-011','OM724020022-139','OM724020072-352','OM724030118-149','OM724030118-164','OM824030111-058') "); - strSql.AppendLine(") T where T.ORD_NO || '-' || T.ORD_ITEM IN ('OM724020021-011') "); try { //开启数据库连接查询数据 @@ -605,8 +599,7 @@ namespace ibk.IPD.Service.IPD_PS IList gpPlates = new List(); //查询语句日期时间拼接起来格式化成yyyy-mm-dd hh24:mi:ss PROD_WGT - //测试Test - strSql.AppendLine("SELECT * from("); + //strSql.AppendLine("SELECT * from("); strSql.AppendLine("SELECT"); strSql.AppendLine(" DISTINCT GP.PLATE_NO "); strSql.AppendLine(",GI.INSP_B_DEP_FLAW2 "); @@ -683,7 +676,7 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(",(bob.ORD_LEN + QQD.LEN_TOL_MIN) AS LEN_DOWN "); strSql.AppendLine(",(bob.ORD_WID + QQD.WID_TOL_MAX) AS WID_UP "); strSql.AppendLine(",(bob.ORD_WID + QQD.WID_TOL_MIN) AS WID_DOWN "); - + strSql.AppendLine(",bob.ORD_NO BOB_ORD_NO --//--替代前订单订单号 "); strSql.AppendLine(",bob.ORD_ITEM BOB_ORD_ITEM --//--替代前订单序列 "); strSql.AppendLine(",bob.STDSPEC BOB_STDSPEC --//--替代前订单订单标准 "); @@ -753,11 +746,10 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(strWHerePlate); strSql.AppendLine(strNotinPlate); - //strSql.AppendLine(" OR GP.PLATE_NO = '23305886020202'"); + //strSql.AppendLine(" OR GP.PLATE_NO = '22D00200010102'"); strSql.AppendLine("ORDER BY GP.PLATE_NO"); - //测试Test - strSql.AppendLine(") T where T.PLATE_NO = '24203388040204'"); + //strSql.AppendLine(") where PLATE_NO = '22D00200010102'"); try { //开启数据库连接查询数据 @@ -782,7 +774,7 @@ namespace ibk.IPD.Service.IPD_PS IList gpPlates = new List(); //查询语句日期时间拼接起来格式化成yyyy-mm-dd hh24:mi:ss PROD_WGT - strSql.AppendLine("SELECT * from("); + //strSql.AppendLine("SELECT * from("); strSql.AppendLine("SELECT"); strSql.AppendLine(" DISTINCT GP.PLATE_NO "); strSql.AppendLine(",GI.INSP_B_DEP_FLAW2 "); @@ -924,10 +916,10 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(strWHerePlate); strSql.AppendLine(strNotinPlate); - //strSql.AppendLine(" OR GP.PLATE_NO = '23305886020202'"); + //strSql.AppendLine(" OR GP.PLATE_NO = '22D00200010102'"); strSql.AppendLine("ORDER BY GP.PLATE_NO"); - strSql.AppendLine(") T where T.PLATE_NO = '24203388040204'"); + //strSql.AppendLine(") where PLATE_NO = '22D00200010102'"); try { //开启数据库连接查询数据 @@ -1049,8 +1041,7 @@ namespace ibk.IPD.Service.IPD_PS //strSql.AppendLine("and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine("AND boi.ord_knd IN('A') "); //strSql.AppendLine("AND boi.ORD_NO NOT LIKE 'OMZ%'"); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); //strSql.AppendLine(" or boi.ORD_NO ='OM723020004'"); //strSql.AppendLine(" AND boi.ORD_ITEM ='092'"); @@ -1192,7 +1183,7 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(",(bob.ORD_LEN + QQD.LEN_TOL_MIN) AS LEN_DOWN "); strSql.AppendLine(",(bob.ORD_WID + QQD.WID_TOL_MAX) AS WID_UP "); strSql.AppendLine(",(bob.ORD_WID + QQD.WID_TOL_MIN) AS WID_DOWN "); - + strSql.AppendLine(",bob.ORD_NO BOB_ORD_NO --//--替代前订单订单号 "); strSql.AppendLine(",bob.ORD_ITEM BOB_ORD_ITEM --//--替代前订单序列 "); strSql.AppendLine(",bob.STDSPEC BOB_STDSPEC --//--替代前订单订单标准 "); @@ -1354,8 +1345,7 @@ namespace ibk.IPD.Service.IPD_PS //strSql.AppendLine("AND boi.REC_STS = '2' "); //strSql.AppendLine("and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine("AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -1404,8 +1394,6 @@ namespace ibk.IPD.Service.IPD_PS //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); //strSql.AppendLine(" AND ((SELECT COUNT( A.REQ_SEQ_NO) "); //strSql.AppendLine(" FROM NISCO.EP_REQ_SLAB_D A, NISCO.EP_REQ_SLAB B "); //strSql.AppendLine(" WHERE "); @@ -3048,6 +3036,28 @@ namespace ibk.IPD.Service.IPD_PS } return gTBOrdNospe; } + + public IList GetTPlateA() + { + StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量 + IList gTBOrdNospe = null; + + //查询可用订单以及常用字段 + try + { + strSql.AppendLine(" SELECT PLATE_NO,UPD_DATE FROM TB_INVENTORY_ANALYSIS WHERE TO_DATE(UPD_DATE, 'YYYYMMDD') > SYSDATE -1"); + //开启数据库连接查询数据 + using (IDbContext db = ObjectContainer.GetObject("db")) + { + gTBOrdNospe = db.Query(strSql.ToString()); + } + } + catch (Exception ex) + { + logger.Error("GetTPlateA 报错", ex); + } + return gTBOrdNospe; + } /// /// 不可替代钢种 @@ -3653,8 +3663,7 @@ namespace ibk.IPD.Service.IPD_PS //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); -strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); -strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -3714,8 +3723,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); strSql.AppendLine(" )"); @@ -3775,8 +3783,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -3837,8 +3844,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -3898,8 +3904,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -3959,8 +3964,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -4020,8 +4024,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -4081,8 +4084,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -4143,8 +4145,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -4204,8 +4205,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -4266,8 +4266,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -4327,8 +4326,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); @@ -4389,8 +4387,7 @@ strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-D //strSql.AppendLine(" AND boi.REC_STS = '2' "); //strSql.AppendLine(" and boi.ORD_STS IN('E', 'D') "); strSql.AppendLine(" AND boi.ord_knd IN('A') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(SYSDATE - 180, 'YYYY-MM-DD HH24:MI:SS') "); - strSql.AppendLine(" AND TO_CHAR(TO_DATE(boi.DEL_TO_DATE, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(SYSDATE + 180, 'YYYY-MM-DD HH24:MI:SS') "); + strSql.AppendLine(strWHereOrd); strSql.AppendLine(strSpecialOrd); diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe b/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe index 8a94019..e88c239 100644 Binary files a/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe and b/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe differ diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe.config b/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe.config index b1aeefb..eeffd35 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe.config +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe.config @@ -96,7 +96,7 @@ - + @@ -114,15 +114,18 @@ + + - - - + + @@ -174,6 +177,10 @@ + + + + @@ -187,11 +194,5 @@ - - - - - - \ No newline at end of file diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb b/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb index 9360858..09f6d86 100644 Binary files a/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb and b/库存分析/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb differ diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 367fc72..660d992 100644 Binary files a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache index a01d48d..df9d4ea 100644 Binary files a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache and b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache differ diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache index bc28bb7..568dbf0 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -c9e49ee06d2e0fe7656272830821165a469f1f2b +5f143777e8b1c08302439cdbfb446986441152f8 diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe index 8a94019..e88c239 100644 Binary files a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe and b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe differ diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe.config b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe.config index b1aeefb..eeffd35 100644 --- a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe.config +++ b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe.config @@ -96,7 +96,7 @@ - + @@ -114,15 +114,18 @@ + + - - - + + @@ -174,6 +177,10 @@ + + + + @@ -187,11 +194,5 @@ - - - - - - \ No newline at end of file diff --git a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb index 9360858..09f6d86 100644 Binary files a/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb and b/库存分析/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb differ diff --git a/炼轧可替代余材/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo b/炼轧可替代余材/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo index 3663593..3a7ad98 100644 Binary files a/炼轧可替代余材/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo and b/炼轧可替代余材/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo differ diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe index 17e6240..e3078f4 100644 Binary files a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe and b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe differ diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb index cace3fd..1e2abbd 100644 Binary files a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb and b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb differ diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 694a802..79170b8 100644 Binary files a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache index 4e09e06..1912d75 100644 Binary files a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache and b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.AssemblyReference.cache differ diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache index 9d32ec7..73be627 100644 --- a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache +++ b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -3bd573cd3a6f7bb182eab6ed40f917d304471b69 +31682b77a4d12632e4a2124d53f855d1a797bf03 diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.FileListAbsolute.txt b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.FileListAbsolute.txt index 1afce78..c4a00ab 100644 --- a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.FileListAbsolute.txt +++ b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.FileListAbsolute.txt @@ -414,3 +414,17 @@ D:\Code\Codes\ipd-file\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle D:\Code\Codes\ipd-file\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.csproj.CopyComplete D:\Code\Codes\ipd-file\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.exe D:\Code\Codes\ipd-file\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.pdb +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\SinglePlateHandle.exe.config +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\SinglePlateHandle.exe +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\SinglePlateHandle.pdb +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\Newtonsoft.Json.dll +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\System.Buffers.dll +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\System.Memory.dll +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\System.Net.Http.Formatting.dll +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\System.Numerics.Vectors.dll +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.csproj.AssemblyReference.cache +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.csproj.CoreCompileInputs.cache +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.csproj.CopyComplete +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.exe +D:\_NG_1\NG_Project\炼轧可替代余材\SinglePlateHandle\SinglePlateHandle\obj\Debug\SinglePlateHandle.pdb diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe index 17e6240..e3078f4 100644 Binary files a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe and b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe differ diff --git a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb index cace3fd..1e2abbd 100644 Binary files a/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb and b/炼轧可替代余材/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb differ diff --git a/统计程序/SubResult/.vs/SubResult/v17/.suo b/统计程序/SubResult/.vs/SubResult/v17/.suo index 812b4c9..b3357a4 100644 Binary files a/统计程序/SubResult/.vs/SubResult/v17/.suo and b/统计程序/SubResult/.vs/SubResult/v17/.suo differ diff --git a/统计程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/统计程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 1a255ac..51589ea 100644 Binary files a/统计程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/统计程序/SubResult/SubResult/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/统计程序/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache b/统计程序/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache index cd038c5..f134e5d 100644 Binary files a/统计程序/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache and b/统计程序/SubResult/SubResult/obj/Debug/SubResult.csproj.AssemblyReference.cache differ