guoyujie
13 小时以前 91b61fe723df498d62c596372521d426299f0f8b
north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
@@ -11,6 +11,8 @@
import org.springframework.stereotype.Service;
import java.sql.Date;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -22,14 +24,27 @@
    WorkOrderMapper workOrderMapper;
    //查询工单
    public Map<String, Object> defaultDateWork(Date selectTime1, Date selectTime2, Integer state, OrderGlassDetail orderGlassDetail) {
        Map<String, Object> map = new HashMap<>();
        if (state == 1) {
            map.put("data", workOrderMapper.selectWordOrder(selectTime1, selectTime2, orderGlassDetail));
        } else {
            map.put("data", workOrderMapper.selectWordOrderNo(selectTime1, selectTime2, orderGlassDetail));
    public Map<String, Object> defaultDateWork(List<String> selectDate, Integer state, OrderGlassDetail orderGlassDetail) {
        String endDate = LocalDate.now().toString();
        String startDate = LocalDate.now().minusDays(15).toString();
        if(selectDate !=null && selectDate.size()==2){
            if(!selectDate.get(0).isEmpty()){
                startDate = selectDate.get(0);
            }
            if(!selectDate.get(1).isEmpty()){
                endDate = selectDate.get(1);
            }
        }
        Map<String, Object> map = new HashMap<>();
        if (state == 1) {//已转工单
            map.put("data", workOrderMapper.selectWordOrder(startDate, endDate, orderGlassDetail));
        } else {//未转工单
            map.put("data", workOrderMapper.selectWordOrderNo(startDate, endDate, orderGlassDetail));
        }
        List<String> list = new ArrayList<>();
        list.add(startDate);
        list.add(endDate);
        map.put("selectDate",list);
        return map;
    }
@@ -57,10 +72,15 @@
        String orderId = orderDetaillist.get(0).getOrderId();
        for (OrderDetail orderDetail : orderDetaillist) {
            if(orderDetail.getOrderId()!= orderId){
                orderId = orderDetail.getOrderId();
                letters = '1';
                lettr = 'A';
            }
            //生成生产订单号
            for (int i = 0; i < count; i++) {
                letters = lettr++;
                productIdVl = orderId + letters;
                productIdVl = orderDetail.getOrderId() + letters;
                //查询生成的生产订单号是否存在
                Integer workCount = workOrderMapper.selectOrderNumber(productIdVl);
                if (workCount < 1) {
@@ -88,20 +108,28 @@
    //删除生产订单
    public Boolean deleteOrderWorkSv(String orderId, String productionId) {
        if (!orderId.isEmpty() && !productionId.isEmpty()) {
            //删除订单小片表生产订单号
            workOrderMapper.deleteOrderWorkMp(orderId, productionId);
            int state = 0;
            int states = 1;
            //查询该订单未转生产订单的条数
            Integer noWorkCount = workOrderMapper.selectWorkCount(orderId);
            //查询该订单转生产订单的条数
            Integer yesWorkCount = workOrderMapper.selectYesWorkCount(orderId);
            if (noWorkCount.equals(yesWorkCount)) {
                workOrderMapper.updateWorkType(orderId, state);
            } else {
                workOrderMapper.updateWorkType(orderId, states);
            //查询该订单是否已经建立流程卡
            Integer getProcessCard = workOrderMapper.selectProcessCard(orderId);
            if (getProcessCard == 0){
                //删除订单小片表生产订单号
                workOrderMapper.deleteOrderWorkMp(orderId, productionId);
                int state = 0;
                int states = 1;
                //查询该订单未转生产订单的条数
                Integer noWorkCount = workOrderMapper.selectWorkCount(orderId);
                //查询该订单转生产订单的条数
                Integer yesWorkCount = workOrderMapper.selectYesWorkCount(orderId);
                if (noWorkCount.equals(yesWorkCount)) {//判断订单是否全部转工单
                    workOrderMapper.updateWorkType(orderId, state);//全部
                } else {
                    workOrderMapper.updateWorkType(orderId, states);//部分
                }
                return true;
            }
            return true;
            else {
                return false;
            }
        } else {
            return false;
        }