进行中的合同显示

product
bawei 1 year ago
parent 4c54cd41df
commit e8cabaa1e2

@ -97,4 +97,19 @@ public class ContractMobileController {
return ActionResult.success(vo); return ActionResult.success(vo);
} }
@PostMapping("/getContractList")
@ApiOperation("首页进行中的合同")
public ActionResult getContractList(@RequestBody ContractMobilePagination contractMobilePagination) throws IOException {
List<MobileContractDetailsVO> list = contractMobileService.getContract(contractMobilePagination);
// List<ContractMobileListVO> listVO = JsonUtil.getJsonToList(list, ContractMobileListVO.class);
PageListVO vo = new PageListVO();
vo.setList(list);
PaginationVO page = JsonUtil.getJsonToBean(contractMobilePagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
} }

@ -2,10 +2,13 @@ package jnpf.contractMobile.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.contractMobile.entity.ContractMobileEntity; import jnpf.contractMobile.entity.ContractMobileEntity;
import jnpf.contractMobile.model.contractMobile.*; import jnpf.contractMobile.model.contractMobile.*;
import jnpf.contractfile.entity.ContractFileEntity;
import jnpf.purchaseback.entity.PurchaseorderEntity; import jnpf.purchaseback.entity.PurchaseorderEntity;
import jnpf.saleorder.entity.SaleorderitemEntity; import jnpf.saleorder.entity.SaleorderitemEntity;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -29,4 +32,7 @@ public interface ContractMobileMapper extends BaseMapper<ContractMobileEntity> {
@Param("ew") LambdaQueryWrapper<SaleorderitemEntity> queryWrapper); @Param("ew") LambdaQueryWrapper<SaleorderitemEntity> queryWrapper);
List<MobileContractPurchaseOrderMaterialListVO> getContractDetailDataList1Material(@Param("ew") LambdaQueryWrapper<PurchaseorderEntity> queryWrapper); List<MobileContractPurchaseOrderMaterialListVO> getContractDetailDataList1Material(@Param("ew") LambdaQueryWrapper<PurchaseorderEntity> queryWrapper);
//进行中的合同
IPage<MobileContractDetailsVO> getContractlist(Page<ContractFileEntity> page, ContractMobilePagination contractMobilePagination, QueryWrapper<ContractMobileEntity> contractMobileQueryWrapper);
} }

@ -21,4 +21,6 @@ public class ContractMobilePagination extends Pagination {
private Boolean nonZero; private Boolean nonZero;
private String departmentId;
} }

@ -26,4 +26,6 @@ public interface ContractMobileService extends IService<ContractMobileEntity> {
MobileContractDetailsVO getMobileListData(String id); MobileContractDetailsVO getMobileListData(String id);
List<ContractMobileVO> getListMessage(String id); List<ContractMobileVO> getListMessage(String id);
List<MobileContractDetailsVO> getContract(ContractMobilePagination contractMobilePagination);
} }

@ -1,5 +1,6 @@
package jnpf.contractMobile.service.impl; package jnpf.contractMobile.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -14,6 +15,11 @@ import jnpf.contractMobile.model.contractMobile.*;
import jnpf.contractMobile.service.ContractItem0MobileService; import jnpf.contractMobile.service.ContractItem0MobileService;
import jnpf.contractMobile.service.ContractItem1MobileService; import jnpf.contractMobile.service.ContractItem1MobileService;
import jnpf.contractMobile.service.ContractMobileService; import jnpf.contractMobile.service.ContractMobileService;
import jnpf.contractfile.entity.ContractFileEntity;
import jnpf.contractfile.entity.Contract_item0Entity;
import jnpf.contractfile.entity.Contract_item1Entity;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.permission.service.AuthorizeService;
import jnpf.purchaseback.entity.PurchaseorderEntity; import jnpf.purchaseback.entity.PurchaseorderEntity;
import jnpf.saleorder.entity.SaleorderitemEntity; import jnpf.saleorder.entity.SaleorderitemEntity;
import jnpf.util.ServletUtil; import jnpf.util.ServletUtil;
@ -32,6 +38,8 @@ public class ContractMobileServiceImpl extends ServiceImpl<ContractMobileMapper,
@Autowired @Autowired
private UserProvider userProvider; private UserProvider userProvider;
@Autowired
private AuthorizeService authorizeService;
@Resource @Resource
private ContractMobileMapper contractMobileMapper; private ContractMobileMapper contractMobileMapper;
@ -247,4 +255,100 @@ public class ContractMobileServiceImpl extends ServiceImpl<ContractMobileMapper,
// IPage<ContractMobileEntity> userIPage = this.page(page, contractMobileQueryWrapper); // IPage<ContractMobileEntity> userIPage = this.page(page, contractMobileQueryWrapper);
return userIPage.getRecords(); return userIPage.getRecords();
} }
@Override
public List<MobileContractDetailsVO> getContract(ContractMobilePagination contractMobilePagination) {
String userId = userProvider.get().getUserId();
List<String> AllIdList = new ArrayList();
int total = 0;
int contractMNum = 0;
QueryWrapper<ContractMobileEntity> contractMobileQueryWrapper = new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = true;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractMobileQueryWrapper, contractMobilePagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(contractFileObj)) {
// return new ArrayList<>();
} else {
contractMobileQueryWrapper = (QueryWrapper<ContractMobileEntity>) contractFileObj;
contractMNum++;
}
}
}
if (!isPc && appPermission) {
if (!userProvider.get().getIsAdministrator()) {
return new ArrayList<>();
}
}
if (StringUtil.isNotEmpty(contractMobilePagination.getContractCode())) {
contractMNum++;
contractMobileQueryWrapper.lambda().like(ContractMobileEntity::getContractCode, contractMobilePagination.getContractCode());
}
if (StringUtil.isNotEmpty(contractMobilePagination.getContractName())) {
contractMNum++;
contractMobileQueryWrapper.lambda().like(ContractMobileEntity::getContractName, contractMobilePagination.getContractName());
}
if (StringUtil.isNotEmpty(contractMobilePagination.getSupperName())) {
contractMNum++;
contractMobileQueryWrapper.lambda().like(ContractMobileEntity::getName, contractMobilePagination.getSupperName());
}
if (StringUtil.isNotEmpty(contractMobilePagination.getName())) {
contractMNum++;
contractMobileQueryWrapper.lambda().like(ContractMobileEntity::getName, contractMobilePagination.getName());
}
Boolean nonZero = contractMobilePagination.getNonZero();
if (nonZero!=null&&nonZero) {
contractMNum++;
contractMobileQueryWrapper.ne("SCHEDULE","0.00");
}
if(AllIdList.size()>0){
contractMobileQueryWrapper.lambda().in(ContractMobileEntity::getId, AllIdList);
}
//排序
if(StringUtil.isEmpty(contractMobilePagination.getSidx())){
contractMobileQueryWrapper.lambda().orderByDesc(ContractMobileEntity::getCreatorTime);
}else{
try {
String sidx = contractMobilePagination.getSidx();
MobileContractDetailsVO mobileContractDetailsVO = new MobileContractDetailsVO();
Field declaredField = mobileContractDetailsVO.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
contractMobilePagination.setSidx(value);
// contractMobileQueryWrapper="asc".equals(contractMobilePagination.getSort().toLowerCase())?contractMobileQueryWrapper.orderByAsc(value):contractMobileQueryWrapper.orderByDesc(value);
} catch (Exception e) {
e.printStackTrace();
}
}
Page<ContractFileEntity> page = new Page<>(contractMobilePagination.getCurrentPage(), contractMobilePagination.getPageSize());
String detpartment=null;
if (!userProvider.get().getIsAdministrator()) {
detpartment = userProvider.getDepartmentId(userId);
}
if (StringUtil.isNotNull(detpartment)) {
contractMobilePagination.setDepartmentId(detpartment);
}
IPage<MobileContractDetailsVO> userIPage = contractMobileMapper.getContractlist(page,contractMobilePagination, contractMobileQueryWrapper);
return contractMobilePagination.setData(userIPage.getRecords(), userIPage.getTotal());
}
// if ((total > 0 && AllIdList.size() > 0) || total == 0) {
// Page<MobileContractDetailsVO> page = new Page<>(contractMobilePagination.getCurrentPage(), contractMobilePagination.getPageSize());
// IPage<MobileContractDetailsVO> userIPage = contractMobileMapper.getContractDetailData(page, contractMobileQueryWrapper);
//// IPage<ContractMobileEntity> userIPage = this.page(page, contractMobileQueryWrapper);
// List<MobileContractDetailsVO> records = userIPage.getRecords();
//
// return contractMobilePagination.setData(records, userIPage.getTotal());
// } else {
// List<MobileContractDetailsVO> list = new ArrayList();
// return contractMobilePagination.setData(list, list.size());
// }
} }

@ -903,4 +903,78 @@
<!--金额--> <!--金额-->
<result property="materialAmount" column="materialAmount"/> <result property="materialAmount" column="materialAmount"/>
</resultMap> </resultMap>
<select id="getContractlist" resultMap="getContractlistMap">
SELECT
*
FROM
(
SELECT
a.*,
b.enclosure
FROM
(
SELECT
a.*,
ROUND( IFNULL( IFNULL( SUM( CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END ), 0 )/ IFNULL( a.num, 0 )* 100, 0 ), 2 ) SCHEDULE,
ROUND( IFNULL( SUM( CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END ), 0 ), 6 ) doneNum,
ROUND( IFNULL( a.num, 0 )- IFNULL( SUM( CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END ), 0 ), 6 ) notDoneNum,
( CASE a.contract_type WHEN '0' THEN '采购合同' WHEN '1' THEN '销售合同' ELSE '合同类型为空' END ) contractType
FROM
jg_contract a
LEFT JOIN jg_poundlist b ON b.purchase_id = a.id
AND (
b.purchase_status != 99
OR ISNULL( b.purchase_status ))
AND (
b.purchase_status != 0
OR ISNULL( b.purchase_status ))
AND b.pound_status = '0'
AND b.delete_mark = '0'
WHERE
a.delete_mark = '0'
GROUP BY
a.id
) a
LEFT JOIN jg_contract_item1 b ON a.id = b.contract_id
AND b.delete_mark = '0'
) aaa
</select>
<resultMap id="getContractlistMap" type="jnpf.contractMobile.model.contractMobile.MobileContractDetailsVO">
<result property="id" column="id"/>
<result property="contractCode" column="contract_code"/>
<result property="creatorTime" column="creator_time"/>
<result property="contractName" column="contract_name"/>
<!--供应商客户名称-->
<result property="name" column="name"/>
<!--合同类型-->
<result property="contractType" column="contractType"/>
<result property="schedule" column="schedule"/>
<!--开标日期-->
<result property="bidOpeningDate" column="bid_opening_date"/>
<!--审核日期-->
<result property="auditDate" column="audit_date"/>
<!--签订日期-->
<result property="signingDate" column="signing_date"/>
<!--送货截至日期-->
<result property="endDate" column="end_date"/>
<!--合同数量-->
<result property="contractNum" column="num"/>
<!--合同金额-->
<result property="contractAmount" column="amount"/>
<result property="doneNum" column="doneNum"/>
<result property="notDoneNum" column="notDoneNum"/>
<collection property="enclosureList" javaType="List" ofType="jnpf.contractMobile.model.contractMobile.MobileEnclosure">
<!--附件信息-->
<result property="enclosure" column="enclosure" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler" />
</collection>
</resultMap>
</mapper> </mapper>

@ -52,7 +52,7 @@ export default {
methods: { methods: {
getContractList: function () { getContractList: function () {
request({ request({
url: "/api/contractMobile/ContractMobile/getMobileList", url: "/api/contractMobile/ContractMobile/getContractList",
method: "post", method: "post",
data: { data: {
currentPage: this.currentPage, currentPage: this.currentPage,

Loading…
Cancel
Save