|
@@ -135,6 +135,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWhgenleg.setfWarehouseLocationid(((Integer) wb.get("fWarehouselocid")).longValue());
|
|
|
}
|
|
|
tWhgenleg.setfTrademodeid(tWarehousebills.getfTrademodeid());
|
|
|
+ tWhgenleg.setfMblno(tWarehousebills.getfMblno());
|
|
|
TWhgenleg whgenleg = tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
|
|
|
if (StringUtils.isNotNull(whgenleg)) {
|
|
|
wb.put("fQtyblc", whgenleg.getfQtyblc());
|
|
@@ -559,6 +560,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWarehouseBills.setUpdateTime(new Date());
|
|
|
tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
|
|
|
fPid = tWarehouseBills.getfId();
|
|
|
+ tWarehousebillsitemsMapper.deleteByFPid(fPid);
|
|
|
tEnclosureMapper.deleteByFPid(fPid);
|
|
|
} else {
|
|
|
// 业务编码
|
|
@@ -579,7 +581,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
|
|
|
List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
|
|
|
for (TWarehousebillsitems item : warehousebillsitemsList) {
|
|
|
- if (!"7".equals(item.getfBillstatus())) {
|
|
|
+ if (!"6".equals(item.getfBillstatus())) {
|
|
|
TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
|
|
|
if (StringUtils.isNotNull(tWhgenle)) {
|
|
|
updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
|
|
@@ -591,7 +593,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
}
|
|
|
}
|
|
|
item.setfPid(fPid);
|
|
|
- item.setfBillstatus("7");
|
|
|
+ item.setfBillstatus("6");
|
|
|
item.setCreateBy(loginUser.getUser().getUserName());
|
|
|
item.setCreateTime(new Date());
|
|
|
if (tWarehousebillsitemsMapper.insertTWarehousebillsitems(item) <= 0) {
|
|
@@ -610,7 +612,128 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tEnclosureMapper.insertTEnclosure(tEnclosure);
|
|
|
}
|
|
|
}
|
|
|
- return AjaxResult.success();
|
|
|
+ // 添加成功 主键返回 前台
|
|
|
+ return AjaxResult.success("成功",fPid);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 出库、调拨、货转 确认
|
|
|
+ * @param warehouseBills
|
|
|
+ * @param warehousebillsitems
|
|
|
+ * @param loginUser
|
|
|
+ * @param billsType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public AjaxResult updateCredit(String warehouseBills, String warehousebillsitems, LoginUser loginUser, String billsType) {
|
|
|
+ Long fPid = null;
|
|
|
+ if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
|
|
|
+ return AjaxResult.error("未找到主表信息");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNull(warehousebillsitems) || "[]".equals(warehousebillsitems)) {
|
|
|
+ return AjaxResult.error("未找到入账信息");
|
|
|
+ }
|
|
|
+ TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
|
|
|
+ if (StringUtils.isNotNull(tWarehouseBills.getfId())) {
|
|
|
+ tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
+ tWarehouseBills.setUpdateTime(new Date());
|
|
|
+ tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
|
|
|
+ fPid = tWarehouseBills.getfId();
|
|
|
+ tEnclosureMapper.deleteByFPid(fPid);
|
|
|
+ } else {
|
|
|
+ // 业务编码
|
|
|
+ String billNo = billnoSerialServiceImpl.getBillNo(billsType, tWarehouseBills.getfBsdate());
|
|
|
+ tWarehouseBills.setfBillno(billNo);
|
|
|
+ // 存货编码
|
|
|
+ Date time = new Date();
|
|
|
+ String bscorpno = billnoSerialServiceImpl.getCorpNo(tWarehouseBills.getfCorpid(), time);
|
|
|
+ tWarehouseBills.setfBscorpno(bscorpno);
|
|
|
+ tWarehouseBills.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ tWarehouseBills.setCreateTime(new Date());
|
|
|
+ tWarehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
|
|
|
+ // 已入账
|
|
|
+ tWarehouseBills.setfBillstatus("7");
|
|
|
+ tWarehouseBills.setfBilltype(billsType);
|
|
|
+ tWarehouseBillsMapper.insertTWarehousebills(tWarehouseBills);
|
|
|
+ fPid = tWarehouseBills.getfId();
|
|
|
+ }
|
|
|
+ JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
|
|
|
+ List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
|
|
|
+ int i = 1;
|
|
|
+ for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
|
|
|
+ if (!"6".equals(wbItem.getfBillstatus())) {
|
|
|
+ // 查询总账是否存在
|
|
|
+ TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, wbItem);
|
|
|
+ // 入库数特殊不判断入账
|
|
|
+ if ("SJCK".equals(billsType)) { // 出库 查询
|
|
|
+ if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("库存明细第" + i + "行库存为空");
|
|
|
+ } else { // 非空修改库存总账
|
|
|
+ // 库存 < 出库件数 、
|
|
|
+ if (tWhgenle.getfQtyblc() < wbItem.getfQty()
|
|
|
+
|
|
|
+ ) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("库存明细第" + i + "行库存不足");
|
|
|
+ }
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
|
|
|
+ }
|
|
|
+ } else if ("CKDB".equals(billsType)) { // 调拨查询
|
|
|
+ if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("库存明细第" + i + "行库存为空");
|
|
|
+ } else { // 非空修改库存总账
|
|
|
+ if (tWhgenle.getfQtyblc() < wbItem.getfQty()) { // 1、 库存 < 调拨件数 提示库存不足
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("库存明细第" + i + "行库存不足");
|
|
|
+ } else { // 2、 库存足够 先 进行出库操作
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
|
|
|
+ }
|
|
|
+ // 3、 进行入库操作 查询是否存在库存
|
|
|
+ tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
|
|
|
+ TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
|
|
|
+ if (StringUtils.isNull(tWhgenle1)) { // 5、 不存在 进行新增库存
|
|
|
+ instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
|
|
|
+ } else { // 4、 存在 进行跟新库存
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if ("HQZY".equals(billsType)) { // 货转
|
|
|
+ if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("库存明细第" + i + "行库存为空");
|
|
|
+ } else { // 非空修改库存总账
|
|
|
+ if (tWhgenle.getfQtyblc() < wbItem.getfQty()) { // 1、 库存 < 调拨件数 提示库存不足
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("库存明细第" + i + "行库存不足");
|
|
|
+ } else { // 2、 库存足够 先 进行出库操作
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
|
|
|
+ }
|
|
|
+ // 3、 进行入库操作 查询是否存在库存
|
|
|
+ tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
|
|
|
+ TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
|
|
|
+ if (StringUtils.isNull(tWhgenle1)) { // 5、 不存在 进行新增库存
|
|
|
+ instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
|
|
|
+ } else { // 4、 存在 进行跟新库存
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ i++;
|
|
|
+ wbItem.setfPid(fPid);
|
|
|
+ wbItem.setfBillstatus("6");
|
|
|
+ wbItem.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ wbItem.setCreateTime(new Date());
|
|
|
+ if (tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem) <= 0) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("库存明细更新失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ // 添加成功 主键返回 前台
|
|
|
+ return AjaxResult.success("成功",fPid);
|
|
|
}
|
|
|
|
|
|
// 入库 收费明细 校验
|