If type = "throwingData" Then
Dim result As String = ""
Dim factNo As String = Session("empFactNo")
Dim createEmp = Session("empNo") + " " + Session("empName")
'step2 查詢屬於該廠區且狀態為未完成的派工任務
'Dim sql = "SELECT a.work_task_no ,c.fixedName ,work_task_workname ,a.fact_partnum ,a.work_layer ,a.cust_partnum ,business_window ,customer ," _
' + "work_task_fact ,a.finish_status ,dispatch_status ,b.workId ,empNos = String_Agg(ISNULL(d.assign_empNo1, '')+ ISNULL(d.assign_empNo2, '')+ ISNULL(d.assign_empNo3, ''), ';')" _
' + " FROM dbo.work_task a LEFT JOIN dbo.work b ON a.work_task_workid = b.workId LEFT JOIN dbo.work_fixed c ON b.fixedId = c.fixedId LEFT JOIN dbo.work_task_item d ON a.work_task_no = d.work_task_no" _
' + " WHERE work_task_fact = 'SY' AND dispatch_status = '1' AND isThrowData = '0' AND d.workType = 'PDE' GROUP BY a.work_task_no ,c.fixedName ,work_task_workname ,a.fact_partnum ," _
' + " a.work_layer ,a.cust_partnum ,business_window ,customer ,work_task_fact ,a.finish_status ,dispatch_status ,b.workId UNION SELECT a.work_task_no ,c.fixedName ,work_task_workname ," _
' + " a.fact_partnum ,a.work_layer ,a.cust_partnum ,business_window ,customer ,work_task_fact ,a.finish_status ,dispatch_status ,b.workId ," _
' + " empNos = String_Agg(ISNULL(d.assign_empNo1, '') + ISNULL(d.assign_empNo2, '')+ ISNULL(d.assign_empNo3, ''), ';') FROM dbo.work_task a LEFT JOIN dbo.work b ON a.work_task_workid = b.workId" _
' + " LEFT JOIN dbo.work_fixed c ON b.fixedId = c.fixedId LEFT JOIN dbo.work_task_item d ON a.work_task_no = d.work_task_no WHERE work_task_fact = 'SY' AND dispatch_status = '0' AND isThrowData = '0' " _
' + " AND PDE_finish IS NULL GROUP BY a.work_task_no ,c.fixedName ,work_task_workname ,a.fact_partnum ,a.work_layer ,a.cust_partnum ,business_window ,customer ,work_task_fact ,a.finish_status ,dispatch_status ,b.workId "
Dim sql = "SELECT a.work_task_no ,c.fixedName ,work_task_workname ,a.fact_partnum ,a.work_layer ,a.cust_partnum ,business_window ,customer ,work_task_fact ,a.finish_status ," _
+ " dispatch_status ,b.workId ,a.create_time,a.hold_time_begin,empNos = String_Agg(ISNULL(d.assign_empNo1, '')+ ISNULL(d.assign_empNo2, '')+ ISNULL(d.assign_empNo3, ''), ';') FROM dbo.work_task a" _
+ " LEFT JOIN dbo.work_new b ON a.work_task_workname = b.workName AND a.work_task_fact=b.factNo LEFT JOIN dbo.work_fixed c ON b.fixedId = c.fixedId LEFT JOIN dbo.work_task_item d ON a.work_task_no = d.work_task_no" _
+ " WHERE work_task_fact = '" + factNo + "' AND isThrowData = '0' AND d.workType = 'PDE' AND NOT EXISTS (SELECT 1 FROM dbo.work_task c WHERE c.work_task_no = a.work_task_no AND c.work_task_fact = '" + factNo + "'" _
+ " AND c.dispatch_status = '0' AND c.pde_finish IS NULL) GROUP BY a.work_task_no ,c.fixedName ,work_task_workname ,a.fact_partnum ,a.work_layer ,a.cust_partnum ,business_window ," _
+ " customer ,work_task_fact ,a.finish_status ,dispatch_status ,b.workId,create_time,a.hold_time_begin UNION SELECT a.work_task_no ,c.fixedName ,work_task_workname ,a.fact_partnum ,a.work_layer ,a.cust_partnum ," _
+ " business_window ,customer ,work_task_fact ,a.finish_status ,dispatch_status ,b.workId ,a.create_time,a.hold_time_begin,empNos = String_Agg(ISNULL(d.assign_empNo1, '')+ ISNULL(d.assign_empNo2, '')+ ISNULL(d.assign_empNo3, ''), ';')" _
+ " FROM dbo.work_task a LEFT JOIN dbo.work_new b ON a.work_task_workname = b.workName AND a.work_task_fact=b.factNo LEFT JOIN dbo.work_fixed c ON b.fixedId = c.fixedId LEFT JOIN dbo.work_task_item d ON a.work_task_no = d.work_task_no" _
+ " WHERE work_task_fact = '" + factNo + "' AND dispatch_status = '0' AND isThrowData = '0' AND PDE_finish IS NULL GROUP BY a.work_task_no , c.fixedName ,work_task_workname ,a.fact_partnum ," _
+ " a.work_layer ,a.cust_partnum ,business_window ,customer ,work_task_fact ,a.finish_status ,dispatch_status ,b.workId,create_time,a.hold_time_begin;"
Dim dt = db.ExcuteSelect(sql).Tables(0)
' 分批插入数据,每批 1000 条
Dim batchSize As Integer = 1000
For batchStart As Integer = 0 To dt.Rows.Count - 1 Step batchSize
Dim insertSql As New System.Text.StringBuilder()
insertSql.Append("insert into task (taskNo,taskName,factPartNum,taskLayer,customNo,businessList,factNo,finishStatus,dispatch_status,workId,fileWay,createTime,empNo) values ")
Dim sqlList As New ArrayList()
Dim batchEnd As Integer = Math.Min(batchStart + batchSize - 1, dt.Rows.Count - 1)
For i As Integer = batchStart To batchEnd
Dim row As DataRow = dt.Rows(i)
Dim finish_status = ""
If row("hold_time_begin").ToString().Replace("'", "''") <> "" Then
finish_status = "-2"
Else
finish_status = row("finish_status").ToString().Replace("'", "''")
End If
insertSql.Append("(")
insertSql.Append("'" & row("work_task_no").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & row("work_task_workname").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & row("fact_partnum").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & row("work_layer").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & row("cust_partnum").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & row("customer").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & row("work_task_fact").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & finish_status & "',")
insertSql.Append("'" & row("dispatch_status").ToString().Replace("'", "''") & "',")
insertSql.Append("'" & row("workId").ToString().Replace("'", "''") & "',")
insertSql.Append("'',")
insertSql.Append("'" & Format(Date.Now, row("create_time")) & "',")
insertSql.Append("'" & row("empNos").ToString().Replace("'", "''") & "')")
insertSql.Append(",")
Dim updateSql = "update work_task set isThrowData='1' where work_task_no='" & row("work_task_no").ToString().Replace("'", "''") & "'"
sqlList.Add(updateSql)
Next
' 移除最后一个逗号
If insertSql.Length > 0 AndAlso insertSql(insertSql.Length - 1) = ","c Then
insertSql.Length = insertSql.Length - 1
End If
' 执行插入操作
Try
db.ExcuteSelect(insertSql.ToString())
db.ExecutQry_Trans(sqlList)
Catch ex As Exception
result = New AjaxResult().msg_result("error", "保存失敗!" + ex.Message)
util.writeResponse(Response, result)
Continue For
End Try 從字元字串轉換成日期及/或時間時,轉換失敗。怎么修改
最新发布