“linengliang”
2023-10-25 643e1af242a139b408969dfa1ba2f52e554c8c41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package org.jeecg.modules.eam.service.impl;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.base.entity.SysUpload;
import org.jeecg.common.system.base.entity.SysUploadRela;
import org.jeecg.modules.eam.entity.EquipmentReportRepair;
import org.jeecg.modules.eam.mapper.EquipmentReportRepairMapper;
import org.jeecg.modules.eam.service.IEquipmentReportRepairService;
//import org.jeecg.modules.system.entity.SysUpload;
//import org.jeecg.modules.system.entity.SysUploadRela;
//import org.jeecg.modules.system.service.IUploadRelaService;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
 
/**
 * @Description: equipment_report_repair
 * @Author: jeecg-boot
 * @Date: 2023-04-17
 * @Version: V1.0
 */
@Service
public class EquipmentReportRepairServiceImpl extends ServiceImpl<EquipmentReportRepairMapper, EquipmentReportRepair> implements IEquipmentReportRepairService {
 
//    @Autowired
//    private IUploadRelaService uploadRelaService;
    @Autowired
    private ISysBaseAPI sysBaseApi;
    @Autowired
    private SysUserMapper userMapper;
    /**
     * 故障报修添加
     *
     * @param equipmentReportRepair
     */
    @Override
    public void addEquipmentReportRepair(EquipmentReportRepair equipmentReportRepair) {
        baseMapper.insert(faultTimeVerify(equipmentReportRepair));
        establishRelations(equipmentReportRepair.getSysUploadList(), equipmentReportRepair.getId());
    }
 
    /**
     * 根据修改故障报修
     *
     * @param equipmentReportRepair
     */
    @Override
    public void updateEquipmentReportRepairById(EquipmentReportRepair equipmentReportRepair) {
        String id = equipmentReportRepair.getId();
        // 修改前
        EquipmentReportRepair equipmentReportRepair1 = baseMapper.selectById(id);
        baseMapper.updateById(faultTimeVerify(equipmentReportRepair));
        // 验证修改前修改后是否一致
        if (!equipmentReportRepair.getPhoto().equals(equipmentReportRepair1.getPhoto())) {
            sysBaseApi.delSysUploadRelaByBusIdAndBusType(id, "equipment_management_failure_photo");
            establishRelations(equipmentReportRepair.getSysUploadList(), id);
        }
    }
 
    public EquipmentReportRepair faultTimeVerify(EquipmentReportRepair equipmentReportRepair) {
        if (equipmentReportRepair.getFaultTime() != null) {
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = equipmentReportRepair.getFaultTime();
            equipmentReportRepair.setFaultTime(date);
        }
        return equipmentReportRepair;
    }
 
    private void establishRelations(List<SysUpload> sysUploadList, String id) {
        // 附件上传列表是否为空
        if (sysUploadList != null) {
            if (CollectionUtils.isNotEmpty(sysUploadList)) {
                List<SysUploadRela> sysUploadRelaList = new ArrayList<>();
                sysUploadList.forEach(sul -> {
                    SysUploadRela sysUploadRela = new SysUploadRela();
                    sysUploadRela.setBusId(id);
                    sysUploadRela.setBusType("equipment_management_failure_photo");
                    sysUploadRela.setUploadId(sul.getId());
                    sysUploadRelaList.add(sysUploadRela);
                });
                // 上传文件与业务数据关系
                sysBaseApi.saveOrUpdateBatchUploadRela(sysUploadRelaList);
            }
        }
    }
 
    @Override
    public IPage<Map<String, Object>> getReportRepairList(Integer pageNo, Integer pageSize, Map<String, Object> params) {
        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
        if(StringUtils.isNotBlank((String)params.get("userId"))){
            SysUser sysUser = userMapper.selectById((String)params.get("userId"));
            params.put("teamId",sysUser.getTeamId());
        }
        return super.getBaseMapper().getReportRepairList(pageData, params) ;
    }
}