*
lsh
昨天 f5c0365702be7d445420a9961b1f2e64b621213b
src/main/java/com/zy/asrs/controller/BasCrnpController.java
@@ -11,8 +11,16 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.param.BasCrnpParam;
import com.zy.asrs.service.BasCrnpService;
import com.zy.common.web.BaseController;
import com.zy.core.CrnThread;
import com.zy.core.cache.CrnErrCache;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.properties.SlaveProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -23,6 +31,9 @@
    @Autowired
    private BasCrnpService basCrnpService;
    @Autowired
    private SlaveProperties slaveProperties;
    @RequestMapping(value = "/basCrnp/{id}/auth")
    @ManagerAuth
@@ -76,8 +87,98 @@
   @ManagerAuth(memo = "堆垛机修改")
    public R update(BasCrnp basCrnp){
        if (Cools.isEmpty(basCrnp) || null==basCrnp.getCrnNo()){
            return R.error();
            return R.error("请选择堆垛机再操作").add("请选择堆垛机再操作");
        }
        basCrnp.setModiUser(getUserId());
        basCrnp.setModiTime(new Date());
        basCrnpService.updateById(basCrnp);
        return R.ok();
    }
    @RequestMapping(value = "/basCrnp/update/demo/auth")
    @ManagerAuth(memo = "堆垛机修改Demo")
    public R updateDemo(BasCrnpParam basCrnpParam){
        if (Cools.isEmpty(basCrnpParam) || null==basCrnpParam.getCrnNo()){
            return R.error("请选择堆垛机再操作").add("请选择堆垛机再操作");
        }
        BasCrnp basCrnp = basCrnpService.selectById(basCrnpParam.getCrnNo());
        if (basCrnp == null) {
            return R.error("堆垛机尚未在数据库进行维护!").add("堆垛机尚未在数据库进行维护");
        }
        if (basCrnpParam.getHpMk().equals("Y")){
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
            if (crnThread == null) {
                return R.error();
            }
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
            if (crnProtocol == null) {
                return R.error();
            }
            if (Cools.isEmpty(basCrnpParam.getLocMastDemoCount()) || basCrnpParam.getLocMastDemoCount()<1){
                return R.error("请输入测试库位数量").add("请输入测试库位数量");
            }
            if (Cools.isEmpty(basCrnpParam.getLocMastDemo())){
                return R.error("请输入测试库位列表").add("请输入测试库位列表");
            } else {
                String[] split = basCrnpParam.getLocMastDemo().split(";");
                if (split.length!=basCrnpParam.getLocMastDemoCount()){
                    return R.error("输入测试库位列表数量不匹配").add("输入测试库位列表数量不匹配");
                }
                basCrnpParam.setLocMastDemoList(new ArrayList<>(Arrays.asList(split)));
            }
            if (Cools.isEmpty(basCrnpParam.getStaOutDemo())){
                return R.error("请输入测试出库站").add("请输入测试出库站");
            } else {
                CrnSlave crn = new CrnSlave();
                for (CrnSlave crnSlave : slaveProperties.getCrn()) {
                    if (crnSlave.getId().equals(crnProtocol.getCrnNo())){
                        crn = new CrnSlave(crnSlave);
                        break;
                    }
                }
                if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                    return R.error("堆垛机巷道号异常").add("堆垛机巷道号异常");
                }
                if (!crn.getId().equals(crnProtocol.getLaneNo())) {
                    for (CrnSlave crnOther : slaveProperties.getCrn()) {
                        if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
                            crn.updateCrnInStn(crnOther);
                        }
                    }
                }
                boolean sign = false;
                for (CrnSlave.CrnStn crnStnInt : crn.getCrnInStn()){
                    if (crnStnInt.getStaNo().equals(basCrnpParam.getStaIntDemo())) {
                        sign = true;
                        break;
                    }
                }
                if (!sign){
                    return R.error("入库站不在堆垛机巷道").add("入库站不在堆垛机巷道");
                }
                sign = false;
                for (CrnSlave.CrnStn crnStnOut : crn.getCrnOutStn()){
                    if (crnStnOut.getStaNo().equals(basCrnpParam.getStaOutDemo())) {
                        sign = true;
                        break;
                    }
                }
                if (!sign){
                    return R.error("出库站不在堆垛机巷道").add("出库站不在堆垛机巷道");
                }
            }
            crnProtocol.setLocMastDemoCount(basCrnpParam.getLocMastDemoCount());
            crnProtocol.setLocMastDemoList(basCrnpParam.getLocMastDemoList());
            crnProtocol.setStaOutDemo(basCrnpParam.getStaOutDemo());
            crnProtocol.setStaIntDemo(basCrnpParam.getStaIntDemo());
        }
        basCrnp.setHpMk(basCrnpParam.getHpMk());
        basCrnp.setModiUser(getUserId());
        basCrnp.setModiTime(new Date());
        basCrnpService.updateById(basCrnp);
@@ -113,9 +214,10 @@
    public R query(String condition) {
        EntityWrapper<BasCrnp> wrapper = new EntityWrapper<>();
        wrapper.like("crn_no", condition);
        Page<BasCrnp> page = basCrnpService.selectPage(new Page<>(0, 10), wrapper);
//        Page<BasCrnp> page = basCrnpService.selectPage(new Page<>(0, 10), wrapper);
        List<BasCrnp> basCrnpList = basCrnpService.selectList(wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (BasCrnp basCrnp : page.getRecords()){
        for (BasCrnp basCrnp : basCrnpList){
            Map<String, Object> map = new HashMap<>();
            map.put("id", basCrnp.getCrnNo());
            map.put("value", basCrnp.getCrnNo());