自动化立体仓库 - WMS系统
pang.jiabao
7 天以前 93c73e8c232639d9e10afb7de07453974f9587e0
src/main/java/com/zy/asrs/controller/TrayCodeController.java
@@ -10,16 +10,14 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.TrayCode;
import com.zy.asrs.service.TrayCodeService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@RestController
public class TrayCodeController extends BaseController {
@@ -44,17 +42,21 @@
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        else {
//            wrapper.orderBy("id", false);
        }
        return R.ok(trayCodeService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private void convert(Map<String, Object> map, EntityWrapper wrapper){
        for (Map.Entry<String, Object> entry : map.entrySet()){
            if (entry.getKey().endsWith(">")) {
                wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
            } else if (entry.getKey().endsWith("<")) {
                wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
            String val = String.valueOf(entry.getValue());
            if (val.contains(RANGE_TIME_LINK)){
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
            } else {
                wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
                wrapper.like(entry.getKey(), val);
            }
        }
    }
@@ -126,4 +128,52 @@
        return R.ok();
    }
    @RequestMapping(value = "/trayCode/latest")
    @ManagerAuth
    public R trayCodeLatest() {
        List<TrayCode> latest = trayCodeService.selectList(new EntityWrapper<TrayCode>().orderBy("id", false));
        return R.ok().add(latest.isEmpty()?"10000001": Integer.parseInt(latest.get(0).getTrayNo())+1);
    }
    @RequestMapping(value = "/trayCode/print/preview")
    @ManagerAuth
    public R printPreview(@RequestParam String startNo,
                          @RequestParam Integer count,
                          @RequestParam Integer type) {
        if (count <= 0) {
            return R.error("数量必须大于零");
        }
        List<Map<String, Object>> res = new ArrayList<>();
        for (int i = 0; i<count; i++) {
            res.add(Cools.add("item", String.valueOf(Integer.parseInt(startNo)+i)));
        }
        return R.ok().add(res);
    }
    @RequestMapping(value = "/trayCode/print/auth")
    @ManagerAuth(memo = "托盘码打印")
    public R print(@RequestParam String startNo,
                  @RequestParam Integer count,
                  @RequestParam Integer type){
        if (count <= 0) {
            return R.error("数量必须大于零");
        }
        for (int i = 0; i<count; i++) {
            TrayCode trayCode = new TrayCode(
                    String.valueOf(Integer.parseInt(startNo)+i),    // 序列号[非空]
                    i==0?"Y":"N",    // 起始
                    i==count-1?"Y":"N",    // 终止
                    null,    // 备注
                    new Date(),    // 修改时间
                    getUserId(),    // 修改人员
                    new Date(),    // 添加时间
                    getUserId()    // 添加人员
            );
            if (!trayCodeService.insert(trayCode)) {
                throw new CoolException("保存序列号失败");
            }
        }
        return R.ok();
    }
}