廖井涛
2024-03-11 b90435111a9cb88a9302b6ac1f70c6d475452efe
north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
@@ -1,14 +1,19 @@
package com.example.erp.service.pp;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.mapper.pp.WorkOrderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@@ -17,13 +22,92 @@
    @Autowired
    WorkOrderMapper workOrderMapper;
    public Map<String, Object> defaultDateWork( Date selectTime1,Date selectTime2,Integer state, OrderGlassDetail orderGlassDetail) {
       Map<String, Object> map = new HashMap<>();
       // System.out.println(workOrderMapper.selectWordOrder( selectTime1,selectTime2,state, orderGlassDetail));
        map.put("data", workOrderMapper.selectWordOrder( selectTime1,selectTime2,state, orderGlassDetail));
     //   map.put("total", productMapper.getPageTotal(offset, pageSize, glassTypeId, product));
    public Map<String, Object> defaultDateWork(Date selectTime1, Date selectTime2, Integer state, OrderGlassDetail orderGlassDetail) {
        Map<String, Object> map = new HashMap<>();
        // System.out.println(workOrderMapper.selectWordOrder( selectTime1,selectTime2,state, orderGlassDetail));
        if (state == 1) {
            map.put("data", workOrderMapper.selectWordOrder(selectTime1, selectTime2, orderGlassDetail));
        } else {
            map.put("data", workOrderMapper.selectWordOrderNo(selectTime1, selectTime2, orderGlassDetail));
        }
        return map;
    }
    public Map<String, Object> addDateWork(String orderId, OrderDetail orderDetail) {
        Map<String, Object> map = new HashMap<>();
        map.put("data", workOrderMapper.addWordOrder(orderId, orderDetail));
        return map;
    }
    public Boolean addOrderWorkSv(Map<String, Object> object) {
        String userName = "";
        if (object.get("userName") != null) {
            userName = object.get("userName").toString();
        }
        char lettr = 'A';
        char letters = '1';
        int count = 25;
        String productIdVl = "";
        List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderdetail")), OrderDetail.class);
        String orderID = orderDetaillist.get(0).getOrderId();
        if (!orderDetaillist.isEmpty()) {
            for (OrderDetail orderDetail : orderDetaillist) {
                //生成生产订单号
                for (int i = 0; i < count; i++) {
                    letters = lettr++;
                    productIdVl = orderID + letters;
                    //查询生成的生产订单号是否存在
                    Integer workCount = workOrderMapper.selectOrderNumber(productIdVl);
                    if (workCount < 1 ) {
                        break;
                    }
                }
                //添加生产订单
                workOrderMapper.addOrderWorkMp(productIdVl, orderDetail.getOrderId(), orderDetail.getProductId(), orderDetail.getProductName(), userName);
                Integer State = 2;
                Integer States = 1;
                //查询该订单未转生产订单的条数
                Integer NoWorkCount = workOrderMapper.selectWorkCount(orderDetail.getOrderId());
                if (NoWorkCount == 0) {
                    //条数为0修改转生产订单状态为2,否则为1
                    workOrderMapper.updateWorkType(orderDetail.getOrderId(), State);
                } else {
                    workOrderMapper.updateWorkType(orderDetail.getOrderId(), States);
                }
            }
            return true;
        } else {
            return false;
        }
    }
    public Boolean deleteOrderWorkSv(String orderId, String productName) {
        if (!orderId.isEmpty() && !productName.isEmpty()) {
            workOrderMapper.deleteOrderWorkMp(orderId, productName);
            Integer State = 0;
            Integer States = 1;
            Integer NoWorkCount = workOrderMapper.selectWorkCount(orderId);
            Integer YesWorkCount = workOrderMapper.selectYesWorkCount(orderId);
            if (NoWorkCount ==YesWorkCount) {
                workOrderMapper.updateWorkType(orderId, State);
            } else {
                workOrderMapper.updateWorkType(orderId, States);
            }
            return true;
        } else {
            return false;
        }
    }
}