📄 exsheetserv.java
字号:
}
SheetGoods sheetGoods = new SheetGoods(loginInfo.getJndiName());
sheetGoods.setSheetCode(req.getParameter("sheetCode"));
sheetGoods.setSheetName(req.getParameter("sheetName"));
sheetGoods.setOrderSheetName(SheetTypes.ExSheet);
sheetGoods.setGoodsIDList(goodsIDListConvert);
SheetGoodsSheet sheetGoodsSheet = sheetGoods
.getSheetGoodsSheet();
exSheetAdapter.setExSheetCode(exSheetAdapter.newExSheetCode());
exSheetAdapter.setEmplID(sheetGoodsSheet.getEmplID());
exSheetAdapter.setCreateDate(DateUtilities
.getCurDate("yyyy-MM-dd"));
exSheetAdapter.setOperator(loginInfo.getSysUserCode());
SysUserAdapter sysConvert = new ConcreteSysUserAdapter(
loginInfo.getJndiName());
exSheetAdapter.setComputer(sysConvert.getCreateBy(loginInfo
.getSysUserCode())[2]);
exSheetAdapter.setRemark(sheetGoods.getRemark() + " 关联"
+ sheetGoods.getCnSheetName() + ":"
+ sheetGoods.getSheetCode());
exSheetAdapter.setOrderID(sheetGoods.getSheetCode());
exSheetAdapter.setCustID(sheetGoodsSheet.getCustID());
exSheetAdapter.setWarehouseCode(sheetGoodsSheet
.getWarehouseCode());
exSheetAdapter.setNoteSheetCode(sheetGoodsSheet
.getNoteSheetCode());
exSheetAdapter.setOrderMySheetCode(sheetGoodsSheet
.getOrderMySheetCode());
exSheetAdapter.setNotifySheetCode(sheetGoodsSheet
.getNotifySheetCode());
exSheetAdapter.setSheetPriceType(sheetGoodsSheet
.getSheetPriceType());
exSheetAdapter.setSheetOrderType(sheetGoodsSheet
.getSheetOrderType());
b = b && exSheetAdapter.insert();
b = b && exSheetAdapter.modify();
List listConvert = sheetGoods.getItemsBySQL();
exItemsBeans.clear();
exItemsStates.clear();
SheetGoodsItems sheetGoodsItems = null;
CExItemsAdapter exItems = null;
for (int i = 0; i < listConvert.size(); i++) {
sheetGoodsItems = (SheetGoodsItems) listConvert.get(i);
exItems = new CExItemsAdapter(loginInfo.getJndiName());
exItems.setGoodsID(sheetGoodsItems.getGoodsID());
exItems.setGdsNo(sheetGoodsItems.getGdsNo());
exItems.setGdsName(sheetGoodsItems.getGdsName());
exItems.setUnit(sheetGoodsItems.getUnit());
exItems.setQua(sheetGoodsItems.getQua());
exItems.setPrice(sheetGoodsItems.getPrice());
exItems.setAmo(sheetGoodsItems.getAmo());
exItems.setSheetSalePrice(sheetGoodsItems
.getSheetSalePrice());
exItems.setSheetSaleAmo(sheetGoodsItems.getSheetSaleAmo());
exItems.setExSheetCode(exSheetAdapter.getExSheetCode());
exItems.setID(ToolKit.nextSequenceEx(loginInfo
.getJndiName(), "exItems", "ID"));
exItems
.setWarehouseCode(sheetGoodsSheet
.getWarehouseCode());
costPrice(exItems, exSheetAdapter);
b = b && exItems.insert();
exItemsBeans.add(i, exItems);
exItemsStates.add("O");
exSheetAdapter.setQua(exSheetAdapter.getQua()
+ exItems.getQua());
exSheetAdapter.setAmo(exSheetAdapter.getAmo()
+ exItems.getAmo());
}
exSheetAdapter.setIsVou(true);
b = b && exSheetAdapter.modify();
sys = new ConcreteSysUserAdapter(loginInfo.getJndiName());
new SheetLog(loginInfo.getJndiName(), exSheetAdapter
.getExSheetCode(), "关联:" + sheetGoods.getCnSheetName(),
sys.getCreateBy(loginInfo.getSysUserCode())[0], Integer
.parseInt(sys.getCreateBy(loginInfo
.getSysUserCode())[2]), sheetGoods
.getSheetCode());
try {
if (b) {
trans.commit();
new WriteLog(loginInfo.getJndiName(), 2,
EventCode.EX_SHEET_FORM_OTHERS, loginInfo
.getName(), req.getRemoteAddr(), "关联:"
+ sheetGoods.getCnSheetName()
+ sheetGoods.getSheetCode() + " :Y",
getClass().getName() + ":EX_SHEET_FORM_OTHERS",
true, loginInfo.getSysUserCode());
} else {
trans.rollback();
new WriteLog(loginInfo.getJndiName(), 3,
EventCode.EX_SHEET_FORM_OTHERS, loginInfo
.getName(), req.getRemoteAddr(), "关联:"
+ sheetGoods.getCnSheetName()
+ sheetGoods.getSheetCode() + " :N",
getClass().getName() + ":EX_SHEET_FORM_OTHERS",
true, loginInfo.getSysUserCode());
System.out.println("Transaction rolled back already.");
error(0, MsgConstant.DAO_ERROR, req, resp);
return;
}
} catch (Exception ex) {
ex.printStackTrace();
}
break;
case EventCode.EX_SELECT_PRICE:
ExItemsAdapter temp = null;
for (int i = 0; i < exItemsBeans.size(); i++) {
temp = (ExItemsAdapter) exItemsBeans.get(i);
if ("".equals(temp.getGdsName())) {
continue;
} else {
if ("D".equals((String) exItemsStates.get(i))) {
continue;
} else {
double price[] = ToolKit.getPrice(loginInfo
.getJndiName(), 1, exSheetAdapter
.getSheetPriceType(), exSheetAdapter
.getCustID(), temp.getGoodsID());
temp.setPrice(price[0]);
temp.setDiscount(price[1]);
temp.setAmo(temp.getPrice() * temp.getQua()
* temp.getDiscount());
}
}
}
break;
case EventCode.EX_SHEET_OUT_BALANCE_V2:
exSheetAdapter.content();
case EventCode.EX_SHEET_OUT_BALANCE_V:
sys = new ConcreteSysUserAdapter(loginInfo.getJndiName());
String canOut = Operation.canOut(exSheetAdapter, loginInfo
.getSysUserCode(), perms, eventCode, exItemsBeans,
exSheetAdapter.getWarehouseCode(), exSheetAdapter);
if (canOut != null) {
this.error(0, canOut, req, resp);
return;
}
b = true;
try {
trans.begin();
} catch (Exception ex) {
ex.printStackTrace();
}
exSheetAdapter.setUserName(req.getParameter("userName"));
b = b && exSheetAdapter.modify();
if (eventCode == EventCode.EX_SHEET_OUT_BALANCE_V) {
list = new LinkedList();
a = Operation.saveitem(exSheetAdapter, exItemsBeans,
exItemsStates);
b = b && ((Boolean) a[0]).booleanValue();
list = (List) a[1];
}
if (eventCode == EventCode.EX_SHEET_OUT_BALANCE_V2
&& list.size() == 0) {
list = skMaterialOrder2
.getItemsByExSheetCode(exSheetAdapter
.getExSheetCode());
}
b = b
&& Operation.auding(exSheetAdapter, list, loginInfo,
eventCode, settleID, catalogCode, compID,
factAmo, msAmo);
new SheetLog(loginInfo.getJndiName(), exSheetAdapter
.getExSheetCode(), "出库", sys.getCreateBy(loginInfo
.getSysUserCode())[0], Integer.parseInt(sys
.getCreateBy(loginInfo.getSysUserCode())[2]), "");
MsgInfoSetup msgInfoSetup = new MsgInfoSetup(loginInfo
.getJndiName());
msgInfoSetup.doMsg(SheetTypes.ExSheet, exSheetAdapter
.getExSheetCode(), EventCode.EX_SHEET_OUT_BALANCE_V,
MsgInfoSetup.Insert, "销售出库单["
+ exSheetAdapter.getExSheetCode()
+ "]已出库,请及时记账.", loginInfo);
try {
if (b) {
trans.commit();
new WriteLog(loginInfo.getJndiName(), 2,
EventCode.EX_SHEET_OUT_BALANCE_V, loginInfo
.getName(), req.getRemoteAddr(),
"出库:销售出库单:" + exSheetAdapter.getExSheetCode()
+ " :Y", getClass().getName()
+ ":EX_SHEET_OUT_BALANCE_V", true,
loginInfo.getSysUserCode());
} else {
trans.rollback();
new WriteLog(loginInfo.getJndiName(), 3,
EventCode.EX_SHEET_OUT_BALANCE_V, loginInfo
.getName(), req.getRemoteAddr(),
"出库:销售出库单:" + exSheetAdapter.getExSheetCode()
+ " :N", getClass().getName()
+ ":EX_SHEET_OUT_BALANCE_V", true,
loginInfo.getSysUserCode());
error(0, MsgConstant.DAO_ERROR, req, resp);
return;
}
} catch (Exception ex) {
ex.printStackTrace();
}
break;
case EventCode.EX_SHEET_OUT_BALANCE_B2:
case EventCode.EX_SHEET_OUT_BALANCE_B:
exSheetAdapter.content();
sys = new ConcreteSysUserAdapter(loginInfo.getJndiName());
String canBackOut = Operation.canBackOut(exSheetAdapter,
loginInfo.getSysUserCode(), perms);
if (canBackOut != null) {
this.error(0, canBackOut, req, resp);
return;
}
b = true;
try {
trans.begin();
} catch (Exception ex) {
ex.printStackTrace();
}
b = b && Operation.backOut(exSheetAdapter, loginInfo);
sys = new ConcreteSysUserAdapter(loginInfo.getJndiName());
new SheetLog(loginInfo.getJndiName(), exSheetAdapter
.getExSheetCode(), "反出库", sys.getCreateBy(loginInfo
.getSysUserCode())[0], Integer.parseInt(sys
.getCreateBy(loginInfo.getSysUserCode())[2]), "");
msgInfoSetup = new MsgInfoSetup(loginInfo.getJndiName());
msgInfoSetup.doMsg(SheetTypes.ExSheet, exSheetAdapter
.getExSheetCode(), EventCode.EX_SHEET_OUT_BALANCE_V,
MsgInfoSetup.Del, "", loginInfo);
try {
if (b) {
trans.commit();
new WriteLog(loginInfo.getJndiName(), 2,
EventCode.EX_SHEET_OUT_BALANCE_B, loginInfo
.getName(), req.getRemoteAddr(),
"反出库:销售出库单:" + exSheetAdapter.getExSheetCode()
+ " :Y", getClass().getName()
+ ":EX_SHEET_OUT_BALANCE_B", true,
loginInfo.getSysUserCode());
} else {
trans.rollback();
new WriteLog(loginInfo.getJndiName(), 3,
EventCode.EX_SHEET_OUT_BALANCE_B, loginInfo
.getName(), req.getRemoteAddr(),
"反出库:销售出库单:" + exSheetAdapter.getExSheetCode()
+ " :N", getClass().getName()
+ ":EX_SHEET_OUT_BALANCE_B", true,
loginInfo.getSysUserCode());
error(0, MsgConstant.DAO_ERROR, req, resp);
return;
}
} catch (Exception ex) {
ex.printStackTrace();
}
break;
case EventCode.EX_SHEET_WAREHOUSE_SELECT:
for (Iterator iter = exItemsBeans.iterator(); iter.hasNext();) {
ExItemsAdapter order = (ExItemsAdapter) iter.next();
CBalanceAdapter balance = new CBalanceAdapter(loginInfo
.getJndiName());
if (exSheetAdapter.getWarehouseCode() == 0) {
order.setWarehouseCode(balance
.getGoodsWarehouseCode(order.getGoodsID()));
} else {
order.setWarehouseCode(exSheetAdapter
.getWarehouseCode());
}
costPrice(order, exSheetAdapter);
}
break;
case EventCode.EX_SHEET_GOODS_SELECT:
StringTokenizer goodsIDs = new StringTokenizer(goodsID, ",");
boolean pp = false;
while (goodsIDs.hasMoreElements()) {
GoodsModel goods = new GoodsBean(loginInfo.getJndiName());
goods.setGoodsID(goodsIDs.nextElement().toString());
if (goods.content()) {
pp = false;
for (int i = 0; i < exItemsBeans.size(); i++) {
ExItemsAdapter io = (ExItemsAdapter) exItemsBeans
.get(i);
if (io.getGoodsID() == 0) {
io.setGoodsID(goods.getGoodsID());
io.setGdsName(goods.getGdsName());
io.setGdsStandard(goods.getGdsStandard());
io.setGdsNo(goods.getGdsNo());
io.setUnit(goods.getUnit());
io.setPrice(goods.getSalePrice());
io.setCostPrice(goods.getInPrice());
io.setDiscount(exSheetAdapter.getDiscount());
CBalanceAdapter balance = new CBalanceAdapter(
loginInfo.getJndiName());
if (exSheetAdapter.getWarehouseCode() == 0) {
io.setWarehouseCode(balance
.getGoodsWarehouseCode(io
.getGoodsID()));
} else {
io.setWarehouseCode(exSheetAdapter
.getWarehouseCode());
}
spec(io, exSheetAdapter);
pp = true;
break;
}
}
if (pp) {
continue;
}
ExItemsAdapter io = new CExItemsAdapter(loginInfo
.getJndiName());
io.setGoodsID(goods.getGoodsID());
io.setGdsName(goods.getGdsName());
io.setGdsStandard(goods.getGdsStandard());
io.setGdsNo(goods.getGdsNo());
io.setUnit(goods.getUnit());
io.setPrice(goods.getSalePrice());
io.setCostPrice(goods.getInPrice());
io.setDiscount(exSheetAdapter.getDiscount());
CBalanceAdapter balance = new CBalanceAdapter(loginInfo
.getJndiName());
if (exSheetAdapter.getWarehouseCode() == 0) {
io.setWarehouseCode(balance
.getGoodsWarehouseCode(io.getGoodsID()));
} else {
io.setWarehouseCode(exSheetAdapter
.getWarehouseCode());
}
spec(io, exSheetAdapter);
exItemsBeans.add(exItemsBeans.size(), io);
exItemsStates.add("A");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -