📄 returnstockcheck.cpp
字号:
#include "StdAfx.h"
#include "ReturnStockCheck.h"
using namespace FAP;
using namespace System;
using namespace System::Globalization;
void ReturnStockCheck::InitSystem(void)
{
//Get DateTime & Set Text
DateTime dt;
dt = DateTime::Now;
textChkDate->Text = dt.ToString(L"yyyy/MM/dd HH:mm", DateTimeFormatInfo::InvariantInfo);
textFrom->Text = sFrom_Code;
textFromName->Text = sFrom_Name;
textRetDate->Text = sDeliver_ymd;
textProdCode->Text = sProd_Code;
textProdName->Text = sProd_Name;
textQty->Text = iQTY.ToString();
textRank->Text = sRank;
textMemo->Text = sMemo;
txtstockLot->Text = sFrom_LOT;
}
void ReturnStockCheck::SetReturnData(void)
{
int iOriginCnt;
int iDestCnt;
bool bFlg = true;
//查找处保留品半成品是不是有,有就Update,没有就insert
iOriginCnt = CheckOriginStock();
//查找是保留品半成品是不是有,有就Update,没有就insert
iDestCnt = CheckDestStock();
DB->blnBeginTrans();
//Update Return_Data
bFlg = bFlg && UpdateReturn();
//Update or Insert Stock_Data
//Origin
if(iOriginCnt > 0){
bFlg = bFlg && UpdateOriginStock();
} else {
bFlg = bFlg && InsertOriginStock();
}
//Dest
if(iDestCnt > 0){
bFlg = bFlg && UpdateDestStock();
} else {
bFlg = bFlg && InsertDestStock();
}
//Commit
if(bFlg == true){
DB->blnCommit();
} else {
DB->blnRollBack();
}
}
int ReturnStockCheck::CheckOriginStock(void)
{
String * strSQL ;
strSQL = S"";
strSQL = String::Concat(strSQL, S"select" );
strSQL = String::Concat(strSQL, S" count (*) as STOCK_CNT " );
strSQL = String::Concat(strSQL, S"from" );
strSQL = String::Concat(strSQL, S" STOCK_DATA " );
strSQL = String::Concat(strSQL, S"where" );
strSQL = String::Concat(strSQL, S" FACTORY_CODE = '", sFactory, S"' and");
strSQL = String::Concat(strSQL, S" STOCK_POS = '", sStock_Code, S"' and");
strSQL = String::Concat(strSQL, S" PRODUCT_CODE = '", sProd_Code, S"' and");
if(sRank->get_Length() <= 0){
strSQL = String::Concat(strSQL, S" RANK is null and" );
} else {
strSQL = String::Concat(strSQL, S" RANK = '", sRank, S"' and");
}
strSQL = String::Concat(strSQL, S" STOCK_TYPE = ", Convert::ToString(iType),S" and ");
strSQL = String::Concat(strSQL, S" LOT='",txtstockLot->Text,S"'");
return DB->intSQL_Select(strSQL);
}
int ReturnStockCheck::CheckDestStock(void)
{
String * strSQL ;
strSQL = S"";
strSQL = String::Concat(strSQL, S"select" );
strSQL = String::Concat(strSQL, S" count (*) as STOCK_CNT " );
strSQL = String::Concat(strSQL, S"from" );
strSQL = String::Concat(strSQL, S" STOCK_DATA " );
strSQL = String::Concat(strSQL, S"where" );
strSQL = String::Concat(strSQL, S" FACTORY_CODE = '", sFactory, S"' and");
strSQL = String::Concat(strSQL, S" STOCK_POS = '", sFrom_Code,S"' and");
strSQL = String::Concat(strSQL, S" PRODUCT_CODE = '", sProd_Code, S"' and");
if(sRank->get_Length() <= 0){
strSQL = String::Concat(strSQL, S" RANK is null and" );
} else {
strSQL = String::Concat(strSQL, S" RANK = '", sRank, S"' and" );
}
strSQL = String::Concat(strSQL, S" STOCK_TYPE = 2 and " );
strSQL = String::Concat(strSQL, S" LOT='",txtstockLot->Text,S"'");
return DB->intSQL_Select(strSQL);
}
bool ReturnStockCheck::UpdateReturn(void)
{
String * strSQL ;
strSQL = S"";
strSQL = String::Concat(strSQL, S"update" );
strSQL = String::Concat(strSQL, S" RETURN_DATA " );
strSQL = String::Concat(strSQL, S"set" );
if(sMemo->get_Length() > 0){
strSQL = String::Concat(strSQL, S" RETURN_MEMO='", sMemo, S"'," );
}
strSQL = String::Concat(strSQL, S" SHIFT = '", cShift, S"'," );
strSQL = String::Concat(strSQL, S" STOCK_YMD = to_date('", sStock_ymd, S"','yyyy/mm/dd hh24:mi') " );
strSQL = String::Concat(strSQL, S"where" );
strSQL = String::Concat(strSQL, S" FACTORY_CODE='", sFactory, S"' and" );
strSQL = String::Concat(strSQL, S" ORIGIN_CODE='", sFrom_Code, S"' and" );
strSQL = String::Concat(strSQL, S" DESTINATION_CODE='", sStock_Code, S"' and" );
strSQL = String::Concat(strSQL, S" PRODUCT_CODE='", sProd_Code, S"' and" );
if(sRank->get_Length() <= 0){
strSQL = String::Concat(strSQL, S" RANK is null and" );
} else {
strSQL = String::Concat(strSQL, S" RANK = '", sRank, S"' and" );
}
strSQL = String::Concat(strSQL, S" RETURN_QTY=", iQTY.ToString(), S" and" );
strSQL = String::Concat(strSQL, S" to_date(to_char(return_ymd,'yyyy/mm/dd hh24:mi'),'yyyy/mm/dd hh24:mi')= to_date('",sDeliver_ymd,S"','yyyy/mm/dd hh24:mi') and ");
//strSQL = String::Concat(strSQL, S" RETURN_YMD = to_date('", sDeliver_ymd, S"','yyyy/mm/dd hh24:mi') and" );
strSQL = String::Concat(strSQL, S" STOCK_TYPE =", iType.ToString() );
// DB->blnBeginTrans();
if (DB->blnSQL_Execute(strSQL)) {
try{
return true;
}
catch (...) {
return false;
}
}
return false;
}
bool ReturnStockCheck::UpdateOriginStock(void)
{
String * strSQL ;
strSQL = S"";
strSQL = String::Concat(strSQL, S"update" );
strSQL = String::Concat(strSQL, S" STOCK_DATA " );
strSQL = String::Concat(strSQL, S"set" );
strSQL = String::Concat(strSQL, S" STOCK_QTY = STOCK_QTY + (-1)*", Convert::ToString(iQTY), S" ");
strSQL = String::Concat(strSQL, S"where" );
strSQL = String::Concat(strSQL, S" FACTORY_CODE='", sFactory, S"' and" );
strSQL = String::Concat(strSQL, S" STOCK_POS='", sStock_Code, S"' and" );
strSQL = String::Concat(strSQL, S" PRODUCT_CODE='", sProd_Code, S"' and" );
if(sRank->get_Length() <= 0){
strSQL = String::Concat(strSQL, S" RANK is null and" );
} else {
strSQL = String::Concat(strSQL, S" RANK = '", sRank, S"' and" );
}
strSQL = String::Concat(strSQL, S" STOCK_TYPE =", iType.ToString() );
// DB->blnBeginTrans();
if (DB->blnSQL_Execute(strSQL)) {
try{
return true;
}
catch (...) {
return false;
}
}
return false;
}
bool ReturnStockCheck::InsertOriginStock(void)
{
String * strSQL ;
strSQL = S"";
strSQL = String::Concat(strSQL, S"insert into" );
strSQL = String::Concat(strSQL, S" STOCK_DATA " );
strSQL = String::Concat(strSQL, S"(" );
strSQL = String::Concat(strSQL, S" FACTORY_CODE," );
strSQL = String::Concat(strSQL, S" STOCK_POS," );
strSQL = String::Concat(strSQL, S" PRODUCT_CODE," );
strSQL = String::Concat(strSQL, S" RANK," );
strSQL = String::Concat(strSQL, S" STOCK_TYPE," );
strSQL = String::Concat(strSQL, S" STOCK_QTY," );
strSQL = String::Concat(strSQL, S" LOT" );
strSQL = String::Concat(strSQL, S")" );
strSQL = String::Concat(strSQL, S"values" );
strSQL = String::Concat(strSQL, S"(" );
strSQL = String::Concat(strSQL, S" '", sFactory, S"'," );
strSQL = String::Concat(strSQL, S" '", sStock_Code, S"'," );
strSQL = String::Concat(strSQL, S" '", sProd_Code, S"'," );
strSQL = String::Concat(strSQL, S" '", sRank, S"'," );
strSQL = String::Concat(strSQL, Convert::ToString(iType), S"," );
strSQL = String::Concat(strSQL, Convert::ToString(iQTY), S"," );
strSQL = String::Concat(strSQL, S"'",sFrom_LOT,S"'" );
strSQL = String::Concat(strSQL, S")" );
// DB->blnBeginTrans();
if (DB->blnSQL_Execute(strSQL)) {
try{
return true;
}
catch (...) {
return false;
}
}
return false;
}
bool ReturnStockCheck::UpdateDestStock(void)
{
String * strSQL ;
strSQL = S"";
strSQL = String::Concat(strSQL, S"update" );
strSQL = String::Concat(strSQL, S" STOCK_DATA " );
strSQL = String::Concat(strSQL, S"set" );
strSQL = String::Concat(strSQL, S" STOCK_QTY = STOCK_QTY - (", Convert::ToString(iQTY), S") " );
strSQL = String::Concat(strSQL, S"where" );
strSQL = String::Concat(strSQL, S" FACTORY_CODE='", sFactory, S"' and" );
strSQL = String::Concat(strSQL, S" STOCK_POS='", sFrom_Code, S"' and" );
strSQL = String::Concat(strSQL, S" PRODUCT_CODE='", sProd_Code, S"' and" );
if(sRank->get_Length() <= 0){
strSQL = String::Concat(strSQL, S" RANK is null and" );
} else {
strSQL = String::Concat(strSQL, S" RANK = '", sRank, S"' and" );
}
strSQL = String::Concat(strSQL, S" STOCK_TYPE = 2" );
// DB->blnBeginTrans();
if (DB->blnSQL_Execute(strSQL)) {
try{
return true;
}
catch (...) {
return false;
}
}
return false;
}
bool ReturnStockCheck::InsertDestStock(void)
{
String * strSQL ;
strSQL = S"";
strSQL = String::Concat(strSQL, S"insert into" );
strSQL = String::Concat(strSQL, S" STOCK_DATA " );
strSQL = String::Concat(strSQL, S"(" );
strSQL = String::Concat(strSQL, S" FACTORY_CODE," );
strSQL = String::Concat(strSQL, S" STOCK_POS," );
strSQL = String::Concat(strSQL, S" PRODUCT_CODE," );
strSQL = String::Concat(strSQL, S" RANK," );
strSQL = String::Concat(strSQL, S" STOCK_TYPE," );
strSQL = String::Concat(strSQL, S" STOCK_QTY," );
strSQL = String::Concat(strSQL, S" LOT" );
strSQL = String::Concat(strSQL, S")" );
strSQL = String::Concat(strSQL, S"values" );
strSQL = String::Concat(strSQL, S"(" );
strSQL = String::Concat(strSQL, S" '", sFactory, S"'," );
strSQL = String::Concat(strSQL, S" '", sFrom_Code, S"'," );
strSQL = String::Concat(strSQL, S" '", sProd_Code, S"'," );
strSQL = String::Concat(strSQL, S" '", sRank, S"'," );
strSQL = String::Concat(strSQL, S"2," );
strSQL = String::Concat(strSQL, Convert::ToString(iQTY), S"," );
strSQL = String::Concat(strSQL, S"'sFrom_LOT'" );
strSQL = String::Concat(strSQL, S")" );
// DB->blnBeginTrans();
if (DB->blnSQL_Execute(strSQL)) {
try{
return true;
}
catch (...) {
return false;
}
}
return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -