SM45640_SaveTJ保存并提交

news/2025/10/31 6:38:42/文章来源:https://www.cnblogs.com/nuaaydh/p/19178531
using Salien.Utility;
using Salien.Utility.SUWF;
using Salien.Utility.WebControls;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Web.UI.WebControls;namespace WXSMZP
{public class SM45640_SaveTJ : ISuwfBus /*提交*/{/// <summary>/// 成员/// </summary>private SlnSuwfPage _page;SalienGridView grdTest;/// <summary>/// 初始化页面/// </summary>/// <param name="page"></param>void ISuwfBus.Initial(SlnSuwfPage page){try{this._page = page;grdTest = (SalienGridView)_page.FindControl("grdTest");_page.Load += new EventHandler(Page_Load);ClsPubFunction.BindButtonEvent(_page, "btnSaveTJ", this.BtnSaveTJ_Click);}catch (Exception ex){page.ShowMessage(ex.Message);}}#region 页面加载 Page_Load(object sender, EventArgs e)   /// <summary>/// 页面加载/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Page_Load(object sender, EventArgs e){try{if (!_page.IsPostBack){DoAfterFillGrid();}}catch (Exception ex){_page.ShowMessage(ex.Message);}}#endregion#region 提交事件 BtnSaveTJ_Click/// <summary>/// "提交"/// </summary>/// <param name="sender"></param>/// <param name="e"></param>   private void BtnSaveTJ_Click(object sender, EventArgs e){try{string pks = _page.GetRowDataPrimaryKeys();if (pks.Length == 0){_page.ShowMessage("请选择网格数据!");return;}string JTRWID = _page.GetValueByName("JTRWID");if (JTRWID == ""){_page.ShowMessage("订单任务ID为空");return;}string BZID = _page.GetRowDataByKey(0, "BZID");if (BZID == ""){_page.ShowMessage("班组ID为空");return;}string SCDDMXID = _page.GetValueByName("SCDDMXID");if (SCDDMXID == "" || SCDDMXID.Length == 0){_page.ShowMessage(SlnString.ScriptAlertMessage("请生产订单表ID为空"));return;}List<string> lstSQL = new List<string>();GridView grd = _page.MainGrid;/*保存的值限制条件*/ClsGridEdit gridEdit = new ClsGridEdit(this._page);string sMsg = gridEdit.CheckGridData();if (!string.IsNullOrEmpty(sMsg)){_page.ShowMessage(gridEdit.CheckGridData());return;}foreach (GridViewRow gridRow in grd.Rows){if (_page.GridRowIsSelected(gridRow.RowIndex)){string DJZT = _page.GetRowDataByKey(gridRow.RowIndex, "DJZT");/*产品大类*/if (DJZT == "10"){_page.ShowMessage("第【" + (gridRow.RowIndex + 1).ToString() + "】行已审核,不能重复审核");return;}string ID = this._page.GetRowDataByKey(gridRow.RowIndex, "ID");string JGSL = this._page.GetRowDataByKey(gridRow.RowIndex, "JGSL");string GJ = _page.GetRowDataByKey(gridRow.RowIndex, "GJ");string DJLX = _page.GetRowDataByKey(gridRow.RowIndex, "DJLX");string GZNR = this._page.GetRowDataByKey(gridRow.RowIndex, "GZNR");string BZDEID = _page.GetRowDataByKey(gridRow.RowIndex, "BZDEID");if (DJLX == "1"){if (SlnString.IsNull(BZDEID) ){_page.ShowMessage("" + (gridRow.RowIndex + 1).ToString() + "行无包装定额工价ID,保存失败");return;}string GJ_BZDE = ConvertFunction.ObjToStr(SlnDataAccess.GetValueBySql("select GJ From SM_ZP_GPTBZDE_TB Where ID=" + BZDEID));if (ClsPubFunction.AtoiExt(GJ) != ClsPubFunction.AtoiExt(GJ_BZDE) ){_page.ShowMessage("" + (gridRow.RowIndex + 1).ToString() + "行工价信息出错");return;}}string YGID = _page.GetRowDataByKey(gridRow.RowIndex, "YGID");if (SlnString.IsNull(YGID)){_page.ShowMessage("" + (gridRow.RowIndex + 1).ToString() + "行缺失员工信息(YGID)");return;}if (SlnString.IsNull(JGSL) || ConvertFunction.ObjToDouble(JGSL) == 0.0){_page.ShowMessage("" + (gridRow.RowIndex + 1).ToString() + "行缺失记工数量JGSL信息");return;}if (SlnString.IsNull(GJ) || ConvertFunction.ObjToDouble(GJ) == 0.0){_page.ShowMessage("" + (gridRow.RowIndex + 1).ToString() + "行缺失工价GJ信息");return;}string sql = "update SM_ZP_GZHS_TB set";int i = 0;if (_page.GridCellIsModified(gridRow.RowIndex, "JGSL") && _page.GridCellIsModified(gridRow.RowIndex, "GJ")){sql = sql + " JGSL='" + JGSL + "',GJ='" + GJ + "',";i++;}if (_page.GridCellIsModified(gridRow.RowIndex, "JGSL") && !_page.GridCellIsModified(gridRow.RowIndex, "GJ")){sql = sql + " JGSL='" + JGSL + "',";i++;}if (!_page.GridCellIsModified(gridRow.RowIndex, "JGSL") && _page.GridCellIsModified(gridRow.RowIndex, "GJ")){sql = sql + " GJ='" + GJ + "',";i++;}if (_page.GridCellIsModified(gridRow.RowIndex, "GZNR")){sql = sql + " GZNR='" + GZNR + "',";i++;}if (_page.GridCellIsModified(gridRow.RowIndex, "BZDEID")){sql = sql + " BZDEID='" + BZDEID + "',";i++;}if (i > 0){sql = sql.Substring(0, sql.Length - 1);lstSQL.Add(sql + " where id =" + ID);}}} /*end of foreach*/string msg = "";/* string sql= "select count(id) from SM_ZP_GZHS_TB where djzt=0 and id in ("+pks+")";*/if (lstSQL != null && lstSQL.Count > 0){if ((msg = SlnDataAccess.ExecuteSQL(lstSQL)) == "") { msg += "数据更新成功->"; }else{msg += "数据更新失败->";}}else if (IsZero(pks) > 0){msg += "数据有未提交->";}else{msg += "数据已提交的->";}if (msg.Contains("更新成功") || msg.Contains("未提交")){DataTable dt = CheckGHSLAndZPJE(JTRWID);decimal FPSL = ClsPubFunction.Atoi(ClsTable.GetMAX("FPSL", dt.Rows).ToString());decimal GJ_HJ = ClsPubFunction.Atoi(ClsTable.GetMAX("GJ_HJ", dt.Rows).ToString());decimal sumJGSL = ClsPubFunction.Atoi(ClsTable.GetSUM("JGSL", dt.Select("DJLX=1")).ToString());decimal sumJGGJ_HJ = ClsPubFunction.Atoi(ClsTable.GetSUM("JGGJ_HJ", dt.Select("DJLX=0")).ToString());//   double SubGH = CalcSub_sumJGSL_FPSL(sumJGSL.ToString(), FPSL.ToString());//  double SubZP = CalcSub_JGGJ_HJ_GJ_HJ(sumJGGJ_HJ.ToString(), GJ_HJ.ToString());//    if(SubGH > 0.000000001)if (Math.Round(sumJGSL - FPSL, 4) > 0.0000m){msg += "归货情况下,记工数量的和【" + sumJGSL + "】不能大于分配数量【" + FPSL + "";}else if (Math.Round(sumJGGJ_HJ - GJ_HJ, 4) > 0.0000m)//   else if (sumJGGJ_HJ > GJ_HJ)
                    {msg += "装配情况下,记工工价合计【" + sumJGGJ_HJ + "】不能超过总工价【" + GJ_HJ + "";}else{msg += SlnDataAccess.ExecuteProcedure("SM45640_SaveTJ_SP('" + SCDDMXID + "','" + pks + "')");msg += "->提交成功";/*  _page.ClientScript.RegisterStartupScript(this.GetType(), "Save", "<script type='text/javascript'>var r=window.confirm('" + msg + ",是否确定关闭?');"
+ @"if (r==true){var pWin = getParentWin();pWin.document.all.btnQuery.click();closeWin();
}</script>");*/                _page.ClientScript.RegisterStartupScript(this.GetType(), "Save", "<script type='text/javascript'>var r=window.confirm('" + msg + ",是否确定关闭?');"
+ @"if (r==true){
var pWindow = window.parent.opener;if(pWindow != null && pWindow.document.all.btnQuery != null){pWindow.document.all.btnQuery.click();}pWindow = window.parent.parent;if(pWindow != null && pWindow.gridframe != null && pWindow.gridframe.document.all.btnQuery != null){pWindow.gridframe.document.all.btnQuery.click();}
window.close();}
</script>");                 return;}}else{msg += "->数据录入失败";}_page.ShowMessage(msg);_page.btnQuery_Click(null, null);return;}catch (Exception ex){_page.ShowMessage("SM45640_SaveTJ|" + ex.Message);}}#endregionDataTable CheckGHSLAndZPJE(string JTRWID){string sql = @"Select hs.JGSL,hs.GJ,hs.DJLX,hs.JTRWID,sm45640_qrgzhsd_fc(JTRWID) as GJ_HJ,jtrw.FPSL,jtrw.fpsl * jtrw.gj as JGGJ_HJ from SM_ZP_GZHS_TB hs left join SM_SC_ZPJTRW_TB jtrw on jtrw.id = hs.jtrwid Where JTRWID='" + JTRWID + "'";return SlnDataAccess.GetDataTable(sql);}/// <summary>/// 红单变色/// </summary>void DoAfterFillGrid(){int index = _page.Unit.ProgUnit.FieldList.GetFieldByKey("HDBZ").Index;/*红单标志所在列*/int DJZTindex = _page.Unit.ProgUnit.FieldList.GetFieldByKey("DJZT").Index;/*红单标志所在列*/for (int i = 0; i < grdTest.Rows.Count; i++){string strT = Convert.ToString(_page.GridData.Rows[i][index]);if (strT.Contains("红单")){grdTest.Rows[i].Cells[index].BackColor = Color.Yellow;}string DJZT = Convert.ToString(_page.GridData.Rows[i][DJZTindex]);if (DJZT.Contains("审核")){grdTest.Rows[i].Cells[DJZTindex].BackColor = Color.LightGreen;}if (DJZT.Contains("提交")){grdTest.Rows[i].Cells[DJZTindex].BackColor = Color.YellowGreen;}}}#region int IsZero(string pks){string sql = "select count(id) from SM_ZP_GZHS_TB where djzt=0 and id in (" + pks + ")";return ConvertFunction.ObjToInt32(SlnDataAccess.GetValueBySql(sql));}#endregion}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/951266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上证指数多日预测结果

=== 上证指数多日预测结果 === 生成时间: 2025-10-31 06:17:10 === 上证指数多日预测结果 === 数据截止日期: 2025-10-30 当前收盘价: 3986.9008 未来1日预测: Prophet-XGBoost: 下跌 (上涨概率: 0.4948) 随机森林: 下…

上证指数前瞻:未来5日多空解析

$上证指数(SH000001)$ 【数据更新】 📅 截止日期:2025-10-30 📊 当前收盘:3986.90 【模型预测明细】 🎯 1日展望: P-XGB:看跌 ↘(涨率46%) 随机森林:看跌 ↘(涨率48%) LSTM:看涨 ↗(涨率55%) 综合研…

【上证指数AI前瞻:未来5日多空密码解析】

【上证指数AI前瞻:未来5日多空密码解析】📊 当前锚点:3986.90点(截至10月30日),三大AI模型今日给出未来一周走势图谱,呈现"跌-涨-涨-涨-跌"的N型波动特征。 🔥 核心预测矩阵周期 三大模型观点 一致…

八字算卦股市分析报告

```html八字算卦股市分析报告body { font-family: "Microsoft YaHei", sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-width: 900px; margin: 0 auto; padding: 20px; background-color: …

如何在舍友大叫开黑的情况下给麦克风降噪

如何在舍友大叫开黑的情况下给麦克风降噪如何使用 Win 10 或 Win 11 的各种电脑软件来对身处 4 人开黑热闹宿舍里的麦克风实施降噪行动,使其满足你直播或打语音电话的需求?你可以参考一下这篇文章。本文章适用于 Win…

Spring ehcache

Spring ehcache1、ehcache.xml<?xml version="1.0" encoding="UTF-8"?><ehcache dynamicConfig="false" monitoring="off" updateCheck="false" …

【CI130x 离在线】音频的原始码率和输出码率的区别

案例:mp3是16k采样率,16bit深度的,那么码率不应该是32kBps吗,为什么可以选16kbps 这是一个非常好的问题,它触及了数字音频编码的核心概念:原始数据量和压缩编码之间的区别。 你的计算完全正确,但只适用于未经压…

解决Kensington VeriMark系列指纹识别器提示指纹达到10个上限

问题症状 重装系统后设置Windows Hello时提示你已达到10个指纹限制。 解决方法 下载驱动与软件 下载对应VeriMark系列的软件,这里以VeriMark Desktop为例子。 https://www.kensington.com/software/verimark-setup/ve…

舍友大叫开黑的情况下给麦克风降噪

舍友大叫开黑的情况下给麦克风降噪速度博客园原文链接:https://www.cnblogs.com/QiFande/p/19178498,转载请注明。如果你对本篇文章感兴趣,不如来看看肉丁土豆表的其他文章,说不定也有你喜欢的。

Vue2随笔-251030

指令修饰符@click.stop 禁止子点击事件冒泡调用父标签事件。 @click.prevent 禁止标签默认行为。 @model.trim(number) 去除首尾空格,转为数字类型。 v-model默认值 与select标签绑定,默认值必须在option中存在。计算…

qw-110-

import org.apache.poi.ss.usermodel.Workbook;import org.springframework.core.io.buffer.DataBuffer;import org.springframework.core.io.buffer.DataBufferUtils;import org.springframework.http.MediaType;impo…

qw-33

import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; import reactor.nett…

qw-12

import org.springframework.core.io.ByteArrayResource;import org.springframework.core.io.buffer.DataBuffer;import org.springframework.core.io.buffer.DataBufferUtils;import org.springframework.http.Media…

reactive -03

import org.springframework.core.io.buffer.DataBuffer;import org.springframework.core.io.buffer.DataBufferUtils;import org.springframework.http.codec.multipart.FilePart;import org.springframework.web.re…

reactive - 02

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.reactive.function.BodyInserters;import org.springfra…

reactive-01

package com.hyman.service; import org.springframework.core.io.ByteArrayResource;import org.springframework.core.io.buffer.DataBufferUtils;import org.springframework.http.HttpHeaders;import org.springfr…

revit api获取excursion 拉伸体的轮廓和平面sketchplane GeometryCreationUtilities

revit api获取excursion 拉伸体的轮廓和平面sketchplane GeometryCreationUtilitiespublic void GetSketchFromExtrusion() {Document doc = this.ActiveUIDocument.Document;Extrusion extrusion = doc.GetEleme…

revit api创建模型线

revit api创建模型线public void CreateModelCurve() {Document doc = this.ActiveUIDocument.Document; // 在族文档中找到名字为"Ref. Level"的标高FilteredElementCollector collector = new Filtered…

revit 创建sketchplane

revit 创建sketchplanesketchplane在创建某些图元时候可以用到 public void CreateSketchPlaneByPlane() {Document doc = this.ActiveUIDocument.Document; using(Transaction trans = new Transaction(doc, "…