|
@@ -279,7 +279,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
*/
|
|
|
@Override
|
|
|
public List<Map<String, Object>> selectWarehouseBusinessList(TWarehouseBills tWarehousebills) {
|
|
|
- if(tWarehousebills.getfBilltype().equals("JSCCF") | tWarehousebills.getfBilltype().equals("HQZY") ){
|
|
|
+ if(tWarehousebills.getfBilltype().equals("JSCCF") | tWarehousebills.getfBilltype().equals("HQZY") | tWarehousebills.getfBilltype().equals("HWTG")){
|
|
|
return tWarehouseBillsMapper.selectWarehouseBusinessList1(tWarehousebills);
|
|
|
}else {
|
|
|
return tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
|
|
@@ -336,9 +336,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
if ("SJRK".equals(warehouseBills.getfBilltype())) {
|
|
|
tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfBsdate());
|
|
|
}
|
|
|
- if ("HQZY".equals(warehouseBills.getfBilltype()) || "CKDB".equals(warehouseBills.getfBilltype())) {
|
|
|
+ if ("HQZY".equals(warehouseBills.getfBilltype()) | "CKDB".equals(warehouseBills.getfBilltype()) | "HWTG".equals(warehouseBills.getfBilltype()) ) {
|
|
|
tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfOriginalbilldate());
|
|
|
- if ("CKDB".equals(warehouseBills.getfBilltype())) {
|
|
|
+ if ("CKDB".equals(warehouseBills.getfBilltype()) | "HWTG".equals(warehouseBills.getfBilltype()) ) {
|
|
|
tWhgenleg.setfCorpid(warehouseBills.getfCorpid());
|
|
|
} else {
|
|
|
// 客户
|
|
@@ -458,12 +458,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
|
|
|
List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
|
|
|
for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
|
|
|
- boolean warehouseStatus = "SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType);
|
|
|
+ boolean warehouseStatus = "SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType) || "HWTG".equals(billsType) ;
|
|
|
// 仓储计费日期
|
|
|
wbItem.setfBilltype(billsType);
|
|
|
if ("SJRK".equals(billsType)) {
|
|
|
wbItem.setfChargedate(warehouseBills.getfChargedate());
|
|
|
wbItem.setfBillingway(warehouseBills.getfBillingway());
|
|
|
+ wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
|
|
|
}
|
|
|
if (null != wbItem.getfId()) {
|
|
|
wbItem.setUpdateTime(new Date());
|
|
@@ -478,7 +479,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
} else {
|
|
|
wbItem.setfBillstatus(10L);
|
|
|
}
|
|
|
- wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
|
|
|
wbItem.setfPid(fPid);
|
|
|
wbItem.setCreateBy(loginUser.getUser().getUserName());
|
|
|
wbItem.setCreateTime(new Date());
|
|
@@ -582,6 +582,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
} else if ("HQZY".equals(billsType)) {
|
|
|
actId = 130L;
|
|
|
key = "warehouse.transfer.ApprovalFlow";
|
|
|
+ } else if ("HWTG".equals(billsType)) {
|
|
|
+ actId = 160L;
|
|
|
+ key = "warehouse.cargoClearance.ApprovalFlow";
|
|
|
}
|
|
|
SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
|
|
|
if (StringUtils.isNull(sysConfig)) {
|
|
@@ -636,13 +639,14 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
int line = 0;
|
|
|
for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
|
|
|
line++;
|
|
|
- if ("SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType)) {
|
|
|
+ if ("SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType) || "HWTG".equals(billsType) ) {
|
|
|
// 除了入库其他模块不需要更新主表的 仓储费计费日期到明细表,其他模块 应从库存总账把仓储费计费日期 赋给明细表
|
|
|
if ("SJRK".equals(billsType)) {
|
|
|
wbItem.setfMblno(warehouseBills.getfMblno());
|
|
|
wbItem.setfBillingway(warehouseBills.getfBillingway());
|
|
|
wbItem.setfChargedate(warehouseBills.getfChargedate());
|
|
|
wbItem.setfOriginalbilldate(warehouseBills.getfBsdate());
|
|
|
+ wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
|
|
|
}
|
|
|
if (!wbItem.getfBillstatus().equals(40L)) {
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
@@ -671,7 +675,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
wbItem.setCreateTime(new Date());
|
|
|
wbItem.setfBillno(warehouseBills.getfBillno());
|
|
|
wbItem.setCreateBy(loginUser.getUser().getUserName());
|
|
|
- wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
|
|
|
tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
|
|
|
}
|
|
|
if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
|
|
@@ -1159,7 +1162,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
item.setfBillstatus(40L);
|
|
|
item.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
item.setUpdateTime(new Date());
|
|
|
- item.setfMblno(tWarehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
|
|
|
+ if("SJRK".equals(billsType)){
|
|
|
+ item.setfMblno(tWarehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
|
|
|
+ }
|
|
|
num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
|
|
|
// 添加状态log
|
|
|
insertTWarehousebillsLog(item, 40L, loginUser);
|
|
@@ -1262,7 +1267,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
}
|
|
|
long warehouselocId = 0L;
|
|
|
long transferWarehouselocid = 0L;
|
|
|
- if ("CKDB".equals(billsType)) {
|
|
|
+ if ("CKDB".equals(billsType) | "HWTG".equals(billsType)) {
|
|
|
warehouselocId = wbItem.getfWarehouselocid();
|
|
|
transferWarehouselocid = wbItem.getfTransferWarehouselocid();
|
|
|
// wbItem.setfWarehouselocid(transferWarehouselocid);
|
|
@@ -1320,7 +1325,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
warehousebillsfees.add(fees);*/
|
|
|
}
|
|
|
wbItem.setfBillstatus(40L);
|
|
|
- } else if ("CKDB".equals(billsType)) { // 调拨查询
|
|
|
+ } else if ("CKDB".equals(billsType) || "HWTG".equals(billsType)) { // 调拨查询
|
|
|
if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
return AjaxResult.error("库存明细第" + i + "行库存为空");
|
|
@@ -1332,6 +1337,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
wbItem.setfWarehouselocid(warehouselocId);
|
|
|
updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
|
|
|
}
|
|
|
+ if("HWTG".equals(billsType)){
|
|
|
+ tWarehouseBills.setfTrademodeid(tWarehouseBills.getfNewTrademodeid());
|
|
|
+ }
|
|
|
// 3、 进行入库操作 查询是否存在库存
|
|
|
wbItem.setfWarehouselocid(transferWarehouselocid); // 新库区
|
|
|
TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
|
|
@@ -1492,6 +1500,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
serialNumber = billnoSerialServiceImpl.getSerialNumber("CK", time);
|
|
|
} else if ("DB".equals(billtystatus)) { //生成 出库 流水号
|
|
|
serialNumber = billnoSerialServiceImpl.getSerialNumber("DB", time);
|
|
|
+ } else if ("TG".equals(billtystatus)) { //生成 出库 流水号
|
|
|
+ serialNumber = billnoSerialServiceImpl.getSerialNumber("TG", time);
|
|
|
}
|
|
|
}
|
|
|
int i=1;
|
|
@@ -1506,7 +1516,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
if(item.getfSerialNumber()==null || item.getfSerialNumber().equals("")){
|
|
|
item.setfSerialNumber(serialNumber);
|
|
|
}
|
|
|
- item.setfMblno(tWarehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
|
|
|
item.setfBillstatus(status);
|
|
|
item.setUpdateTime(new Date());
|
|
|
item.setUpdateBy(loginUser.getUser().getUserName());
|
|
@@ -2184,6 +2193,31 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb);
|
|
|
updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
|
|
|
wb.setfBillstatus(10L);
|
|
|
+ } else if ("HWTGRevoke".equals(billsType)) { // 调拨 撤销
|
|
|
+ // 贸易方式
|
|
|
+ Long oldfTrademodeid = tWarehousebills.getfTrademodeid();
|
|
|
+ // 新贸易方式
|
|
|
+ Long newfTrademodeid = tWarehousebills.getfNewTrademodeid();
|
|
|
+ Long warehouselocid = wb.getfWarehouselocid();// 原货仓库
|
|
|
+ Long transferWarehouselocid = wb.getfTransferWarehouselocid(); // 新仓库
|
|
|
+ // 1、新货权方撤销入库
|
|
|
+ // 查询库存总账
|
|
|
+ wb.setfWarehouselocid(transferWarehouselocid);
|
|
|
+ tWarehousebills.setfTrademodeid(newfTrademodeid); // 查询用新的
|
|
|
+ TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehousebills, wb);
|
|
|
+ if (StringUtils.isNotNull(tWhgenle1) && (wb.getfQty() <= tWhgenle1.getfQtyblc())) {
|
|
|
+ updateTWhgenlegData(wb, tWhgenle1.getfId(), "SJRKRevoke");
|
|
|
+ } else {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
|
|
|
+ }
|
|
|
+ // 2、原货权方撤销出库
|
|
|
+ // 查询库存总账
|
|
|
+ wb.setfWarehouselocid(warehouselocid);
|
|
|
+ tWarehousebills.setfTrademodeid(oldfTrademodeid); // 撤销回到旧的
|
|
|
+ TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb);
|
|
|
+ updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
|
|
|
+ wb.setfBillstatus(10L);
|
|
|
} else if ("HQZYRevoke".equals(billsType)) { // 货转撤销
|
|
|
Long fCorpid = tWarehousebills.getfCorpid();// 原货权方
|
|
|
Long fTocorpid = tWarehousebills.getfTocorpid(); // 新货权方
|