|
|
@ -2694,232 +2694,12 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
return View("PCS003", model); |
|
|
|
} |
|
|
|
|
|
|
|
//result = await _pcsApi.PutWipInfo(JsonConvert.SerializeObject(model.wipInfo));
|
|
|
|
//if (result.Success)
|
|
|
|
//{
|
|
|
|
// // 工單屬性
|
|
|
|
// model.wipAtt.WipNO = model.wipInfo.WipNO;
|
|
|
|
// await _pcsApi.PutWipAtt(JsonConvert.SerializeObject(model.wipAtt));
|
|
|
|
|
|
|
|
// // 標籤
|
|
|
|
// model.wipLabel.ApproveLogo = model.wipLabel.ApproveLogos == null ? null : string.Join(',', model.wipLabel.ApproveLogos);
|
|
|
|
// model.wipLabel.WipNO = model.wipInfo.WipNO;
|
|
|
|
// model.wipLabel.CreateUserID = UserID;
|
|
|
|
// model.wipLabel.UpdateUserID = UserID;
|
|
|
|
// await _pcsApi.PutWipLabel(JsonConvert.SerializeObject(model.wipLabel));
|
|
|
|
|
|
|
|
// // 安勤統一執行WIP_SYSTEM
|
|
|
|
// if (ViewBag.WipSpecial == "Y")
|
|
|
|
// {
|
|
|
|
// if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipSystem(model.wipSystem)))
|
|
|
|
// {
|
|
|
|
// model.wipSystem.ItemNo = model.wipAtt.ItemNO;
|
|
|
|
// model.wipSystem.WipNo = model.wipInfo.WipNO;
|
|
|
|
// model.wipSystem.CreateUserID = UserID;
|
|
|
|
// model.wipSystem.UpdateUserID = UserID;
|
|
|
|
// await _pcsApi.PutWipSystem(JsonConvert.SerializeObject(model.wipSystem));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// else
|
|
|
|
// {
|
|
|
|
// // 系統
|
|
|
|
// if (model.wipInfo.UnitNO == "B" || model.wipInfo.UnitNO == "P" || model.wipInfo.UnitNO == "T")
|
|
|
|
// {
|
|
|
|
// if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipSystem(model.wipSystem)))
|
|
|
|
// {
|
|
|
|
// model.wipSystem.ItemNo = model.wipAtt.ItemNO;
|
|
|
|
// model.wipSystem.WipNo = model.wipInfo.WipNO;
|
|
|
|
// model.wipSystem.CreateUserID = UserID;
|
|
|
|
// model.wipSystem.UpdateUserID = UserID;
|
|
|
|
// await _pcsApi.PutWipSystem(JsonConvert.SerializeObject(model.wipSystem));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// else
|
|
|
|
// // 板卡
|
|
|
|
// {
|
|
|
|
// if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipBoard(model.wipBoard)))
|
|
|
|
// {
|
|
|
|
// model.wipBoard.Smd = model.wipBoard.SMDs == null ? null : string.Join(',', model.wipBoard.SMDs);
|
|
|
|
// model.wipBoard.SmdSolderMask = model.wipBoard.SmdSolderMasks == null ? null : string.Join(',', model.wipBoard.SmdSolderMasks);
|
|
|
|
// model.wipBoard.DipSide = model.wipBoard.DipSides == null ? null : string.Join(',', model.wipBoard.DipSides);
|
|
|
|
// model.wipBoard.ItemNo = model.wipAtt.ItemNO;
|
|
|
|
// model.wipBoard.WipNo = model.wipInfo.WipNO;
|
|
|
|
// model.wipBoard.CreateUserID = UserID;
|
|
|
|
// model.wipBoard.UpdateUserID = UserID;
|
|
|
|
// await _pcsApi.PutWipBoard(JsonConvert.SerializeObject(model.wipBoard));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // 內部條碼
|
|
|
|
// if (!string.IsNullOrWhiteSpace(model.wipBarcode.Remarks))
|
|
|
|
// {
|
|
|
|
// model.wipBarcode.WipID = model.wipInfo.WipID;
|
|
|
|
// model.wipBarcode.WipNO = model.wipInfo.WipNO;
|
|
|
|
// model.wipBarcode.UnitNO = model.wipInfo.UnitNO;
|
|
|
|
// model.wipBarcode.CreateUserID = UserID;
|
|
|
|
// result = await _pcsApi.PutWipBarcode(JsonConvert.SerializeObject(model.wipBarcode));
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // MAC
|
|
|
|
// if (!string.IsNullOrWhiteSpace(model.wipMAC.StartNO) && !string.IsNullOrWhiteSpace(model.wipMAC.EndNO))
|
|
|
|
// {
|
|
|
|
// if (model.wipMAC.StartNO.Length == 12)
|
|
|
|
// {
|
|
|
|
// model.wipMAC.Title = model.wipMAC.StartNO.Substring(0, 6).ToUpper();
|
|
|
|
// model.wipMAC.StartNO = model.wipMAC.StartNO.Substring(model.wipMAC.StartNO.Length - 6, 6).ToUpper();
|
|
|
|
// model.wipMAC.EndNO = model.wipMAC.EndNO.Substring(model.wipMAC.EndNO.Length - 6, 6).ToUpper();
|
|
|
|
|
|
|
|
// // 確認MAC Table是否有料號資料
|
|
|
|
// var mACInfo = await _pcsApi.GetMACInfo(model.wipAtt.ItemNO);
|
|
|
|
// if (mACInfo != null)
|
|
|
|
// {
|
|
|
|
// model.wipMAC.ClassGroup = mACInfo.ClassGroup;
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (!string.IsNullOrWhiteSpace(model.wipMAC.WipNO))
|
|
|
|
// result = await _pcsApi.PutWipMAC(JsonConvert.SerializeObject(model.wipMAC));
|
|
|
|
// else
|
|
|
|
// {
|
|
|
|
// model.wipMAC.WipNO = model.wipInfo.WipNO;
|
|
|
|
// model.wipMAC.CreateUserID = UserID;
|
|
|
|
// result = await _pcsApi.PostWipMAC(JsonConvert.SerializeObject(model.wipMAC));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // KeyParts
|
|
|
|
// // 判斷料號KP有資料 沒有資料時 一起新增到料號KP
|
|
|
|
// // 2022.10.12 取消判斷 刪除料號KP,在逐一新增
|
|
|
|
// var materialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO);
|
|
|
|
// if (materialItem != null)
|
|
|
|
// {
|
|
|
|
// await _pcsApi.DeleteMaterialKpByItem(materialItem.ItemID);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // 先比對新舊ID 當舊ID有 新的沒有代表已刪除
|
|
|
|
// var resultOld_WipKp = await _pcsApi.GetWipKpByWipNo(model.wipInfo.WipNO);
|
|
|
|
// var delete_WipKpID = resultOld_WipKp.Select(s => s.WipKpID).Except(model.WipKps.Select(s => s.WipKpID));
|
|
|
|
// foreach (var id in delete_WipKpID)
|
|
|
|
// {
|
|
|
|
// await _pcsApi.DeleteWipKp(id);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// foreach (var item in model.WipKps.Where(w => w.WipKpID != -1))
|
|
|
|
// {
|
|
|
|
// item.WipNo = model.wipInfo.WipNO;
|
|
|
|
// item.ItemNo = model.wipAtt.ItemNO;
|
|
|
|
// item.CreateUserID = UserID;
|
|
|
|
// item.UpdateUserID = UserID;
|
|
|
|
// if (item.WipKpID == 0)
|
|
|
|
// await _pcsApi.PostWipKp(JsonConvert.SerializeObject(item));
|
|
|
|
// else
|
|
|
|
// await _pcsApi.PutWipKp(JsonConvert.SerializeObject(item));
|
|
|
|
|
|
|
|
// // 新增到料號KP檔
|
|
|
|
// await _pcsApi.PostMaterialKp(JsonConvert.SerializeObject(new MaterialKp
|
|
|
|
// {
|
|
|
|
// ItemID = materialItem.ItemID,
|
|
|
|
// KpName = item.KpName,
|
|
|
|
// KpNo = item.KpNo,
|
|
|
|
// KpSeq = Convert.ToInt32(item.KpSeq),
|
|
|
|
// Length = item.Length,
|
|
|
|
// StationType = item.UnitNo,
|
|
|
|
// IsRepeat = "N",
|
|
|
|
// Title = item.Title,
|
|
|
|
// CreateUserID = UserID,
|
|
|
|
// UpdateUserID = UserID
|
|
|
|
// }));
|
|
|
|
// }
|
|
|
|
// model.WipKps = model.WipKps.Where(w => w.WipKpID != -1).ToList();
|
|
|
|
|
|
|
|
// // 治具
|
|
|
|
// // 先比對新舊ID 當舊ID有 新的沒有代表已刪除
|
|
|
|
// var resultOld_WipOutfit = await _pcsApi.GetWipOutfitByWipNo(model.wipInfo.WipNO);
|
|
|
|
// var delete_WipOutfit = resultOld_WipOutfit.Select(s => s.WipOutfitID).Except(model.WipOutfits.Select(s => s.WipOutfitID));
|
|
|
|
// foreach (var id in delete_WipOutfit)
|
|
|
|
// {
|
|
|
|
// await _pcsApi.DeleteWipOutfit(id);
|
|
|
|
// }
|
|
|
|
// foreach (var item in model.WipOutfits.Where(w => w.WipOutfitID != -1))
|
|
|
|
// {
|
|
|
|
// item.WipNo = model.wipInfo.WipNO;
|
|
|
|
// item.ItemNo = model.wipAtt.ItemNO;
|
|
|
|
// item.UpdateUserID = UserID;
|
|
|
|
// item.CreateUserID = UserID;
|
|
|
|
// item.OutfitNo = ".";
|
|
|
|
// if (item.WipOutfitID == 0)
|
|
|
|
// await _pcsApi.PostWipOutfit(JsonConvert.SerializeObject(item));
|
|
|
|
// else
|
|
|
|
// await _pcsApi.PutWipOutfit(JsonConvert.SerializeObject(item));
|
|
|
|
// }
|
|
|
|
// model.WipOutfits = model.WipOutfits.Where(w => w.WipOutfitID != -1);
|
|
|
|
|
|
|
|
// // SOP
|
|
|
|
// // 先比對新舊ID 當舊ID有 新的沒有代表已刪除
|
|
|
|
// var resultOld_WipSop = await _pcsApi.GetWipSopByWipNo(model.wipInfo.WipNO);
|
|
|
|
// var delete_WipSop = resultOld_WipSop.Select(s => s.WipSOPID).Except(model.WipSops.Select(s => s.WipSOPID));
|
|
|
|
// foreach (var id in delete_WipSop)
|
|
|
|
// {
|
|
|
|
// await _pcsApi.DeleteWipSop(id);
|
|
|
|
// }
|
|
|
|
// foreach (var item in model.WipSops.Where(w => w.WipSOPID != -1))
|
|
|
|
// {
|
|
|
|
// item.WipNo = model.wipInfo.WipNO;
|
|
|
|
// item.ItemNo = model.wipAtt.ItemNO;
|
|
|
|
// item.CreateUserID = UserID;
|
|
|
|
// item.UpdateUserID = UserID;
|
|
|
|
// if (item.WipSOPID == 0)
|
|
|
|
// await _pcsApi.PostWipSop(JsonConvert.SerializeObject(item));
|
|
|
|
// else
|
|
|
|
// await _pcsApi.PutWipSop(JsonConvert.SerializeObject(item));
|
|
|
|
// }
|
|
|
|
// model.WipSops = model.WipSops.Where(w => w.WipSOPID != -1);
|
|
|
|
|
|
|
|
// // 檔案上傳
|
|
|
|
// string FileName = string.Empty;
|
|
|
|
// string NewName = string.Empty;
|
|
|
|
// string FilePath = string.Empty;
|
|
|
|
|
|
|
|
// if (formFile != null)
|
|
|
|
// {
|
|
|
|
// if (formFile.Length > 0)
|
|
|
|
// {
|
|
|
|
// //取得使用者上傳檔案的原始檔名
|
|
|
|
// FileName = Path.GetFileName(formFile.FileName);
|
|
|
|
// //取原始檔名中的副檔名
|
|
|
|
// //var fileExt = Path.GetExtension(FileName);
|
|
|
|
// //為避免使用者上傳的檔案名稱發生重複,重新給一個亂數名稱
|
|
|
|
// //NewName = Path.GetRandomFileName() + fileExt;
|
|
|
|
// //指定要寫入的路徑、檔名和副檔名
|
|
|
|
// FilePath = $@"{_env.WebRootPath}\UploadFolder\{model.wipInfo.WipNO}";
|
|
|
|
// var path = $@"{FilePath}\{FileName}";
|
|
|
|
|
|
|
|
// if (!System.IO.Directory.Exists(FilePath))
|
|
|
|
// {
|
|
|
|
// System.IO.Directory.CreateDirectory(FilePath);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// using (var stream = new FileStream(path, FileMode.Create))
|
|
|
|
// {
|
|
|
|
// await formFile.CopyToAsync(stream);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// model.wipInfoBlob.WipNo = model.wipInfo.WipNO;
|
|
|
|
// model.wipInfoBlob.ImageName = FileName;
|
|
|
|
// model.wipInfoBlob.Filepath = $@"\UploadFolder\{model.wipInfo.WipNO}\";
|
|
|
|
// model.wipInfoBlob.CreateUserID = UserID;
|
|
|
|
// model.wipInfoBlob.UpdateUserID = UserID;
|
|
|
|
// result = await _pcsApi.PostWipInfoBlob(JsonConvert.SerializeObject(model.wipInfoBlob));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
|
|
WipCheck wipCheck = new WipCheck |
|
|
|
{ |
|
|
|
WipNo = model.wipInfo.WipNO |
|
|
|
}; |
|
|
|
if (action == "生管確認") |
|
|
|
|
|
|
|
if (action == "通知PE") |
|
|
|
{ |
|
|
|
wipCheck.PMCUserID = UserID; |
|
|
|
await CheckPCS003ToMail(model.wipInfo.WipNO, model.wipAtt.ItemNO, model.wipInfo.UnitNO, model.wipInfo.WipScheduleDate.ToString(), action); |
|
|
@ -2937,6 +2717,10 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
await _pcsApi.PutWipCheckByMF(JsonConvert.SerializeObject(wipCheck)); |
|
|
|
} |
|
|
|
|
|
|
|
// 儲存後將最新資料都回前端
|
|
|
|
model.wipMACs = await _pcsApi.GetWipMAC(model.wipInfo.WipNO); |
|
|
|
model.wipInfoBlobs = await _pcsApi.GetWipInfoBlob(model.wipInfo.WipNO); |
|
|
|
|
|
|
|
var _msg = "修改成功!"; |
|
|
|
ModelState.AddModelError("error", _msg); |
|
|
|
return View("PCS003", model); |
|
|
@ -3251,7 +3035,7 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
{ |
|
|
|
WipNo = model.wipInfo.WipNO |
|
|
|
}; |
|
|
|
if (action == "生管確認") |
|
|
|
if (action == "通知PE") |
|
|
|
{ |
|
|
|
wipCheck.PMCUserID = UserID; |
|
|
|
await CheckPCS003ToMail(model.wipInfo.WipNO, model.wipAtt.ItemNO, model.wipInfo.UnitNO, model.wipInfo.WipScheduleDate.ToString(), action); |
|
|
@ -3269,6 +3053,10 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
await _pcsApi.PutWipCheckByMF(JsonConvert.SerializeObject(wipCheck)); |
|
|
|
} |
|
|
|
|
|
|
|
// 儲存後將最新資料都回前端
|
|
|
|
model.wipMACs = await _pcsApi.GetWipMAC(model.wipInfo.WipNO); |
|
|
|
model.wipInfoBlobs = await _pcsApi.GetWipInfoBlob(model.wipInfo.WipNO); |
|
|
|
|
|
|
|
var _msg = "修改成功!"; |
|
|
|
ModelState.AddModelError("error", _msg); |
|
|
|
return View("PCS034", model); |
|
|
@ -3298,15 +3086,16 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
//工單Review,工程確認,完成後通知製造,mail群組名稱,請建立為[WOVIEW_MF]
|
|
|
|
string MailGroup = string.Empty; |
|
|
|
string SubjectGroup = "製造單位"; |
|
|
|
if (ReviewType == "生管確認") |
|
|
|
if (ReviewType == "通知PE") |
|
|
|
{ |
|
|
|
SubjectGroup = "工程單位"; |
|
|
|
MailGroup = "WOVIEW_PE"; |
|
|
|
ReviewType = "生管單位"; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
MailGroup = "WOVIEW_MF"; |
|
|
|
SubjectGroup = "製造單位"; |
|
|
|
MailGroup = "WOVIEW_MF"; |
|
|
|
} |
|
|
|
|
|
|
|
var result = await _basApi.GetFactoryUnits(); |
|
|
@ -3318,7 +3107,7 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
生產料號:{Material}<br/> |
|
|
|
所屬製程:{Process}<br/> |
|
|
|
預計開工日:{StrDate}<br/> |
|
|
|
<br/>{ReviewType}單位,已review完畢,請接續生產參數之確認";
|
|
|
|
<br/>{ReviewType},已review完畢,請接續生產參數之確認";
|
|
|
|
|
|
|
|
await _bllApi.PostToMail(Subject, Body, MailGroup, "", false); |
|
|
|
|
|
|
|