Browse Source

1021

master
wangpengfei 8 months ago
parent
commit
9823ffc065
  1. 2
      src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java
  2. 6
      src/main/java/com/yxt/warehouse/biz/inventoryadjustment/InventoryAdjustmentMapper.xml
  3. 4
      src/main/java/com/yxt/warehouse/biz/inventoryadjustment/InventoryAdjustmentService.java
  4. 2
      src/main/java/com/yxt/warehouse/biz/inventoryadjustmentdetail/InventoryAdjustmentDetailMapper.xml
  5. 1
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailMapper.java
  6. 11
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailMapper.xml
  7. 4
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java
  8. 3
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsListDetailsVo.java
  9. 26
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/ProjectDetailsVo.java
  10. 2
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoMapper.java
  11. 2
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoMapper.xml
  12. 48
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoService.java
  13. 2
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.java
  14. 21
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.xml
  15. 20
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryService.java
  16. 2
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryVo.java
  17. 2
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java
  18. 93
      src/main/java/com/yxt/warehouse/utils/DoubleUtils.java

2
src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java

@ -34,7 +34,7 @@ public class WarehouseInfoRest {
return wmsWarehouseService.listPage(pq);
}
@PostMapping("/list")
public ResultBean<List<WarehouseInfo>> list(@RequestBody WarehouseInfoMapQuery query) {
public ResultBean<List<ProjectDetailsVo>> list(@RequestBody WarehouseInfoMapQuery query) {
return wmsWarehouseService.listQuery(query);
}
@ApiOperation("查询所有的仓库")

6
src/main/java/com/yxt/warehouse/biz/inventoryadjustment/InventoryAdjustmentMapper.xml

@ -31,13 +31,13 @@
where a.sid =#{sid}
</select>
<update id="deleteByBillSid">
delete inventory_adjustment
<delete id="deleteByBillSid">
delete from inventory_adjustment
where sid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</delete>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from inventory_adjustment

4
src/main/java/com/yxt/warehouse/biz/inventoryadjustment/InventoryAdjustmentService.java

@ -178,6 +178,10 @@ public class InventoryAdjustmentService extends MybatisBaseService<InventoryAdju
InventoryAdjustment inventoryAdjustment=baseMapper.selectOne(new QueryWrapper<InventoryAdjustment>().eq("sid",w.getBillSid()));
inventoryAdjustment.setState(3);
baseMapper.updateById(inventoryAdjustment);
}else{
InventoryAdjustment inventoryAdjustment=baseMapper.selectOne(new QueryWrapper<InventoryAdjustment>().eq("sid",w.getBillSid()));
inventoryAdjustment.setState(2);
baseMapper.updateById(inventoryAdjustment);
}
return rb.success().setData("成功");
}

2
src/main/java/com/yxt/warehouse/biz/inventoryadjustmentdetail/InventoryAdjustmentDetailMapper.xml

@ -32,7 +32,7 @@
where a.sid =#{sid}
</select>
<update id="deleteByBillSid">
delete inventory_adjustment_detail
delete from inventory_adjustment_detail
where billSid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}

1
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailMapper.java

@ -25,4 +25,5 @@ public interface WarehouseAnsBillDetailMapper extends BaseMapper<WarehouseAnsBil
List<WarehouseAnsListDetailsVo> selectByBillSid(String sid);
WarehouseAnsListDetailsVo selCountBySkuSid(String sid);
WarehouseAnsListDetailsVo selCountBySpuSid(String sid);
WarehouseAnsListDetailsVo selCount(@Param("orgSid") String orgSid);
}

11
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailMapper.xml

@ -39,5 +39,16 @@
from warehouse_ans_bill_detail a
where a.goodsSpusid =#{sid}
</select>
<select id="selCount" resultType="com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo">
SELECT
sum(waitInCount) as totalInTransitSummary,
sum(waitInCount*price) as inTransitSummaryMoney
FROM
warehouse_ans_bill_detail a
LEFT JOIN warehouse_ans_bill b ON b.sid = a.sourceBillSid
LEFT JOIN ss_user.sys_organization AS s ON b.useOrgSid = s.sid
WHERE
s.orgSidPath like concat('%',#{orgSid},'%')
</select>
</mapper>

4
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java

@ -146,4 +146,8 @@ public class WarehouseAnsBillDetailService extends MybatisBaseService<WarehouseA
WarehouseAnsListDetailsVo vo=baseMapper.selCountBySpuSid(sid);
return vo;
}
public WarehouseAnsListDetailsVo selCount(String sid) {
WarehouseAnsListDetailsVo vo=baseMapper.selCount(sid);
return vo;
}
}

3
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsListDetailsVo.java

@ -37,7 +37,8 @@ public class WarehouseAnsListDetailsVo {
private double price;//单价
private double totalPrice;//总价
private String batch;//批次
private BigDecimal totalInTransitSummary;
private BigDecimal inTransitSummaryMoney;

26
src/main/java/com/yxt/warehouse/biz/warehouseinfo/ProjectDetailsVo.java

@ -0,0 +1,26 @@
package com.yxt.warehouse.biz.warehouseinfo;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/10/17 15:17
*/
@Data
public class ProjectDetailsVo {
private String sid;
private String warehouseName;//仓库名称
private String warehouseCode;//仓库编码
private String contacts;//联系人
private String mob;//手机
private String telephone;//联系电话
private String manager;//主管
private String address;//地址
private String lngAndLat;//经纬度
private String longitude;//经度
private String latitude;//纬度
private String squareMeter;//平方米
private String supplierName;
private String supplierType;
private String goodsDetail;
}

2
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoMapper.java

@ -18,7 +18,7 @@ import java.util.List;
@Mapper
public interface WarehouseInfoMapper extends BaseMapper<WarehouseInfo> {
IPage<WarehouseInfoVo> listPage(IPage<WarehouseInfo> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInfo> qw);
List<WarehouseInfo> listQuery( @Param(Constants.WRAPPER) QueryWrapper<WarehouseInfo> qw);
List<ProjectDetailsVo> listQuery( @Param(Constants.WRAPPER) QueryWrapper<WarehouseInfo> qw);
int updateBySidIsDelete(List<String> list);
@Select("select * from wms_warehouse_info")

2
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoMapper.xml

@ -13,7 +13,7 @@
${ew.sqlSegment}
</where>
</select>
<select id="listQuery" resultType="com.yxt.warehouse.biz.warehouseinfo.WarehouseInfo">
<select id="listQuery" resultType="com.yxt.warehouse.biz.warehouseinfo.ProjectDetailsVo">
select
a.*
from warehouse_info a

48
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoService.java

@ -10,12 +10,21 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBill;
import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillService;
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetail;
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailService;
import com.yxt.warehouse.biz.warehousearea.WarehouseAreaAllVo;
import com.yxt.warehouse.biz.warehouseareatype.WarehouseAreaType;
import com.yxt.warehouse.biz.warehouseextend.WarehouseExtend;
import com.yxt.warehouse.biz.warehouseextend.WarehouseExtendService;
import com.yxt.warehouse.biz.warehouseextend.WarehouseExtendVo;
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecord;
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
import com.yxt.warehouse.biz.warehouserack.WarehouseRackVo;
import com.yxt.warehouse.utils.DoubleUtils;
import com.yxt.warehouse.utils.OrgPathQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -37,6 +46,12 @@ public class WarehouseInfoService extends MybatisBaseService<WarehouseInfoMapper
@Autowired
WarehouseExtendService wmsWarehouseExtendService;
@Autowired
WarehouseInventoryService warehouseInventoryService;
@Autowired
WarehouseInventoryRecordService warehouseInventoryRecordService;
@Autowired
PurchaseInventoryBillDetailService purchaseInventoryBillDetailService;
public ResultBean<PagerVo<WarehouseInfoVo>> listPage(PagerQuery<WarehouseInfoQuery> pq) {
ResultBean rb = ResultBean.fireFail();
@ -83,15 +98,42 @@ public class WarehouseInfoService extends MybatisBaseService<WarehouseInfoMapper
return rb.success().setData(p);
}
public ResultBean<List<WarehouseInfo>> listQuery(WarehouseInfoMapQuery query) {
public ResultBean<List<ProjectDetailsVo>> listQuery(WarehouseInfoMapQuery query) {
ResultBean rb = ResultBean.fireFail();
QueryWrapper<WarehouseInfo> qw = new QueryWrapper<>();
qw.like("s.orgSidPath", query.getOrgPath());
if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getName())) {
qw.like("a.warehouseName", query.getName());
}
List<WarehouseInfo> storeInfos = baseMapper.listQuery(qw);
for (WarehouseInfo storeInfo : storeInfos) {
List<ProjectDetailsVo> storeInfos = baseMapper.listQuery(qw);
for (ProjectDetailsVo storeInfo : storeInfos) {
List<WarehouseInventory> warehouseInventories=warehouseInventoryService.list(new QueryWrapper<WarehouseInventory>().eq("warehouseSid",storeInfo.getSid()));
if (warehouseInventories.size()!=0){
List<WarehouseInventoryRecord> list=warehouseInventoryRecordService.list(new QueryWrapper<WarehouseInventoryRecord>()
.eq("inventorySid",warehouseInventories.get(0).getSid()).eq("billType","1"));
if(list.size()!=0){
storeInfo.setSupplierName(list.get(0).getBillObjName());
List<PurchaseInventoryBillDetail>details=purchaseInventoryBillDetailService.list(new QueryWrapper<PurchaseInventoryBillDetail>()
.eq("sourceBillSid",list.get(0).getSourceBillSid()));
for (PurchaseInventoryBillDetail detail : details) {
if(StringUtils.isBlank(storeInfo.getGoodsDetail())){
Double s=detail.getCount();
if(StringUtils.isNotBlank(detail.getGoodsSkuTitle())){
storeInfo.setGoodsDetail(detail.getGoodsSkuTitle()+":"+ DoubleUtils.removeZeros(s.toString())+detail.getUnit());
}else{
storeInfo.setGoodsDetail(detail.getGoodsSkuCode()+":"+DoubleUtils.removeZeros(s.toString())+detail.getUnit());
}
}else{
Double s=detail.getCount();
if(StringUtils.isNotBlank(detail.getGoodsSkuTitle())){
storeInfo.setGoodsDetail(","+detail.getGoodsSkuTitle()+":"+DoubleUtils.removeZeros(s.toString())+detail.getUnit());
}else{
storeInfo.setGoodsDetail(","+detail.getGoodsSkuCode()+":"+DoubleUtils.removeZeros(s.toString())+detail.getUnit());
}
}
}
}
}
if(StringUtils.isNotBlank(storeInfo.getLngAndLat())){
String []w=storeInfo.getLngAndLat().split(",");
storeInfo.setLatitude(w[1]);

2
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.java

@ -25,7 +25,7 @@ public interface WarehouseInventoryMapper extends BaseMapper<WarehouseInventory>
List<WarehouseInventoryVo> getListBySpuSid1(@Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw,@Param("countStart") String countStart,@Param("countEnd") String countEnd);
List<WarehouseInventoryRackVo> getRackCountBySid(@Param("sid")String sid,@Param("orgSid") String orgSid);
List<WarehouseInventoryRackVo> getRackCountBySid1(@Param("sid")String sid,@Param("orgSid") String orgSid);
WarehouseInventoryVo selCountByOrgSid(@Param("orgSid") String orgSid);
WarehouseInventoryVo initialization(@Param("sid") String sid);
int updatePrice1(@Param("price") String price, @Param("list") List<String> stringList);

21
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.xml

@ -9,10 +9,6 @@
a.goodsSpuName,
a.goodsSpuSid,
a.unit,
-- sum(a.count) as count ,
-- sum(a.allocateCount) as allocateCount,
-- sum(a.count-a.allocateCount) as useCount,
-- sum(a.freezeCount) as freezeCount,
a.batchNumber,
a.goodsTypeName as typeName
from warehouse_inventory a
@ -52,11 +48,14 @@
left join warehouse_rack b on b.sid =a.warehouseRackSid
LEFT JOIN ss_user.sys_organization as s ON a.useOrgSid = s.sid
left join warehouse_area d on d.sid =b.locationSid
LEFT JOIN warehouse_area_warning c ON c.warehouseAreaSid = b.locationSid
LEFT JOIN warehouse_area_warning c ON c.warehouseAreaSid = b.locationSid and c.goodsSpuSid =a.goodsSpuSid
<where>
${ew.sqlSegment}
</where>
group by a.goodsSpuSid
group by
d.sid,
a.goodsSpuSid
ORDER BY d.sid
</select>
<select id="listPage3" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
select
@ -517,6 +516,16 @@
a.goodsSkuSid = #{sid} and
a.useOrgSid=#{orgSid}
</select>
<select id="selCountByOrgSid" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
SELECT
sum(( count - allocateCount - pickCount - freezeCount )* cost) AS useCountMoney,
sum(( count - allocateCount - pickCount - freezeCount )) AS totalUseCount
FROM
warehouse_inventory a
LEFT JOIN ss_user.sys_organization AS s ON a.useOrgSid = s.sid
WHERE
s.orgSidPath like concat('%',#{orgSid},'%')
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (goodsID, 4)
from warehouse_inventory

20
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryService.java

@ -147,7 +147,27 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
.add(record.getWorkOrderInTransit()));
record.setChildren(vos);
}
WarehouseInventoryVo vo=baseMapper.selCountByOrgSid(query.getOrgPath());
PagerVo<WarehouseInventoryVo> p = PagerUtil.pageToVo(pagging, null);
Map<String,Object> map=new HashMap<>();
if(null!=vo){
map.put("totalUseCount",vo.getTotalUseCount());
map.put("useCountMoney",vo.getUseCountMoney());
}else{
map.put("totalUseCount",new BigDecimal(0));
map.put("useCountMoney",new BigDecimal(0));
}
WarehouseAnsListDetailsVo vo1= warehouseAnsBillDetailService.selCount(query.getOrgPath());
if(null!=vo1){
map.put("totalInTransitSummary",vo1.getTotalInTransitSummary());
map.put("inTransitSummaryMoney",vo1.getInTransitSummaryMoney());
}else{
map.put("totalInTransitSummary",new BigDecimal(0));
map.put("inTransitSummaryMoney",new BigDecimal(0));
}
p.setMap(map);
return rb.success().setData(p);
}
public ResultBean<PagerVo<WarehouseInventoryVo>> locationListPage(PagerQuery<WarehouseInventoryQuery> pq) {

2
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryVo.java

@ -76,5 +76,7 @@ public class WarehouseInventoryVo implements Vo {
private String alertUpperLimit;//上限
private String warningLowerLimit;//下限
private List<WarehouseInventoryVo> children=new ArrayList<>();
private BigDecimal totalUseCount;
private BigDecimal useCountMoney;
}

2
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java

@ -247,7 +247,7 @@ public class WarehouseInventoryRecordService extends MybatisBaseService<Warehous
return rb.success().setData(p);
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getBillType())) {
qw.like("a.busTypeValue", query.getBillType());
qw.like("a.billType", query.getBillType());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("a.goodsSkuTitle", query.getGoodsSpuName());

93
src/main/java/com/yxt/warehouse/utils/DoubleUtils.java

@ -0,0 +1,93 @@
package com.yxt.warehouse.utils;
import java.math.BigDecimal;
/**
* @author wangpengfei
* @date 2024/1/24 8:53
*/
public class DoubleUtils {
/**
* 对double数据进行取精度.
* @param value double数据.
* @param scale 精度位数(保留的小数位数).
* @param roundingMode 精度取值方式.
* @return 精度计算后的数据.
*/
public static double round(double value, int scale,
int roundingMode) {
BigDecimal bd = BigDecimal.valueOf(value);
bd = bd.setScale(scale, roundingMode);
double d = bd.doubleValue();
bd = null;
return d;
}
/**
* double 相加
* @param d1
* @param d2
* @return
*/
public static double sum(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.add(bd2).doubleValue();
}
/**
* double 相减
* @param d1
* @param d2
* @return
*/
public static double sub(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.subtract(bd2).doubleValue();
}
/**
* double 乘法
* @param d1
* @param d2
* @return
*/
public static double mul(double d1, double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.multiply(bd2).doubleValue();
}
/**
* double 除法
* @param d1
* @param d2
* @param scale 四舍五入 小数点位数
* @return
*/
public static double div(double d1,double d2,int scale){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.divide
(bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 去除多余.0
* @param num
* @return
*/
public static String removeZeros(String num) {
if (num.indexOf(".") > 0) {
// 去掉多余的0
num = num.replaceAll("0+?$", "");
// 如果最后一位是. 则去掉
num = num.replaceAll("[.]$", "");
}
return num;
}
}
Loading…
Cancel
Save