自动化立体仓库 - WMS系统
#
zjj
2025-09-17 4474cf3c30e6ad06711d2021be15ff82c36bd75a
src/main/java/com/zy/asrs/controller/ICMOController.java
@@ -1,11 +1,14 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.AppAuth;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Department;
import com.zy.asrs.entity.ICMO;
import com.zy.asrs.service.DepartmentService;
@@ -16,9 +19,11 @@
import com.core.common.R;
import com.zy.asrs.utils.ERPDateUtils;
import com.zy.common.web.BaseController;
import com.zy.kingdee.entity.IcmoDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.InputStream;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
@@ -33,11 +38,42 @@
    @Autowired
    private DepartmentService departmentService;
    @RequestMapping(value = "/iCMO/{id}/auth")
    @RequestMapping(value = "/iCMO/getList/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(iCMOService.selectById(String.valueOf(id)));
    public R getList(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
                  @RequestParam(required = false)String orderByField,
                  @RequestParam(required = false)String orderByType,
                  @RequestParam(required = false)String condition,
                  @RequestParam Map<String, Object> param){
        //计划开工时间
        if (!Cools.isEmpty(param.get("fplancommitdate"))){
            param.put("fplancommitdate", ERPDateUtils.getERPFiltterDate(param.get("fplancommitdate").toString()));
        }
        IcmoDTO data = new IcmoDTO();
        try {
            data = JSON.parseObject(JSON.toJSONString(param), IcmoDTO.class);
            if (Cools.isEmpty(data)) {
                data = new IcmoDTO();
            }
        } catch (Exception e) {
            throw new CoolException("转换失败");
        }
        List<IcmoDTO> icmoDTOList = iCMOService.getIcmoDTOList(data);
        return R.ok(icmoDTOList);
    }
    @PostMapping("/other/tongbu/v1")
    @ManagerAuth()
    @AppAuth(memo = "金蝶新增收料通知单")
    public R tongbu(@RequestBody List<IcmoDTO> icmoDTOS) {
        return iCMOService.tongbu(icmoDTOS);
    }
    @RequestMapping(value = "/iCMO/list/auth")
    @ManagerAuth
@@ -47,14 +83,17 @@
                  @RequestParam(required = false)String orderByType,
                  @RequestParam(required = false)String condition,
                  @RequestParam Map<String, Object> param){
        if (!Cools.isEmpty(param.get("FPlanCommitDate"))){
            param.put("FPlanCommitDate", ERPDateUtils.getERPFiltterDate(param.get("FPlanCommitDate").toString()));
        //计划开工时间
        if (!Cools.isEmpty(param.get("fplancommitdate"))){
            param.put("fplancommitdate", ERPDateUtils.getERPFiltterDate(param.get("fplancommitdate").toString()));
        }
        //车间
        String fWorkShop = null;
        if (!Cools.isEmpty(param.get("FWorkShop"))){
            fWorkShop = param.get("FWorkShop").toString();
            param.remove("FWorkShop");
        }
        EntityWrapper<ICMO> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
@@ -82,67 +121,8 @@
        }
    }
    @RequestMapping(value = "/iCMO/add/auth")
    @ManagerAuth
    public R add(ICMO iCMO) {
        iCMOService.insert(iCMO);
        return R.ok();
    }
   @RequestMapping(value = "/iCMO/update/auth")
   @ManagerAuth
    public R update(ICMO iCMO){
        if (Cools.isEmpty(iCMO) || null==iCMO.getFInterID()){
            return R.error();
        }
        iCMOService.updateById(iCMO);
        return R.ok();
    }
    @RequestMapping(value = "/iCMO/delete/auth")
    @ManagerAuth
    public R delete(@RequestParam(value="ids[]") Long[] ids){
         for (Long id : ids){
            iCMOService.deleteById(id);
        }
        return R.ok();
    }
    @RequestMapping(value = "/iCMO/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param){
        EntityWrapper<ICMO> wrapper = new EntityWrapper<>();
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("iCMO"));
        convert(map, wrapper);
        List<ICMO> list = iCMOService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/iCMOQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<ICMO> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<ICMO> page = iCMOService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (ICMO iCMO : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", iCMO.getFInterID());
            map.put("value", iCMO.getFInterID());
            result.add(map);
        }
        return R.ok(result);
    }
    @RequestMapping(value = "/iCMO/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<ICMO> wrapper = new EntityWrapper<ICMO>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != iCMOService.selectOne(wrapper)){
            return R.parse(BaseRes.REPEAT).add(getComment(ICMO.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
}