廖井涛
2024-09-10 caf567becb6378f848b3b930821a4b38cb7564a5
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -5,11 +5,12 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.example.erp.common.Constants;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.entity.sd.OrderProcessDetail;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.pp.FlowCardMapper;
import com.example.erp.mapper.sd.OrderGlassDetailMapper;
import com.example.erp.mapper.sd.OrderProcessDetailMapper;
@@ -84,6 +85,8 @@
                flowCardMapper.deleteReportingWork(processId);
                //删除分架明细
                flowCardMapper.deleteFlowCardMp(orderId, processId);
                //删除排序表数据
                flowCardMapper.deleteflowCardSort(orderId, processId);
                //判断该订单流程卡是否全部删除
                Integer flowNumber = flowCardMapper.selectFlowCardCount(orderId);
                if (flowNumber == 0) {
@@ -682,13 +685,20 @@
    }
    public  List<FlowCard> getProcessCard() {
    public  List<FlowCard> getProcessCard(Map<String, String> processCards) {
        String processCard = processCards.get("processCard");
        if(!processCard.contains("/")){
            throw new ServiceException(Constants.Code_600, "错误的流程卡号,请检查!");
        }
        String[] processCardList = processCard.split("/");
        List<FlowCard> flowCardList = flowCardMapper.selectList(
                new QueryWrapper<FlowCard>().eq("termination_status", 0)
                        .orderByDesc("id")
                new QueryWrapper<FlowCard>()
                        .eq("process_id", processCardList[0])
                        .eq("technology_number", processCardList[1])
        );
        for (FlowCard flowCard : flowCardList) {
            flowCard.setProcessId(flowCard.getProcessId()+'/'+flowCard.getTechnologyNumber());
            flowCard.setOrderGlassDetail(
                    orderGlassDetailMapper.selectOne(
                            new QueryWrapper<OrderGlassDetail>()
@@ -706,11 +716,51 @@
        return flowCardList;
    }
    public Boolean updateProcessCardState(Integer id) {
        UpdateWrapper<FlowCard> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", id) // 根据id更新
                .set("termination_status", 1);
        return flowCardMapper.update(null, updateWrapper) > 0;
    public Boolean checkboxDeleteSv(Map<String, Object> object) {
        String userName = "";
        if (object.get("userName") != null) {
            userName = object.get("userName").toString();
        }
        String userId = "";
        if (object.get("userId") != null) {
            userId = object.get("userId").toString();
        }
        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
            for (FlowCard flowCard : flowCardList) {
                Integer count = flowCardMapper.reportingWorkCount(flowCard.getProcessId());
                if (count == 0) {
                    //修改分架状态
                    flowCardMapper.updateDeleteState(flowCard.getOrderId(), flowCard.getProcessId());
                    //删除报工流程明细表数据
                    flowCardMapper.deleteReportingWork(flowCard.getProcessId());
                    //删除分架明细
                    flowCardMapper.deleteFlowCardMp(flowCard.getOrderId(), flowCard.getProcessId());
                    //删除排序表数据
                    flowCardMapper.deleteflowCardSort(flowCard.getOrderId(), flowCard.getProcessId());
                    //判断该订单流程卡是否全部删除
                    Integer flowNumber = flowCardMapper.selectFlowCardCount(flowCard.getOrderId());
                    if (flowNumber == 0) {
                        //修改订单表分架状态为0,全部删除
                        flowCardMapper.updateProcessingCard(flowCard.getOrderId(), 0);
                    } else {
                        //修改订单表分架状态为1,删除部分
                        flowCardMapper.updateProcessingCard(flowCard.getOrderId(), 1);
                    }
                    //保存日志
                    Log log = new Log();
                    log.setContent(flowCard.getOrderId()+flowCard.getProcessId());
                    log.setFunction("checkboxDeleteSv流程卡删除");
                    log.setOperatorId(userId);
                    log.setOperator(userName);
                    logService.saveLog(log);
                } else {
                    return false;
                }
            }
            return true;
    }
}