#
Junjie
2024-01-05 9bc4b04f1b946e31c719ec051c3c481f5faac5e8
#
6个文件已修改
1个文件已添加
367 ■■■■ 已修改文件
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/CreateMatParam.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/ApiService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiServiceImpl.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Mat.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/TagService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/CreateMatParam.java
New file
@@ -0,0 +1,89 @@
package com.zy.asrs.common.openapi.entity.param;
import lombok.Data;
@Data
public class CreateMatParam {
    //一级分类
    private String firstTag;
    //二级分类
    private String secondTag;
    //物料编号
    private String matnr;
    //物料名称
    private String maktx;
    //物料别名
    private String name;
    //规格
    private String specs;
    //型号
    private String model;
    //颜色
    private String color;
    //品牌
    private String brand;
    //单位
    private String unit;
    //单价
    private Double price;
    //sku
    private String sku;
    //单位量
    private Double units;
    //条码
    private String barcode;
    //产地
    private String origin;
    //厂家
    private String manu;
    //生产日期
    private String manuDate;
    //品项数
    private String itemNum;
    //重量
    private Double weight;
    //长度
    private Double length;
    //体积
    private Double volume;
    //三方编码
    private String threeCode;
    //供应商
    private String supp;
    //供应商编码
    private String suppCode;
    //保质期
    private String deadTime;
    //状态
    private Integer status;
    //备注
    private String memo;
}
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/ApiService.java
@@ -1,6 +1,7 @@
package com.zy.asrs.common.openapi.service;
import com.zy.asrs.common.openapi.entity.dto.OrderListDto;
import com.zy.asrs.common.openapi.entity.param.CreateMatParam;
import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakInParam;
import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakOutParam;
import com.zy.asrs.common.openapi.entity.param.OrderListParam;
@@ -27,4 +28,6 @@
    List<OrderListDto> getOrderList(OrderListParam param, Long hostId);
    int createMat(List<CreateMatParam> mats, Long hostId);
}
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.domain.dto.DetlDto;
import com.zy.asrs.common.openapi.entity.dto.OrderListDto;
import com.zy.asrs.common.openapi.entity.param.CreateMatParam;
import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakInParam;
import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakOutParam;
import com.zy.asrs.common.openapi.entity.param.OrderListParam;
@@ -15,6 +16,7 @@
import com.zy.asrs.framework.exception.CoolException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
@@ -35,6 +37,8 @@
    private MatService matService;
    @Autowired
    private OrderSettleService orderSettleService;
    @Autowired
    private TagService tagService;
    @Override
    public void generateOrderPakIn(GenerateOrderPakInParam param) {
@@ -253,4 +257,104 @@
        }
        return listDtos;
    }
    @Override
    @Transactional
    public int createMat(List<CreateMatParam> mats, Long hostId) {
        int count = 0;
        for (CreateMatParam matParam : mats) {
            //获取分类
            Tag tag = tagService.getTag(matParam.getFirstTag(), matParam.getSecondTag(), hostId);
            matService.remove(new LambdaQueryWrapper<Mat>()
                    .eq(Mat::getMatnr, matParam.getMatnr())
                    .eq(Mat::getHostId, hostId));
            Mat mat = new Mat();
            mat.setMatnr(matParam.getMatnr());//物料号
            mat.setHostId(hostId);//仓库ID
            mat.setTagId(tag.getId());//分类ID
            if (!Cools.isEmpty(matParam.getMaktx())) {
                mat.setMaktx(matParam.getMaktx());
            }
            if (!Cools.isEmpty(matParam.getMaktx())) {
                mat.setMaktx(matParam.getMaktx());
            }
            if (!Cools.isEmpty(matParam.getName())) {
                mat.setName(matParam.getName());
            }
            if (!Cools.isEmpty(matParam.getSpecs())) {
                mat.setSpecs(matParam.getSpecs());
            }
            if (!Cools.isEmpty(matParam.getModel())) {
                mat.setModel(matParam.getModel());
            }
            if (!Cools.isEmpty(matParam.getColor())) {
                mat.setColor(matParam.getColor());
            }
            if (!Cools.isEmpty(matParam.getBrand())) {
                mat.setBrand(matParam.getBrand());
            }
            if (!Cools.isEmpty(matParam.getUnit())) {
                mat.setUnit(matParam.getUnit());
            }
            if (!Cools.isEmpty(matParam.getPrice())) {
                mat.setPrice(matParam.getPrice());
            }
            if (!Cools.isEmpty(matParam.getSku())) {
                mat.setSku(matParam.getSku());
            }
            if (!Cools.isEmpty(matParam.getUnits())) {
                mat.setUnits(matParam.getUnits());
            }
            if (!Cools.isEmpty(matParam.getBarcode())) {
                mat.setBarcode(matParam.getBarcode());
            }
            if (!Cools.isEmpty(matParam.getOrigin())) {
                mat.setOrigin(matParam.getOrigin());
            }
            if (!Cools.isEmpty(matParam.getManu())) {
                mat.setManu(matParam.getManu());
            }
            if (!Cools.isEmpty(matParam.getManuDate())) {
                mat.setManuDate(matParam.getManuDate());
            }
            if (!Cools.isEmpty(matParam.getItemNum())) {
                mat.setItemNum(matParam.getItemNum());
            }
            if (!Cools.isEmpty(matParam.getWeight())) {
                mat.setWeight(matParam.getWeight());
            }
            if (!Cools.isEmpty(matParam.getLength())) {
                mat.setLength(matParam.getLength());
            }
            if (!Cools.isEmpty(matParam.getVolume())) {
                mat.setVolume(matParam.getVolume());
            }
            if (!Cools.isEmpty(matParam.getThreeCode())) {
                mat.setThreeCode(matParam.getThreeCode());
            }
            if (!Cools.isEmpty(matParam.getSupp())) {
                mat.setSupp(matParam.getSupp());
            }
            if (!Cools.isEmpty(matParam.getSuppCode())) {
                mat.setSuppCode(matParam.getSuppCode());
            }
            if (!Cools.isEmpty(matParam.getDeadTime())) {
                mat.setDeadTime(matParam.getDeadTime());
            }
            if (!Cools.isEmpty(matParam.getMemo())) {
                mat.setMemo(matParam.getMemo());
            }
            if (!Cools.isEmpty(matParam.getStatus())) {
                mat.setStatus(matParam.getStatus());
            }else {
                mat.setStatus(1);
            }
            if (matService.save(mat)) {
                count++;
            }
        }
        return count;
    }
}
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Mat.java
@@ -140,12 +140,6 @@
    private String itemNum;
    /**
     * 安全库存量
     */
    @ApiModelProperty(value= "安全库存量")
    private Double safeQty;
    /**
     * 重量
     */
    @ApiModelProperty(value= "重量")
@@ -182,40 +176,10 @@
    private String suppCode;
    /**
     * 是否批次 1: 是  0: 否
     */
    @ApiModelProperty(value= "是否批次 1: 是  0: 否  ")
    private Integer beBatch;
    /**
     * 保质期
     */
    @ApiModelProperty(value= "保质期")
    private String deadTime;
    /**
     * 预警天数
     */
    @ApiModelProperty(value= "预警天数")
    private Integer deadWarn;
    /**
     * 制购 1: 制造  2: 采购  3: 外协
     */
    @ApiModelProperty(value= "制购 1: 制造  2: 采购  3: 外协  ")
    private Integer source;
    /**
     * 要求检验 1: 是  0: 否
     */
    @ApiModelProperty(value= "要求检验 1: 是  0: 否  ")
    private Integer inspect;
    /**
     * 危险品 1: 是  0: 否
     */
    @ApiModelProperty(value= "危险品 1: 是  0: 否  ")
    private Integer danger;
    /**
     * 状态 1: 正常  0: 禁用
@@ -263,7 +227,7 @@
    public Mat() {}
    public Mat(String uuid, Long tagId, String matnr, String maktx, String name, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
    public Mat(String uuid, Long tagId, String matnr, String maktx, String name, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, String deadTime, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo, Long hostId) {
        this.uuid = uuid;
        this.tagId = tagId;
        this.matnr = matnr;
@@ -282,28 +246,23 @@
        this.manu = manu;
        this.manuDate = manuDate;
        this.itemNum = itemNum;
        this.safeQty = safeQty;
        this.weight = weight;
        this.length = length;
        this.volume = volume;
        this.threeCode = threeCode;
        this.supp = supp;
        this.suppCode = suppCode;
        this.beBatch = beBatch;
        this.deadTime = deadTime;
        this.deadWarn = deadWarn;
        this.source = source;
        this.inspect = inspect;
        this.danger = danger;
        this.status = status;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.memo = memo;
        this.hostId = hostId;
    }
//    Mat manMat = new Mat(
    //    Mat manMat = new Mat(
//            null,    // 编号
//            null,    // 所属归类
//            null,    // 商品编号[非空]
@@ -350,56 +309,6 @@
            return String.valueOf(tag.getName());
        }
        return null;
    }
    public String getBeBatch$(){
        if (null == this.beBatch){ return null; }
        switch (this.beBatch){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.beBatch);
        }
    }
    public String getSource$(){
        if (null == this.source){ return null; }
        switch (this.source){
            case 1:
                return "制造";
            case 2:
                return "采购";
            case 3:
                return "外协";
            default:
                return String.valueOf(this.source);
        }
    }
    public String getInspect$(){
        if (null == this.inspect){ return null; }
        switch (this.inspect){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.inspect);
        }
    }
    public String getDanger$(){
        if (null == this.danger){ return null; }
        switch (this.danger){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.danger);
        }
    }
    public String getStatus$(){
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/TagService.java
@@ -7,4 +7,6 @@
    Tag getTop(Long hostId);
    Tag getTag(String firstTagName, String secondTagName, Long hostId);
}
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java
@@ -5,8 +5,11 @@
import com.zy.asrs.common.wms.mapper.TagMapper;
import com.zy.asrs.common.wms.service.TagService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.exception.CoolException;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service("manTagService")
public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements TagService {
@@ -30,4 +33,61 @@
        return top;
    }
    @Override
    public Tag getTag(String firstTagName, String secondTagName, Long hostId) {
        Date now = new Date();
        Tag tag = this.getOne(new LambdaQueryWrapper<Tag>()
                .eq(Tag::getName, "全部")
                .eq(Tag::getHostId, hostId)
                .isNull(Tag::getParentId));
        if (tag == null) {
            throw new CoolException("分类系统异常");
        }
        if (Cools.isEmpty(firstTagName)) {
            //一级分类,直接返回根分类(全部)
            return tag;
        }
        if (!Cools.isEmpty(firstTagName)) {
            //存在一级分类,查询一级分类
            Tag firstTag = this.getOne(new LambdaQueryWrapper<Tag>()
                    .eq(Tag::getName, firstTagName)
                    .eq(Tag::getHostId, hostId));
            if (firstTag == null) {
                //一级分类为空,创建一级分类
                firstTag = new Tag();
                firstTag.setName(firstTagName);
                firstTag.setParentId(tag.getId());
                firstTag.setStatus(1);
                firstTag.setHostId(hostId);
                firstTag.setCreateTime(now);
                firstTag.setUpdateTime(now);
                this.save(firstTag);
            }
            if (!Cools.isEmpty(secondTagName)) {
                //存在二级分类,查询二级分类
                Tag secondTag = this.getOne(new LambdaQueryWrapper<Tag>()
                        .eq(Tag::getName, secondTagName)
                        .eq(Tag::getHostId, hostId));
                if (secondTag == null) {
                    //二级分类为空,创建二级分类
                    secondTag = new Tag();
                    secondTag.setName(secondTagName);
                    secondTag.setParentId(firstTag.getId());
                    secondTag.setStatus(1);
                    secondTag.setHostId(hostId);
                    secondTag.setCreateTime(now);
                    secondTag.setUpdateTime(now);
                    this.save(secondTag);
                    return secondTag;
                }
                return secondTag;
            }else {
                return firstTag;//不存在二级分类,直接返回一级分类
            }
        }
        return tag;
    }
}
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.openapi.entity.HostKey;
import com.zy.asrs.common.openapi.entity.dto.OrderListDto;
import com.zy.asrs.common.openapi.entity.param.CreateMatParam;
import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakInParam;
import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakOutParam;
import com.zy.asrs.common.openapi.entity.param.OrderListParam;
@@ -118,6 +119,17 @@
        return R.ok().add(orderList);
    }
    /**
     * 创建物料信息
     */
    @PostMapping("/createMat")
    public synchronized R createMat(@RequestHeader(required = true) String appkey,
                                    @RequestBody(required = false) List<CreateMatParam> mats) {
        HostKey hostKey = auth(appkey, mats, true);
        int result = apiService.createMat(mats, hostKey.getHostId());
        return R.ok().add(result);
    }
    private HostKey auth(String appkey, Object obj, boolean signCheck) {
        request.setAttribute("cache", obj);
        if (Cools.isEmpty(appkey)) {