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);
|
}
|
}
|