Browse Source

自动计算工时提成

master
fanzongzhe 6 months ago
parent
commit
fa85263147
  1. 3
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillsitemrepairer/AsBusrepairBillSitemRepairer.java
  2. 153
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  3. 5
      yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.java
  4. 12
      yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.xml
  5. 10
      yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailService.java

3
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillsitemrepairer/AsBusrepairBillSitemRepairer.java

@ -5,6 +5,7 @@ import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.apache.poi.hpsf.Decimal;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -30,6 +31,8 @@ public class AsBusrepairBillSitemRepairer extends BaseEntity {
private String groupSid; private String groupSid;
@ApiModelProperty("所在班组名称") @ApiModelProperty("所在班组名称")
private String groupName; private String groupName;
@ApiModelProperty("维修提成")
private BigDecimal commission;

153
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -45,6 +45,7 @@ import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRep
import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService; import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService;
import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService; import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService;
import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService; import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService;
import com.yxt.anrui.as.biz.astechtitledetail.AsTechTitleDetailService;
import com.yxt.anrui.as.biz.astrackbill.AsTrackBillService; import com.yxt.anrui.as.biz.astrackbill.AsTrackBillService;
import com.yxt.anrui.as.feign.crm.CrmCustomerTemp; import com.yxt.anrui.as.feign.crm.CrmCustomerTemp;
import com.yxt.anrui.as.feign.crm.CrmCustomerTempFeign; import com.yxt.anrui.as.feign.crm.CrmCustomerTempFeign;
@ -150,6 +151,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
private AsBillSettelApplyService asBillSettelApplyService; private AsBillSettelApplyService asBillSettelApplyService;
@Autowired @Autowired
private AsBusrepairBillAitemspecService asBusrepairBillAitemspecService; private AsBusrepairBillAitemspecService asBusrepairBillAitemspecService;
@Autowired
private AsTechTitleDetailService asTechTitleDetailService;
/** /**
* 维修领料获取派工单 * 维修领料获取派工单
* *
@ -196,7 +200,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
AsBusrepairBill asBusrepairBill = fetchBySid(sid); AsBusrepairBill asBusrepairBill = fetchBySid(sid);
BigDecimal ysMoney = finUncollectedReceivablesDetailedFeign.selYsByBillSid(sid).getData(); BigDecimal ysMoney = finUncollectedReceivablesDetailedFeign.selYsByBillSid(sid).getData();
BigDecimal rkMoney = finSelectedReceivablesDetailedFeign.selRkByBillSid(sid).getData(); BigDecimal rkMoney = finSelectedReceivablesDetailedFeign.selRkByBillSid(sid).getData();
if (rkMoney.compareTo(ysMoney) < 0){ if (rkMoney.compareTo(ysMoney) < 0) {
return rb.setMsg(asBusrepairBill.getBillNo() + "该维修单尚未收款,不能出厂!"); return rb.setMsg(asBusrepairBill.getBillNo() + "该维修单尚未收款,不能出厂!");
} }
} }
@ -721,7 +725,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
vo.setAitemVos(aitemVos); vo.setAitemVos(aitemVos);
} }
List<AsBusrepairInventorybillDetail> goodsDetails = asBusrepairInventorybillDetailService.getGoodsDetailsByBillSid(sid); List<AsBusrepairInventorybillDetail> goodsDetails = asBusrepairInventorybillDetailService.getGoodsDetailsByBillSid(sid);
DecimalFormat df2 =new DecimalFormat("#.00"); DecimalFormat df2 = new DecimalFormat("#.00");
if (!goodsDetails.isEmpty()) { if (!goodsDetails.isEmpty()) {
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) { for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) {
GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo(); GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo();
@ -1067,7 +1071,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
if (StringUtils.isNotBlank(query.getIsInvoicing())) { if (StringUtils.isNotBlank(query.getIsInvoicing())) {
qw.eq("i.isInvoicing", query.getIsInvoicing()); qw.eq("i.isInvoicing", query.getIsInvoicing());
} }
qw.eq("b.outDoorState",2); qw.eq("b.outDoorState", 2);
qw.orderByDesc("b.createTime"); qw.orderByDesc("b.createTime");
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery); IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw); IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw);
@ -1193,11 +1197,11 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
if (StringUtils.isNotBlank(query.getIsInvoicing())) { if (StringUtils.isNotBlank(query.getIsInvoicing())) {
qw.eq("i.isInvoicing", query.getIsInvoicing()); qw.eq("i.isInvoicing", query.getIsInvoicing());
} }
if (StringUtils.isNotBlank(query.getName())){ if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("b.billNo", query.getName()).or().like("b.billType", query.getName()).or().like("b.subject", query.getName()).or().like("b.customerName", query.getName()).or().like("v.vinNo", query.getName()).or().like("v.vehMark", query.getName()).or().like("b.nodeName", query.getName())); qw.and(wrapper -> wrapper.like("b.billNo", query.getName()).or().like("b.billType", query.getName()).or().like("b.subject", query.getName()).or().like("b.customerName", query.getName()).or().like("v.vinNo", query.getName()).or().like("v.vehMark", query.getName()).or().like("b.nodeName", query.getName()));
} }
qw.eq("b.outDoorState",2); qw.eq("b.outDoorState", 2);
qw.eq("b.isOutFactory",0); qw.eq("b.isOutFactory", 0);
qw.orderByDesc("b.createTime"); qw.orderByDesc("b.createTime");
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery); IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw); IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw);
@ -1438,6 +1442,54 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
String sid = dto.getSid(); String sid = dto.getSid();
AsBusrepairBill asBusrepairBill = fetchBySid(sid); AsBusrepairBill asBusrepairBill = fetchBySid(sid);
if (asBusrepairBill.getNodeCode() == 5) { if (asBusrepairBill.getNodeCode() == 5) {
//计算工时提成分配维修人员
List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid);
if (sitems != null) {
if (!sitems.isEmpty()) {
for (AsBusrepairBillSitem sitem : sitems) {
BigDecimal examineHourPrice = BigDecimal.ZERO;
if (null != sitem.getExamineHourPrice()) {
examineHourPrice = sitem.getExamineHourPrice();
}
if (examineHourPrice.compareTo(BigDecimal.ZERO) > 0) {
String billSid = sitem.getBillSid();
String serviceItemSid = sitem.getServiceItemSid();
List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillSitemRepairerService.fetchByBillSid(billSid, serviceItemSid);
if (null != repairers) {
if (!repairers.isEmpty()) {
//查询权重之和
BigDecimal sum = BigDecimal.ZERO;
Map<String, BigDecimal> map = new HashMap<>();
for (AsBusrepairBillSitemRepairer repairer : repairers) {
String rSid = repairer.getSid();
String pSid = repairer.getRepairerSid();
BigDecimal weight = BigDecimal.ZERO;
String w = asTechTitleDetailService.selWeightByUserSid(pSid);
if (StringUtils.isNotBlank(w)) {
weight = new BigDecimal(w);
}
sum = sum.add(weight);
map.put(rSid,weight);
}
if (sum.compareTo(BigDecimal.ZERO) > 0) {
if (map.size() > 0) {
for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
String mSid = entry.getKey();
BigDecimal mWeight = entry.getValue();
AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchBySid(mSid);
BigDecimal finalWeight = mWeight.divide(sum, 2, BigDecimal.ROUND_HALF_UP).multiply(examineHourPrice);
repairer.setCommission(finalWeight);
asBusrepairBillSitemRepairerService.updateById(repairer);
}
}
}
}
}
}
}
}
}
if (asBusrepairBill.getSubject().equals("保内")) { if (asBusrepairBill.getSubject().equals("保内")) {
if (asBusrepairBill.getOldIsReclaim() != 1) { if (asBusrepairBill.getOldIsReclaim() != 1) {
return rb.setMsg("请先完成旧件入库,再进行操作!"); return rb.setMsg("请先完成旧件入库,再进行操作!");
@ -2127,6 +2179,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
public void updateOutFactory(String sid) { public void updateOutFactory(String sid) {
baseMapper.updateOutFactory(sid); baseMapper.updateOutFactory(sid);
} }
public PagerVo<GoodsReceiveVo> notConfirmList(PagerQuery<GoodsReceiveQuery> pagerQuery) { public PagerVo<GoodsReceiveVo> notConfirmList(PagerQuery<GoodsReceiveQuery> pagerQuery) {
GoodsReceiveQuery query = pagerQuery.getParams(); GoodsReceiveQuery query = pagerQuery.getParams();
QueryWrapper<AsBusrepairBill> qw = new QueryWrapper<>(); QueryWrapper<AsBusrepairBill> qw = new QueryWrapper<>();
@ -2311,13 +2364,13 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
vo.setCaps(caps2); vo.setCaps(caps2);
vo.setUserName(userName); vo.setUserName(userName);
vo.setNowDate(DateUtil.formatDate(new Date())); vo.setNowDate(DateUtil.formatDate(new Date()));
String path = createPrintInventoryPdf(vo,subject); String path = createPrintInventoryPdf(vo, subject);
filePath = path; filePath = path;
} }
return rb.success().setData(filePath); return rb.success().setData(filePath);
} }
private String createPrintInventoryPdf(RepairBillPdfVo vo,String subject) { private String createPrintInventoryPdf(RepairBillPdfVo vo, String subject) {
String finalPath = ""; String finalPath = "";
Map<String, Object> dataMap = new HashMap(); Map<String, Object> dataMap = new HashMap();
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
@ -2356,9 +2409,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
String ftl = ""; String ftl = "";
if (subject.equals("保内")) { if (subject.equals("保内")) {
ftl = "ftl/baoneilingliao.ftl"; ftl = "ftl/baoneilingliao.ftl";
} else if (subject.equals("保外")) { } else if (subject.equals("保外")) {
ftl = "ftl/baowailingliao.ftl"; ftl = "ftl/baowailingliao.ftl";
} }
try { try {
//获取模板 //获取模板
@ -2389,31 +2442,31 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
AsBusrepairBill asBusrepairBill = fetchBySid(sid); AsBusrepairBill asBusrepairBill = fetchBySid(sid);
AsBusrepairBillVech asBusrepairBillVech = asBusrepairBillVechService.fetchByBillSid(sid); AsBusrepairBillVech asBusrepairBillVech = asBusrepairBillVechService.fetchByBillSid(sid);
//分公司简称 //分公司简称
map.put("orgName",asBusrepairBill.getCreateOrgName()); map.put("orgName", asBusrepairBill.getCreateOrgName());
//日期 //日期
map.put("date",DateUtil.formatDate(new Date())); map.put("date", DateUtil.formatDate(new Date()));
//科目 //科目
map.put("km",asBusrepairBill.getSubject()); map.put("km", asBusrepairBill.getSubject());
//维修单号 //维修单号
map.put("billNo",asBusrepairBill.getBillNo()); map.put("billNo", asBusrepairBill.getBillNo());
//客户名称 //客户名称
map.put("custName",asBusrepairBill.getCustomerName()); map.put("custName", asBusrepairBill.getCustomerName());
//车型 //车型
map.put("modelName",asBusrepairBillVech.getVehModel()); map.put("modelName", asBusrepairBillVech.getVehModel());
//车牌号 //车牌号
map.put("vehMark",asBusrepairBillVech.getVehMark()); map.put("vehMark", asBusrepairBillVech.getVehMark());
//车架号 //车架号
map.put("vinNo",asBusrepairBillVech.getVinNo()); map.put("vinNo", asBusrepairBillVech.getVinNo());
//出门原因 //出门原因
map.put("cmyy","维修完毕"); map.put("cmyy", "维修完毕");
//业务经办人 //业务经办人
map.put("ywjbr",asBusrepairBill.getWaitorName()); map.put("ywjbr", asBusrepairBill.getWaitorName());
//财务经办人 //财务经办人
map.put("cwjbr",""); map.put("cwjbr", "");
//提车人 //提车人
map.put("tcr",""); map.put("tcr", "");
//出门签章 //出门签章
map.put("cmqz",""); map.put("cmqz", "");
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + "cmz" + ".ftl"); InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + "cmz" + ".ftl");
//生成word文件名 //生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl(); String targetPath = docPdfComponent.getUploadTemplateUrl();
@ -2440,37 +2493,37 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
privilegeQuery.setUserSid(query.getUserSid()); privilegeQuery.setUserSid(query.getUserSid());
privilegeQuery.setMenuSid(query.getMenuSid()); privilegeQuery.setMenuSid(query.getMenuSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (com.yxt.common.base.utils.StringUtils.isNotBlank(defaultIdReltBean.getData())) { if (com.yxt.common.base.utils.StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人) //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath(); String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/"; orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/"); int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1); int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1); int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1); int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData(); String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) { if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1); orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath); qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) { } else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2); orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath); qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) { } else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3); orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath); qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) { } else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4); orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath); qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) { } else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", query.getUserSid()); qw.eq("a.createBySid", query.getUserSid());
} else {
PagerVo<AppBusrepairBillVo> p = new PagerVo<>();
return p;
}
} else { } else {
PagerVo<AppBusrepairBillVo> p = new PagerVo<>(); PagerVo<AppBusrepairBillVo> p = new PagerVo<>();
return p; return p;
} }
} else {
PagerVo<AppBusrepairBillVo> p = new PagerVo<>();
return p;
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getName())) { if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("a.billNo", query.getName()) qw.and(wrapper -> wrapper.like("a.billNo", query.getName())
.or().like("a.billType", query.getName()) .or().like("a.billType", query.getName())
@ -2481,7 +2534,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
.or().like("a.nodeName", query.getName()) .or().like("a.nodeName", query.getName())
); );
} }
qw.eq("a.isDelete",0); qw.eq("a.isDelete", 0);
qw.orderByDesc("a.id"); qw.orderByDesc("a.id");
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pq); IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pq);
IPage<AppBusrepairBillVo> pagging = baseMapper.appRepairs(page, qw); IPage<AppBusrepairBillVo> pagging = baseMapper.appRepairs(page, qw);

5
yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.java

@ -31,6 +31,7 @@ import com.yxt.anrui.as.api.astechtitledetail.AsTechTitleInit;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.yxt.anrui.as.api.astechtitledetail.AsTechTitleDetail; import com.yxt.anrui.as.api.astechtitledetail.AsTechTitleDetail;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
@ -58,4 +59,6 @@ public interface AsTechTitleDetailMapper extends BaseMapper<AsTechTitleDetail> {
List<AsTechTitleDetailDetailsVo> selByMainSid(String mainSid); List<AsTechTitleDetailDetailsVo> selByMainSid(String mainSid);
AsTechTitleInit selByTechSid(String titleSid); AsTechTitleInit selByTechSid(String titleSid);
}
String selWeightByUserSid(@Param("pSid") String pSid);
}

12
yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailMapper.xml

@ -34,4 +34,14 @@
) )
AND titleSid = #{titleSid}) AS a AND titleSid = #{titleSid}) AS a
</select> </select>
</mapper> <select id="selWeightByUserSid" resultType="java.lang.String">
SELECT
t.weight
FROM
as_tech_title_detail AS t
LEFT JOIN as_tech_title_apply as ta ON t.mainSid = ta.sid
WHERE ta.nodeState = '已办结' and t.techSid = #{pSid}
ORDER BY t.weight DESC
LIMIT 1
</select>
</mapper>

10
yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitledetail/AsTechTitleDetailService.java

@ -57,7 +57,7 @@ import java.util.List;
*/ */
@Service @Service
public class AsTechTitleDetailService extends MybatisBaseService<AsTechTitleDetailMapper, AsTechTitleDetail> { public class AsTechTitleDetailService extends MybatisBaseService<AsTechTitleDetailMapper, AsTechTitleDetail> {
public void insertByDto(AsTechTitleDetailDto dto){ public void insertByDto(AsTechTitleDetailDto dto){
AsTechTitleDetail entity = new AsTechTitleDetail(); AsTechTitleDetail entity = new AsTechTitleDetail();
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
@ -67,7 +67,7 @@ public class AsTechTitleDetailService extends MybatisBaseService<AsTechTitleDeta
entity.setTechName(String.join(",",techNames)); entity.setTechName(String.join(",",techNames));
baseMapper.insert(entity); baseMapper.insert(entity);
} }
public AsTechTitleDetailDetailsVo fetchDetailsVoBySid(String sid){ public AsTechTitleDetailDetailsVo fetchDetailsVoBySid(String sid){
AsTechTitleDetail entity = fetchBySid(sid); AsTechTitleDetail entity = fetchBySid(sid);
AsTechTitleDetailDetailsVo vo = new AsTechTitleDetailDetailsVo(); AsTechTitleDetailDetailsVo vo = new AsTechTitleDetailDetailsVo();
@ -86,4 +86,8 @@ public class AsTechTitleDetailService extends MybatisBaseService<AsTechTitleDeta
public AsTechTitleInit selByTechSid(String titleSid) { public AsTechTitleInit selByTechSid(String titleSid) {
return baseMapper.selByTechSid(titleSid); return baseMapper.selByTechSid(titleSid);
} }
}
public String selWeightByUserSid(String pSid) {
return baseMapper.selWeightByUserSid(pSid);
}
}

Loading…
Cancel
Save