刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
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
package jnpf.limsService.impl;
 
import com.alibaba.fastjson.JSON;
import jnpf.base.UserInfo;
import jnpf.limsEntity.LimsQingyandanEntity;
import jnpf.limsEntity.LimsSxtQuyangJihuaRenwuEntity;
import jnpf.limsEntity.LimsSxtQuyangJihuaRenwuShijianEntity;
import jnpf.limsMapper.LimsSxtQuyangJihuaRenwuMapper;
import jnpf.limsMapper.LimsSxtQuyangJihuaRenwuShijianMapper;
import jnpf.util.RandomUtil;
import jnpf.util.UserProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
 
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
 
/**
 * 请验单变更后的任务内状态副本同步器。看板只读取 Renwu,不能反向联查请验单。
 */
@Service
public class LimsSxtRenwuQingyandanZhuangtaiTongbuService {
 
    @Autowired
    private LimsSxtQuyangJihuaRenwuMapper renwuMapper;
    @Autowired
    private LimsSxtQuyangJihuaRenwuShijianMapper shijianMapper;
 
    public void tongbu(LimsQingyandanEntity qingyandan, String shijianLeixing) {
        if (qingyandan == null || !StringUtils.hasText(qingyandan.getLaiyuanRenwuId())) {
            return;
        }
        LimsSxtQuyangJihuaRenwuEntity renwu = renwuMapper.selectById(qingyandan.getLaiyuanRenwuId());
        if (renwu == null || !qingyandan.getId().equals(renwu.getQingyandanId())) {
            return;
        }
        String zhuangtai = "deleted".equals(qingyandan.getQuyangStatus())
                ? "deleted" : qingyandan.getBizStatus();
        if (renwuMapper.tongbuQingyandanZhuangtai(renwu.getId(), qingyandan.getId(), zhuangtai) != 1) {
            return;
        }
        Map<String, Object> shuju = new LinkedHashMap<>();
        shuju.put("biz_status", qingyandan.getBizStatus());
        shuju.put("quyang_status", qingyandan.getQuyangStatus());
        shuju.put("jieyang_status", qingyandan.getJieyangStatus());
        shuju.put("qingyandan_zhuangtai", zhuangtai);
        LimsSxtQuyangJihuaRenwuShijianEntity shijian = new LimsSxtQuyangJihuaRenwuShijianEntity();
        shijian.setId(RandomUtil.uuId());
        shijian.setFTenantId(renwu.getFTenantId());
        shijian.setRenwuId(renwu.getId());
        shijian.setRenwuShiliId(renwu.getRenwuShiliId());
        shijian.setShijianLeixing(shijianLeixing);
        shijian.setFashengShijian(new Date());
        UserInfo user = UserProvider.getUser();
        shijian.setCaozuoRenId(user == null ? null : user.getUserId());
        shijian.setCaozuoLeixing(user == null ? "system" : "user");
        shijian.setGuanlianQingyandanId(qingyandan.getId());
        shijian.setXinKuaizhaoHaxi(renwu.getKuaizhaoHaxi());
        shijian.setShijianShuju(JSON.toJSONString(shuju));
        shijianMapper.insertShijian(shijian);
    }
}