1.库存管理,出入库流水

master
董哲奇 3 weeks ago
parent ed5d9d2985
commit 214702748e

@ -0,0 +1,84 @@
package com.dsic.gj_erp.bean.zyjh;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
/**
*
*/
@Getter
@Setter
@TableName("dm_yl_in_out")
public class DmYlInOut {
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
private String ;//余料编号,套料图中存在编号时产生
private String ;
private String ;
private String ;
private String ="1";
private String ;//来源船号
private String ;//来源批量
private String ;//来源图纸
private String ;
private String ;
private String ;
private String 使;//使用船号
private String 使;//使用批量
private String 使;//使用分段
private String 使;//使用图纸
private String 使;//同打印日期
private BigDecimal ;
private BigDecimal ;
private BigDecimal ;
private String ;
private String ;
private String ;//出库,入库
public static DmYlInOut (DmYlInfo item, String userCode){
DmYlInOut dmYlInOut = new DmYlInOut();
BeanUtil.copyProperties(item,dmYlInOut);
dmYlInOut.setId(null);
dmYlInOut.set("入库");
dmYlInOut.set(userCode);
dmYlInOut.set(item.get());
return dmYlInOut;
}
public static DmYlInOut (DmYlInfo item, String userCode, String ){
DmYlInOut dmYlInOut = new DmYlInOut();
BeanUtil.copyProperties(item,dmYlInOut);
dmYlInOut.set("出库");
dmYlInOut.set(userCode);
dmYlInOut.set();
return dmYlInOut;
}
}

@ -61,7 +61,14 @@ public class DmYlInfo {
private String 使;//同打印日期
private int 使;//0:未使用;1:已使用;2:已打印;3:已切割
private String ;
private String ;
private String ;
private String ;
private Integer 使;//0:未入库;1:未使用;2:已匹配;3:已打印;4:已切割
public boolean (String ){
return StrUtil.isNotEmpty(this.) && this..equals();
@ -86,12 +93,25 @@ public class DmYlInfo {
&&new BigDecimal(split[1]).compareTo()<=0;
}
public void (DmYdjh ydjh){
public static DmYlInfo (DmYlInfo item,String userCode,String ){
DmYlInfo dmYlInfo = new DmYlInfo();
dmYlInfo.setId(item.getId());
dmYlInfo.set(item.get());
dmYlInfo.set(item.get());
dmYlInfo.set(userCode);
dmYlInfo.set(item.get());
dmYlInfo.set(userCode);
dmYlInfo.set();
dmYlInfo.set使(UseStatus.使.ordinal());
return dmYlInfo;
}
public void (DmYdjh ydjh){
使=ydjh.getDcCh();
使=ydjh.getDcPl();
使=ydjh.getDcFd();
使=ydjh.getTzbh();
使=UseStatus.使.ordinal();
使=UseStatus..ordinal();
}
public void 退(){
@ -146,11 +166,11 @@ public class DmYlInfo {
dmYlInfo.=bchxylp.getWpxh();
dmYlInfo.=ydjh.getWpgg();
dmYlInfo.= DateUtil.date().toString("yyyy/MM/dd");
dmYlInfo.使=UseStatus.使.ordinal();
dmYlInfo.使=UseStatus..ordinal();
return dmYlInfo;
}
public enum UseStatus{
使,使,,
,使,,,
}
}

@ -4,17 +4,22 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsic.gj_erp.annotation.AuthFunction;
import com.dsic.gj_erp.annotation.Authorization;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.zyjh.DmYlInOut;
import com.dsic.gj_erp.bean.zyjh.DmYlInfo;
import com.dsic.gj_erp.controller.zyjh.dto.YlSlDto;
import com.dsic.gj_erp.exception.ServiceException;
import com.dsic.gj_erp.service.jhgk.DmYdjhService;
import com.dsic.gj_erp.service.zyjh.DmYlInOutService;
import com.dsic.gj_erp.service.zyjh.DmYlInfoService;
import lombok.AllArgsConstructor;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@ -29,6 +34,7 @@ public class YlController {
private final DmYlInfoService ylInfoService;
private final DmYdjhService ydjhService;
private final DmYlInOutService dmYlInOutService;
@PostMapping("list")
public ResultBean<?> list(@RequestBody YlSlDto dto){
@ -45,12 +51,39 @@ public class YlController {
);
}
/**
*
*/
@AuthFunction
@PostMapping("rk")
@Transactional(rollbackFor = Exception.class)
public ResultBean<?> rk(@RequestBody List<DmYlInfo> list, HttpServletRequest request){
String userCode=(String) request.getAttribute("yhdm");
String =DateUtil.date().toString("yyyy/MM/dd");
List<DmYlInOut> ylInOutList=new ArrayList<>();
List<DmYlInfo> updateList=list.stream().map(item->{
DmYlInOut dmYlInOut = DmYlInOut.(item,userCode);
ylInOutList.add(dmYlInOut);
return DmYlInfo.(item,userCode,);
}).collect(Collectors.toList());
ylInfoService.updateBatchById(updateList);
dmYlInOutService.saveBatch(ylInOutList);
return new ResultBean<>();
}
/**
*
*/
@AuthFunction
@PostMapping("edit")
@Transactional(rollbackFor = Exception.class)
public ResultBean<?> edit(@RequestBody List<DmYlInfo> list){
public ResultBean<?> edit(@RequestBody List<DmYlInfo> list, HttpServletRequest request){
String userCode=(String) request.getAttribute("yhdm");
String =DateUtil.date().toString("yyyy/MM/dd");
list.forEach(item->{
item.set(userCode);
item.set();
});
ylInfoService.updateBatchById(list);
return new ResultBean<>();
}
@ -61,7 +94,6 @@ public class YlController {
@PostMapping("rollback")
@Transactional(rollbackFor = Exception.class)
public ResultBean<?> rollback(@RequestBody List<DmYlInfo> list){
List<DmYdjh> updateList=new ArrayList<>();
list.stream()
.filter(item->item.get使()<=2)
.forEach(item->{
@ -70,30 +102,41 @@ public class YlController {
.eq(DmYdjh::getTzbh, item.get使())
);
//退回作业计划
//fixme 修正作业计划,余料上料相关属性
if (ObjectUtil.isNotEmpty(one)){
ydjhService.update(Wrappers.<DmYdjh>update()
.set("yl_ch",null)
.set("yl_ph",null)
.set("yl_th",null)
.set("ylbh",null)
.set("sllph",null)
.set("slfkrq",null)
.set("zt","2")
.eq("id",one.getId()));
}
//退回余料库存信息
item.退();
});
ydjhService.updateBatchById(updateList);
this.edit(list);
ylInfoService.updateBatchById(list);
return new ResultBean<>();
}
/**
*
*/
@AuthFunction
@PostMapping("print")
@Transactional(rollbackFor = Exception.class)
public ResultBean<?> print(@RequestBody List<DmYlInfo> list){
public ResultBean<?> print(@RequestBody List<DmYlInfo> list,HttpServletRequest request){
String userCode=(String) request.getAttribute("yhdm");
String =DateUtil.date().toString("yyyy/MM/dd");
ArrayList<DmYdjh> updateList = new ArrayList<>();
ArrayList<DmYlInOut> = new ArrayList<>();
list.forEach(item->{
if (StrUtil.isAllNotEmpty(item.get使(),item.get使())){
if (StrUtil.isAllNotEmpty(item.get使(),item.get使())){
String date = DateUtil.date().toString("yyyy/MM/dd");
item.set使(date);
item.set使(2);//已打印
item.set使(DmYlInfo.UseStatus..ordinal());//已打印
List<DmYdjh> ydjhList = ydjhService.list(Wrappers.<DmYdjh>lambdaQuery()
.eq(DmYdjh::getDcCh, item.get使())
.eq(DmYdjh::getTzbh,item.get使())
@ -114,11 +157,15 @@ public class YlController {
}).collect(Collectors.toList());
updateList.addAll(collect);
DmYlInOut = DmYlInOut.(item, userCode, );
.add();
}
});
ydjhService.updateBatchById(updateList);
ylInfoService.updateBatchById(list);
dmYlInOutService.saveBatch();
return new ResultBean<>();
}
@ -151,14 +198,14 @@ public class YlController {
for (DmYdjh ydjh:list){
for(DmYlInfo ylInfo:dto.getYlList()){
if (ylInfo.(ydjh.getJhsyylbh())&&ylInfo.(ydjh)){//暂时不支持,仅保留分支流程
ylInfo.(ydjh);
ylInfo.(ydjh);
.add(ylInfo);
continue out;
}
}
for (DmYlInfo ylInfo:dto.getYlList()){
if (ylInfo.(ydjh)){
ylInfo.(ydjh);
ylInfo.(ydjh);
.add(ylInfo);
continue out;
}
@ -195,14 +242,14 @@ public class YlController {
for (DmYdjh ydjh:list){
for(DmYlInfo ylInfo:dto.getYlList()){
if (ylInfo.(ydjh.getJhsyylbh())&&ylInfo.(ydjh)){//暂时不支持,仅保留分支流程
ylInfo.(ydjh);
ylInfo.(ydjh);
.add(ylInfo);
continue out;
}
}
for (DmYlInfo ylInfo:dto.getYlList()){
if (ylInfo.(ydjh)){
ylInfo.(ydjh);
ylInfo.(ydjh);
.add(ylInfo);
continue out;
}

@ -0,0 +1,11 @@
package com.dsic.gj_erp.mapper.zyjh;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.zyjh.DmYlInOut;
import com.dsic.gj_erp.bean.zyjh.DmYlInfo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface DmYlInOutMapper extends BaseMapper<DmYlInOut> {
}

@ -0,0 +1,12 @@
package com.dsic.gj_erp.service.zyjh;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.zyjh.DmYlInOut;
import com.dsic.gj_erp.bean.zyjh.DmYlInfo;
import com.dsic.gj_erp.mapper.zyjh.DmYlInOutMapper;
import com.dsic.gj_erp.mapper.zyjh.DmYlInfoMapper;
import org.springframework.stereotype.Service;
@Service
public class DmYlInOutService extends ServiceImpl<DmYlInOutMapper, DmYlInOut> {
}
Loading…
Cancel
Save