package com.zy.common.service.erp;
|
|
import com.core.common.Cools;
|
import com.core.common.DateUtils;
|
import com.zy.common.service.erp.dto.InStockDto;
|
import com.zy.common.service.erp.dto.PInStockDto;
|
import com.zy.common.service.erp.entity.*;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.text.MessageFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* Created by vincent on 2020/11/27
|
*/
|
@Slf4j
|
@Service
|
public class ErpService {
|
|
@Autowired
|
private ErpSqlServer erpSqlServer;
|
|
public List<StockEntryCensus> get(){
|
return erpSqlServer.select("select * from StockEntryCensus where 1=1",StockEntryCensus.class);
|
}
|
|
public List<M_item> getItem(){
|
return erpSqlServer.select("select * from M_item where 1=1",M_item.class);
|
}
|
|
public boolean deleteItem(String Mnumber) {
|
return erpSqlServer.update("delete from M_item where 1=1 and Mnumber = '" + Mnumber + "'") > 0;
|
}
|
|
/**
|
* 获取未读取过的原材料入库单据
|
*/
|
public List<InStockDto> getReadyInStock() {
|
List<InStockDto> result = new ArrayList<>();
|
String sql = "select * from InStockBill where 1=1 and Fflag_rw = 0";
|
List<InStockBill> inStockBills = erpSqlServer.select(sql, InStockBill.class);
|
if (Cools.isEmpty(inStockBills)) {
|
return result;
|
}
|
for (InStockBill bill : inStockBills) {
|
InStockDto inStockDto = new InStockDto();
|
inStockDto.setInStockBill(bill);
|
List<InStockBillEntry> inStockBillEntries = getInStockBillEntry(bill.getFInterID());
|
if (!Cools.isEmpty(inStockBillEntries)) {
|
inStockDto.setInStockBillEntries(inStockBillEntries);
|
}
|
result.add(inStockDto);
|
}
|
return result;
|
}
|
|
/**
|
* 获取未读取过的成品入库单据
|
*/
|
public List<CPICMO> getReadyCPICMO() {
|
String sql = "select * from CPICMO where 1=1 and Fflag_rw = 0";
|
return erpSqlServer.select(sql, CPICMO.class);
|
}
|
|
/**
|
* 将未读的原材料入库单据设置为已读
|
*/
|
public boolean haveReadInStock(String FBillNo){
|
String sql = "update InStockBill set Fflag_rw = 1 where FBillNo = ''{0}''";
|
sql = MessageFormat.format(sql, FBillNo);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
/**
|
* 将未读的成品入库单据设置为已读
|
*/
|
public boolean haveReadCPICMO(String FBillNo){
|
String sql = "update CPICMO set Fflag_rw = 1 where FBillNo = ''{0}''";
|
sql = MessageFormat.format(sql, FBillNo);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
/**
|
* 提交实际收货数量
|
* @param FInterID 单据内码 -- 关联
|
* @param FItemID 物料内码
|
* @param FQty 实际数量
|
*/
|
public boolean actFQtySubmit(Integer FInterID, Integer FItemID, Double FQty){
|
String sql = "update InStockBillEntry set FQty = {0,number,#} where FInterID = {1,number,#} and FItemID = {2,number,#}";
|
sql = MessageFormat.format(sql, FQty, FInterID, FItemID);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
/**
|
* 原材料增量入库
|
*/
|
public boolean incrementPakIn(String FBillNo, String Fnumber, Double increment) {
|
String sql = "update ise \n" +
|
"set ise.FAuxCommitQty = (ise.FAuxCommitQty + {0,number,#}) \n" +
|
"from InStockBillEntry ise\n" +
|
"left join InStockbill isb on isb.FInterID = ise.FInterID\n" +
|
"where 1=1 \n" +
|
"and ise.Fnumber = ''{1}''\n" +
|
"and isb.FBillNo= ''{2}''";
|
sql = MessageFormat.format(sql, increment, Fnumber, FBillNo);
|
if (erpSqlServer.update(sql) > 0) {
|
List<InStockBillEntry> inStockBillEntries = getInStockBillEntry(FBillNo);
|
boolean complete = true;
|
// 比较单笔资料物料是否全部完成
|
for (InStockBillEntry entry : inStockBillEntries) {
|
// if (entry.getFQty() > 0) {
|
// if (entry.getFAuxCommitQty() < entry.getFQty()) {
|
// complete = false;
|
// break;
|
// }
|
// } else {
|
if (entry.getFAuxCommitQty() < entry.getFAuxQty()) {
|
complete = false;
|
break;
|
}
|
// }
|
}
|
// 如果任务完成,则标记完成位
|
if (complete) {
|
if (!completePakIn(FBillNo)) {
|
log.error("{}入库单标记完成失败", FBillNo);
|
}
|
}
|
return true;
|
} else {
|
return false;
|
}
|
}
|
|
/**
|
* 成品增量入库
|
*/
|
public boolean incrementCPakIn(String FBillNo, String Fnumber, Double increment) {
|
String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''";
|
sql = MessageFormat.format(sql, increment, Fnumber, FBillNo);
|
if (erpSqlServer.update(sql) > 0) {
|
sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
|
sql = MessageFormat.format(sql, Fnumber, FBillNo);
|
List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class);
|
CPICMO cpicmo = select.get(0);
|
boolean complete = false;
|
if (cpicmo.getFQty() > 0) {
|
if (cpicmo.getFAuxCommitQty() >= cpicmo.getFQty()) {
|
complete = true;
|
}
|
} else {
|
if (cpicmo.getFAuxCommitQty() >= cpicmo.getFAuxQty()) {
|
complete = true;
|
}
|
}
|
if (complete) {
|
if (!completeCPakIn(FBillNo, Fnumber)) {
|
log.error("{}入库单标记完成失败", FBillNo);
|
}
|
}
|
return true;
|
} else {
|
return false;
|
}
|
}
|
|
|
/**
|
* 库存明细同步
|
* @param FItemID 物料内码
|
* @param qty 数量(正表示增加库存、负表示减少库存)
|
*/
|
public boolean stockEntitySync(Integer FItemID, Integer FEntryID, Double qty) {
|
String sql = "select * from StockEntryCensus where 1=1 and FItemID = {0,number,#} and FEntryID = {1,number,#}";
|
sql = MessageFormat.format(sql, FItemID, FEntryID);
|
List<StockEntryCensus> censuses = erpSqlServer.select(sql, StockEntryCensus.class);
|
if (Cools.isEmpty(censuses)) {
|
// 新增
|
sql = "insert [dbo].[StockEntryCensus] ([FItemID], [FEntryID], [StockQty], [UpdateTime]) values ({0,number,#}, {1,number,#}, {2,number,#}, ''{3}'');";
|
sql = MessageFormat.format(sql, FItemID, FEntryID, qty, DateUtils.convert(new Date()));
|
if (erpSqlServer.update(sql) == 0) {
|
log.error("{}新增物料库存明细失败", FItemID);
|
return false;
|
}
|
} else {
|
// 修改
|
StockEntryCensus census = censuses.get(0);
|
// 减少库存
|
if (qty < 0) {
|
// 删除
|
if (census.getStockQty() < Math.abs(qty)) {
|
sql = "delete from StockEntryCensus where FItemID = {0,number,#} and FEntryID = {1,number,#}";
|
sql = MessageFormat.format(sql, FItemID, FEntryID);
|
if (erpSqlServer.update(sql) == 0) {
|
log.error("{}删除物料库存明细失败", FItemID);
|
return false;
|
}
|
// 减少
|
} else {
|
sql = "update StockEntryCensus set StockQty = (StockQty - {0,number,#}) where FItemID = {1,number,#} and FEntryID = {2,number,#}";
|
sql = MessageFormat.format(sql, Math.abs(qty), FItemID, FEntryID);
|
if (erpSqlServer.update(sql) == 0) {
|
log.error("{}减少物料库存明细失败", FItemID);
|
return false;
|
}
|
}
|
// 增加库存
|
} else {
|
sql = "update StockEntryCensus set StockQty = (StockQty + {0,number,#}) where FItemID = {1,number,#} and FEntryID = {2,number,#}";
|
sql = MessageFormat.format(sql, Math.abs(qty), FItemID, FEntryID);
|
if (erpSqlServer.update(sql) == 0) {
|
log.error("{}增加物料库存明细失败", FItemID);
|
return false;
|
}
|
}
|
}
|
return true;
|
}
|
|
/**
|
* 库存盘点
|
* @param FItemID 物料内码
|
* @param qty 数量(正表示盘盈、负表示盘亏)
|
*/
|
public boolean checkStockEntity(Integer FItemID, Integer FEntryID, Double qty){
|
String sql = "insert [dbo].[StockCheckRecord] ([FItemID],[FEntryID], [CheckQty],[Fflag_rw],[Fflag_finish]) values ({0,number,#}, {1,number,#}, {2,number,#}, 0, 0);";
|
sql = MessageFormat.format(sql, FItemID, FEntryID, qty);
|
if (erpSqlServer.update(sql) == 0) {
|
log.error("{}新增盘点记录失败", FItemID);
|
return false;
|
}
|
return true;
|
}
|
|
// 私有方法 --------------------------------------------------------------------------------------
|
|
/**
|
* 获取入库物流明细
|
* @param fInterID 单据内码
|
*/
|
private List<InStockBillEntry> getInStockBillEntry(Integer fInterID) {
|
String sql = "select * from InStockBillEntry where 1=1 and FInterID = " + fInterID;
|
return erpSqlServer.select(sql, InStockBillEntry.class);
|
}
|
|
private List<InStockBillEntry> getInStockBillEntry(String FBillNo) {
|
String sql = "select ise.* from InStockBillEntry ise left join InStockbill isb on isb.FInterID = ise.FInterID where 1=1 and isb.FBillNo = '" + FBillNo +"'";
|
return erpSqlServer.select(sql, InStockBillEntry.class);
|
}
|
|
/**
|
* 原材料入库单标记完成
|
*/
|
private boolean completePakIn(String FBillNo){
|
String sql = "update InStockBill set Fflag_finish = 1 where FBillNo = ''{0}''";
|
sql = MessageFormat.format(sql, FBillNo);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
/**
|
* 成品入库单标记完成
|
*/
|
private boolean completeCPakIn(String FBillNo, String Fnumber){
|
String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}''";
|
sql = MessageFormat.format(sql, FBillNo, Fnumber);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
|
/**
|
* 出库单标记完成
|
*/
|
private boolean completePakOut(Integer fInterID){
|
String sql = "update OutStockBill set Fflag_finish = 1 where FInterID = {0,number,#}";
|
sql = MessageFormat.format(sql, fInterID);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
public boolean syncOutStock() {
|
return erpSqlServer.update("MERGE INTO xtyasrs.dbo.OutStockBill AS a \n" +
|
"USING (SELECT * FROM xtyasrs_dual.dbo.OutStockBill c)\n" +
|
"AS b\n" +
|
" ON a.FInterID = b.FInterID\n" +
|
"WHEN MATCHED THEN\n" +
|
"UPDATE SET \n" +
|
"FBrNo = b.FBrNo,\n" +
|
"FInterID = b.FInterID,\n" +
|
"FBillNo = b.FBillNo,\n" +
|
"FTranType = b.FTranType,\n" +
|
"FSalType = b.FSalType,\n" +
|
"FCustID = b.FCustID,\n" +
|
"FDate = b.FDate,\n" +
|
"FStockID = b.FStockID,\n" +
|
"FAdd = b.FAdd,\n" +
|
"FNote = b.FNote,\n" +
|
"FEmpID = b.FEmpID,\n" +
|
"FCheckerID = b.FCheckerID,\n" +
|
"FBillerID = b.FBillerID,\n" +
|
"FManagerID = b.FManagerID,\n" +
|
"FClosed = b.FClosed,\n" +
|
"FInvoiceClosed = b.FInvoiceClosed,\n" +
|
"FBClosed = b.FBClosed,\n" +
|
"FDeptID = b.FDeptID,\n" +
|
"FSettleID = b.FSettleID,\n" +
|
"FTranStatus = b.FTranStatus,\n" +
|
"FExchangeRate = b.FExchangeRate,\n" +
|
"FCurrencyID = b.FCurrencyID,\n" +
|
"FStatus = b.FStatus,\n" +
|
"FCancellation = b.FCancellation,\n" +
|
"FMultiCheckLevel1 = b.FMultiCheckLevel1,\n" +
|
"FMultiCheckLevel2 = b.FMultiCheckLevel2,\n" +
|
"FMultiCheckLevel3 = b.FMultiCheckLevel3,\n" +
|
"FMultiCheckLevel4 = b.FMultiCheckLevel4,\n" +
|
"FMultiCheckLevel5 = b.FMultiCheckLevel5,\n" +
|
"FMultiCheckLevel6 = b.FMultiCheckLevel6,\n" +
|
"FMultiCheckDate1 = b.FMultiCheckDate1,\n" +
|
"FMultiCheckDate2 = b.FMultiCheckDate2,\n" +
|
"FMultiCheckDate3 = b.FMultiCheckDate3,\n" +
|
"FMultiCheckDate4 = b.FMultiCheckDate4,\n" +
|
"FMultiCheckDate5 = b.FMultiCheckDate5,\n" +
|
"FMultiCheckDate6 = b.FMultiCheckDate6,\n" +
|
"FCurCheckLevel = b.FCurCheckLevel,\n" +
|
"FRelateBrID = b.FRelateBrID,\n" +
|
"FCheckDate = b.FCheckDate,\n" +
|
"FExplanation = b.FExplanation,\n" +
|
"FFetchAdd = b.FFetchAdd,\n" +
|
"FSelTranType = b.FSelTranType,\n" +
|
"FChildren = b.FChildren,\n" +
|
"FBrID = b.FBrID,\n" +
|
"FAreaPS = b.FAreaPS,\n" +
|
"FPOOrdBillNo = b.FPOOrdBillNo,\n" +
|
"FManageType = b.FManageType,\n" +
|
"FPrintCount = b.FPrintCount,\n" +
|
"Fflag_rw = b.Fflag_rw,\n" +
|
"Fflag_finish = b.Fflag_finish,\n" +
|
"FWeiOrder = b.FWeiOrder,\n" +
|
"FWeiOpenID = b.FWeiOpenID,\n" +
|
"FOrderBillNo = b.FOrderBillNo,\n" +
|
"FWLNumber = b.FWLNumber,\n" +
|
"FWLCompany = b.FWLCompany,\n" +
|
"FReturnFundType = b.FReturnFundType\n" +
|
"WHEN NOT MATCHED THEN\n" +
|
"\tINSERT (FBrNo, FInterID, FBillNo, FTranType, FSalType, FCustID, FDate, FStockID, FAdd, FNote, FEmpID, FCheckerID, FBillerID, FManagerID, FClosed, FInvoiceClosed, FBClosed, FDeptID, FSettleID, FTranStatus, FExchangeRate, FCurrencyID, FStatus, FCancellation, FMultiCheckLevel1, FMultiCheckLevel2, FMultiCheckLevel3, FMultiCheckLevel4, FMultiCheckLevel5, FMultiCheckLevel6, FMultiCheckDate1, FMultiCheckDate2, FMultiCheckDate3, FMultiCheckDate4, FMultiCheckDate5, FMultiCheckDate6, FCurCheckLevel, FRelateBrID, FCheckDate, FExplanation, FFetchAdd, FSelTranType, FChildren, FBrID, FAreaPS, FPOOrdBillNo, FManageType, FPrintCount, Fflag_rw, Fflag_finish, FWeiOrder, FWeiOpenID, FOrderBillNo, FWLNumber, FWLCompany, FReturnFundType) \n" +
|
"\tVALUES (b.FBrNo, b.FInterID, b.FBillNo, FTranType, FSalType, FCustID, FDate, FStockID, FAdd, FNote, FEmpID, FCheckerID, FBillerID, FManagerID, FClosed, FInvoiceClosed, FBClosed, FDeptID, FSettleID, FTranStatus, FExchangeRate, FCurrencyID, FStatus, FCancellation, FMultiCheckLevel1, FMultiCheckLevel2, FMultiCheckLevel3, FMultiCheckLevel4, FMultiCheckLevel5, FMultiCheckLevel6, FMultiCheckDate1, FMultiCheckDate2, FMultiCheckDate3, FMultiCheckDate4, FMultiCheckDate5, FMultiCheckDate6, FCurCheckLevel, FRelateBrID, FCheckDate, FExplanation, FFetchAdd, FSelTranType, FChildren, FBrID, FAreaPS, FPOOrdBillNo, FManageType, FPrintCount, Fflag_rw, Fflag_finish, FWeiOrder, FWeiOpenID, FOrderBillNo, FWLNumber, FWLCompany, FReturnFundType);")> 0;
|
}
|
|
public boolean syncOutStockDetail() {
|
return erpSqlServer.update("MERGE INTO xtyasrs.dbo.OutStockBillEntry AS a \n" +
|
"USING (SELECT * FROM xtyasrs_dual.dbo.OutStockBillEntry c)\n" +
|
"AS b\n" +
|
" ON (a.FInterID = b.FInterID and a.FEntryID = b.FEntryID)\n" +
|
"WHEN MATCHED THEN\n" +
|
"UPDATE SET\n" +
|
"FBrNo = b.FBrNo,\n" +
|
"FInterID = b.FInterID,\n" +
|
"FEntryID = b.FEntryID,\n" +
|
"FDetailID = b.FDetailID,\n" +
|
"FItemID = b.FItemID,\n" +
|
"FQty = b.FQty,\n" +
|
"FCommitQty = b.FCommitQty,\n" +
|
"FPrice = b.FPrice,\n" +
|
"FAmount = b.FAmount,\n" +
|
"FOrderInterID = b.FOrderInterID,\n" +
|
"FDate = b.FDate,\n" +
|
"FNote = b.FNote,\n" +
|
"FInvoiceQty = b.FInvoiceQty,\n" +
|
"FBCommitQty = b.FBCommitQty,\n" +
|
"FUnitID = b.FUnitID,\n" +
|
"FAuxBCommitQty = b.FAuxBCommitQty,\n" +
|
"FAuxCommitQty = b.FAuxCommitQty,\n" +
|
"FAuxInvoiceQty = b.FAuxInvoiceQty,\n" +
|
"FAuxPrice = b.FAuxPrice,\n" +
|
"FAuxQty = b.FAuxQty,\n" +
|
"FSourceEntryID = b.FSourceEntryID,\n" +
|
"FMapNumber = b.FMapNumber,\n" +
|
"FMapName = b.FMapName,\n" +
|
"FAuxPropID = b.FAuxPropID,\n" +
|
"FBatchNo = b.FBatchNo,\n" +
|
"FCheckDate = b.FCheckDate,\n" +
|
"FExplanation = b.FExplanation,\n" +
|
"FFetchAdd = b.FFetchAdd,\n" +
|
"FFetchDate = b.FFetchDate,\n" +
|
"FMultiCheckDate1 = b.FMultiCheckDate1,\n" +
|
"FMultiCheckDate2 = b.FMultiCheckDate2,\n" +
|
"FMultiCheckDate3 = b.FMultiCheckDate3,\n" +
|
"FMultiCheckDate4 = b.FMultiCheckDate4,\n" +
|
"FMultiCheckDate5 = b.FMultiCheckDate5,\n" +
|
"FMultiCheckDate6 = b.FMultiCheckDate6,\n" +
|
"FSecCoefficient = b.FSecCoefficient,\n" +
|
"FSecQty = b.FSecQty,\n" +
|
"FSecCommitQty = b.FSecCommitQty,\n" +
|
"FSourceTranType = b.FSourceTranType,\n" +
|
"FSourceInterId = b.FSourceInterId,\n" +
|
"FSourceBillNo = b.FSourceBillNo,\n" +
|
"FContractInterID = b.FContractInterID,\n" +
|
"FContractEntryID = b.FContractEntryID,\n" +
|
"FContractBillNo = b.FContractBillNo,\n" +
|
"FOrderEntryID = b.FOrderEntryID,\n" +
|
"FOrderBillNo = b.FOrderBillNo,\n" +
|
"FStockID = b.FStockID,\n" +
|
"FBackQty = b.FBackQty,\n" +
|
"FAuxBackQty = b.FAuxBackQty,\n" +
|
"FSecBackQty = b.FSecBackQty,\n" +
|
"FStdAmount = b.FStdAmount,\n" +
|
"FPlanMode = b.FPlanMode,\n" +
|
"FMTONo = b.FMTONo,\n" +
|
"FStockQtyOnlyForShow = b.FStockQtyOnlyForShow,\n" +
|
"FComplexQty = b.FComplexQty,\n" +
|
"Fmodel = b.Fmodel,\n" +
|
"Fname = b.Fname,\n" +
|
"Fnumber = b.Fnumber,\n" +
|
"FBarCode = b.FBarCode,\n" +
|
"FBTPLCommitQty = b.FBTPLCommitQty,\n" +
|
"FTPLCommitQty = b.FTPLCommitQty,\n" +
|
"fsecinvoiceqty = b.fsecinvoiceqty\n" +
|
"WHEN NOT MATCHED THEN\n" +
|
"\tINSERT (FBrNo, FInterID, FEntryID, FDetailID, FItemID, FQty, FCommitQty, FPrice, FAmount, FOrderInterID, FDate, FNote, FInvoiceQty, FBCommitQty, FUnitID, FAuxBCommitQty, FAuxCommitQty, FAuxInvoiceQty, FAuxPrice, FAuxQty, FSourceEntryID, FMapNumber, FMapName, FAuxPropID, FBatchNo, FCheckDate, FExplanation, FFetchAdd, FFetchDate, FMultiCheckDate1, FMultiCheckDate2, FMultiCheckDate3, FMultiCheckDate4, FMultiCheckDate5, FMultiCheckDate6, FSecCoefficient, FSecQty, FSecCommitQty, FSourceTranType, FSourceInterId, FSourceBillNo, FContractInterID, FContractEntryID, FContractBillNo, FOrderEntryID, FOrderBillNo, FStockID, FBackQty, FAuxBackQty, FSecBackQty, FStdAmount, FPlanMode, FMTONo, FStockQtyOnlyForShow, FComplexQty, Fmodel, Fname, Fnumber, FBarCode, FBTPLCommitQty, FTPLCommitQty, fsecinvoiceqty) \n" +
|
"\tVALUES (b.FBrNo, b.FInterID, b.FEntryID, b.FDetailID, b.FItemID, b.FQty, b.FCommitQty, b.FPrice, b.FAmount, b.FOrderInterID, b.FDate, b.FNote, b.FInvoiceQty, b.FBCommitQty, b.FUnitID, b.FAuxBCommitQty, b.FAuxCommitQty, b.FAuxInvoiceQty, b.FAuxPrice, b.FAuxQty, b.FSourceEntryID, b.FMapNumber, b.FMapName, b.FAuxPropID, b.FBatchNo, b.FCheckDate, b.FExplanation, b.FFetchAdd, b.FFetchDate, b.FMultiCheckDate1, b.FMultiCheckDate2, b.FMultiCheckDate3, b.FMultiCheckDate4, b.FMultiCheckDate5, b.FMultiCheckDate6, b.FSecCoefficient, b.FSecQty, b.FSecCommitQty, b.FSourceTranType, b.FSourceInterId, b.FSourceBillNo, b.FContractInterID, b.FContractEntryID, b.FContractBillNo, b.FOrderEntryID, b.FOrderBillNo, b.FStockID, b.FBackQty, b.FAuxBackQty, b.FSecBackQty, b.FStdAmount, b.FPlanMode, b.FMTONo, b.FStockQtyOnlyForShow, b.FComplexQty, b.Fmodel, b.Fname, b.Fnumber, b.FBarCode, b.FBTPLCommitQty, b.FTPLCommitQty, b.fsecinvoiceqty);")> 0;
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public boolean updateFnumber(Integer itemId, String FNumber){
|
String sql = "update InStockbillEntry set Fnumber = ''{0}'' where FItemID = {1,number,#}";
|
sql = MessageFormat.format(sql, FNumber, itemId);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
public boolean updateCFnumber(Integer itemId, String FNumber){
|
String sql = "update CPICMO set Fnumber = ''{0}'' where FItemID = {1,number,#}";
|
sql = MessageFormat.format(sql, FNumber, itemId);
|
return erpSqlServer.update(sql) > 0;
|
}
|
|
}
|