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

master
董哲奇 4 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 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 ){ public boolean (String ){
return StrUtil.isNotEmpty(this.) && this..equals(); return StrUtil.isNotEmpty(this.) && this..equals();
@ -86,12 +93,25 @@ public class DmYlInfo {
&&new BigDecimal(split[1]).compareTo()<=0; &&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.getDcCh();
使=ydjh.getDcPl(); 使=ydjh.getDcPl();
使=ydjh.getDcFd(); 使=ydjh.getDcFd();
使=ydjh.getTzbh(); 使=ydjh.getTzbh();
使=UseStatus.使.ordinal(); 使=UseStatus..ordinal();
} }
public void 退(){ public void 退(){
@ -146,11 +166,11 @@ public class DmYlInfo {
dmYlInfo.=bchxylp.getWpxh(); dmYlInfo.=bchxylp.getWpxh();
dmYlInfo.=ydjh.getWpgg(); dmYlInfo.=ydjh.getWpgg();
dmYlInfo.= DateUtil.date().toString("yyyy/MM/dd"); dmYlInfo.= DateUtil.date().toString("yyyy/MM/dd");
dmYlInfo.使=UseStatus.使.ordinal(); dmYlInfo.使=UseStatus..ordinal();
return dmYlInfo; return dmYlInfo;
} }
public enum UseStatus{ public enum UseStatus{
使,使,, ,使,,,
} }
} }

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