|
|
@ -16,6 +16,10 @@ import com.yxt.warehouse.biz.inventoryadjustmentdetail.InventoryAdjustmentDetail |
|
|
|
import com.yxt.warehouse.biz.inventoryadjustmentdetail.InventoryAdjustmentDetailService; |
|
|
|
import com.yxt.warehouse.biz.inventoryadjustmentdetail.InventoryAdjustmentDetailVo; |
|
|
|
import com.yxt.warehouse.biz.warehouseinfo.WarehouseInfoVo; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventory.AvailableCountVo; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryDto; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService; |
|
|
|
import com.yxt.warehouse.utils.ExcelUtil; |
|
|
|
import com.yxt.warehouse.utils.OrgPathQuery; |
|
|
|
import com.yxt.warehouse.utils.Rule; |
|
|
@ -24,6 +28,7 @@ import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
@ -36,51 +41,53 @@ public class InventoryAdjustmentService extends MybatisBaseService<InventoryAdju |
|
|
|
|
|
|
|
@Autowired |
|
|
|
InventoryAdjustmentDetailService inventoryAdjustmentDetailService; |
|
|
|
@Autowired |
|
|
|
WarehouseInventoryService warehouseInventoryService; |
|
|
|
public ResultBean<PagerVo<InventoryAdjustmentVo>> listPage(PagerQuery<InventoryAdjustmentQuery> pq) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
InventoryAdjustmentQuery query = pq.getParams(); |
|
|
|
QueryWrapper<InventoryAdjustment> qw = new QueryWrapper<>(); |
|
|
|
|
|
|
|
// if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
|
|
|
// //数据权限ID(1全部、2本部门及子部门、3本部门、4个人)
|
|
|
|
// String orgLevelKey=query.getOrgLevelKey();
|
|
|
|
// String orgSidPath=query.getOrgPath();
|
|
|
|
// int index=query.getIndex();
|
|
|
|
// if ("1".equals(orgLevelKey)) {
|
|
|
|
// orgSidPath = orgSidPath.substring(0, index);
|
|
|
|
// qw.like("s.orgSidPath", orgSidPath);
|
|
|
|
// } else if ("2".equals(orgLevelKey)) {
|
|
|
|
// orgSidPath = orgSidPath.substring(0, index);
|
|
|
|
// qw.like("s.orgSidPath", orgSidPath);
|
|
|
|
// } else if ("3".equals(orgLevelKey)) {
|
|
|
|
// orgSidPath = orgSidPath.substring(0, index);
|
|
|
|
// qw.apply("s.orgSidPath like('"+orgSidPath+"')");
|
|
|
|
// } else if ("4".equals(orgLevelKey)) {
|
|
|
|
// qw.eq("a.createBySid", query.getUserSid());
|
|
|
|
// } else {
|
|
|
|
// PagerVo<WarehouseInfoVo> p = new PagerVo<>();
|
|
|
|
// return rb.success().setData(p);
|
|
|
|
// }
|
|
|
|
// } else {
|
|
|
|
// PagerVo<WarehouseInfoVo> p = new PagerVo<>();
|
|
|
|
// return rb.success().setData(p);
|
|
|
|
// }
|
|
|
|
if (StringUtils.isNotBlank(query.getOrgLevelKey())) { |
|
|
|
//数据权限ID(1全部、2本部门及子部门、3本部门、4个人)
|
|
|
|
String orgLevelKey=query.getOrgLevelKey(); |
|
|
|
String orgSidPath=query.getOrgPath(); |
|
|
|
int index=query.getIndex(); |
|
|
|
if ("1".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, index); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("2".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, index); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, index); |
|
|
|
qw.apply("s.orgSidPath like('"+orgSidPath+"')"); |
|
|
|
} else if ("4".equals(orgLevelKey)) { |
|
|
|
qw.eq("a.createBySid", query.getUserSid()); |
|
|
|
} else { |
|
|
|
PagerVo<WarehouseInfoVo> p = new PagerVo<>(); |
|
|
|
return rb.success().setData(p); |
|
|
|
} |
|
|
|
} else { |
|
|
|
PagerVo<WarehouseInfoVo> p = new PagerVo<>(); |
|
|
|
return rb.success().setData(p); |
|
|
|
} |
|
|
|
qw.apply(StringUtils.isNotBlank(query.getStartTime()), "date_format (a.createTime,'%Y-%m-%d') >= date_format('" + query.getStartTime() + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(query.getEndTime()), "date_format (a.createTime,'%Y-%m-%d') <= date_format('" + query.getEndTime() + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
if (StringUtils.isNotBlank(query.getBillNo())) { |
|
|
|
qw.like("a.areaName", query.getBillNo()); |
|
|
|
qw.like("a.billNo", query.getBillNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getGoodsSkuSid())) { |
|
|
|
qw.like("a.areaCode", query.getGoodsSkuSid()); |
|
|
|
qw.like("b.goodsSkuSid", query.getGoodsSkuSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getType())) { |
|
|
|
qw.eq("b.sid", query.getType()); |
|
|
|
qw.eq("a.type", query.getType()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getOperator())) { |
|
|
|
qw.eq("c.sid", query.getOperator()); |
|
|
|
qw.eq("a.operator", query.getOperator()); |
|
|
|
} |
|
|
|
qw.ne("a.isDelete", "1"); |
|
|
|
qw.ne("a.state", "3"); |
|
|
|
IPage<InventoryAdjustment> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<InventoryAdjustmentVo> pagging = baseMapper.listPage(page, qw); |
|
|
|
PagerVo<InventoryAdjustmentVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
@ -100,6 +107,9 @@ public class InventoryAdjustmentService extends MybatisBaseService<InventoryAdju |
|
|
|
InventoryAdjustment inventoryAdjustment = fetchBySid(dto.getSid()); |
|
|
|
BeanUtil.copyProperties(dto, inventoryAdjustment, "id", "sid"); |
|
|
|
inventoryAdjustment.setModifyTime(new Date()); |
|
|
|
if(inventoryAdjustment.getType().equals("数量调整")){ |
|
|
|
inventoryAdjustment.setType("1"); |
|
|
|
} |
|
|
|
baseMapper.updateById(inventoryAdjustment); |
|
|
|
// dto.getList().stream().forEach(a->{
|
|
|
|
// a.setBillNo(inventoryAdjustment.getBillNo());
|
|
|
@ -127,8 +137,12 @@ public class InventoryAdjustmentService extends MybatisBaseService<InventoryAdju |
|
|
|
a.setBillNo(inventoryAdjustment.getBillNo()); |
|
|
|
a.setBillSid(inventoryAdjustment.getSid()); |
|
|
|
a.setUserSid(dto.getUserSid()); |
|
|
|
// a.setBrandName();
|
|
|
|
}); |
|
|
|
inventoryAdjustmentDetailService.saveOrUpdate(dto.getList()); |
|
|
|
if(inventoryAdjustment.getType().equals("数量调整")){ |
|
|
|
inventoryAdjustment.setType("1"); |
|
|
|
} |
|
|
|
baseMapper.insert(inventoryAdjustment); |
|
|
|
} |
|
|
|
return rb.success().setMsg("成功"); |
|
|
@ -145,5 +159,26 @@ public class InventoryAdjustmentService extends MybatisBaseService<InventoryAdju |
|
|
|
int count = baseMapper.deleteByBillSid(Arrays.stream(sids).collect(Collectors.toList())); |
|
|
|
inventoryAdjustmentDetailService.delAll(sids); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean adjustment(adjustmentDto dto) { |
|
|
|
ResultBean rb =new ResultBean().fail(); |
|
|
|
for (adjustmentDetail adjustmentDetail: dto.getList()) { |
|
|
|
WarehouseInventory warehouseInventory=warehouseInventoryService.getOne(new QueryWrapper<WarehouseInventory>().eq("sid",adjustmentDetail.getInventorySid())); |
|
|
|
warehouseInventory.setCount(warehouseInventory.getCount().add(adjustmentDetail.getCount()));; |
|
|
|
if(warehouseInventory.getCount().compareTo(new BigDecimal(0))==-1){ |
|
|
|
return rb.setMsg("库存可用小于差异量"); |
|
|
|
} |
|
|
|
warehouseInventoryService.updateById(warehouseInventory); |
|
|
|
} |
|
|
|
InventoryAdjustmentDetail w=inventoryAdjustmentDetailService.getOne(new QueryWrapper<InventoryAdjustmentDetail>().eq("sid",dto.getDetailSid())); |
|
|
|
w.setState(3); |
|
|
|
inventoryAdjustmentDetailService.updateById(w); |
|
|
|
List<InventoryAdjustmentDetail> ws=inventoryAdjustmentDetailService.list(new QueryWrapper<InventoryAdjustmentDetail>().eq("billSid",w.getBillSid())); |
|
|
|
List<InventoryAdjustmentDetail> wss=ws.stream().filter(s->s.getState().toString().equals("3")).collect(Collectors.toList()); |
|
|
|
if(ws.size()==wss.size()){ |
|
|
|
InventoryAdjustment inventoryAdjustment=baseMapper.selectOne(new QueryWrapper<InventoryAdjustment>().eq("sid",w.getBillSid())); |
|
|
|
inventoryAdjustment.setState(3); |
|
|
|
baseMapper.updateById(inventoryAdjustment); |
|
|
|
} |
|
|
|
return rb.success().setData("成功"); |
|
|
|
} |
|
|
|
} |
|
|
|