Browse Source

修改维修领料

master
fanzongzhe0036 2 months ago
parent
commit
66df9cd1dd
  1. 18
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml
  2. 5
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  3. 34
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java
  4. 8
      yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsGoodsRest.java
  5. 6
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoodsMapper.java
  6. 10
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoodsMapper.xml
  7. 4
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoodsService.java
  8. 15
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java
  9. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryVo.java
  10. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml
  11. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsgoods/SmsGoodsFeign.java

18
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml

@ -252,19 +252,21 @@
LEFT JOIN as_busrepair_inventorybill as i ON d.billSid = i.sid
LEFT JOIN as_busrepair_bill as b ON i.sourceBillSid = b.sid
LEFT JOIN as_busrepair_bill_vech as v ON v.billSid = b.sid
where d.operUserSid = #{userSid} and d.state = 1
where d.operUserSid = #{userSid} and d.state = 1 and d.isEnable = 1 and d.currentCount > 0
GROUP BY i.sourceBillSid) as a
</select>
<select id="selGoodsReceiveByBillSid"
resultType="com.yxt.anrui.as.api.asbusrepairbill.app.GoodsReceiveListVo">
SELECT d.sid,
d.count as num,
d.currentCount as num,
concat(d.goodsSpuName, '\n', d.goodsSkuCode) val
FROM as_busrepair_inventorybill_detail AS d
LEFT JOIN as_busrepair_inventorybill as i ON d.billSid = i.sid
WHERE d.state = 1
and i.sourceBillSid = #{sid}
and d.operUserSid =#{userSid}
and d.isEnable = 1
and d.currentCount > 0
</select>
<select id="notConfirmList2" resultType="com.yxt.anrui.as.api.asbusrepairbill.app.GoodsConfrimListVo">
SELECT
@ -282,7 +284,7 @@
as_busrepair_inventorybill_detail AS d
LEFT JOIN as_busrepair_inventorybill AS i ON d.billSid = i.sid
WHERE
i.sourceBillSid = a.sid
i.sourceBillSid = a.sid AND d.isEnable = 1 and d.currentCount > 0
) totalCount,
(
SELECT
@ -292,7 +294,7 @@
LEFT JOIN as_busrepair_inventorybill AS i ON d.billSid = i.sid
WHERE
i.sourceBillSid = a.sid
AND d.state = 2
AND d.state = 2 AND d.isEnable = 1 and d.currentCount > 0
) AS count
FROM
(
@ -337,7 +339,7 @@
as_busrepair_inventorybill_detail AS d
LEFT JOIN as_busrepair_inventorybill AS i ON d.billSid = i.sid
WHERE
i.sourceBillSid = a.sid
i.sourceBillSid = a.sid AND d.isEnable = 1 and d.currentCount > 0
) totalCount,
(
SELECT
@ -347,7 +349,7 @@
LEFT JOIN as_busrepair_inventorybill AS i ON d.billSid = i.sid
WHERE
i.sourceBillSid = a.sid
AND d.state = 2
AND d.state = 2 AND d.isEnable = 1 and d.currentCount > 0
) AS count
FROM
(
@ -377,14 +379,14 @@
<select id="goodsConfrimInfoList"
resultType="com.yxt.anrui.as.api.asbusrepairbill.app.GoodsConfrimDetailsVo">
SELECT d.goodsSpuName goodsName,
d.count,
d.currentCount `count`,
d.goodsSkuCode,
d.operName `user`,
IF
(d.state = 2, TRUE, FALSE) AS state
FROM as_busrepair_inventorybill_detail AS d
LEFT JOIN as_busrepair_inventorybill AS i ON d.billSid = i.sid
where i.sourceBillSid = #{sid}
where i.sourceBillSid = #{sid} and d.isEnable = 1 and d.currentCount > 0
</select>
<select id="appRepairs" resultType="com.yxt.anrui.as.api.asbusrepairbill.app.AppBusrepairBillVo">
SELECT

5
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -1397,10 +1397,11 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
QueryWrapper<AsBusrepairBill> qw = new QueryWrapper<>();
//ToDo:添加查询条件
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
@ -2116,6 +2117,8 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
);
}
qw.eq("d.state", 1);
qw.eq("d.isEnable = 1", 1);
qw.apply("d.currentCount > 0");
}
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<GoodsReceiveVo> pagging = baseMapper.notConfirmList(page, qw);

34
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java

@ -291,19 +291,18 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
List<AsBusrepairInventorybillDetailSDto> detailList = dto.getDetailList();
if (!detailList.isEmpty()) {
for (AsBusrepairInventorybillDetailSDto sDto : detailList) {
BigDecimal count = BigDecimal.ZERO;
if (StringUtils.isNotBlank(sDto.getCount())) {
count = new BigDecimal(sDto.getCount());
}
if (count.compareTo(BigDecimal.ZERO) > 0) {
AsBusrepairInventorybillDetail detail = new AsBusrepairInventorybillDetail();
BeanUtil.copyProperties(sDto, detail,"id","sid");
// if (StringUtils.isNotBlank(sDto.getOutboundCount())) {
// detail.setCurrentCount(new BigDecimal(sDto.getOutboundCount()));
// }
if (isEnable == 1) {
if (StringUtils.isNotBlank(sDto.getCount())) {
detail.setCurrentCount(new BigDecimal(sDto.getCount()));
}
detail.setCurrentCount(count);
} else if (isEnable == 2) {
String sid = sDto.getSid();
AsBusrepairInventorybillDetail detailUpdate = asBusrepairInventorybillDetailService.fetchBySid(sid);
BigDecimal count = BigDecimal.ZERO;
BigDecimal currentCount = BigDecimal.ZERO;
BigDecimal discount = BigDecimal.ZERO;//折扣
BigDecimal cost = BigDecimal.ZERO;//成本单价
@ -312,9 +311,6 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
if (null != detailUpdate.getCurrentCount()) {
currentCount = detailUpdate.getCurrentCount();
}
if (StringUtils.isNotBlank(sDto.getCount())) {
count = new BigDecimal(sDto.getCount());
}
if (null != detailUpdate.getDiscount()) {
discount = new BigDecimal(detailUpdate.getDiscount()).multiply(new BigDecimal("0.1"));
}
@ -341,10 +337,16 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
detail.setBillSid(entity.getSid());
String inventorySid = sDto.getInventorySid();
WmsInventory inventory = wmsInventoryFeign.fetchEntityBySid(inventorySid).getData();
//销售价
// BigDecimal goodsPrice = new BigDecimal(sDto.getPrice()).multiply(new BigDecimal(sDto.getDiscount())).multiply(new BigDecimal("0.1"));
BigDecimal goodsPrice = new BigDecimal(sDto.getPrice());
//税率
BigDecimal taxRate = BigDecimal.ZERO;
if (null != inventory) {
if (null != inventory.getTaxRate()) {
if (inventory.getTaxRate().compareTo(BigDecimal.ZERO) > 0) {
detail.setIsTaxRate(1);
taxRate = inventory.getTaxRate();
} else {
detail.setIsTaxRate(0);
}
@ -394,7 +396,7 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
countQuery.setAddOrReduce(1);
WmsInventoryRecordDto recordDto = new WmsInventoryRecordDto();
BigDecimal wiCount = inventory.getCount();
BigDecimal subtractCount = wiCount.subtract(new BigDecimal(sDto.getCount()));
BigDecimal subtractCount = wiCount.subtract(count);
recordDto.setInventorySid(inventorySid);
recordDto.setCreateBySid(dto.getCreateBySid());
recordDto.setUseOrgSid(dto.getDeptSid());
@ -412,13 +414,16 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
recordDto.setCurrentCount(subtractCount.toString());
recordDto.setCustomerSid(customerSid);
recordDto.setCustomerName(customerName);
recordDto.setTaxRate(taxRate.toString());
recordDto.setCost(goodsPrice.toString());
recordDto.setAmount(goodsPrice.multiply(count).toString());
wmsInventoryRecordFeign.save(recordDto);
} else if (busTypeKey.equals("1")) {
//维修退库
countQuery.setAddOrReduce(0);
WmsInventoryRecordDto recordDto = new WmsInventoryRecordDto();
BigDecimal wiCount = inventory.getCount();
BigDecimal add = wiCount.add(new BigDecimal(sDto.getCount()));
BigDecimal add = wiCount.add(count);
recordDto.setInventorySid(inventorySid);
recordDto.setCreateBySid(dto.getCreateBySid());
recordDto.setUseOrgSid(dto.getDeptSid());
@ -436,10 +441,15 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
recordDto.setCurrentCount(add.toString());
recordDto.setCustomerSid(customerSid);
recordDto.setCustomerName(customerName);
recordDto.setTaxRate(taxRate.toString());
recordDto.setCost(goodsPrice.toString());
recordDto.setAmount(goodsPrice.multiply(count).toString());
wmsInventoryRecordFeign.save(recordDto);
}
wmsInventoryFeign.updateInventoryCount(countQuery);
}
}
}
return entity.getSid();
}

8
yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsGoodsRest.java

@ -39,4 +39,12 @@ public class SmsGoodsRest {
return rb.success().setData(sid);
}
@ApiOperation("根据goodsID,useOrgSis获取销售价")
@GetMapping("/selPriceByGoodsIDUserOrgSid")
public ResultBean<String> selPriceByGoodsIDUserOrgSid(@RequestParam("goodsID") String goodsID,@RequestParam("useOrgSid") String useOrgSid) {
ResultBean rb = ResultBean.fireFail();
String price = smsGoodsService.selPriceByGoodsIDUserOrgSid(goodsID,useOrgSid);
return rb.success().setData(price);
}
}

6
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoodsMapper.java

@ -25,11 +25,7 @@
*********************************************************/
package com.yxt.sms.biz.smsgoods;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.sms.biz.smspricestrategy.SmsPricestrategyVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -49,4 +45,6 @@ public interface SmsGoodsMapper extends BaseMapper<SmsGoods> {
@Update("update sms_goods set price = #{price} where sid = #{sid}")
void updateSalesPrice(@Param("sid") String sid,@Param("price") String price);
String selPriceByGoodsIDUserOrgSid(@Param("goodsID") String goodsID, @Param("useOrgSid")String useOrgSid);
}

10
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoodsMapper.xml

@ -4,4 +4,14 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selPriceByGoodsIDUserOrgSid" resultType="java.lang.String">
SELECT
s.price
FROM
sms_goods AS s
WHERE
s.goodsID = #{goodsID}
AND s.useOrgSid = #{useOrgSid}
ORDER BY s.createTime DESC LIMIT 1
</select>
</mapper>

4
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoodsService.java

@ -63,4 +63,8 @@ public class SmsGoodsService extends MybatisBaseService<SmsGoodsMapper, SmsGoods
public void updateSalesPrice(String sid, String price) {
baseMapper.updateSalesPrice(sid, price);
}
public String selPriceByGoodsIDUserOrgSid(String goodsID, String useOrgSid) {
return baseMapper.selPriceByGoodsIDUserOrgSid(goodsID,useOrgSid);
}
}

15
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java

@ -39,6 +39,7 @@ import com.yxt.wms.biz.inventory.wmsinventoryrecord.report.*;
import com.yxt.wms.biz.inventory.wmsoldinventory.WmsOldInventoryDetailsListVo;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.sms.smsgoods.SmsGoodsFeign;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -71,7 +72,8 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
private WmsInventoryService wmsInventoryService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SmsGoodsFeign smsGoodsFeign;
private QueryWrapper<WmsInventoryRecord> createQueryWrapper(WmsInventoryRecordQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -100,6 +102,13 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
public void insertByDto(WmsInventoryRecordDto dto) {
WmsInventoryRecord entity = new WmsInventoryRecord();
BeanUtil.copyProperties(dto, entity, "id", "sid");
String price = smsGoodsFeign.selPriceByGoodsIDUserOrgSid(dto.getGoodsID(), dto.getUseOrgSid()).getData();
if (StringUtils.isNotBlank(price)) {
entity.setGuidPrice(new BigDecimal(price));
}
if (StringUtils.isNotBlank(dto.getTaxRate())) {
entity.setTax(new BigDecimal(dto.getTaxRate()));
}
baseMapper.insert(entity);
}
@ -436,6 +445,10 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
if (StringUtils.isNotBlank(dto.getTaxRate())) {
inventoryRecord.setTax(new BigDecimal(dto.getTaxRate()));
}
String price = smsGoodsFeign.selPriceByGoodsIDUserOrgSid(dto.getGoodsID(), dto.getUseOrgSid()).getData();
if (StringUtils.isNotBlank(price)) {
inventoryRecord.setGuidPrice(new BigDecimal(price));
}
baseMapper.insert(inventoryRecord);
}

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryVo.java

@ -38,8 +38,9 @@ public class WmsOutBillInventoryVo {
private String warehouseRackCode;
private String price;//销售单价
private String cost;//入库单价
private String outboundCount;// 已出库数量
//入库单
//销售
private String money;
//库存数量
private String count;

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml

@ -46,7 +46,7 @@
wi.count,
wi.sid inventorySid,
wi.supplierName,
-- wi.cost as money
wi.cost,
s.price as money
from wms_inventory wi
LEFT JOIN yxt_wms.wms_warehouse_info as wh ON wh.sid = wi.warehouseSid

6
yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsgoods/SmsGoodsFeign.java

@ -3,8 +3,10 @@ package com.yxt.wms.feign.sms.smsgoods;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description:
@ -21,4 +23,8 @@ public interface SmsGoodsFeign {
@ApiOperation("保存修改")
@PostMapping("/saveSmsGoods")
public ResultBean<String> saveSmsGoods(@RequestBody SmsGoodsDto dto);
@ApiOperation("根据goodsID,useOrgSis获取销售价")
@GetMapping("/selPriceByGoodsIDUserOrgSid")
public ResultBean<String> selPriceByGoodsIDUserOrgSid(@RequestParam("goodsID") String goodsID, @RequestParam("useOrgSid") String useOrgSid);
}

Loading…
Cancel
Save