Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 6 months ago
parent
commit
bc96c5263f
  1. 3
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillsitemrepairer/AsBusrepairBillSitemRepairer.java
  2. 153
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  3. 5
      yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.java
  4. 12
      yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.xml
  5. 10
      yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailService.java
  6. 8
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java
  7. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java
  8. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  9. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  10. 92
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/InventoryRecordDto.java
  11. 54
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java

3
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillsitemrepairer/AsBusrepairBillSitemRepairer.java

@ -5,6 +5,7 @@ import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.hpsf.Decimal;
import java.math.BigDecimal;
@ -30,6 +31,8 @@ public class AsBusrepairBillSitemRepairer extends BaseEntity {
private String groupSid;
@ApiModelProperty("所在班组名称")
private String groupName;
@ApiModelProperty("维修提成")
private BigDecimal commission;

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

@ -45,6 +45,7 @@ import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRep
import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService;
import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService;
import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService;
import com.yxt.anrui.as.biz.astechtitledetail.AsTechTitleDetailService;
import com.yxt.anrui.as.biz.astrackbill.AsTrackBillService;
import com.yxt.anrui.as.feign.crm.CrmCustomerTemp;
import com.yxt.anrui.as.feign.crm.CrmCustomerTempFeign;
@ -150,6 +151,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
private AsBillSettelApplyService asBillSettelApplyService;
@Autowired
private AsBusrepairBillAitemspecService asBusrepairBillAitemspecService;
@Autowired
private AsTechTitleDetailService asTechTitleDetailService;
/**
* 维修领料获取派工单
*
@ -196,7 +200,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
AsBusrepairBill asBusrepairBill = fetchBySid(sid);
BigDecimal ysMoney = finUncollectedReceivablesDetailedFeign.selYsByBillSid(sid).getData();
BigDecimal rkMoney = finSelectedReceivablesDetailedFeign.selRkByBillSid(sid).getData();
if (rkMoney.compareTo(ysMoney) < 0){
if (rkMoney.compareTo(ysMoney) < 0) {
return rb.setMsg(asBusrepairBill.getBillNo() + "该维修单尚未收款,不能出厂!");
}
}
@ -721,7 +725,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
vo.setAitemVos(aitemVos);
}
List<AsBusrepairInventorybillDetail> goodsDetails = asBusrepairInventorybillDetailService.getGoodsDetailsByBillSid(sid);
DecimalFormat df2 =new DecimalFormat("#.00");
DecimalFormat df2 = new DecimalFormat("#.00");
if (!goodsDetails.isEmpty()) {
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) {
GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo();
@ -1067,7 +1071,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
if (StringUtils.isNotBlank(query.getIsInvoicing())) {
qw.eq("i.isInvoicing", query.getIsInvoicing());
}
qw.eq("b.outDoorState",2);
qw.eq("b.outDoorState", 2);
qw.orderByDesc("b.createTime");
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw);
@ -1193,11 +1197,11 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
if (StringUtils.isNotBlank(query.getIsInvoicing())) {
qw.eq("i.isInvoicing", query.getIsInvoicing());
}
if (StringUtils.isNotBlank(query.getName())){
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("b.billNo", query.getName()).or().like("b.billType", query.getName()).or().like("b.subject", query.getName()).or().like("b.customerName", query.getName()).or().like("v.vinNo", query.getName()).or().like("v.vehMark", query.getName()).or().like("b.nodeName", query.getName()));
}
qw.eq("b.outDoorState",2);
qw.eq("b.isOutFactory",0);
qw.eq("b.outDoorState", 2);
qw.eq("b.isOutFactory", 0);
qw.orderByDesc("b.createTime");
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw);
@ -1438,6 +1442,54 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
String sid = dto.getSid();
AsBusrepairBill asBusrepairBill = fetchBySid(sid);
if (asBusrepairBill.getNodeCode() == 5) {
//计算工时提成分配维修人员
List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid);
if (sitems != null) {
if (!sitems.isEmpty()) {
for (AsBusrepairBillSitem sitem : sitems) {
BigDecimal examineHourPrice = BigDecimal.ZERO;
if (null != sitem.getExamineHourPrice()) {
examineHourPrice = sitem.getExamineHourPrice();
}
if (examineHourPrice.compareTo(BigDecimal.ZERO) > 0) {
String billSid = sitem.getBillSid();
String serviceItemSid = sitem.getServiceItemSid();
List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillSitemRepairerService.fetchByBillSid(billSid, serviceItemSid);
if (null != repairers) {
if (!repairers.isEmpty()) {
//查询权重之和
BigDecimal sum = BigDecimal.ZERO;
Map<String, BigDecimal> map = new HashMap<>();
for (AsBusrepairBillSitemRepairer repairer : repairers) {
String rSid = repairer.getSid();
String pSid = repairer.getRepairerSid();
BigDecimal weight = BigDecimal.ZERO;
String w = asTechTitleDetailService.selWeightByUserSid(pSid);
if (StringUtils.isNotBlank(w)) {
weight = new BigDecimal(w);
}
sum = sum.add(weight);
map.put(rSid,weight);
}
if (sum.compareTo(BigDecimal.ZERO) > 0) {
if (map.size() > 0) {
for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
String mSid = entry.getKey();
BigDecimal mWeight = entry.getValue();
AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchBySid(mSid);
BigDecimal finalWeight = mWeight.divide(sum, 2, BigDecimal.ROUND_HALF_UP).multiply(examineHourPrice);
repairer.setCommission(finalWeight);
asBusrepairBillSitemRepairerService.updateById(repairer);
}
}
}
}
}
}
}
}
}
if (asBusrepairBill.getSubject().equals("保内")) {
if (asBusrepairBill.getOldIsReclaim() != 1) {
return rb.setMsg("请先完成旧件入库,再进行操作!");
@ -2127,6 +2179,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
public void updateOutFactory(String sid) {
baseMapper.updateOutFactory(sid);
}
public PagerVo<GoodsReceiveVo> notConfirmList(PagerQuery<GoodsReceiveQuery> pagerQuery) {
GoodsReceiveQuery query = pagerQuery.getParams();
QueryWrapper<AsBusrepairBill> qw = new QueryWrapper<>();
@ -2311,13 +2364,13 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
vo.setCaps(caps2);
vo.setUserName(userName);
vo.setNowDate(DateUtil.formatDate(new Date()));
String path = createPrintInventoryPdf(vo,subject);
String path = createPrintInventoryPdf(vo, subject);
filePath = path;
}
return rb.success().setData(filePath);
}
private String createPrintInventoryPdf(RepairBillPdfVo vo,String subject) {
private String createPrintInventoryPdf(RepairBillPdfVo vo, String subject) {
String finalPath = "";
Map<String, Object> dataMap = new HashMap();
List<Map<String, Object>> list = new ArrayList<>();
@ -2356,9 +2409,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
String ftl = "";
if (subject.equals("保内")) {
ftl = "ftl/baoneilingliao.ftl";
ftl = "ftl/baoneilingliao.ftl";
} else if (subject.equals("保外")) {
ftl = "ftl/baowailingliao.ftl";
ftl = "ftl/baowailingliao.ftl";
}
try {
//获取模板
@ -2389,31 +2442,31 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
AsBusrepairBill asBusrepairBill = fetchBySid(sid);
AsBusrepairBillVech asBusrepairBillVech = asBusrepairBillVechService.fetchByBillSid(sid);
//分公司简称
map.put("orgName",asBusrepairBill.getCreateOrgName());
map.put("orgName", asBusrepairBill.getCreateOrgName());
//日期
map.put("date",DateUtil.formatDate(new Date()));
map.put("date", DateUtil.formatDate(new Date()));
//科目
map.put("km",asBusrepairBill.getSubject());
map.put("km", asBusrepairBill.getSubject());
//维修单号
map.put("billNo",asBusrepairBill.getBillNo());
map.put("billNo", asBusrepairBill.getBillNo());
//客户名称
map.put("custName",asBusrepairBill.getCustomerName());
map.put("custName", asBusrepairBill.getCustomerName());
//车型
map.put("modelName",asBusrepairBillVech.getVehModel());
map.put("modelName", asBusrepairBillVech.getVehModel());
//车牌号
map.put("vehMark",asBusrepairBillVech.getVehMark());
map.put("vehMark", asBusrepairBillVech.getVehMark());
//车架号
map.put("vinNo",asBusrepairBillVech.getVinNo());
map.put("vinNo", asBusrepairBillVech.getVinNo());
//出门原因
map.put("cmyy","维修完毕");
map.put("cmyy", "维修完毕");
//业务经办人
map.put("ywjbr",asBusrepairBill.getWaitorName());
map.put("ywjbr", asBusrepairBill.getWaitorName());
//财务经办人
map.put("cwjbr","");
map.put("cwjbr", "");
//提车人
map.put("tcr","");
map.put("tcr", "");
//出门签章
map.put("cmqz","");
map.put("cmqz", "");
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + "cmz" + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
@ -2440,37 +2493,37 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
privilegeQuery.setUserSid(query.getUserSid());
privilegeQuery.setMenuSid(query.getMenuSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (com.yxt.common.base.utils.StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
if (com.yxt.common.base.utils.StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", query.getUserSid());
} else {
PagerVo<AppBusrepairBillVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<AppBusrepairBillVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<AppBusrepairBillVo> p = new PagerVo<>();
return p;
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("a.billNo", query.getName())
.or().like("a.billType", query.getName())
@ -2481,7 +2534,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
.or().like("a.nodeName", query.getName())
);
}
qw.eq("a.isDelete",0);
qw.eq("a.isDelete", 0);
qw.orderByDesc("a.id");
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pq);
IPage<AppBusrepairBillVo> pagging = baseMapper.appRepairs(page, qw);

5
yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.java

@ -31,6 +31,7 @@ import com.yxt.anrui.as.api.astechtitledetail.AsTechTitleInit;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import com.yxt.anrui.as.api.astechtitledetail.AsTechTitleDetail;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@ -58,4 +59,6 @@ public interface AsTechTitleDetailMapper extends BaseMapper<AsTechTitleDetail> {
List<AsTechTitleDetailDetailsVo> selByMainSid(String mainSid);
AsTechTitleInit selByTechSid(String titleSid);
}
String selWeightByUserSid(@Param("pSid") String pSid);
}

12
yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.xml

@ -34,4 +34,14 @@
)
AND titleSid = #{titleSid}) AS a
</select>
</mapper>
<select id="selWeightByUserSid" resultType="java.lang.String">
SELECT
t.weight
FROM
as_tech_title_detail AS t
LEFT JOIN as_tech_title_apply as ta ON t.mainSid = ta.sid
WHERE ta.nodeState = '已办结' and t.techSid = #{pSid}
ORDER BY t.weight DESC
LIMIT 1
</select>
</mapper>

10
yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailService.java

@ -57,7 +57,7 @@ import java.util.List;
*/
@Service
public class AsTechTitleDetailService extends MybatisBaseService<AsTechTitleDetailMapper, AsTechTitleDetail> {
public void insertByDto(AsTechTitleDetailDto dto){
AsTechTitleDetail entity = new AsTechTitleDetail();
BeanUtil.copyProperties(dto, entity, "id", "sid");
@ -67,7 +67,7 @@ public class AsTechTitleDetailService extends MybatisBaseService<AsTechTitleDeta
entity.setTechName(String.join(",",techNames));
baseMapper.insert(entity);
}
public AsTechTitleDetailDetailsVo fetchDetailsVoBySid(String sid){
AsTechTitleDetail entity = fetchBySid(sid);
AsTechTitleDetailDetailsVo vo = new AsTechTitleDetailDetailsVo();
@ -86,4 +86,8 @@ public class AsTechTitleDetailService extends MybatisBaseService<AsTechTitleDeta
public AsTechTitleInit selByTechSid(String titleSid) {
return baseMapper.selByTechSid(titleSid);
}
}
public String selWeightByUserSid(String pSid) {
return baseMapper.selWeightByUserSid(pSid);
}
}

8
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java

@ -172,4 +172,12 @@ public class WmsInventoryRecordRest {
ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryRecordsExcelVo.class, response);
}
@ApiOperation("新增出入库记录")
@PostMapping("/saveInventoryRecord")
ResultBean saveInventoryRecord(@RequestBody InventoryRecordDto dto){
return wmsInventoryRecordService.saveInventoryRecord(dto);
}
}

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java

@ -84,4 +84,6 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
List<WmsInventory> selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids);
List<WmsInventory> selJJByDeptSid(String deptSid);
WmsInventory selbyGoodsId(@Param("goodsID") String goodsID);
}

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml

@ -619,4 +619,7 @@
AND wwi.warehouseTypeKey = '02'
AND RIGHT(wi.`goodsID`,2) = '-O'
</select>
<select id="selbyGoodsId" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT * FROM wms_inventory WHERE goodsID =#{goodsID}
</select>
</mapper>

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java

@ -978,4 +978,8 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public List<WmsInventory> selJJByDeptSid(String deptSid) {
return baseMapper.selJJByDeptSid(deptSid);
}
public WmsInventory selbyGoodsId(String goodsID) {
return baseMapper.selbyGoodsId(goodsID);
}
}

92
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/InventoryRecordDto.java

@ -0,0 +1,92 @@
package com.yxt.wms.biz.inventory.wmsinventoryrecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/10/30 10:19
*/
@Data
public class InventoryRecordDto {
private String sid; // sid
@ApiModelProperty("库存sid")
private String inventorySid; // 库存sid
@ApiModelProperty("创建人sid")
private String createBySid; // 商品ID
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("来源单sid(业务单sid)")
private String sourceBillSid; // 来源单sid(业务单sid)
@ApiModelProperty("来源单据编号")
private String billNo; // 来源单据编号
@ApiModelProperty("单据类型(1入库、0出库)")
private String billType; // 单据类型(1入库、0出库)
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("商品基础信息Sid")
private String goodsSpuSid; // 商品基础信息Sid
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品Skusid")
private String goodsSkuSid; // 商品Skusid
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
// @ApiModelProperty("出入库后的库存量")
// private String currentCount; // 出入库后的库存量
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("数量")
private String count; // 数量
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库位sid")
private String warehouseRackSid; // 库位sid
@ApiModelProperty("库位编号")
private String warehouseRackCode; // 库位编号
@ApiModelProperty("入库单价")
private String cost;
@ApiModelProperty("税率")
private String taxRate;
@ApiModelProperty("入库金额")
private String amount;
@ApiModelProperty("经办人sid")
private String handlerSid; // 库位sid
@ApiModelProperty("经办人")
private String handlerName; // 库位编号
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("厂家订单号")
private String manufactorBillNo;
@ApiModelProperty("销售指导价")
private String guidPrice;
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String supplierSid;
@ApiModelProperty("客户/供应商名称")
private String supplierName;
@ApiModelProperty("厂家名称")
private String manufacturerName;
@ApiModelProperty("厂家sid")
private String manufacturerSid;
@ApiModelProperty("前一单据明细sid(溯源使用)")
private String preBillSid;
@ApiModelProperty("前一单编号")
private String preBillNo;
}

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

@ -370,4 +370,58 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
public String selByGoodsID(String content) {
return baseMapper.selByGoodsID(content);
}
public ResultBean saveInventoryRecord(InventoryRecordDto dto) {
ResultBean rb = ResultBean.fireFail();
String inventorySid = "";
String goodsID = dto.getGoodsID();
WmsInventory inventory = wmsInventoryService.selbyGoodsId(goodsID);
if (null != inventory) {
inventorySid = inventory.getSid();
BigDecimal beforeCount = BigDecimal.ZERO;
BigDecimal afterCount = BigDecimal.ZERO;
if (null != inventory.getCount()) {
beforeCount = inventory.getCount();
}
if (StringUtils.isNotBlank(dto.getCount())) {
BigDecimal count = new BigDecimal(dto.getCount());
if (dto.getBillType().equals("1")) {
//增加库存
inventory.setCount(beforeCount.add(count));
afterCount = beforeCount.add(count);
} else if (dto.getBillType().equals("0")) {
//减少库存
inventory.setCount(beforeCount.subtract(count));
afterCount = beforeCount.subtract(count);
}
wmsInventoryService.updateById(inventory);
}
WmsInventoryRecord inventoryRecord = new WmsInventoryRecord();
BeanUtil.copyProperties(dto,inventoryRecord,"id","sid");
inventoryRecord.setInventorySid(inventorySid);
inventoryRecord.setCurrentCount(afterCount);
if (StringUtils.isNotBlank(dto.getTaxRate())) {
inventoryRecord.setTax(new BigDecimal(dto.getTaxRate()));
}
baseMapper.insert(inventoryRecord);
} else {
WmsInventory wmsInventory = new WmsInventory();
BeanUtil.copyProperties(dto,wmsInventory,"id","sid");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
wmsInventory.setFirstInDate(sdf.parse(sdf.format(new Date())));
} catch (ParseException e) {
e.printStackTrace();
}
wmsInventoryService.insert(wmsInventory);
WmsInventoryRecord inventoryRecord = new WmsInventoryRecord();
BeanUtil.copyProperties(dto,inventoryRecord,"id","sid");
inventoryRecord.setInventorySid(wmsInventory.getSid());
if (StringUtils.isNotBlank(dto.getTaxRate())) {
inventoryRecord.setTax(new BigDecimal(dto.getTaxRate()));
}
baseMapper.insert(inventoryRecord);
}
return rb.success();
}
}

Loading…
Cancel
Save