|
@@ -92,26 +92,21 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
// 查询仓库主表数据
|
|
|
TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
|
|
|
// 客户表
|
|
|
- List<TCorps> corpsList = new ArrayList<>();
|
|
|
+ List<Long> corpsId = new ArrayList<>();
|
|
|
// 用户表
|
|
|
List<SysUser> sysUserList = new ArrayList<>();
|
|
|
// 仓库表
|
|
|
List<TWarehouse> warehouseList = new ArrayList<>();
|
|
|
// 商品
|
|
|
- List<TGoods> goodsList = new ArrayList<>();
|
|
|
+ List<Long> goodsId = new ArrayList<>();
|
|
|
// 费用
|
|
|
- List<TFees> feesList = new ArrayList<>();
|
|
|
+ List<Long> feesId = new ArrayList<>();
|
|
|
// 库区
|
|
|
- List<TWarehouseArea> warehouseAreaList = new ArrayList<>();
|
|
|
-
|
|
|
+ List<Long> warehouseAreaId = new ArrayList<>();
|
|
|
if (!StringUtils.isNull(tWarehousebills)) {
|
|
|
- // 查询货权方
|
|
|
- TCorps corps = tCorpsMapper.selectTCorpsById(tWarehousebills.getfCorpid());
|
|
|
- if (StringUtils.isNotNull(corps)) {
|
|
|
- corpsList.add(corps);
|
|
|
- }
|
|
|
+ corpsId.add(tWarehousebills.getfCorpid());
|
|
|
// 查询联系人
|
|
|
- SysUser sysUser = sysUserMapper.selectUserByUserName(tWarehousebills.getfContacts());
|
|
|
+ SysUser sysUser = sysUserMapper.selectUserByUserName(tWarehousebills.getfStorekeeper());
|
|
|
if (StringUtils.isNotNull(sysUser)) {
|
|
|
sysUserList.add(sysUser);
|
|
|
}
|
|
@@ -121,10 +116,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
warehouseList.add(tWarehouse);
|
|
|
}
|
|
|
// 查询经营单位
|
|
|
- TCorps corp = tCorpsMapper.selectTCorpsById(tWarehousebills.getfSbu());
|
|
|
- if (StringUtils.isNotNull(corp)) {
|
|
|
- corpsList.add(corp);
|
|
|
- }
|
|
|
+ corpsId.add(tWarehousebills.getfSbu());
|
|
|
map.put("warehousebills", tWarehousebills);
|
|
|
}
|
|
|
// 查询仓库明细从表数据
|
|
@@ -133,18 +125,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
List<TWarehousebillsitems> warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
|
|
|
if (StringUtils.isNotEmpty(warehousebillsitems)) {
|
|
|
for (TWarehousebillsitems wb : warehousebillsitems) {
|
|
|
- TGoods tGoods = tGoodsMapper.selectTGoodsById(wb.getfGoodsid());
|
|
|
- if (StringUtils.isNotNull(tGoods)) {
|
|
|
- goodsList.add(tGoods);
|
|
|
- }
|
|
|
- TWarehouseArea warehouseArea = tWarehouseAreaMapper.selectTWarehouseAreaById(wb.getfWarehouselocid());
|
|
|
- if (StringUtils.isNotNull(warehouseArea)) {
|
|
|
- warehouseAreaList.add(warehouseArea);
|
|
|
- }
|
|
|
+ goodsId.add(wb.getfGoodsid());
|
|
|
+ warehouseAreaId.add(wb.getfWarehouselocid());
|
|
|
}
|
|
|
map.put("warehouseBillsItem", warehousebillsitems);
|
|
|
}
|
|
|
-
|
|
|
// 查询仓库费用明细表数据
|
|
|
TWarehousebillsfees tWarehousebillsfees = new TWarehousebillsfees();
|
|
|
tWarehousebillsfees.setfPid(fId);
|
|
@@ -158,14 +143,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
} else {
|
|
|
warehousebillsfeesDr.add(fees);
|
|
|
}
|
|
|
- TCorps corps = tCorpsMapper.selectTCorpsById(fees.getfCorpid());
|
|
|
- if (StringUtils.isNotNull(corps)) {
|
|
|
- corpsList.add(corps);
|
|
|
- }
|
|
|
- TFees tFees = tFeesMapper.selectTFeesById(fees.getfFeeid());
|
|
|
- if (StringUtils.isNotNull(tFees)) {
|
|
|
- feesList.add(tFees);
|
|
|
- }
|
|
|
+ corpsId.add(fees.getfCorpid());
|
|
|
+ feesId.add(fees.getfFeeid());
|
|
|
}
|
|
|
}
|
|
|
// 查询附件表数据
|
|
@@ -175,6 +154,38 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
if (StringUtils.isNotEmpty(enclosures)) {
|
|
|
map.put("enclosures", enclosures);
|
|
|
}
|
|
|
+ List<TCorps> corpsList = new ArrayList<>();
|
|
|
+ List<Long> corpsIdList = StringUtils.integerDeduplication(corpsId);
|
|
|
+ for (Long corpId : corpsIdList) {
|
|
|
+ TCorps corps = tCorpsMapper.selectTCorpsById(corpId);
|
|
|
+ if (StringUtils.isNotNull(corps)) {
|
|
|
+ corpsList.add(corps);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<TWarehouseArea> warehouseAreaList = new ArrayList<>();
|
|
|
+ List<Long> warehouseAreaIdList = StringUtils.integerDeduplication(warehouseAreaId);
|
|
|
+ for (Long warehouseArea : warehouseAreaIdList) {
|
|
|
+ TWarehouseArea tWarehouseArea = tWarehouseAreaMapper.selectTWarehouseAreaById(warehouseArea);
|
|
|
+ if (StringUtils.isNotNull(tWarehouseArea)) {
|
|
|
+ warehouseAreaList.add(tWarehouseArea);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<TGoods> goodsList = new ArrayList<>();
|
|
|
+ List<Long> goodsIdList = StringUtils.integerDeduplication(goodsId);
|
|
|
+ for (Long goods : goodsIdList) {
|
|
|
+ TGoods tGoods = tGoodsMapper.selectTGoodsById(goods);
|
|
|
+ if (StringUtils.isNotNull(tGoods)) {
|
|
|
+ goodsList.add(tGoods);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<TFees> feesList = new ArrayList<>();
|
|
|
+ List<Long> longList = StringUtils.integerDeduplication(feesId);
|
|
|
+ for (Long fees : longList) {
|
|
|
+ TFees tFees = tFeesMapper.selectTFeesById(fees);
|
|
|
+ if (StringUtils.isNotNull(tFees)) {
|
|
|
+ feesList.add(tFees);
|
|
|
+ }
|
|
|
+ }
|
|
|
map.put("corps", corpsList);
|
|
|
map.put("goodsList", goodsList);
|
|
|
map.put("feesList", feesList);
|
|
@@ -233,9 +244,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
|
|
|
/**
|
|
|
* 新增库存总账
|
|
|
- * @param warehouseBills 仓库主表
|
|
|
- * @param warehousebillsitems 仓库明细表
|
|
|
- * @return 结果
|
|
|
+ *
|
|
|
+ * @param warehouseBills 仓库主表
|
|
|
+ * @param warehousebillsitems 仓库明细表
|
|
|
+ * @return 结果
|
|
|
*/
|
|
|
@Transactional
|
|
|
public int instalTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, SysUser user) {
|
|
@@ -246,6 +258,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWhgenleg.setfMblno(warehouseBills.getfMblno());
|
|
|
// 原始单号
|
|
|
tWhgenleg.setfOriginalbillno(warehouseBills.getfMblno());
|
|
|
+ // 仓库
|
|
|
+ tWhgenleg.setfWarehouseid(warehouseBills.getfWarehouseid());
|
|
|
// 库区
|
|
|
tWhgenleg.setfWarehouseLocationid(warehousebillsitems.getfWarehouselocid());
|
|
|
// 货物品名
|
|
@@ -256,6 +270,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWhgenleg.setfQtyd(warehousebillsitems.getfQty());
|
|
|
// 入库尺码
|
|
|
tWhgenleg.setfVolumnd(warehousebillsitems.getfVolumn());
|
|
|
+ // 唛头
|
|
|
+ tWhgenleg.setfMarks(warehousebillsitems.getfMarks());
|
|
|
// 入库毛重
|
|
|
tWhgenleg.setfGrossweightd(warehousebillsitems.getfGrossweight());
|
|
|
// 入库净重
|
|
@@ -270,6 +286,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWhgenleg.setfStatus("T");
|
|
|
// 结余件数
|
|
|
tWhgenleg.setfQtyblc(warehousebillsitems.getfQty());
|
|
|
+ System.out.println("主表新增:" + warehouseBills.toString());
|
|
|
+ System.out.println("要添加的总账:" + tWhgenleg.toString());
|
|
|
return tWhgenlegMapper.insertTWhgenleg(tWhgenleg);
|
|
|
}
|
|
|
|
|
@@ -301,49 +319,15 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
Long fPid = null;
|
|
|
TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
|
|
|
|
|
|
- // 查询库存总账 库存明细不为空 并且 入库不是暂存状态 进行库存总账的查询新增修改
|
|
|
- if (tWarehousebillsitems != null && !warehouseBills.getfBillstatus().equals("2")) {
|
|
|
- JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
|
|
|
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
|
|
|
- for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
|
|
|
- // 查询总账是否存在
|
|
|
- TWhgenleg tWhgenle=queryTWhgenleg(warehouseBills,wbItem);
|
|
|
- if(billsType=="SJRK"){ // 入库数 、结余数
|
|
|
- if(StringUtils.isNull(tWhgenle)){ // 为空添加库存总账
|
|
|
- SysUser sysUser=new SysUser();
|
|
|
- sysUser.setUserName(loginUser.getUser().getUserName());
|
|
|
- instalTWhgenleg(warehouseBills,wbItem,sysUser);
|
|
|
- }else { // 非空修改库存总账
|
|
|
- if(warehouseBills.getfBillstatus().equals("6")){
|
|
|
- updateTWhgenlegData(wbItem,tWhgenle.getfId(),billsType);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (billsType=="SJCK"){ // 出库 查询
|
|
|
- if(StringUtils.isNull(tWhgenle)){ // 为空 提示没有库存
|
|
|
- return AjaxResult.error("库存为空");
|
|
|
- }else { // 非空修改库存总账
|
|
|
- if(warehouseBills.getfBillstatus().equals("6")){
|
|
|
- // 库存 < 出库件数 提示库存不足
|
|
|
- if(tWhgenle.getfQtyblc()< wbItem.getfQty()){
|
|
|
- return AjaxResult.error("库存不足");
|
|
|
- }
|
|
|
- updateTWhgenlegData(wbItem,tWhgenle.getfId(),billsType);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
if (StringUtils.isNull(warehouseBills.getfId())) {
|
|
|
// 如果是新数据
|
|
|
warehouseBills.setCreateBy(loginUser.getUser().getUserName());
|
|
|
warehouseBills.setfBilltype(billsType);
|
|
|
warehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
|
|
|
// 提交时: 生流水号
|
|
|
- if (warehouseBills.getfBillstatus().equals("6")) {
|
|
|
+ if ("6".equals(warehouseBills.getfBillstatus())) {
|
|
|
// 业务编码
|
|
|
- String billNo = billnoSerialServiceImpl.getBillNo("SJRK", warehouseBills.getfBsdate());
|
|
|
+ String billNo = billnoSerialServiceImpl.getBillNo(billsType, warehouseBills.getfBsdate());
|
|
|
warehouseBills.setfBillno(billNo);
|
|
|
// 存货编码
|
|
|
Date time = new Date();
|
|
@@ -361,13 +345,44 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWarehousebillsfeesMapper.deleteByFPid(fPid);
|
|
|
tEnclosureMapper.deleteByFPid(fPid);
|
|
|
}
|
|
|
-
|
|
|
+ // 查询库存总账 库存明细不为空 并且 入库不是暂存状态 进行库存总账的查询新增修改
|
|
|
+ if (tWarehousebillsitems != null && !"2".equals(warehouseBills.getfBillstatus())) {
|
|
|
+ JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
|
|
|
+ List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
|
|
|
+ for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
|
|
|
+ // 查询总账是否存在
|
|
|
+ TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, wbItem);
|
|
|
+ if ("SJRK".equals(billsType)) { // 入库数 、结余数
|
|
|
+ if (StringUtils.isNull(tWhgenle)) { // 为空添加库存总账
|
|
|
+ instalTWhgenleg(warehouseBills, wbItem, loginUser.getUser());
|
|
|
+ } else { // 非空修改库存总账
|
|
|
+ if ("6".equals(warehouseBills.getfBillstatus())) {
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if ("SJCK".equals(billsType)) { // 出库 查询
|
|
|
+ if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
|
|
|
+ return AjaxResult.error("库存为空");
|
|
|
+ } else { // 非空修改库存总账
|
|
|
+ if ("6".equals(warehouseBills.getfBillstatus())) {
|
|
|
+ // 库存 < 出库件数 提示库存不足
|
|
|
+ if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {
|
|
|
+ return AjaxResult.error("库存不足");
|
|
|
+ }
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// 库存明细添加
|
|
|
if (tWarehousebillsitems != null) {
|
|
|
JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
|
|
|
List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
|
|
|
for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
|
|
|
wbItem.setfPid(fPid);
|
|
|
+ wbItem.setfMarks(warehouseBills.getfMarks());
|
|
|
+ wbItem.setfMblno(warehouseBills.getfMblno());
|
|
|
wbItem.setCreateBy(loginUser.getUser().getUserName());
|
|
|
wbItem.setCreateTime(new Date());
|
|
|
tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
|
|
@@ -390,13 +405,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
|
|
|
// 检验 数量*单价=金额
|
|
|
- if (wbDr.getfQty() != null && !wbDr.getfQty().equals("")
|
|
|
- && wbDr.getfUnitprice() != null && !wbDr.getfUnitprice().equals("")) {
|
|
|
- BigDecimal fqty = wbDr.getfQty();
|
|
|
- BigDecimal funitprice = wbDr.getfUnitprice();
|
|
|
- Long result = check(fqty, funitprice);
|
|
|
- wbDr.setfAmount(result);
|
|
|
- }
|
|
|
wbDr.setfPid(fPid);
|
|
|
wbDr.setfDc("D");
|
|
|
wbDr.setCreateBy(loginUser.getUser().getUserName());
|
|
@@ -409,14 +417,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
|
|
|
List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
|
|
|
- // 检验 数量*单价=金额
|
|
|
- /*if (wbCr.getfQty() != null && !wbCr.getfQty().equals("")
|
|
|
- && wbCr.getfUnitprice() != null && !wbCr.getfUnitprice().equals("")) {
|
|
|
- BigDecimal fqty = wbCr.getfQty();
|
|
|
- BigDecimal funitprice = wbCr.getfUnitprice();
|
|
|
- Long result = check(fqty, funitprice);
|
|
|
- wbCr.setfAmount(result);
|
|
|
- }*/
|
|
|
wbCr.setfPid(fPid);
|
|
|
wbCr.setfDc("C");
|
|
|
wbCr.setCreateBy(loginUser.getUser().getUserName());
|
|
@@ -424,22 +424,19 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
// 入库 收费明细 校验
|
|
|
- public Long check (BigDecimal number ,BigDecimal unitPrice){
|
|
|
- BigDecimal result1 = number.multiply(unitPrice);
|
|
|
+ public Long check(BigDecimal number, BigDecimal unitPrice) {
|
|
|
+ BigDecimal result1 = number.multiply(unitPrice);
|
|
|
// 保留两位小数且四舍五入
|
|
|
result1 = result1.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
// 转换去掉小数点
|
|
|
- String result=result1.toString().replace(".","");
|
|
|
+ String result = result1.toString().replace(".", "");
|
|
|
return Long.valueOf(result);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 修改详情主表
|
|
|
*
|