Browse Source

20240820 报价

java8
qiezi 2 years ago
parent
commit
7baf1acf6c
  1. 9
      src/main/java/com/xujie/sys/modules/quote/controller/QuoteController.java
  2. 7
      src/main/java/com/xujie/sys/modules/quote/entity/Quote.java
  3. 18
      src/main/java/com/xujie/sys/modules/quote/entity/RoleUser.java
  4. 4
      src/main/java/com/xujie/sys/modules/quote/mapper/QuoteMapper.java
  5. 4
      src/main/java/com/xujie/sys/modules/quote/service/QuoteService.java
  6. 30
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteServiceImpl.java
  7. 25
      src/main/resources/mapper/quote/QuoteMapper.xml

9
src/main/java/com/xujie/sys/modules/quote/controller/QuoteController.java

@ -3,7 +3,9 @@ package com.xujie.sys.modules.quote.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xujie.sys.common.utils.R;
import com.xujie.sys.modules.quote.entity.Quote;
import com.xujie.sys.modules.quote.entity.RoleUser;
import com.xujie.sys.modules.quote.service.QuoteService;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -63,4 +65,11 @@ public class QuoteController {
quoteService.batchSaveQuote(quotes);
return R.ok("操作成功");
}
@PostMapping("/user")
public R queryQuoteRoleUser(@RequestBody RoleUser roleUser){
List<SysUserEntity> list = quoteService.queryQuoteRoleUser(roleUser);
return R.ok().put("rows", list);
}
}

7
src/main/java/com/xujie/sys/modules/quote/entity/Quote.java

@ -112,4 +112,11 @@ public class Quote {
@TableField(exist = false)
private Integer buId;
@TableField(exist = false)
private String quoterName;
@TableField(exist = false)
private String purchaseName;
}

18
src/main/java/com/xujie/sys/modules/quote/entity/RoleUser.java

@ -0,0 +1,18 @@
package com.xujie.sys.modules.quote.entity;
import lombok.Data;
@Data
public class RoleUser {
private Integer buId;
private String username;
private String userDisplay;
private String roleNo;
private String active;
}

4
src/main/java/com/xujie/sys/modules/quote/mapper/QuoteMapper.java

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xujie.sys.modules.base.entity.Bu;
import com.xujie.sys.modules.quote.entity.Quote;
import com.xujie.sys.modules.quote.entity.RoleUser;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -24,4 +26,6 @@ public interface QuoteMapper extends BaseMapper<Quote> {
String queryQuoteNo(Quote quote);
Quote queryMaxVersionNo(Quote quote);
List<SysUserEntity> queryQuoteRoleUser(RoleUser roleUser);
}

4
src/main/java/com/xujie/sys/modules/quote/service/QuoteService.java

@ -3,6 +3,8 @@ package com.xujie.sys.modules.quote.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xujie.sys.modules.quote.entity.Quote;
import com.xujie.sys.modules.quote.entity.RoleUser;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
import java.util.List;
@ -22,4 +24,6 @@ public interface QuoteService extends IService<Quote> {
void batchSaveQuote(List<Quote> quotes);
void removeQuoteById(Long id);
List<SysUserEntity> queryQuoteRoleUser(RoleUser roleUser);
}

30
src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteServiceImpl.java

@ -9,9 +9,11 @@ import com.xujie.sys.modules.customer.service.CustomerService;
import com.xujie.sys.modules.project.entity.Project;
import com.xujie.sys.modules.project.service.ProjectService;
import com.xujie.sys.modules.quote.entity.Quote;
import com.xujie.sys.modules.quote.entity.RoleUser;
import com.xujie.sys.modules.quote.mapper.QuoteMapper;
import com.xujie.sys.modules.quote.service.QuoteDetailService;
import com.xujie.sys.modules.quote.service.QuoteService;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -71,9 +73,29 @@ public class QuoteServiceImpl extends ServiceImpl<QuoteMapper, Quote> implements
quote.setCreateDate(new Date());
// 3校验客户和项目
checkCustomerAndProject(quote);
// 4校验人员
checkUser(quote);
save(quote);
}
private void checkUser(Quote quote){
RoleUser quoter = new RoleUser();
quoter.setBuId(quote.getBuId());
quoter.setRoleNo("QUOTER");
quoter.setUsername(quote.getQuoter());
List<SysUserEntity> quoterList = baseMapper.queryQuoteRoleUser(quoter);
if (quoterList.size() != 1){
throw new RuntimeException("报价专员"+quote.getQuoter()+"不存在或填写有误");
}
RoleUser purchase = new RoleUser();
purchase.setBuId(quote.getBuId());
purchase.setRoleNo("purchase".toUpperCase());
purchase.setUsername(quote.getPurchase());
List<SysUserEntity> purchaseList = baseMapper.queryQuoteRoleUser(purchase);
if (purchaseList.size() != 1){
throw new RuntimeException("采购专员"+quote.getPurchase()+"不存在或填写有误");
}
}
private void checkCustomerAndProject(Quote quote) {
List<Customer> customerList = customerService.lambdaQuery()
.eq(Customer::getSite, quote.getSite())
@ -102,7 +124,10 @@ public class QuoteServiceImpl extends ServiceImpl<QuoteMapper, Quote> implements
@Override
@Transactional
public void updateQuote(Quote quote) {
// 校验项目和客户
checkCustomerAndProject(quote);
// 校验人员
checkUser(quote);
quote.setUpdateDate(new Date());
updateById(quote);
}
@ -140,4 +165,9 @@ public class QuoteServiceImpl extends ServiceImpl<QuoteMapper, Quote> implements
// 删除报价单
removeById(id);
}
@Override
public List<SysUserEntity> queryQuoteRoleUser(RoleUser roleUser) {
return baseMapper.queryQuoteRoleUser(roleUser);
}
}

25
src/main/resources/mapper/quote/QuoteMapper.xml

@ -30,7 +30,9 @@
c.customer_desc,
p.project_desc,
b.bu_desc,
b.id as buId
b.id as buId,
dbo.plm_get_user_display(q.site,q.quoter) as quoterName,
dbo.plm_get_user_display(q.site,q.purchase) as purchaseName
from plm_quote q
left join plm_customer_information c on q.customer_no = c.customer_no and q.site = c.site
left join plm_project_info p on q.project_no = p.project_no and q.site = p.site
@ -115,7 +117,9 @@
c.customer_desc,
p.project_desc,
b.bu_desc,
b.id as buId
b.id as buId,
dbo.plm_get_user_display(q.site,q.quoter) as quoterName,
dbo.plm_get_user_display(q.site,q.purchase) as purchaseName
from plm_quote q
left join plm_customer_information c on q.customer_no = c.customer_no and q.site = c.site
left join plm_project_info p on q.project_no = p.project_no and q.site = p.site
@ -236,4 +240,21 @@
</where>
order by id desc
</select>
<select id="queryQuoteRoleUser" resultType="com.xujie.sys.modules.sys.entity.SysUserEntity">
select u.username,u.user_display,u.status from BU b
left join access_role ar on b.site =ar.site
left join sys_user u on ar.username = u.username
<where>
b.id = #{buId} and ar.role_no = #{roleNo}
<if test="username != null and username != ''">
and ar.username like #{username}
</if>
<if test="userDisplay != null and userDisplay != ''">
and ar.user_display like #{userDisplay}
</if>
<if test="active != null and active != ''">
and u.status = #{active}
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save